You are on page 1of 12

FACULTAD DE INGENIERIA SEMILLERO DE INVESTIGACIN ORACLE JAVA

DESARROLLO DE UNA MAQUINA DE ESTADO FINITO EN JAVA


AUTOR Fabio Alberto Mayorga Duarte IV Wilmer Andrs Mosquera- IV Natalia Mrquez - IV Cindy Parra - IV
DOCENTE: Carlos Jairo Carvajal

PLANTEAMIENTO DEL PROBLEMA


Contexto: En la actualidad las tecnologas informticas forman parte de la cultura humana por medio del Internet, Los cajeros automticos, Los dispositivos electrnicos mviles. Para comunicarse y hacer todo tipo de transacciones. Cuando un usuario utiliza una de estas tecnologas debe establecer una comunicacin introduciendo una serie de datos por medio del teclado, tarjeta. El sistema debe verificar estos datos y sin son correctos permitir el acceso, en caso contrario se debe bloquear el acceso. Para realizar este proceso en forma rpida se debe automatizar y para ello construir una mquina de estado finito, la cual se pueda programas de acuerdo a cada caso.

Objetivo General
Construir una maquina de estado finito en java que permita simular un proceso automatizado. Objetivos especficos Desarrollar el Modelo Matemtico Disear los algoritmos computacionales Crear las interfaces Implementar el diseo en java Hacer las pruebas

Marco terico
Las teoras del conocimiento que se usaran para el desarrollo del software son: Programacin Matemticas discretas Sistemas Operativos.

Matemticas discretas
Conceptualmente el tema de las maquina de estado finito pertenece a las Matemticas discretas (ROSEN, 2004, p. 700) Se han desarrollado muchas maquinas de estado finito para modelar diferentes fenmenos y problemas del Universo. Las mquinas de estado finito constan de los elementos siguientes (LIPSCHUTZ, 2009, p. 324) Un conjunto finito A de lenguaje de entrada. Un conjunto finito S de estados internos Un conjunto finito Z de lenguaje de salida. Un estado de so en S. Una funcin f de estado siguiente de SxA en S. Una funcin g de salida de SxA en Z.

Cuando se indican las seis partes de una maquina M se denota por M = (A, S, Z, s0, f, g). A continuacin se da un ejemplo con su modelo matemtico: A = {a,b,c,d,e,f,g,h} S = {s0, s1, s2, s3, s4}. Z = {x, y, z} Funcin 1 - Maquina de estado finito m(f(), g()):= m( f(si, aj), g(si, aj) )
Funcin 2 - Nuevo estado f(si, aj) = s(i,j) nuevo estado f(s3, d) = s1 f(s1, a)=s0 f(s0, c)=s2 f(s2, f)=s0 f(s0, b)=s1 f(s1, b)=s4 f(s4, a)=s0 f(s0, e)=s4 f(s4,f)=s2 Funcin 3 - Lenguaje de salida g(si, aj) = z(i,j) lenguaje de salida. g(s3, d) =x g(s1,a) =y g(s0, c) =y g(s2, f) =x g(s0, b) =z g(s1, b) =y g(s4, a) =x g(s0, e) =x g(s4, f) =z

LENGUAJE ENTRADAA LENGUAJE SALIDA A Z CINTA ENTRADA ESTADO INICIAL

a x d S3

b y a

c z c

S0 S1

S2 S3

ESTADO INICIAL

S3

S1

S0

S2

S0

S1

S4

S0

S4

S4

CINTA ENTRADA LENGUAJE DE SALIDA ESTADO FINAL

d x S1

a y S0

c y S2

f x S0

b z S1

b y S4

a x S0

e x S4

f z S2

Cdigo en Java

METODOLOGA Definicin del problema: ver planteamiento del problema.

Definicin de la hiptesis: Se obtendrn los modelos de una maquina de estado finito para hacerle las pruebas de caja negra y caja gris a un producto de software.
Diseo del plan experimental se realizo la bsqueda bibliogrfica, posteriormente, se clasifico y se elaboraron los modelo matemtico. Determinacin de la poblacin y muestra: En la investigacin el objeto de estudio es la maquina de estado finito y la poblacin son los programas, mdulos y variables que se analizan. Seleccin de instrumentos de medicin: Ya que el objeto de estudio tiene un gran componente matemtico para la medicin se elaboro un modelo terico y se compara con los obtenidos por la maquina.

Elaboracin de instrumentos y procedimientos para la obtencin de datos: se realizo la bsqueda bibliogrfica y se elaboraron los formularios con sus datos respectivos. Prueba de confiabilidad de datos: Se escoge un software como patrn y se prueba la maquina de estado finito con los datos de un problema trabajado experimentalmente. Realizacin de experimentos: Los experimentos son la escogencia del producto de software a evaluar y los datos con los que se alimenta la maquina de estado finito y los datos que arroja como resultado. Tratamiento de datos: Se analizan los estados (como eventos e interfaces) los datos de entrada del software como cinta de entrada y los resultados como datos de salida. Los resultados obtenidos en la prueba se comparar con los obtenidos experimentalmente.

IMPACTO INVESTIGATIVO Se ha estimulado la cultura investigativa en la facultad de ingeniera de la Universidad Cooperativa de Colombia sede Cali. Se ha impulsado el diseo de proyectos de investigacin interdisciplinarios, con profesores de otras reas como: programacin, diseo de software, sistemas operativos etc. que busquen el beneficio de la comunidad estudiantil.

RESULTADOS PARCIALES
El modelo matemtico. Los algoritmos computacionales. A la fecha se a elaborado una primera versin del software con una interfaz, que ejecuta las ordenes en lenguaje de las acciones de una maquina de estado finito.

You might also like