Title: Sistema Embebidos: SDL
1Sistema Embebidos SDL
- Agustín J. González
- 1s07
- Se ha tomado como base el material generado por
Peter Marwedel de la Univ. Dortmund, Informatik
12, Alemania
2SDL (Specification and Description Language)
- Es un lenguaje para especificar sistemas
distribuidos. - Data de los 70s,
- Definido por la ITU (International
Telecommunication Union) recomendación Z.100 en
1980Actualizaciones en 1984, 1988, 1992, 1996
and 1999 - http//www.sdl-forum.org/
- Descripción general en http//profesores.elo.utfs
m.cl/agv/elo326/1s06/sdl.pdf
3SDL (Specification and Description Language)
- Provee formatos de texto y gráficos,
- Como en StateCharts, éste está basado en el
modelo de computación de CFSM (máquinas 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.
4Representación en SDL de FSMs/procesos
estado
input
output
5Operaciones 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
6Comunicación entre FSMs
- La comunicación entre FSMs (o procesos) está
basada en paso de mensajes, se asume una cola
FIFO indefinidamente larga (lo cual no es
realista).
- Cada proceso trae la próxima entrada desde la
FIFO, - Chequea si la entrada genera una transición,
- Si es así la transición tiene lugar,
- Si no la entrada es ignorada.
7Diagrama de interacción ente Procesos
- La interacción entre procesos puede ser descrita
en un diagrama de interacción entre procesos
(caso especial de diagrama de bloques). - Además de procesos, estos diagramas contienen
canales y declaración de señales locales. - Ejemplo
,
8(No Transcript)
9(No Transcript)
10Temporizadores (Timers)
- Timers pueden ser declarados localmente. Timers
pueden poner eventos en colas (no son procesados
inmediatamente necesariamente). - RESET también remueve los eventos desde la cola
(anula su efecto).
Timer T es fijado en transición desde D a
E. Estando en E, podemos salir hacia A por
timeout O por llegada de f.
11Elementos adicionales del lenguaje
- SDL incluye un número de elementos adicionales
del lenguaje como - procedimientos
- Creación y término de procesos
- Descripción avanzada de datos
12(No Transcript)
13Ejemplo más completo Vending machine
Máquina vende pretzels, (potato) chips, cookies,
y doughnuts acepta nickels, dime, quarters, y
monedas de medio dólar. No es una aplicación
distribuida.
J.M. Bergé, O. Levia, J. Roullard High-Level
System Modeling, Kluwer Academic Publishers, 1995
14Overall view of vending machine
15(No Transcript)
16Proceso ChipHandler
no
yes
yes
no
17Versiones y herramientas
- SDL-88
- SDL-92 se agrega orientación a objetos
- SDL-96
- SDL-2000 Se extiende el soporte gráfico
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 telefonía). - Más información en www.sdl-forum.org
18Evaluación
- Excelente para aplicaciones distribuidas (fue
usado para especificar ISDN), - Herramientas comerciales disponibles SINTEF,
Telelogic (www.telelogic.com), Cinderella
(//www.cinderella.dk). - No necesariamente determinista(se desconoce el
orden en que las FSMs están leyendo su entrada)?
no es un lenguaje sincrónico, - Implementaciones requieren límite para él largo
máximo de las FIFOs, esto puede ser difícil de
determinar, - Concepto de tiempo adecuado sólo para sistemas
con plazos blandos (soft), - Uso limitado de jerarquía,
- Soporte de lenguaje de programación limitado,
- No hay descripción de propiedades non-funcionales.
19Resumen
- Propiedades de los lenguajes
- Lenguajes sincrónicos vs. asincrónicos
- Propiedades de procesos
- Comunicación
- Timing
- SDL
- Representación de procesos
- Comunicación y diagramas de bloques
- Timers y otros elementos del lenguaje
- Ejemplo Vending machine
- Versiones y evaluación