1 / 25

Informática para Sistemas Embebidos

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@eecs.berkeley.ed. Informática para Sistemas Embebidos.

lalo
Download Presentation

Informática para Sistemas Embebidos

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

More Related