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

G eneración a u tom á tic a de có d ig o encendido, cambia al estado Prendida. Cuando el botón es presionado nuevamen­ te, la radio vuelve a su estado inicial. Dentro del diagrama de estados asociamos las tran sic ion e s que cambian de estado con las operaciones prender y apagar de la clase Radio. Esto se logra con el constructor Operation dentro de la especificación de la transición. Hechos todos estos pasos, estamos en condiciones de generar el código tanto para el diagrama de clase como para el diagrama de estados. Es nece­ sario efectuar dos pasos, uno para cada diagrama: • Generar código del diagrama de clases con el constructor Generador Instantáneo. Debemos seleccionar tanto la clase Radio, como su diagrama de estados asociado. • Generar código del diagrama de estados con el constructor Código de Máquina de Estado, eligiendo luego la opción Generar Código. El código que obtendremos es una serie de clases cuya ejecución simulará la ejecu­ ción del autómata y se basará en las operaciones especificadas tanto en el diagrama de estados, como en el diagrama de clases. También obtendremos la especificación del autómata en un lenguaje particular denominado State Machine Comp iler (SMC). Este se encuentra especificado en un archivo con extensión sm. Para el ejemplo de la radio, el código del autómata es el siguiente: %start RadioFSH::Apagada %class Radio %package Ej^plo %map RadioFSM %% Apagada { prender Prendida {} } Prendida { apagar Apagada {} } El lenguaje es bastante simple. Vemos cómo se declaran dos estados: Apagada y Prendida, las operaciones que provocan cambios de estados y, en la primera línea, se declara al estado Apagada como el estado inicial. Para conocer más sobre este len­ guaje para especificar máquinas de estado, debemos visitar el sitio web 237

RkJQdWJsaXNoZXIy MjI4NDcx