Diagramas de estado

rene5254 948 views 43 slides May 25, 2021
Slide 1
Slide 1 of 43
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43

About This Presentation

Se detallan los conceptos que componen el diagrama de estados. Se ubican algunos ejemplos


Slide Content

1

Diagrama de Estado
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Mayo, 2020
Loja, Ecuador

3
1.Diagramas de Comportamiento

Diagrama de Estado

Estado y transacción

Tipos de Estado

Tipos de trasacción de estado

Tipos de eventos

Estado Ortogonal

Puntos de entrada y salida

Ejemplos
Agenda

4
Diagramas de Comportamiento
Tipo de diagramas que persiguen mostrar el comportamiento dinámico de
un sistema
Reflejan como determinadas actividades del sistema cambian a lo largo
del tiempo
Utilidad

Entender el comportamiento que deben tener determinados procesos

Mostrar el funcionamiento global del sistema a través de los diferentes
procesos que ejecuta

5
Diagramas de Estado
Diagrama de comportamiento desde el punto de vista de los objetos del
sistema
A lo largo de su vida, cada sistema, o para ser más precisos, cada objeto, pasa
por un número finito de estados diferentes
Muestra los estados por los que puede pasar uno o varios objetos durante
la ejecución de determinados procesos
Utilidad. Reflejar el comportamiento de los objetos del sistema a través
de su ciclo de vida

6
Diagramas de Estado

Considere una sala de conferencias que puede estar en uno de dos estados: libre u
ocupado

Cuando una conferencia comienza en la sala de conferencias, el estado de la sala de
conferencias cambia de libre a ocupado

Una vez que el evento respectivo en la sala de conferencias ha finalizado y la sala se
ha liberado nuevamente, su estado vuelve a ser libre

Nota: Por ejemplo, si desea modelar solo los estados que puede tomar una sala de
conferencias, ya sea para recopilar requisitos o para fines de documentación

7
Diagramas de Estado

Sin embargo, si ya se encuentra en una fase tardía del proceso de desarrollo, una
representación cercana al código, es beneficiosa.

8
Estado y transacción

Un diagrama de máquina de estados es un gráfico con estados como nodos y
transiciones de estado como bordes

En el diagrama, un estado se muestra como un rectángulo con esquinas
redondeadas y está etiquetado con el nombre del estado
Estado
Estado
entry/Actividad(...)
do/Actividad(...)
exit/Actividad(...)

Cuando un objeto se encuentra en un estado específico, todas las actividades
internas especificadas en este estado pueden ser ejecutadas por este objeto

9
Estado y transacción

El cambio de un estado a otro se denomina transición de estado o
simplemente transición

Una transición se representa con un borde dirigido, es decir, una flecha.
La punta de flecha refleja la dirección de la transición

El origen de la transición se denomina estado de origen y el final de la
transición se denomina estado de destino

10
Estado y transacción

Puede especificar varias propiedades para una transición:

El evento (también llamado "trigger") que desencadena la
transición de estado

