Está en la página 1de 19

Sistema Embebidos: Propiedades de los Lenguajes y SDL

Agustn J. Gonzlez 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12, Alemania

- 1-

SDL (Specification and Description Language)


Es un lenguaje para especificar sistemas distribuidos.
Data de los 70s, Definido por la ITU (International Telecommunication Union): recomendacin Z.100 en 1980 Actualizaciones en 1984, 1988, 1992, 1996 and 1999 http://www.sdl-forum.org/ Descripcin general en: http://profesores.elo.utfsm.cl/~agv/elo326/1s06/sdl.pdf

- 2-

SDL (Specification and Description Language)

Provee formatos de texto y grficos, Como en StateCharts, ste est basado en el modelo de computacin de CFSM (mquinas de estado finitas complejas); cada FSM es llamada un proceso, Sin embargo, SDL usa paso de mensajes en lugar de comunicaciones de memoria compartida,

SDL soporta operaciones sobre los datos.

- 3-

Representacin en SDL de FSMs/procesos

estado input output

- 4-

Operaciones sobre datos


Las variables pueden ser declaradas localmente en un proceso. Su tipo puede ser predefinido o definido en el mismo SDL. SDL soporta tipos de datos abstractos (ADTs). Ejemplo:

- 5-

Comunicacin entre FSMs


La comunicacin entre FSMs (o procesos) est basada en paso de mensajes, se asume una cola FIFO indefinidamente larga (lo cual es no realista). Cada proceso trae la prxima entrada desde la FIFO, Chequea si la entrada genera una transicin, Si es as: la transicin tiene lugar, Sino: la entrada es ignorada.
- 6-

Diagrama de interaccin ente Procesos


La interaccin entre procesos puede ser descrita en un diagrama de interaccin entre procesos (caso especial de diagrama de bloques). Adems de procesos, estos diagramas contienen canales y declaracin de seales locales. Ejemplo:

- 7-

Designacin de destinatarios
1. A travs de identificadores de procesos: Ejemplo: OFFSPRING representa identificador de procesos. 2. Explcitamente: incluyendo el nombre del canal. 3. Implcitamente: Si nombres de seales implican nombres de canales (B Sw1) Counter TO OFFSPRING

Counter Via Sw1

- 8-

Jerarqua en SDL
Un diagrama de interaccin entre procesos puede ser incluido en bloques. El bloque raz es llamado sistema.

Procesos no pueden contener otros procesos, diferencia con StateCharts.


- 9-

Temporizadores (Timers)
Timers pueden ser declarados localmente. Timers pueden poner eventos en colas (no son procesados inmediatamente necesariamente). RESET tambin remueve los eventos desde la cola (anula su efecto).

- 10 -

Elementos adicionales del lenguaje

SDL incluye un nmero de elementos adicionales del lenguaje como: procedimientos Creacin y trmino de procesos Descripcin avanzada de datos

- 11 -

Aplicacin: descripcin de un protocolo de red

- 12 -

Ejemplo ms completo: Vending machine

Mquina vende pretzels, (potato) chips, cookies, y doughnuts: acepta nickels, dime, quarters, y monedas de medio dolar. No es una aplicacin distribuida.

[J.M. Berg, O. Levia, J. Roullard: High-Level System Modeling, Kluwer Academic Publishers, 1995]
- 13 -

Overall view of vending machine

- 14 -

Proceso: Decode Requests


p

Proceso: ChipHandler

no

yes

yes

no
- 16 -

Versiones y herramientas
SDL-88 SDL-92: se agrega orientacin a objetos SDL-96 SDL-2000: Se extiende el soporte grfico; procesos y bloques pasan a ser reemplazados por agentes. Herramientas para conectarlo a MSCs (Message sequence charts, es otro lenguaje) Herramientas para conectarlo a UML. Herramientas para traducirlo a CHILL (un lenguaje similar a Pascal usado en telefona). Ms informacin en: www.sdl-forum.org
- 17 -

Evaluacin
Excelente para aplicaciones distribuidas (fue usado para especificar ISDN), Herramientas comerciales disponibles: SINTEF, Telelogic, Cinderella (//www.cinderella.dk). No necesariamente determinista (se desconoce el en que las FSMs estn leyendo su entrada) no es un lenguaje sincrnico, Implementaciones requieren lmite para l largo mximo de las FIFOs, esto puede ser difcil de determinar, Concepto de tiempo adecuado slo para sistemas con plazos blandos (soft), Uso limitado de jerarqua, Soporte de lenguaje de programacin limitado, No hay descripcin de propiedades non-funcionales.
- 18 -

Resumen
Propiedades de los lenguajes Lenguajes sincrnicos vs. asincrnicos Propiedades de procesos Comunicacin Timing SDL Representacin de procesos Comunicacin y diagramas de bloques Timers y otros elementos del lenguaje Ejemplo: Vending machine Versiones y evaluacin

- 19 -