Inform - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Inform

Description:

Inform tica para Sistemas Embebidos Paper: IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001. Computing for Embedded Systems – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 26
Provided by: EstelaDA1
Category:

less

Transcript and Presenter's Notes

Title: Inform


1
Informática para Sistemas Embebidos
  • Paper
  • IEEE Instrumentation and Measurement
  • Technology Conference
  • Budapest, Hungary, May 21-23, 2001.
  • Computing for Embedded Systems
  • Edward A. Lee
  • UC Berkeley, Berkeley, CA 94720, USA,
    eal_at_eecs.berkeley.ed

2
Informática para Sistemas Embebidos
  • El software embebido es cada vez más una
    composición de componentes concurrentes.
  • Los sistemas son modelados como una aglomeración
    de componentes dentro de la gran variedad de
    modelos de computación.

3
Informática para Sistemas Embebidos
  • Componentes
  • Actúan en una gran variedad de modos
  • Deben declarar interfaces bien definidas
    (problema central).
  • Interfaces de componentes
  • Deben declarar propiedades dinámicas (principal
    beneficio).
  • Protocolos de comunicación.
  • Propiedades temporales.

4
Informática para Sistemas Embebidos
  • Modelos de computación. (principios subyacentes)
  • Deben incluir información compartida, como el
    tiempo o la causalidad.
  • Las propiedades determinan fuertemente los
    problemas que acarrea.
  • Gobiernan la interacción de los componentes en un
    diseño.
  • En software embebido se maneja concurrencia.

5
Informática para Sistemas Embebidos
  • Patrones. (pautas)
  • Son pautas para los programadores.
  • Se puede distinguir entre patrones de diseño y
    patrones de arquitectura.
  • Un patrón de arquitectura expresa un esquema
    organizativo estructural fundamental para
    sistemas de software.
  • Los modelos de computación son patrones de
    arquitectura, focalizados particularmente en las
    relaciones de operaciones entre componentes
    secuenciales o concurrentes.

6
Informática para Sistemas Embebidos
  • Estructuras. (hace cumplir patrones e implementar
    modelos)
  • Restricciones a los componentes y sus
    interacciones.
  • De las restricciones derivan beneficios.
  • Ontología Una estructura define lo que
    representa un componente.
  • Epistemología Una estructura define estados de
    conocimiento. Qué sabe la estructura acerca de
    los componentes? Qué saben entre sí los
    componentes?
  • Protocolos Una estructura restringe los
    mecanismos por los cuales los componentes pueden
    interactuar.
  • Léxico Es el vocabulario de la interacción de
    los componentes.

7
Informática para Sistemas Embebidos
  • Lenguajes de descripción de arquitectura (ADLs)
  • Ciertos ADLs definen a los modelo de computación,
    describen su práctica actual.
  • Para sistemas embebidos sería más útil un
    lenguaje de diseño de arquitectura, mejorar la
    práctica futura.

8
Informática para Sistemas Embebidos
  • Lenguajes de programación.
  • Para soportar los modelos se extienden lenguajes
    o se realizan nuevos. Poco aceptados por ser poco
    familiares para mucho programa, limitadas las
    plataformas y los software de soporte, etc.
  • La alternativa usar modelos para coordinar
    programas modulares escritos en los lenguajes más
    comúnmente usados.
  • Las aplicaciones más grandes pueden mezclar más
    de un modelo de computación.

9
Algunos modelos de computación paraSistemas
Embebidos
  • Ecuaciones diferenciales, tiempo continuo.
  • Los componentes representan relaciones entre
    funciones continuas, y las interacciones son las
    funciones mismas.
  • Las ecuaciones diferenciales son excelentes para
    modelar circuitos analógicos y muchos sistemas
    físicos.
  • Forman el modelo de computación usado en
    Simulink, Saber, y VHDL-AMS, y están
    estrechamente relacionadas con los simuladores de
    circuitos Spice.

10
Algunos modelos de computación paraSistemas
Embebidos
  • Ecuaciones en diferencias, tiempo discreto.
  • Las ecuaciones diferenciales pueden hacerse
    discretas para conseguir ecuaciones en
    diferencias, un modelo de normalmente usado en
    procesamiento de señales digitales.
  • Un reloj global define los puntos discontinuos en
    los que las señales tienen valores.
  • Son más fáciles de implementar en software que
    las ecuaciones diferenciales.
  • Sus puntos débiles son la sincronización global
    implicada por el reloj, y la incomodidad de
    especificar eventos irregulares en tiempo y la
    lógica de control.