La guardia (también llamada "condición de guardia" o
simplemente "condición" que permite la ejecución de la
transición. Tiene que estar en paréntesis

Actividades (también llamadas "efectos" ejecutadas
durante el cambio al estado de destino

11
Estado y transacción

Los guardias siempre se colocan entre corchetes para diferenciarlos de los
eventos y actividades. Las actividades siempre van precedidas de una barra
inclinada (incluidas las actividades en los estados)

12
Estado y transacción

13
Estado y transacción
La transición en (a) no tiene evento
ni guarda. Por lo tanto, la transición
puede tener lugar tan pronto como se
complete A1
La Figura (b) es similar que (a) pero
la actividad A2 se ejecuta durante la
transición
En (c), la transición tiene lugar tan
pronto como ocurre el evento e1. Si
ocurre e1, la ejecución de la
actividad A1 se interrumpe
inmediatamente y el sistema cambia
al estado S2. Cuando el sistema sale
del estado S1, se ejecuta la actividad
de salida A2

14
Estado y transacción
En (d), la protección g1 se verifica
tan pronto como ocurre e1. Si la
protección es verdadera, A1 se
termina y hay un cambio de estado a
S2. Si la guardia es falsa, el evento
e1 se pierde y A1 no se interrumpe
En (e) es similar a (d) pero (e), la
actividad A2 se ejecuta además
durante la transición

15
Estado y transacción
En (f) muestra un uso “impuro” de un
guardia. El sistema permanece en el
estado S1 hasta que se completa A1
La protección g1 no se verifica hasta este
punto y la transición tiene lugar si g1 es
verdadera. Si g1 es falso, el sistema
permanece en el estado S1 y nunca será
posible salir de S1 a través de esta
transición, ya que el evento de finalización
de la actividad do se perdió cuando no se
consumió
Este tipo de especificación de transición
solo tiene sentido si, por ejemplo, hay una
transición adicional con una protección
complementaria, lo que significa que no
hay un callejón sin salida

16
Tipos de Estados
El estado inicial se representa en el diagrama como un pequeño círculo negro y
marca el "inicio" de un diagrama de máquina de estados
El estado inicial no tiene bordes entrantes y normalmente un borde saliente que
conduce al primer estado "real"
No puede especificar ningún evento en el borde de salida desde el estado inicial
La única excepción a esta regla es el evento que crea el objeto modelado en sí
mismo, por ejemplo, new () o create (). Sin embargo, puede especificar
actividades

17
Tipos de Estados
El nodo de decisión se representa en el diagrama con un rombo
Puede usarlo para modelar transiciones alternativas
Tiene exactamente un borde entrante y al menos dos bordes salientes
En el borde entrante, modela el evento que desencadena la transición; en los
bordes de salida, especifica las protecciones para las rutas alternativas para la
transición de estado
También puede especificar actividades en el borde entrante y todos los bordes
salientes
Se detiene brevemente en el nodo de decisión, para evaluar los guardias y, por lo
tanto, seleccionar el borde de salida que se utilizará

18
Tipos de Estados
(a) Si ocurre el evento e1, tiene lugar la
transición. Una vez que el sistema ha
llegado al nodo de decisión, se evalúan
las protecciones [b≤0] y [b> 0] y el
sistema cambia al estado S2 o al estado
S3.
(b) también puede modelar el mismo
comportamiento sin utilizar un nodo de
decisión

19
Tipos de Estados
(c) muestra que si ocurre el evento e1,
comienza la transición y b aumenta en el
valor 1. Luego se evalúan los guardias.
(d) b solo se incrementa en el valor 1
después de la evaluación de los
resguardos
Por lo tanto, dependiendo del valor de b,
pueden ocurrir transiciones a diferentes
estados en los dos modelos.
Por tanto, las figuras (c) y (d) no son
semánticamente equivalentes

20
Tipos de Estados
Nodo de paralelización se representa con una barra negra

Se utiliza para dividir el flujo en múltiples transiciones
simultáneas

No se pueden especificar eventos o guardias en los bordes
salientes de un nodo de paralelización en un diagrama de
máquina de estado.
Nodo de sincronización también se representa con una barra negra

Se usa para fusionar múltiples flujos concurrentes

No se pueden especificar eventos o guardias en los bordes entrantes
de un nodo de sincronización
Tenga en cuenta que los nodos de paralelización no deben confundirse
con los nodos de decisión.

21
Tipos de Estados
Nodo de paralelización se representa con una barra negra

Se utiliza para dividir el flujo en múltiples transiciones
simultáneas

No se pueden especificar eventos o guardias en los bordes
salientes de un nodo de paralelización en un diagrama de
máquina de estado.
Nodo de sincronización también se representa con una barra negra

Se usa para fusionar múltiples flujos concurrentes

No se pueden especificar eventos o guardias en los bordes entrantes
de un nodo de sincronización
Tenga en cuenta que los nodos de paralelización no deben confundirse
con los nodos de decisión.

22
Tipos de Estados
El nodo de terminación se
representa en el diagrama con una
X
Si se alcanza un nodo terminado en
un flujo, la máquina de estado
termina y el objeto modelado deja
de existir

23
Tipos de Transacción de Estados
Hay dos tipos de transiciones de estado, a saber, transiciones internas y transiciones
externas
Las transiciones internas representan la reacción a un evento que desencadena una
actividad, pero no una transición de estado
Como no hay cambio de estado, tampoco se ejecutan actividades de entrada o salida
Las actividades de entrada y salida se modelan con la misma notación que cualquier otra
transición interna
Las transiciones internas se modelan dentro de los estados

24
Tipos de Transacción de Estados
Cuando el sistema u objeto sale de un estado y entra en otro como reacción a un evento, la
transición se denomina transición externa
Primero, las actividades de salida del estado de origen, luego las actividades de la transición
y, finalmente, las actividades de entrada del estado de destino se ejecutan como parte de la
transición de estado
Una autotransición es un tipo especial de transición externa en la que el estado de origen y el
estado de destino son idénticos

25
Tipos de Transacción de Estados
(b) muestra una transición interna
(e) una transición externa
(a) una autotransición
(a) y (b) muestran el mismo comportamiento: en
ambos modelos, cuando ocurre el evento e, se ejecuta
la actividad A1; en ambos modelos, antes de que
ocurra el evento e, el sistema estaba en el estado S tal
como estaba después del procesamiento del evento e
(c) y (d) no son de ninguna manera equivalentes,
como en (c), siempre que ocurre el evento e, el
sistema sale del estado S y, por lo tanto, se ejecuta la
actividad de salida A3, seguida de A1, y finalmente,
cuando el el sistema vuelve a entrar en el estado S, se
ejecuta la actividad de entrada A2

26
Tipos de Transacción de Estados
(d), el evento e no desencadena la salida y la entrada
del estado S, por lo que no se ejecutan actividades de
entrada y salida
Si se modela la misma actividad para todas las
transiciones entrantes de un estado, la ejecución de
esta actividad se puede modelar como una actividad
de entrada del estado
Del mismo modo, las actividades para las transiciones
salientes se pueden modelar como una actividad de
salida. Por lo tanto, (e) y (f) son semánticamente
equivalentes.

27
Tipos de Eventos
El evento de señal
Signal event:
event name(arg1,arg2)
Se utiliza para la comunicación asíncrona
Un remitente envía una señal a un receptor y no espera una respuesta
El receptor es el objeto modelado y el emisor puede ser otro objeto o el mismo objeto que el
receptor
La recepción de la señal se procesa como un evento
El nombre del evento corresponde al de la señal y se pueden especificar argumentos
Por ejemplo, el botón derecho del mouse hacia abajo o enviar sms (mensaje) son eventos de
señal.

28
Tipos de Eventos
El evento de llamada
Call event:
opName(par1,par2)
Son llamadas de operación
El nombre del evento corresponde al nombre de una operación que incluye parámetros
Por ejemplo, ocupar (usuario, sala de conferencias) o registrarse (examen).

29
Tipos de Eventos
El evento de tiempo
Time event:
after(period)
when(time)
Permiten transiciones de estado basadas en el tiempo
El tiempo especificado puede ser relativo, basado en el momento en que ocurrió el evento en
el estado actualmente activo, o absoluto
Los eventos de tiempo relativo constan de la palabra clave after y un intervalo de tiempo entre
paréntesis, por ejemplo, after (5 segundos)
Los eventos de tiempo absoluto se modelan con la palabra clave when y un tiempo entre
paréntesis
Por ejemplo, expresiones como when (time == 16: 00) o when (date == 20150101) indican
eventos de tiempo absoluto

30
Tipos de Eventos
El evento de cambio
Change event:
when(boolExpr)
Puede utilizar un evento de cambio para supervisar permanentemente si una condición se
cumple
Un evento de cambio consta de una expresión booleana entre paréntesis y la palabra clave
anterior when.
Ejemplos de eventos de cambio son cuándo (registros == número de asientos) o cuándo (x> y)
El evento ocurre tan pronto como el valor de la expresión lógica cambia de falso a verdadero

31
El estado ortogonal
Si un estado compuesto está activo,
solo uno de sus subestados está activo
en cualquier momento
Si desea lograr estados concurrentes,
un estado compuesto se puede dividir
en dos o más regiones, por lo que un
estado de cada región siempre está
activo en cualquier momento
Este tipo de estado compuesto se
denomina estado ortogonal

32
Puntos de entrada y salida
Si se debe ingresar o salir de un estado compuesto a través de un estado que no
sea el inicial y el final, puede modelarlo usando puntos de entrada y salida

33
Ejemplos

34
Ejemplos

35
Ejemplos

36
Resumen
Estado
Un estado es una condición la cuál es verdadera en un momento determinado.
Un estado puede representar:

Cualidad pasiva (como el on/off del objeto foco)

Cualidad activa (algo que un objeto esté haciendo: como una cafetera preparando
café)

37
Resumen
Transiciones
Representan un cambio de estado, desde un estado origen a un estado destino
La descripción de la transición describe las circunstancias que provocan el cambio de
estado
Notación completa

Evento [condición] / acción(es)

Evento (trigger): es quien provoca la transición.

Condición: valor booleano que permite o bloquea la transición.

Acción: actividad ininterrumpida que se ejecuta cuando ocurre la transición

38
Sintáxis

39
Sintáxis

40
Resumen

41
Resumen

42
Cŕeditos
•Transparencias basadas por:
•Christopher Exposito Izquierdo & AiRam Exposito Marquez & otros
•Maria-Isabel, Sanchez Segura & Arturo, Mora-Soto

Networking académico:
Correo electrónico: [email protected]
Twitter: @rene5254
SlideShare: https://es.slideshare.net/rene5254
43
Gracias