Generar código a partir de diagramas de máquina de estados
Con UModel puede generar código ejecutable a partir de diagramas de máquina de estados (C#, Java, VB.NET). Esta función de generación de código es compatible con casi todos los elementos y las características de los diagramas de máquina de estados:
•Estado
•EstadoCompuesto, con cualquier nivel jerárquico
•EstadoOrtogonal, con cualquier número de regiones
•Región
•EstadoInicial
•EstadoFinal
•Transición
•Guarda
•Disparador
•Evento de llamada
•Bifurcación
•Reunión
•Elección
•Unión
•HistorialDetallado
•HistorialSuperficial
•Acciones de entrada/salida/hacer
•Efectos
La generación de código de máquina de estados se integra en el proceso "normal" de ingeniería de ida y vuelta. Esto significa que el código de máquina de estados se puede actualizar automáticamente con cada proceso de ingeniería directa.
![codeStm1](./images/codestm1.png)
La imagen anterior muestra el diagrama de máquina de estados AirCondition de la carpeta ..\StateMachineCodeGeneration del directorio ...\UModelExamples. Hay una carpeta por cada lenguaje de programación compatible con UModel.
Cada directorio contiene dos carpetas: AirCondition y Complex. Cada una contiene el proyecto de UModel correspondiente, los archivos de proyecto del lenguaje de programación y los archivos de código generados. El archivo de proyecto Complex.ump contiene casi todos los elementos y funciones de modelado compatibles con la función de generación de código de UModel para diagramas de máquina de estados.
Además, cada carpeta contiene una aplicación de prueba (p. ej. TestSTMAirCondition.sln para C#) para que pueda trabajar inmediatamente con los archivos de código generados.
![state-mach-app](./images/state-mach-app.png)
Para generar código a partir de un diagrama de máquina de estados:
1.Haga clic con el botón derecho en el diagrama de máquina de estados y seleccione el comando Generar código de la máquina de estados o
2.Haga clic en Proyecto | Generar código de la máquina de estados.
![codeStm12](./images/codestm12.png)
Aparece un cuadro de diálogo (imagen siguiente). Si es necesario, ajuste las opciones de configuración predeterminadas y haga clic en Aceptar para generar el código.
El código de máquina de estados se actualiza automáticamente cuando se inicia el proceso de ingeniería directa. Sin embargo, esta configuración se puede cambiar. Para ello haga clic en el fondo del diagrama de máquina de estados y marque la casilla Actualización de código automática de la ventana Propiedades.
No es recomendable realizar cambios a mano en el código generado porque estos cambios no se traspasarán al diagrama de máquina de estados durante el proceso de ingeniería inversa.
![codeStm13](./images/codestm13.png)
En la ventana Propiedades haga clic en el icono Examinar del campo Actualización de código automática para abrir el cuadro de diálogo "Generar código de la máquina de estados" y cambiar las opciones de configuración.
Para revisar la sintaxis de un diagrama de máquina de estados:
•Haga clic con el botón derecho en el diagrama y seleccione Revisar la sintaxis de la máquina de estados en el menú contextual.