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

Slides:



Advertisements
Presentaciones similares
2. Manejo de memoria Manejo de memoria estática
Advertisements

Tabla de Contenido Concurrencia.
1.3. PROGRAMACION PARALELA
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
Diagrama de estado Alumnos: Hernández Darwin ( )
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Profra. Hilda castillo zacatelco. Alumno: Francisco Sosa herrera
Máquinas de Estado Finito
Estructura de un Sistema Operativo
Programación Orientada a Objetos Con UML y JAVA
DSOO - María Eugenia Valencia
Fundamentos de Ingeniería de Software
Tipo de Dato Abstracto Tipos de datos:
Conceptos de Concurrencia
Presentación del estado del arte
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Mejoras a las Máquinas Von Neumann
ICD 327 Redes de Computadores I Agustín J. González
Funciones en lenguaje C
Material de apoyo Unidad 2 Estructura de datos
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Análisis y Diseño de Algoritmos
Conceptos generales: Concurrencia: Existencia simultánea de varios procesos en ejecución. IMPORTANTE: EXISTENCIA SIMULTÁNEA NO IMPLICA EJECUCIÓN SIMULTÁNEA.
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
PROGRAMACION CONCURRENTE
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Análisis y Diseño Orientado a Objetos utilizando UML CAPITULO V DISEÑO DE SISTEMAS ORIENTADOS A OBJETOS.
Unidad III Administración de procesos
Problemas, algoritmos y programas: Modelar: Simular o programar su solución en un computador. Algoritmos: Es un conjunto finito, y no ambiguo de etapas.
Communicating Sequential Processes Presentación realizada por : Alberto Calixto Simon Ivan Olmos Pineda.
Conceptos Básicos para entender JAVA
Sistemas Concurrentes: Paso de mensajes
Sistemas en tiempo real (STR)
OBJETOS DISTRIBUIDOS E INVOCACIÓN REMOTA ING. MARISCAL.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
Ing. Cristhian Quezada Asenjo
LENGUAJES DE PROGRAMACIÓN
Sistemas Concurrentes I.T. Informática de Sistemas Curso

The nesC Language: A Holistic Approach to Networked Embedded Systems Tomado de paper de: D. Gay, P. Levis, R. Behren, M. Welsh, E. Brewer, D. Culler.
Sistema Embebidos: Propiedades de los Lenguajes y SDL
Integrantes: Ma Carmen Zaragoza Santiago Leticia González Hernández Abraham Obispo Antonio Alexis González Ramírez Eduardo Hernández Tolentino.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Capítulo 17: Encapsulamiento IP, Fragmentación, y Reensamble.
Especificación de sistemas embebidos Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.
Especificación de sistemas embebidos Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.
J. García Martín 22/06/ SISTEMAS DE TIEMPO REAL Especificación formal de sistemas. Statecharts.
Programación Java y Desarrollo de Aplicaciones
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de.
Facultad de Ingeniería
Diseño lógico secuencial con VHDL
Unidad 2 – Gestión de Procesos
1 5. UNIDADES DE PROGRAMAS. 2 Uso de mecanismos de control de secuencia de: Invocaciones Retornos Entre: PPSP 1 a) I R SP 1 SP 2 b) I R Unidades subordinadas.
Cliente-Servidor La arquitectura cliente-servidor permite al usuario en una máquina, llamada el cliente, requerir algún tipo de servicio de una máquina.
Tipos de Lenguajes Ensamblador.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Introduccion a los Sistemas en Tiempo Real
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
MEMORIA DINÁMICA.
Máquinas de estado con VHDL
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
DIAGRAMAS DE SECUENCIA. UML está compuesto por los siguientes diagramas:
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Transcripción de la presentación:

- 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 Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Informatik 12, Alemania

- 2 - Algunas Propiedades Generales de Lenguajes 1. Lenguajes Sincrónicos vs asincrónicos (1) En varios lenguajes la descripción de varios procesos es no-deterministica; es decir, el orden en que las tareas son ejecutadas no es especificado (puede afectar el resultado) Lenguajes sincrónicos están basados en modelos de autómata. En varios lenguajes la descripción de varios procesos es no-deterministica; es decir, el orden en que las tareas son ejecutadas no es especificado (puede afectar el resultado) Lenguajes sincrónicos están basados en modelos de autómata.

