Plantillas de Máquina de Estado Heredadas
|
|
La generación de código opera utilizando un conjunto de plantillas de generación. Desde el Lanzamiento 11.0 de Enterprise Architect, un conjunto diferente de plantillas está disponible como predeterminada para la generación de código de software desde un diagrama de Máquina de Estado hacia código Java, C, ANSI C++ o C#. Todavía puede utilizar las plantillas originales, como se describe aquí, para modelos desarrollados en lanzamientos anteriores de Enterprise Architect, si no quiere actualizarlas para las nuevas funcionalidades de plantillas.
Intercambiar Entre plantillas Heredadas y de Lanzamiento 11
Acceso Herramientas | Opciones | Ingeniería de Código Fuente <nombre del lenguaje>
Si es necesario, expanda la agrupación de Ingeniería de Submáquina (para el modelo actual) y configure la opción Utilizar la nueva Plantilla de Máquina de Estado en Verdadero (para utilizar las últimas plantillas) o Falso (para utilizar las plantillas Heredadas).
Transformaciones de Plantilla Heredada
Una Máquina de Estado en una Clase genera internamente un número de construcciones en lenguajes de software para proporcionar una ejecución efectiva de los comportamientos de Estado (hacer, entrada y salida) y también para codificar el efecto de transición apropiado cuando sea necesario.
Objetos de Modelo
|
Objetos de Código
|
Ver También
|
Enumeraciones
|
•
|
Tipo de Estado - comprime una enumeración para cada uno de los Estados contenidos dentro de la Máquina de Estado
|
•
|
Tipo de Transición – comprime una enumeración para cada transición que tiene un efecto válido asociado con ella; por ejemplo: ProcessOrder_Delivered_to_ProcessOrder_Closed
|
•
|
Tipo de Comando – comprime una enumeración de los tipos de comportamientos que puede contener un Estado (Do, Entry, Exit)
|
|
|
Atributos
|
•
|
currState:StateType - una variable para guardar la información actual del Estado
|
•
|
nextState:StateType - una variable para guardar la información del siguiente Estado, configurada para cada transición de Estado en consecuencia
|
•
|
currTransition:TransitionType - una variable para guardar la información actual de la transición; esto se configura si la transición tiene un efecto válido asociado con ella
|
•
|
transcend:Boolean - una bandera utilizada para aconsejar si una transición está involucrada en trascender entre diferentes Máquinas de Estado (o estados de Submáquina)
|
•
|
xx_history:StateType - una variable de historial para cada Estado de Máquina/Submáquina, para guardar información sobre el último Estado desde el cual tomo lugar la transición
|
|
Operaciones
|
•
|
StatesProc - el procedimiento de Estados, conteniendo un mapa entre la enumeración de un Estado y su operación; no referencia la información del Estado actual para invocar la función del Estado respectivo
|
•
|
TransitionsProc - el procedimiento de Transiciones, conteniendo un mapa entre la enumeración de una Transición y su operación; invoca el efecto de la Transición
|
•
|
<<State>> - una operación para cada uno de los Estados contenidos dentro de la Máquina de Estado; esto representa los comportamientos del Estado basados en la entrada del CommandType, y también ejecuta sus transiciones
|
•
|
initializeStateMachine - una función que inicializa todos los atributos relacionados con el marco de trabajo
|
•
|
runStateMachine - una función que itera a través de cada Estado, y ejecuta sus comportamientos y transiciones en consecuencia
|
|
Comportamiento de Operación
|
Notas
•
|
Para ser capaz de generar código desde modelos conductuales, todas las construcciones conductuales deberían estar contenidas dentro de una Clase
|
Aprender más
Temas de Centro de aprendizaje
•
|
(Alt+F1) | Enterprise Architect | Ingeniería de Software | Generación de Código Conductual | Máquinas de Estado
|
|