11
Algunos modelos de computación paraSistemas
Embebidos
  • Maquinas de estados.
  • En las maquinas de estados finitos (MEF), los
    componentes representan estados des sistema y las
    interacciones representan transiciones de estado.
  • MEF simple no es concurrente.
  • Las maquinas de estado abstracto (MEA) generan la
    descripción de estados en la que los componentes
    (estados) representan sistemas algebraicos, y las
    interacciones representan transformaciones de
    esos sistemas algebraicos (Gurevich, 1997).

12
Algunos modelos de computación paraSistemas
Embebidos
  • Maquinas de estados.
  • Son excelentes para la lógica de control en
    sistemas embebidos, particularmente sistemas de
    seguridad crítica.
  • Además, las MEF son fácilmente plasmadas a
    cualquier implementación hardware o software.
  • No son lo suficientemente completos para
    describir todas las funciones parcialmente
    recursivas.
  • Otro punto débil es que el número de estados
    puede hacerse muy grande incluso ante una
    complejidad moderada.

13
Algunos modelos de computación paraSistemas
Embebidos
  • Modelo sincrónico/reactivo (SR)
  • Las interacciones entre los componentes son a
    través de valores de datos que se alinean con
    pulsos de reloj global, a diferencia de los
    modelos de tiempo discretos, una señal no
    necesita tener un valor en cada pulso de reloj.
  • Los componentes representan relaciones entre los
    valores de la entrada y salida en cada pulso de
    reloj.
  • Son excelentes para aplicaciones de lógica de
    control concurrente y compleja.
  • A causa de la estricta sincronización, algunas
    aplicaciones están muy especificadas en el modelo
    SR, lo que limita las alternativas de
    implementación y hace sistemas distribuidos
    difíciles de modelar.

14
Algunos modelos de computación paraSistemas
Embebidos
  • Modelo de eventos discretos.
  • las interacciones entre los componentes son a
    través de eventos colocados sobre una línea de
    tiempo. Una señal es una secuencia de tales
    acontecimientos. Los componentes procesan eventos
    en orden cronológico.
  • No hay un pulso de reloj global, pero si una
    noción de tiempo global.
  • Los modelos DE son una excelente descripción para
    hardware concurrente.
  • Una debilidad es que son caro de implementar en
    software, como lo demuestra los simuladores
    relativamente lentos.

15
Algunos modelos de computación paraSistemas
Embebidos
  • Modelo de ciclo controlado
  • En los modelos Ciclo-controlado los componentes
    están asociados con el reloj y normalmente
    realizan los cálculos según el pulso de reloj.
  • En el sistema Scenic (Liao, et. al, 1997), por
    ejemplo, los componentes son procesos que corren
    indefinidamente, puesto que esperan el pulso de
    reloj, o esperan alguna condición sobre las
    entradas.
  • Scenic también incluye un ingenioso mecanismo
    para modelar por prioridades, una característica
    importante de muchos sistemas embebidos.

16
Algunos modelos de computación paraSistemas
Embebidos
  • Programación de tasa monótona.
  • Se asigna mayor prioridad a las tareas de menor
    período.
  • Muy comúnmente utilizado en modelos de
    computación en diseño de sistemas embebidos
  • Es tan popular que es rutinariamente aplicando
    incluso cuando las tareas no son periódicas
    naturalmente.
  • Un gran inconveniente en este modelo de
    computación es que no incluyen intrínsecamente
    los mecanismos de interacción entre los
    componentes.

17
Algunos modelos de computación paraSistemas
Embebidos
  • Paso de mensaje sincrónico.
  • Los componentes son procesos, y los procesos se
    comunicar en forma atómica, mediante citas
    (rendezvous).
  • Muy comúnmente utilizado en modelos de
    computación en diseño de sistemas embebidos
  • Se ha realizado en una serie de lenguajes de
    programación concurrente, incluyendo Lotos y
    Occam.
  • Están especialmente bien adaptados a aplicaciones
    donde compartir recursos es un elemento clave,
    tales como modelos de bases de datos
    cliente-servidor y multitareas o multiplexación
    de recursos hardware.
  • Un punto débil es que mantenerlo determinístico
    puede ser dificultoso.

