- 1 - sistema embebidos: propiedades de los lenguajes y sdl agustín j. gonzález 1s06 se ha tomado...

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

Upload: juan-jose-rojas-aguilera

Post on 23-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

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

- 1 -

Sistema Embebidos: Propiedades de los Lenguajes y SDL

Agustín J. González1s06

Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12,

Alemania

Agustín J. González1s06

Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12,

Alemania

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

- 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

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

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

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

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

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

- 4 -

Representación en SDL de FSMs/procesos

output

input

estado

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

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

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:

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

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

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.

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

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

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

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:

,

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

- 8 -

Designación de destinatarios

1. A través de identificadores de procesos:Ejemplo: OFFSPRING representa identificador de procesos.

2. Explícitamente:incluyendo el nombre del canal.

3. Implícitamente:Si nombres de señales implican nombres de canales (B Sw1)

1. A través de identificadores de procesos:Ejemplo: OFFSPRING representa identificador de procesos.

2. Explícitamente:incluyendo el nombre del canal.

3. Implícitamente:Si nombres de señales implican nombres de canales (B Sw1)

CounterVia Sw1

CounterTO OFFSPRING

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

- 9 -

Jerarquía en SDL

Un diagrama de interacción entre procesos puede ser incluido en bloques. El bloque raíz es llamado sistema.

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.

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

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

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

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

- 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

SDL incluye un número de elementos adicionales del lenguaje como:

• procedimientos• Creación y término de procesos• Descripción avanzada de datos

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

- 12 -

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

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

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

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

- 14 -

Overall view of vending machine

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

Proceso:Decode

Requestsp

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

- 16 -

Proceso: ChipHandler

no

no

yes

yes

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

- 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

• 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

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

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

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

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

- 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

• 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