UML Domine el lenguaje de modelado más utilizado en la actualidad

7. MÁQUINAS DE ESTADO En la figura vemos que tenemos dos estados: SO y S I. El primero es el inicial, mien­ tras que S I es el final. Los estados finales o aceptadores se marcan con doble flecha. Esta máquina de estado aceptará cualquier identificador, siempre y cuando comien­ ce con una letra. Por lo tanto, validará variables de nombre como data o e rl2 3 , pero no aceptará nombres como 12data, 123er. Con estos dos últimos ejemplos no tene­ mos manera de llegar a S I, el único estado aceptador desde el estado inicial. Como muestra la figura, la única forma de avanzar desde el estado inicial es por medio de una letra. Luego, la máquina de estado se quedaría siempre en un estado no acep­ tador, por lo cual se rechaza la entrada. Ibdas las transiciones que vimos en el ejemplo anterior están etiquetadas. La eti­ queta se corresponde con el nombre de la acción que provoca el cambio de estado. Sin embargo, en algunas situaciones es necesario cambiar de estado sin provocar modificaciones dentro del ambiente. Estas transiciones sin etiquetas se conocen como transiciones lambda. Estas acciones se corresponden, en general, con tran­ siciones internas o con acciones locales. Por ejemplo, dentro del comportamiento de una arquitectura cliente/servidor, muchos procesos internos del servidor pueden denotarse a través de este tipo de transiciones. Existen dos tipos de máquinas de estado. Están las aceptadoras y las traductoras. Las primeras toman un dato de entrada y aceptan o rechazan esa entrada de acuer­ do con sus transiciones. El esquema de la figura 2 se corresponde con esta clase de máquinas de estado. Las traductoras toman una entrada y la transforman en un nuevo dato de salida. Por ejemplo, supongamos que tenemos que procesar un deter­ minado texto y cambiar cada letra a por un símbolo de pregunta ?. Nuestra máqui­ na de estado debe funcionar así: por cada letra que reciba que no sea una letra a, copiará a la salida la letra que recibió. En cambio, cada vez que reciba una letra a, la reemplazará por un signo de pregunta. Las máquinas de estado traductoras se dividen en dos según el lugar donde emitan la salida: si lo hacen en los estados, se denominan máquinas de estado de Moore, mientras que si lo hacen en las transi­ ciones se denominan máquinas de estado de Mealy. Ambos tipos son semántica­ mente equivalentes en poder expresivo. Existen varias herramientas automáticas para dibujar y analizar máquinas de estado. Una de ellas es JFLAP, que podemos descargar de forma gratuita desde el sitio www.jflap.org. ir ORIGEN DE AUTÓMATAS Los autómatas de Moore fueron promovidos por Edward F. Moore en 1956 y Los de Mealy fue­ ron especificados un año antes por G.H. Mealy. Ambos mecanismos son trascendentales para el estudio y formación dentro de la disciplina que se conoce como Ciencias de la Computación. Dentro de las carreras universitarias de Informática, son estudiados en los primeros años. 212

RkJQdWJsaXNoZXIy MjI4NDcx