- 3 - Lenguajes sincrónicos implícitamente asumen la presencia de un reloj (global). En cada tick todas las entradas son consideradas, las nuevas salidas y estados son calculados, y entonces se hace la transición. Esto requiere un mecanismos de broadcast para todas las partes del modelo. Idea idealista de concurrencia. Tiene la ventaja de garantizar comportamiento determinista.  StateCharts es un lenguaje sincrónico. Lenguajes sincrónicos implícitamente asumen la presencia de un reloj (global). En cada tick todas las entradas son consideradas, las nuevas salidas y estados son calculados, y entonces se hace la transición. Esto requiere un mecanismos de broadcast para todas las partes del modelo. Idea idealista de concurrencia. Tiene la ventaja de garantizar comportamiento determinista.  StateCharts es un lenguaje sincrónico. Algunas Propiedades Generales de Lenguajes 1. Lenguajes Sincrónicos vs asincrónicos (2)

- 4 - Algunas Propiedades Generales de Lenguajes 2. Propiedades de procesos (1) Número de procesos estático; dinámico (cambia la arquitectura en forma dinámica?) Anidamiento: –Declaración anidada de procesos process { process { process { }}} –O todos son declarados al mismo nivel process { … } process { … } process { … } Número de procesos estático; dinámico (cambia la arquitectura en forma dinámica?) Anidamiento: –Declaración anidada de procesos process { process { process { }}} –O todos son declarados al mismo nivel process { … } process { … } process { … }

- 5 - Algunas Propiedades Generales de Lenguajes 2. Propiedades de procesos (2) Técnicas para la creación de procesos –Declarado en los fuentes (ej. ADA) declare process P1 … –fork y join explícito (Ej. Unix) id = fork(); –Llamado a crear proceso (java) id = create_process(P1);  StateCharts considera un número estático de procesos, declaración anidada de procesos, y creación de procesos a través del código fuente. Técnicas para la creación de procesos –Declarado en los fuentes (ej. ADA) declare process P1 … –fork y join explícito (Ej. Unix) id = fork(); –Llamado a crear proceso (java) id = create_process(P1);  StateCharts considera un número estático de procesos, declaración anidada de procesos, y creación de procesos a través del código fuente.

- 6 - Algunas Propiedades Generales de Lenguajes 3. paradigma de comunicación (1) Paso de mensajes –Comunicación no bloqueante (Non-blocking) Transmisor no tiene que esperar hasta que el mensaje llegue Problema potencial: buffer overflow Paso de mensajes –Comunicación no bloqueante (Non-blocking) Transmisor no tiene que esperar hasta que el mensaje llegue Problema potencial: buffer overflow … send () … receive () …

- 7 - Algunas Propiedades Generales de Lenguajes 3. paradigma de comunicación (2) –Comunicación bloqueante, comunicación basada en punto de reunión (rendez-vous) Transmisor esperara hasta que el receptor ha recibido el mensaje … send () … receive () …

- 8 - Algunas Propiedades Generales de Lenguajes 3. paradigma de comunicación (3) … send () … receive () … ack … –Punto de encuentro (rendez-vous) extendido Se requiere acuse de recibo explícito del receptor. El receptor puede hacer chequeos antes de enviar acuse de recibo.

- 9 - Algunas Propiedades Generales de Lenguajes 3. paradigma de comunicación (4) Memoria compartida Las variables son accesibles a varias tareas Carrera crítica potencial (  posibilidad de resultado inconsistente)  Secciones críticas = secciones donde acceso exclusivo a recurso r (ej. Memoria compartida) debe ser garantizado.  StateCharts usa memoria compartida para comunicación entre procesos. process a {.. P(S) //pide acceso.. // sección crítica V(S) //libera acceso } process b {.. P(S) //pide acceso.. // sección crítica V(S) //libera acceso } Acceso a memoria compartida sin carrera crítica gracias a S

Algunas Propiedades Generales de Lenguajes 4. Especificación del tiempo (1) Se requiere 4 tipos de especificación del tiempo: Mecanismo para retardar procesos t ? t ejecución Para medir tiempo transcurrido Ej. Chequear cuánto tiempo ha pasado desde última llamada

Algunas Propiedades Generales de Lenguajes 4. Especificación del tiempo (2) Posibilidad para especificar timeouts Permanecer en cierto estado un tiempo máximo.  StateCharts considera un mecanismo para especificar timeouts. Otros tipos de tiempos no son soportados. Método para especificar plazos En general no están disponibles o están en archivo de control aparte. t ejecución

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 1980 Actualizaciones en 1984, 1988, 1992, 1996 and Descripción general en: Es un lenguaje para especificar sistemas distribuidos. Data de los 70s, Definido por la ITU (International Telecommunication Union): recomendación Z.100 en 1980 Actualizaciones en 1984, 1988, 1992, 1996 and Descripción general en:

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.

Representación en SDL de FSMs/procesos output input estado

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:

Operaciones sobre datos Continuará …..