Professional Documents
Culture Documents
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
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
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
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.