1 / 19

Sistema Embebidos: Propiedades de los Lenguajes y SDL

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.

ownah
Télécharger la présentation

Sistema Embebidos: Propiedades de los Lenguajes y SDL

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: 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

  2. 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

  3. 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.

  4. Representación en SDL de FSMs/procesos estado input output

  5. 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:

  6. 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.

  7. 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: ,

  8. 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)

  9. 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.

  10. 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).

  11. 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

  12. Aplicación: descripción de un protocolo de red

  13. 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]

  14. Overall view of vending machine

  15. p Proceso:DecodeRequests

  16. Proceso: ChipHandler no yes yes no

  17. 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

  18. 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.

  19. 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

More Related