Upload
babobrill
View
279
Download
0
Embed Size (px)
Citation preview
2002-2003
Lenguaje Unificado de Modelado (UML)
MÁQUINAS DE ESTADOS
ISO1, UML Máquinas de Estados 2
2002-2003
Máquinas de estados
» representación de posibles ciclos de vida de un objeto: estados de respuesta a eventos y las transiciones y acciones/actividades asociadas
ISO1, UML Máquinas de Estados 3
2002-2003
Eventos
§ EventosOcurrencia significativa que involucra una respuesta:evento -> transición -> acción
–Recepción de una llamada (a operación)Invocación síncrona: oper(a:T)
–Recepción de una señalMensaje asíncrono: señal(a:T)
–Cambio de una condición (expres. Bool)Satisfacción de una condición sobre propiedades del objeto que contiene la máquina de estados: when(cond)distinguir de condición de guarda
–Paso del tiempoAbsoluto o relativo a llegada a estado: after(time)
ISO1, UML Máquinas de Estados 4
2002-2003
Estados
§ EstadosCondición de comportamiento en la vida de un objeto, caracterizado por:
1. satisfacción de una condición (conjunto de valores) sobre sus propiedades
2. reacción a ciertos eventos que pueden ocurrir3. realización de cierta actividad
ISO1, UML Máquinas de Estados 5
2002-2003
Transiciones
§ Transiciones (externas)Respuesta a la ocurrencia de un evento en un estado
–Estado origen–Disparo
Ocurrencia del evento que habilita la transiciónPuede no constar y ser por finalización del estado origen
–Condición de guardaCondición para que se pueda habilitar el disparo: [cond]Evaluación única en el momento que llega el eventoRamificación en un disparo por condiciones de guardaAcciónComputación atómica ejecutable
–Estado destino
ISO1, UML Máquinas de Estados 6
2002-2003
Acciones
» operación primitiva que no puede ser terminada externamente
» instantáneas, independientes, simultáneas
–Asignación– Llamada a oper.–Crear–Destruir–Retorno–Enviar señal– Terminar
ISO1, UML Máquinas de Estados 7
2002-2003
Ejemplo transic. externas
ISO1, UML Máquinas de Estados 8
2002-2003
Asociado a los estados
§ Acciones de entrada/salidaRealizadas siempre al entrar / antes de salir para todas las transiciones no asociadas al estado propiamente dicho
§ Transiciones internasTiene una acción pero no involucra cambio de estado≠ auto-transiciones por las configuraciones entry/exit
ISO1, UML Máquinas de Estados 9
2002-2003
...
§ ActividadesEjecución no-atómica con duración y estructura de posibles puntos de interrupciónPersistencia indefinida y terminación por transición externaAsociado a estados: do/activ
§ Eventos diferidosNo dispara transición. Es guardado de forma que al llegar a otro estado pueda disparar transiciones: event/defer
ISO1, UML Máquinas de Estados 10
2002-2003
Composición de subestados
» un estado compuesto está formado por subestados secuenciales o concurrentes
–Estado simple–Estado compuesto: secuencial,
concurrente–Estado inicial / final– Estado de conjunción–Estado de historia–Estado de referencia a submáquina–Estado stub (abrev. externo)
ISO1, UML Máquinas de Estados 11
2002-2003
Composición secuencial
§ Especialización delestado general
§ Disjunción§ Transiciones
inter-nivel§ Estado inicio§ Estado final:
.destrucción
.compleción
ISO1, UML Máquinas de Estados 12
2002-2003
Composición concurrente
§ Computaciones independientes que pueden interactuar (¿?)§ Entrada: fork de flujos de control concurrentes§ Salida: join
.todos terminan
.uno sale
ISO1, UML Máquinas de Estados 13
2002-2003
Transiciones complejas
§ Fork / join explícitos
§ Estados de sincronización
ISO1, UML Máquinas de Estados 14
2002-2003
Submáquinas de estados
» máquina de estados que puede ser invocadacomo parte de otra, resultando como si hubiésemos hecho una copia