18
Algunos modelos de computación paraSistemas
Embebidos
  • Paso de mensaje asincrónico.
  • Los procesos se comunican para enviar mensajes
    mediante canales que pueden guardar vía buffer
    los mensajes en memoria. El remitente del mensaje
    no necesita espera que el receptor este listo
    para recibir el mensaje.
  • En un modelo de redes de procesos las
    interacciones entre los componentes son a través
    de secuencias de valores de datos (fichas), y los
    componentes representan funciones que mapean
    secuencias de entrada en la salida
  • Son excelentes para procesamiento de señal. Son
    ligeramente acoplados, y por lo tanto
    relativamente fácil de paralelizar o distribuir
  • Son complicados de utilizar para especificar la
    lógica de control

19
Algunos modelos de computación paraSistemas
Embebidos
  • Procesos de comunicación secuencial y de redes
    temporizados.
  • casos involucran hilos para comunicarse a través
    de paso de mensajes, sincrónicamente en el primer
    caso y asincrónicamente en el último.
  • Ninguno de los modelo incluyen intrínsecamente
    una noción del tiempo.
  • Puede ser ampliados con una noción del tiempo
    para promover la interoperabilidad y hacer
    directamente modelos de propiedades temporal.
  • Los hilos asumen que el tiempo no avanza,
    mientras que están activos, pero puede avanza
    cuando se paran en la entrada, en la salida o se
    indican explícitamente que el tiempo puede
    avanzar.

20
Algunos modelos de computación paraSistemas
Embebidos
  • Publicar y suscribir.
  • Utiliza notificación de eventos como el principal
    medio de interacción entre los componentes. Un
    componente declara un interés en una familia de
    eventos (suscribe), y otro componente asegura
    eventos (publica).
  • Muy adecuado para comunicaciones sumamente
    irregulares y comunicaciones no temporizadas.

21
Algunos modelos de computación paraSistemas
Embebidos
  • Eventos desestructurados.
  • Muy permisivos que se basan en llamada de métodos
    sin control particular sobre el orden en que
    ocurre dichos llamado de los método.
  • Las interacciones no sincronizadas pueden
    implementarse fácilmente sin riesgo de
    estancamiento.
  • Si se requiere sincronización, el programador
    debe construir los mecanismos desde el principio.

22
Informática para Sistemas Embebidos
  • Elegir el modelo.
  • El nivel de abstracción y el dominio de
    especificidad aumentan en la práctica de diseño,
    esto obliga a seleccionar entre una gran variedad
    de modelos que puede ser intimidante. Se cree que
    interfaces de usuario más visuales y sofisticadas
    serán requeridas para permitirles a los
    diseñadores hacer frente a esta heterogeneidad.
  • Una diferencia esencial entre modelos de
    computación concurrentes es su modelado de
    tiempo.
  • Muchos investigadores han reflexionado
    profundamente acerca del papel del tiempo en la
    computación.
  • Cómo podemos conciliar esta multiplicidad de
    opiniones?

23
Informática para Sistemas Embebidos
  • Elegir el modelo.
  • Un enfoque unificado imponente sería tratar de
    encontrar un modelo concurrente de computación
    que sirva para todos los propósitos. Esto podría
    lograrse creando una conglomeración, una mezcla
    de todo lo anterior, pero tal mezcla sería
    sumamente compleja y difícil de utilizar.
  • Otra alternativa sería elegir un modelo
    concurrente de computación, como el modelo de
    citas, y mostrar que todos los otros están
    abarcados como casos especiales. Esto, en teoría,
    es relativamente fácil de hacer. La mayoría de
    estos modelos de computación son lo
    suficientemente expresivo para ser abarcados por
    la mayoría de los otros. Sin embargo, esta falla
    en reconocer las ventajas y desventajas de cada
    modelo de computación.

24
Estructuras de la Estructura
  • A fin de obtener ciertos beneficios, las
    estructuras imponen restricciones.
  • las estructuras pueden volverse más
    especializadas a medida que buscan mayores
    beneficios.
  • La desventaja de estructuras especializadas es
    que es poco probable que puedan resolver todos
    los problemas de estructuras para cualquier
    sistema complejo.
  • Para evitar perder los beneficios de las
    estructuras especializadas, los diseñadores de
    estos sistemas complejos tienen que mezclar
    estructuras heterogéneamente.

25
Estructuras de la Estructura
  • Hay varias maneras para mezclar estructuras. Uno
    de ellos es mediante la especialización (análoga
    a subclasificación) donde una estructura es
    simplemente la versión mas restringida de otra.
  • Una segunda manera de mezclar estructuras es
    jerárquicamente. Un componente en una estructura
    es en realidad un conjunto de componentes en
    otra.
Write a Comment
User Comments (0)
About PowerShow.com