lunes, junio 23, 2014

Autómata en Java Según Tabla de Transiciones

Tema: Reconocimiento de Cadenas Mediante Autómatas
Lenguaje de Programación: JAVA



Descripción:

Presentamos una Aplicación escrita en Java bajo el paradigma de programación orientada a objetos, que permite construir un autómata dada su tabla de transición y una vez construido el autómata el sistema puede hacer reconocimiento de cadenas, se le informa al usuario si la cadena fue reconocida o no.

La tabla de transiciones se crea dinámicamente al insertar estados y símbolos, para crear las transiciones se debe hacer click sobre la tabla en la intersección del estado y el símbolo, luego aparecerá una caja de dialogo donde se podrán introducir los estados destino.

Se debe insertar al menos un estado y un símbolo, y crear la transición para que se construya el autómata en memoria, debe existir un estado inicial y un estado final para poder evaluar cadenas.


Estructura de Datos:
El sistema está construido sobre estructuras dinámicas y estáticas, utilizando apuntadores y vectores de objetos, de la siguiente forma:

Clase: State
Esta clase representa a cada estado del autómata. Posee una etiqueta de identificación, un campo booleano para indicar si es un estado inicial, un campo booleano para indicar si es un estado final, un vector de transiciones (Transition) dinámico que representa las transiciones hacia otros estados. Esta clase esta integrada por métodos y funciones necesarias para el funcionamiento del autómata tales como agregar transición, eliminar una o todas las transiciones, además de los métodos set y get de los atributos.

Clase: Transition
Esta clase representa las transiciones de los estados del autómata. Posee una etiqueta de transición un apuntador al estado destino. Compuesta por métodos get y set de sus atributos.

Clase: Automaton
Esta clase es la que permite la construcción del autómata a partir de las clases anteriores, en esta se hace el reconocimiento de cadenas. No se permiten estados con la misma etiqueta.

Clase: NewStateForm
Formulario JDialog que permite al sistema crear los estados de autómata mediante una interfaz gráfica sencilla, no permite etiquetas vacías.

Clase: NewSymbolForm
Formulario JDialog que permite al sistema crear los símbolos del alfabeto del autómata mediante una interfaz gráfica sencilla.

Clase: NewTransitionForm
Formulario JDialog que permite al sistema crear las transiciones del autómata a partir de los estados y los símbolos del alfabeto, mediante una interfaz gráfica sencilla.

Clase: PlayAutomata
Formulario JFrame, es la interfaz gráfica de usuario, esta clase hace validaciones necesarias para evitar fallos durante la ejecución, es sencilla e intuitiva.


(No se utiliza la clase Pattern)



Recupera tu Informacion con este espectacular Programa de Recuperacion de Datos Alojamiento Web Profesional a un Precio Increible!