MTSolution

Características

MTSolution es un CAD de autómatas. Permite definir y simular el comportamiento de distintos tipos de autómatas. Autómatas Finitos (AF), Autómatas de Pila (AP) y Máquinas de Turing (MT). Estos pueden ser tanto determinísticos, como no determinísticos, a la vez que traductores o no traductores. Soporta manejo de archivos tanto para el contenido de las cintas como para los alfabetos y los resultados de traducción y ejecución, con lo cual se puede utilizar para algún tipo de compilador sencillo.

MTSolution incorpora además un editor de gramáticas, que genera automatas editables con MTEditor.

 

Composición de Maquinas

Es importante destacar la posibilidad de MTSolution de componer maquinas de Turing a partir de cualquier otro tipo de automata. Mas acerca de modulos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Gramatika

Este software forma parte de MT-Solution y permite definir gramaticas de tipo Regular, Libre y Sensible al Contexto. Como parte de sus funcionalidades, permite reconocer cadenas, escribiendolas directamente u obteniendolas de archivo. Tambien permite generar cadenas válidas aplicando reglas al azar.

Todos los elementos, se pueden manejar individualmente por archivo.

Breve historia

Esta herramienta consituye mi trabajo de tesis y se basa en la extensión y mejora de una herramienta similar, Minerva, intentando agregar más funcionalidad y mejorar algunos detalles de la interfaz gráfica. Está orientada, en una primera etapa a alumnos de grado de la cátedra de Ciencias de la Computación I, ya que permite desarrollar los ejemplos que en la misma se plantean. Debe su nombre a que se trata de una reducción a Máquinas de Turing de todas las funcionalidades.

 

 

 

 

 

 

Diseño

Está basado en una arquitectura Cliente/Servidor. En el servidor reside un pequeño motor que interpreta las Máquinas de Turing y devuelve un resultado a el/los cliente/s conectado/s. Es decir si el usuario pide la ejecución de un autómata de pila traductor (APT), las acciones serán las siguientes:

  1. El cliente envía la descripción del automáta, junto con el contenido de la cinta de entrada al motor.
  2. El motor convierte el AP en una MT equivalente
  3. Simula la ejecución de la MT equivalente.
  4. Genera un conjunto de transiciones de MT.
  5. Las transiciones del paso anterior se convierten a transiciones de AP.
  6. Si el automata era traductor, se recorren las transiciones acarreando la traducción.
  7. El servidor envía el resultado al cliente.

Esta sencilla metodología permite un desarrollo escalar y bien separado de lo que es interpretación de un automáta de la interfaz.

Implementación

La solución consiste de dos programas. El cliente y el servidor. Ambos están desarrollados en Microsoft Visual C++ 7.0 con un conjunto de librerías adicionales para la mejora de los componentes gráficos asi como de los frames (CodeJock).

Para el diseño de la interfaz implementé una parte del framework Unidraw, que es una variante del HotDraw de SmallTalk.

Descarga

Si dispone de una buena conexión conviene descargar el instalador completo (3 Mb. aprox.). El instalador completo crea los iconos y menú de acceso, por eso mismo es conveniente realizar al menos una vez este tipo de instalación.

MTSolution

MTSolution (English version)

Está disponible también el manual de usuario (PDF).

Manual

Descarga Individual

Si no se dispone de una buena conexión o de un medio de almacenamiento con capacidad mayor a 3 Mb. se puede realizar una descarga individual.

MTServer

MTEditor

Gramatika

AFTools.DLL

Se agradecerá cualquier comentario o reporte de bug a Mariano Martínez.

Instalación

Para la instalación basta con descargar el archivo instalador completo y ejecutarlo. El soft ha sido desarrollado y testeado sobre Windwos 2000 y Windows XP. También se lo ha testeado sobre Windows 95 y Windows 98, pero para estos sistemas se requieren algunas actualizaciones. Las mismas pueden bajarse del sitio de Microsoft o desde aquí mismo. Si se realizó la descarga individual, es suficiente con copiar todos los archivos en una carpeta común y ejecutar los programas en esa carpeta.

Actualización para Windows 95

Actualización para Windows 98

 

Acerca del autor | Site Map | Privacy Policy | Contactame | ©2003 Company Name