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

Post on 23-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

- 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

- 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

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

- 4 -

Representación en SDL de FSMs/procesos

output

input

estado

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

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

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

,

- 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

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

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

- 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

- 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

Proceso:Decode

Requestsp

- 16 -

Proceso: ChipHandler

no

no

yes

yes

- 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

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

- 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

top related