Diagrama de estado

Los diagramas de estado, también llamados diagramas de máquina de estado o motor de estados, ilustran como un elemento, se puede mover entre estados clasificando su comportamiento a través de transiciones y guardas de restricciones.

Diagrama de máquina de estados

Diagrama de máquina de estados

Los estados se representan con un rectángulo de puntas redondeadas. Las transiciones se representan con una línea continua con punta de flecha que apunta al nuevo estado en el que se hará la transición. El circulo relleno representa el estado inicial, y la diana, el estado final.

Estados

Se pueden añadir atributos y operaciones a un estado.

En EA, para añadir atributos y operaciones, hacemos clic derecho sobre el estado y seleccionamos “Operations…” o “Attributes…”. Se nos abrirá un cuadro de diálogo donde podremos configurar los valores.

Añadir atributos y operaciones

Añadir atributos y operaciones

Las operaciones o actividades, realizarán determinadas acciones:

  • Entrada → Que sucede cuando el sistema entra al estado
  • Salida → Que sucede cuando el sistema sale del estado
  • Hacer → Que sucede cuando el sistema está en el estado

En EA, cuando añadimos una propiedad en un estado, podemos seleccionar los sucesos y acciones comentadas anteriormente (entry, exit, do). 

Acciones de una actividad

Acciones de una actividad

El estado se mostrará entonces del siguiente modo:

Detalle del estado

Detalle del estado

Estados compuestos, regiones, sub-estados y estados concurrentes

Un estado puede incluir a su vez un diagrama de estado que defina la secuencia de acciones que se realiza en dicho estado. Los estados incluidos en este estado compuesto, serán sub-estados. Si queremos representar varios sub-diagramas dentro de un estado, se pueden crear regiones, que se representan con una línea discontinua de separación y un nombre para cada región.

En EA, se pueden definir sub-estados de dos modos diferentes. Podemos hacer clic derecho con el ratón en un estado, y seleccionar “Advanced >> Make Composite…”. El elemento se mostrará con un símbolo de infinito, y si hacemos doble clic sobre el se abrirá el diagrama, para que podamos arrastrar los sub-estados y las transiciones.

Crear un estado compuesto

Crear un estado compuesto

Otro modo de crear sub-estados, es arrastrando directamente los elementos dentro de un estado que ya estuviera en el diagrama. Si queremos representar en un estado, sub-estados que se ejecutan a la vez, de manera concurrente, podemos crear regiones haciendo clic derecho y seleccionando “Advanced >> Define Current Substates”. Se nos abrirá un cuadro de diálogo donde podremos crear todas las regiones que queramos.   El resultado será similar al siguiente:

Subestados y regiones

Sub-estados y regiones

Estado histórico

Cuando queremos representar un punto de estado al que queramos regresar después de que se produzca el estado, se utiliza el estado histórico, que se representa por una “H” encerrada en un círculo. Por ejemplo, supongamos que en el diseño de nuestro automóvil disponemos de un sistema de control de velocidad, de modo que podemos ajustar un valor, como 100 Km/h. Cuando se pulsa el pedal de freno, o el acelerador, el sistema de control de velocidad, se debe desconectar, de modo que se reduzca la velocidad, o se aumente en función de la necesidad. Cuando queramos volver a accionar el control de velocidad, querremos volver al estado que habíamos marcado anteriormente con una velocidad de 100Km/h.  Para representar esto, se puede crear un estado “Control de velocidad”, del que salgamos cuando pulsemos el acelerador o el freno. En el estado “Control de velocidad”, podremos incluir un sub-estado histórico, que recuerde en la velocidad en la que estábamos.

Histórico

Histórico

Aquí terminamos este artículo, en el próximo hablaremos sobre el diagrama de secuencias, que es muy similar. En los diagramas de estado, se centran en los estados por los que pasa un objeto. En los diagramas de secuencia, se amplía el marco y se ve como un objeto interactúa con otros. También hablaremos de los diagramas de, comunicaciones y actividades

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *