Sistema Embebidos State Chart Agustn J Gonzlez 1
Sistema Embebidos: State. Chart Agustín J. González 1 s 07 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
State. Charts: Retoma autómata clásico n entrada X reloj Autómata Clásico: Estado interno Z salida Y Modelos de: autómata de Moore o Mealy = Finite State Machines (FSMs) Estado próximo Z+ como función de Salida como función de • Autómata de Moore: Y = (Z); Z+ = (X, Z) • Autómata de Mealy Y = (X, Z); Z+ = (X, Z) Z 0 0 e=1 Z 3 3 e=1 Z 1 1 e=1 Z 2 e=1 2
State. Charts Autómata clásico no es usado para sistemas complejos (grafos complejos no son muy n entendibles). Introducción de jerarquía da origen a State. Charts [Harel, 1987] n n State. Chart = combinación no usada de “flow“ o “state“ con “diagram“ o “chart“
Introducción de jerarquía FSM estará en exactamente un estado de los sub-estados de S si S está activo
Definiciones n n n 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
Mecanismo de estado por omisión (por “defecto”) Intenta ocultar estructura interna del mundo exterior! n Estado por defecto n Un círculo lleno indica el subestado activo cuando ingresamos al super-estado. n
Mecanismo de historia m k (se comporta diferente que el caso previo) Para entrada m, S ingresa al estado en que éste estaba antes de salir de S (puede ser A, B, C, D, o E). n Cuando se ingresa por primera vez se aplica el mecanismos por “defecto”. n Se puede lograr un mecanismo tipo llamado a función n
Combinación de mecanismo histórico con “por defecto” El mismo significado o comportamiento
Concurrencia Se requiere una manera conveniente de describir concurrencia. n Super-estado-AND: FSM está en todos los subestados (al mismo tiempo) de un super-estado; Ejemplo: n
Ingreso y salida de super-estados-AND incl. Ingresamos y salimos de Line-monitoring y keymonitoring, cuando el switch de servicio es operado. n
Tipos de estado n En State. Charts, los estados son n Estados básicos, o n Super-estados-AND, o n Super-estados-OR.
Temporizadores (Timers) n n n Porque el tiempo necesita ser modelado en sistemas embebidos, Temporizadores requieren ser modelados. En State. Charts, 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.
Uso de timers en contestador telefónico
Forma general para los rótulos de arcos evento [condición] / reacción n n n n 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
Fases de simulación de State. Charts n ¿Cómo se evalúan los rótulos de los arcos? n Hay tres fases: 1. Eventos y condiciones son evaluadas, 2. 3. n 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.
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. n 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. n
Ejemplo: hardware con reloj En este sistema con reloj (sincrónico), ambos registros se intercambian. n La misma separación en fases se encuentra en otros lenguajes, especialmente aquellos para modelar hardware.
Pasos Ejecución del modelo de una State. Chart consiste de la secuencia de pares (Estado, paso). n Estado= valores de variables + conjunto de eventos + tiempo actual Paso = Ejecución de las tres fases 1 e s a ph Status phase 3 phase 2
Mecanismo de Broadcast Valores de variables son visibles a todas las partes modeladas por la State. Chart. n Valores nuevos son efectivos en fase 3 del paso actual y son accesibles a todas las partes en el paso siguiente. n State. Charts implícitamente asume un mecanismo de broadcast para variables. State. Charts es apropiado para sistemas de control local ( ), pero no para aplicaciones distribuidas en las cuales la actualización de variables puede tomar tiempo ( ).
Tiempo de vida de los eventos Los eventos viven o perduran hasta que el paso siguiente a aquel donde fueron generados n
Evaluación de State. Charts (1) n n n Pros: Jerarquía permite anidamiento arbitrario de super-estados -AND y -OR. Disponibilidad de gran número de herramientas comerciales (State. Mate, State. Flow, Better. State, . . . ) Disponibles “back-ends” trasladan State. Charts 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.
Evaluación de State. Charts (2) n n n 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,
Resumen n Requerimientos para lenguajes de especificación, Capacidad para Expresar: n n n Jerarquía Comportamiento temporal Comportamiento orientado a estados Concurrencia Sincronización & comunicación, … State. Charts n n n Estados-AND Estados-OR Temporizadores Broadcast Semántica …
- Slides: 24