Main Content

Crear una jerarquía para gestionar la complejidad del sistema

Añada estructura al modelo, de un subcomponente a la vez, creando una jerarquía de estados anidados. A continuación, puede controlar múltiples niveles de complejidad en el gráfico de Stateflow®. Para obtener más información, consulte Modelizar máquinas de estados finitos.

Jerarquía de estados

Para crear una jerarquía de estados, coloque uno o más estados dentro de los límites de otro estado. Los estados internos son estados secundarios (o subestados) del estado externo. El estado externo es el estado principal (o superestado) de los estados internos.

Stateflow chart with a hierarchy of states. The outer state is called Parent. It contains two inner states called Child1 and Child2.

El contenido de un estado principal se comporta como un gráfico más pequeño. Cuando un estado principal se activa, también se activa uno de sus estados secundarios. Cuando el estado principal se inactiva, se inactivan todos sus estados secundarios.

Ejemplo de jerarquía

Este ejemplo modela un sistema estéreo que consta de una radio AM, una radio FM y un reproductor de CD. Durante la simulación, puede controlar el sistema estéreo haciendo clic en los botones de la interfaz de usuario de Media Player Helper.

El sistema estéreo está inicialmente en modo de espera (OFF). Cuando selecciona uno de los botones, el sistema estéreo enciende el subcomponente correspondiente. Si selecciona el reproductor de CD, puede hacer clic en Reproducir, Rebobinar, Avance rápido o Detener. Puede insertar o expulsar un CD en cualquier momento durante la simulación.

Implementar el comportamiento mediante la jerarquía de estado

Inicialmente, la implementación completa del sistema estéreo parece bastante complicada. Sin embargo, al centrarse en un solo nivel de actividad cada vez, puede realizar el diseño general del sistema gradualmente. Por ejemplo, estas condiciones son necesarias para que el reproductor de CD entre en Avance rápido:

  1. Encender el sistema estéreo.

  2. Encender el reproductor de CD.

  3. Reproducir un CD.

  4. Hacer clic en el botón de FF en la IU.

Puede construir un modelo jerárquico que considere cada una de estas condiciones cada vez. Por ejemplo, el nivel más externo define las transiciones entre el encendido y el apagado del sistema estéreo. Los niveles intermedios definen la transición entre los diferentes subcomponentes del sistema estéreo y entre los modos de detención y reproducción del reproductor de CD. El nivel más bajo define la respuesta a los botones cuando cumple con todas las demás condiciones para reproducir un CD.

Para implementar el comportamiento del sistema estéreo, sf_mediaplayer utiliza la jerarquía de estados anidados enumerados por Model Explorer (Explorador de modelos) en el gráfico de Mode Manager. Para abrir el explorador de modelos, en la pestaña Modeling, seleccione Model Explorer.

Hierarchy of nested states, as listed by the Model Explorer.

Esta tabla enumera el rol de cada estado en la jerarquía.

Nivel de jerarquíaEstadoDescripción
Nivel superior (gráfico de Mode Manager)EjectModo de expulsión del CD (interrumpe todas las demás funciones del sistema estéreo)
NormalOperationModo de funcionamiento normal del sistema estéreo

Actividad del sistema estéreo (estados secundarios de NormalOperation)

StandbyEl sistema estéreo está en modo de espera (OFF)
ONEl sistema estéreo está activo (ON)

Subcomponentes del sistema estéreo (estados secundarios de On)

CDModeEl subcomponente reproductor de CD está activo
AMModeEl subcomponente radio AM está activo
FMModeEl subcomponente radio FM está activo

Actividad del reproductor de CD (estados secundarios de CDMode)

StopEl reproductor de CD está detenido
PlayEl reproductor de CD está reproduciendo un CD

Modos de reproducción de CD (estados secundarios de Play)

NormalModo de reproducción normal
RewindModo de retroceso
FastForwardModo de avance rápido

Esta figura muestra el diseño completo de los estados en el gráfico.

Arrangement of states in the Mode Manager chart.

Las intersecciones históricas dentro de los estados NormalOperation y ON registran el modo de funcionamiento (en espera o encendido) y el subcomponente activo del reproductor multimedia (reproductor de CD, radio AM o radio FM) antes de que expulse un CD o apague el sistema.

Explorar el ejemplo

El ejemplo sf_mediaplayer contiene otros dos gráficos de Stateflow:

  • App Interface gestiona la interfaz con la IU y pasa las entradas a los gráficos de Mode Manager y CD Player.

  • CD Player recibe la salida de los gráficos de App Interface y Mode Manager e imita el comportamiento mecánico del reproductor de CD.

Simulink model that simulates a media player. The model contains the chart Media Player Mode Manager and two additional charts, User Request and CD Player Behavior Model.

Durante la simulación, puede investigar cómo responde cada gráfico a las interacciones con la app Media Player Helper. Para cambiar rápidamente entre gráficos, utilice las pestañas en la parte superior del editor de Stateflow.

Temas relacionados