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)



12 comentarios:

  1. Respuestas
    1. Hola, el codigo fuente de la aplicacion no esta disponible al publico de manera gratuita.

      Borrar
    2. Te compro tu código, como lo puedo comprar?

      Borrar
    3. Contactame a mi email desarrolloenjava@gmail.com y hacemos un arreglo. Puede ser por consignación, giro en colombia, y paypal el resto del mundo.

      Borrar
  2. podrías colocar el código o mandarme el proyecto al correo tiven0810@hotmail.com por favor o donde lo puedo descargar

    ResponderBorrar
  3. podrías colocar el código o mandarme el proyecto al correo tiven0810@hotmail.com por favor o donde lo puedo descargar

    ResponderBorrar
    Respuestas
    1. Hola, el codigo fuente de la aplicacion no esta disponible al publico de manera gratuita.

      Borrar
  4. Buenos días, necesito programar un autómata que tengo que entregar, y no se podrían ayudarme. Hay alguna forma de comunicarme con ustedes?

    ResponderBorrar
  5. Hola, cuanto quieres por el código?? contacte o si alguien más lo tiene y me lo puede pasar se lo agradecería abelardo.wr.garcia@gmail.com

    ResponderBorrar
    Respuestas
    1. El costo del código fuente es de 100 dolares. La transacción puede hacerse por Paypal.

      Borrar

Cualquier Duda Envíame un email

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