190 likes | 338 Views
Sistema Embebidos: Propiedades de los Lenguajes y SDL. Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12, Alemania. SDL (Specification and Description Language). Es un lenguaje para especificar sistemas distribuidos.
E N D
Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12, Alemania
SDL (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.utfsm.cl/~agv/elo326/1s06/sdl.pdf
SDL (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.
Representación en SDL de FSMs/procesos estado input output
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:
Comunicació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 es no 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, • Sino: la entrada es ignorada.
Diagrama 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: ,
Counter TO OFFSPRING CounterVia Sw1 Designación de destinatarios • A través de identificadores de procesos:Ejemplo: OFFSPRING representa identificador de procesos. • Explícitamente:incluyendo el nombre del canal. • Implícitamente:Si nombres de señales implican nombres de canales (B Sw1)
Jerarquía en SDL • Un diagrama de interacción entre procesos puede ser incluido en bloques. El bloque raíz es llamado sistema. Procesos no pueden contener otros procesos, diferencia con StateCharts.
Temporizadores (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).
Elementos 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
Ejemplo más completo: “Vending machine” Máquina vende pretzels, (potato) chips, cookies, y doughnuts: acepta nickels, dime, quarters, y monedas de medio dolar. No es una aplicación distribuida. ° [J.M. Bergé, O. Levia, J. Roullard: High-Level System Modeling, Kluwer Academic Publishers, 1995]
p Proceso:DecodeRequests
Proceso: ChipHandler no yes yes no
Versiones 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
Evaluación • 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 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.
Resumen • 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