1 / 24

Sistema Embebidos: StateChart

Sistema Embebidos: StateChart. Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania y Jakob Engblom de www.it.uu.se. Especificación. StateCharts: Retoma autómata clásico. Autómata Clásico:. entrada X. Estado interno Z.

Download Presentation

Sistema Embebidos: StateChart

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistema Embebidos: StateChart Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania y Jakob Engblom de www.it.uu.se

  2. Especificación

  3. StateCharts: Retoma autómata clásico • Autómata Clásico: entrada X Estado interno Z salida Y reloj Modelos de: autómata de Moore ó Mealy = Finite State Machines (FSMs) Estado próximo Z+ como función de Salida como función de  e=1 Z0 Z1 • Automata de Moore:Y =  (Z); Z+ =  (X, Z) • Autómata de MealyY =  (X, Z); Z+ =  (X, Z) 0 1 e=1 e=1 Z3 Z2 2 3 e=1

  4. StateCharts • Autómata clásico no es usado para sistemas complejos (grafos complejos no son muy entendibles). •  Introducción de jerarquía da origen a StateCharts [Harel, 1987] • StateChart = combinación no usada de “flow“ o “state“ con “diagram“ o “chart“

  5. FSM estará en exactamente un estado de los sub-estados de S si S está activo Introducción de jerarquía

  6. Definiciones • Estado actual = estado activo • Estado no compuesto de otros = estado básico • Estado que contiene otros estados = super-estado. • Para cada estado s, el super-estado que contiene s es llamado estado ancestro. • Super-estados S son super-estados-OR, si exactamente uno de los sub-estados de S está activo cuando S lo está. Sup-estados Estado ancestro de E Sub-estados

  7. Mecanismo de estado por omisión (por “defecto”) • Intenta ocultar estructura interna del mundo exterior! •  Estado por defecto • Un círculo lleno indica cada vez que el sub-estado activo cuando ingresamos al super-estado.

  8. Mecanismo de historia • Para entrada m, S ingresa al estado en que éste estaba antes de salir de S (puede ser A, B, C, D, o E). • Cunado se ingresa por primera vez se aplica el mecanismos por “defecto”. • Se puede lograr un mecanismo tipo llamado a función (se comporta diferente que el caso previo) m k

  9. Combinación de mecanismo histórico con “por defecto” El mismo significado o comportamiento

  10. Concurrencia • Se requiere una manera conveniente de describir concurrencia. • Super-estado-AND: FSM está en todos los sub-estados (al mismo tiempo) de un super-estado; Ejemplo:

  11. Ingreso y salida de super-estados-AND • Ingresamos y salimos de Line-monitoring y key-monitoring, cuando el switch de servicio es operado. incl.

  12. Tipos de estado • En StateCharts, los estados son • Estados básicos, o • Super-estados-AND, o • Super-estados-OR.

  13. Temporizadores (Timers) • Porque el tiempo necesita ser modelado en sistemas embebidos, • Temporizadores requieren ser modelados. • En StateCharts, un borde especial es usado para timeouts. Si un evento no ocurre mientras el sistema está en el estado izquierdo por 20 ms, un timeout tiene lugar.

  14. Uso de timers en contestador telefónico

  15. evento [condición] / reacción Forma general para los rótulos de arcos • Eventos: • Existe sólo hasta la próxima evaluación del modelo • Puede ser generado internamente o externamente • Condiciones: • Depende de valores de variables que mantienen sus valores hasta que ellas son re-asignadas • Reacciones: • Pueden ser asignaciones de variables o creación de eventos • Ejemplo: • service-off [not in Lproc] / service:=0

  16. Fases de simulación de StateCharts • ¿Cómo se evalúan los rótulos de los arcos? • Hay tres fases: • Eventos y condiciones son evaluadas, • El conjunto de transiciones a efectuar en el paso actual y el lado derecho de las asignaciones es calculado, • Transiciones se hacen efectivas y las variables toman nuevos valores. • Separación en fases 2 y 3 garantizan comportamiento determinístico y reproducible.

  17. Ejemplo • En fase 2, variables a y b son asignadas a variables temporales. En fase 3, éstos son asignados a a y b. Como resultado, a y b son intercambiados. • En un ambiente de sólo una fase, la ejecución del estado de la izquierda primero asignaría el antiguo valor de b (=0) a ambos. Ejecución del estado de la derecha primero asignaría el valor previo de a (=1) a ambos. La ejecución no sería determinística.

  18. Ejemplo: hardware con reloj • En este sistema con reloj (sincrónico), ambos registros se intercambian. La misma separación en fases se encuentra en otros lenguajes, especialmente aquellos para modelar hardware.

  19. phase 1 phase 2 Status phase 3 Pasos • Ejecución del modelo de una StateChart consiste de la secuencia de pares (Estado, paso). Estado= valores de variables + conjunto de eventos + tiempo actual Paso = Ejecución de las tres fases

  20. Mecanismo de Broadcast • Valores de variables son visibles a todas las partes modeladas por la StateChart. • Valores nuevos son efectivos en fase 3 del paso actual y son accesibles a todas las partes en el paso siguiente.  StateCharts implícitamente asume un mecanismo de broadcast para variables.  StateCharts es apropiado para systemas de control local (), pero no para aplicaciones distribuidas en las cuales la actualización de variables puede tomar tiempo ().

  21. Tiempo de vida de los eventos • Los eventos viven o perduran hasta que el paso siguiente a aquel donde fueron generados

  22. Evaluación de StateCharts (1) • Pros: • Jerarquía permite anidamiento arbitrario de super-estados-AND y -OR. • Disponibilidad de gran número de herramientas comerciales(StateMate, StateFlow, BetterState, ...) • Disponibles “back-ends” trasladan StateCharts a C o VHDL, permitiendo así implementaciones de software o hardware. • Fron-end: Responsable de recolección de entradas del usuario (especificación del usuario) • Back-end: es el procesamiento de lo ingresado para obtener especificación objetivo.

  23. Evaluación de StateCharts (2) • Cons: • Programas C generados frecuentemente ineficientes, • No usado en aplicaciones distribuidas, • No podemos especificar computaciones complejas vía programa, • No hay orientación a objeto,

  24. Resumen • Requerimientos para lenguajes de especificación, Capacidad para Expresar: • Jerarquía • Comportamiento temporal • Comportamiento orientado a estados • Concurrencia • Sincronización & comunicación, … • StateCharts • Estados-AND • Estados-OR • Temporizadores • Broadcast • Semántica • …

More Related