La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Informática para Sistemas Embebidos zPaper: IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001. Computing.

Presentaciones similares


Presentación del tema: "1 Informática para Sistemas Embebidos zPaper: IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001. Computing."— Transcripción de la presentación:

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

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

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

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

5 5 zPatrones. (pautas) ySon pautas para los programadores. ySe puede distinguir entre patrones de diseño y patrones de arquitectura. yUn patrón de arquitectura expresa un esquema organizativo estructural fundamental para sistemas de software. yLos modelos de computación son patrones de arquitectura, focalizados particularmente en las relaciones de operaciones entre componentes secuenciales o concurrentes.

6 6 Informática para Sistemas Embebidos zEstructuras. (hace cumplir patrones e implementar modelos) yRestricciones a los componentes y sus interacciones. yDe 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 7 zLenguajes de descripción de arquitectura (ADLs) yCiertos ADLs definen a los modelo de computación, describen su práctica actual. yPara sistemas embebidos sería más útil un lenguaje de diseño de arquitectura, mejorar la práctica futura. Informática para Sistemas Embebidos

8 8 zLenguajes de programación. yPara 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. yLa alternativa: usar modelos para coordinar programas modulares escritos en los lenguajes más comúnmente usados. yLas aplicaciones más grandes pueden mezclar más de un modelo de computación.

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

10 10 Algunos modelos de computación para Sistemas Embebidos zEcuaciones en diferencias, tiempo discreto. yLas ecuaciones diferenciales pueden hacerse discretas para conseguir ecuaciones en diferencias, un modelo de normalmente usado en procesamiento de señales digitales. yUn reloj global define los puntos discontinuos en los que las señales tienen valores. ySon más fáciles de implementar en software que las ecuaciones diferenciales. ySus 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 11 Algunos modelos de computación para Sistemas Embebidos zMaquinas de estados. yEn las maquinas de estados finitos (MEF), los componentes representan estados des sistema y las interacciones representan transiciones de estado. yMEF simple no es concurrente. yLas 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 12 Algunos modelos de computación para Sistemas Embebidos zMaquinas de estados. ySon excelentes para la lógica de control en sistemas embebidos, particularmente sistemas de seguridad crítica. yAdemás, las MEF son fácilmente plasmadas a cualquier implementación hardware o software. yNo son lo suficientemente completos para describir todas las funciones parcialmente recursivas. yOtro punto débil es que el número de estados puede hacerse muy grande incluso ante una complejidad moderada.

13 13 Algunos modelos de computación para Sistemas Embebidos zModelo sincrónico/reactivo (SR) yLas 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. yLos componentes representan relaciones entre los valores de la entrada y salida en cada pulso de reloj. ySon excelentes para aplicaciones de lógica de control concurrente y compleja. yA 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 14 Algunos modelos de computación para Sistemas Embebidos zModelo de eventos discretos. ylas 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. yNo hay un pulso de reloj global, pero si una noción de tiempo global. yLos modelos DE son una excelente descripción para hardware concurrente. yUna debilidad es que son caro de implementar en software, como lo demuestra los simuladores relativamente lentos.

15 15 zModelo de ciclo controlado yEn los modelos Ciclo-controlado los componentes están asociados con el reloj y normalmente realizan los cálculos según el pulso de reloj. yEn 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. yScenic también incluye un ingenioso mecanismo para modelar por prioridades, una característica importante de muchos sistemas embebidos. Algunos modelos de computación para Sistemas Embebidos

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

17 17 Algunos modelos de computación para Sistemas Embebidos zPaso de mensaje sincrónico. y Los componentes son procesos, y los procesos se comunicar en forma atómica, mediante citas (rendezvous). yMuy comúnmente utilizado en modelos de computación en diseño de sistemas embebidos ySe ha realizado en una serie de lenguajes de programación concurrente, incluyendo Lotos y Occam. yEstá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. yUn punto débil es que mantenerlo determinístico puede ser dificultoso.

18 18 Algunos modelos de computación para Sistemas Embebidos zPaso de mensaje asincrónico. yLos 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. yEn 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 ySon excelentes para procesamiento de señal. Son ligeramente acoplados, y por lo tanto relativamente fácil de paralelizar o distribuir ySon complicados de utilizar para especificar la lógica de control

19 19 Algunos modelos de computación para Sistemas Embebidos zProcesos de comunicación secuencial y de redes temporizados. ycasos involucran hilos para comunicarse a través de paso de mensajes, sincrónicamente en el primer caso y asincrónicamente en el último. yNinguno de los modelo incluyen intrínsecamente una noción del tiempo. yPuede ser ampliados con una noción del tiempo para promover la interoperabilidad y hacer directamente modelos de propiedades temporal. yLos 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 20 Algunos modelos de computación para Sistemas Embebidos zPublicar y suscribir. yUtiliza 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). yMuy adecuado para comunicaciones sumamente irregulares y comunicaciones no temporizadas.

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

22 22 zElegir el modelo. yEl 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. yUna diferencia esencial entre modelos de computación concurrentes es su modelado de tiempo. yMuchos investigadores han reflexionado profundamente acerca del papel del tiempo en la computación. y¿Cómo podemos conciliar esta multiplicidad de opiniones? Informática para Sistemas Embebidos

23 23 zElegir el modelo. yUn 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. yOtra 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. Informática para Sistemas Embebidos

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

25 25 Estructuras de la Estructura zHay 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. zUna segunda manera de mezclar estructuras es jerárquicamente. Un componente en una estructura es en realidad un conjunto de componentes en otra.


Descargar ppt "1 Informática para Sistemas Embebidos zPaper: IEEE Instrumentation and Measurement Technology Conference Budapest, Hungary, May 21-23, 2001. Computing."

Presentaciones similares


Anuncios Google