La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollo de un entorno de programación para Máquinas de Turing

Presentaciones similares


Presentación del tema: "Desarrollo de un entorno de programación para Máquinas de Turing"— Transcripción de la presentación:

1 Desarrollo de un entorno de programación para Máquinas de Turing

2 Introducción MT permiten describir mediante operaciones sencillas todas las operaciones computables. En teoría las MT tienen cinta infinita, ordenadores actuales memoria finita: MT más potentes que los ordenadores actuales computacionalmente. Importancia de las Máquinas de Turing en la formación de cualquier estudiante de computación.

3 Propósito El propósito de este proyecto es construir un entorno de programación que permita construir, simular y compilar programas de Máquinas de Turing. El sistema, además, deberá proporcionar mecanismos para transformar código sencillo en Pascal en su correspondiente Máquina de Turing.

4 Objetivos (I) Realizar un estudio bibliográfico sobre las MT y sus distintas variantes, para ver cuales pueden ser implementadas en un ordenador actual y cuáles no. Desarrollar un simulador, al que se le indique dónde puede encontrar el texto que describe una MT y sus cintas de entrada y simule visualmente la MT, permitiendo la depuración de la misma. Desarrollar un programa al que dado un código fuente sencillo en Pascal lo transforme en su correspondiente código de MT.

5 Objetivos (II) Desarrollar un compilador que compile y optimice en lo posible el código de una MT. El programa ejecutable deberá permitir la entrada mediante parámetros una o varias cintas de entrada. Desarrollar un editor de texto que facilite la codificación de Máquinas de Turing o programas en Pascal. Integrar todas las partes desarrolladas en un entorno de desarrollo integrado (IDE). Realizar un manual de instrucciones que indique cómo codificar las MT y cómo utilizar el entorno.

6 Resultados Un volumen impreso donde se pueda estudiar la teoría de las Máquinas de Turing. Un compilador de Máquinas de Turing. Un IDE que permita escribir, depurar, simular y compilar Máquinas de Turing (escritas en código MT o mediante código Pascal). Documentación en HTML acerca del uso del entorno. Manual de usuario.

7 Palabras clave Máquinas de Turing. Simulador. Compilador.
Transformador de código. Editor de texto.

8 Visión general Muchos proyectos que simulan MT de una sola cinta.
Menos proyectos que simulan MT de varias cintas o varias pistas. Pocos proyectos que compilan MT creando código ejecutable. Ningún proyecto que convierte código de alto nivel en código de Máquina de Turing.

9 Investigaciones o trabajos parecidos
este proyecto simula MT de una sola cinta. entorno de desarrollo que permite la simulación y depuración de MT de una sola cinta. en este link hay dos versiones de simuladores de Máquinas de Turing: una versión para UNIX (descargable) y una aplicación web. una versión para línea de comandos y otra visual de un simulador de MT para una sola cinta de entrada. simulador que permite varias cintas de entrada.

10 Tipo de proyecto Este proyecto se puede considerar un proyecto de desarrollo. Sin embargo contiene una pequeña parte de investigación bibliográfica.

11 Preguntas de investigación e hipótesis.
¿Sobre qué sistema operativo funcionará el proyecto? ¿Existirá una versión de software libre del sistema? ¿Cuáles serán los requisitos software del sistema? ¿Qué tipos de Máquinas de Turing será capaz de compilar / simular?

12 Métodos Búsqueda bibliográfica.
Para el desarrollo se seguirá un subconjunto de las tareas de Métrica versión 3. Análisis y diseño orientado a objetos (usando diagramas UML). Programación orientada a objetos.

13 Recursos requeridos (HW y SW)
Hardware: No se requiere nada especial, un simple PC basta. Software: Java Development Kit (JDK). Entorno de desarrollo para Java (NetBeans) Herramientas Flex y Bison. Compilador de C/C++ (Lcc)

14 Recursos requeridos (Bibliografía)
Sobre Máquinas de Turing: Introduction to Automata Theory, Languages, and Computation. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. The Universal Turing Machine: A Half-Century Survey (Computerkultur, Bd 2). Rolf Herken. Introduction to the Theory of Computation. Michael Sipser. Sobre compiladores: Compiladores: principios, técnicas y herramientas. Aho, Sethi y Ullman. Writing Compilers and Interpreters. Ronald Mak. Sobre las herramientas a usar: Lex & Yacc. John R. Levine, Tony Mason, Doug Brown. Thinking in Java (3rd. Edition). Bruce Eckel. Programación en C/C++. Francisco Javier Ceballos Sierra.

15 Enlace a diagrama de Gantt
Plan de proyecto Enlace a diagrama de Gantt


Descargar ppt "Desarrollo de un entorno de programación para Máquinas de Turing"

Presentaciones similares


Anuncios Google