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

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.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
ADA: lenguaje de programación concurrente
PROCESADORES SUPERESCALARES
Programación Orientada a Objetos Con UML y JAVA
Introducción a Programación Concurrente
DSOO - María Eugenia Valencia
Fundamentos de Ingeniería de Software
Conceptos de Concurrencia
Presentación del estado del arte
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Mejoras a las Máquinas Von Neumann
TRABAJO DE LUIS VIRACOCHA
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.
PROGRAMACIÓN ORIENTADA A OBJETOS
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistemas Distribuidos
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.
LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación.
Unidad III Administración de procesos
Hilos - Lightweight process - Procesos ligeros
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.
Sistemas Secuenciales Asincrónicos
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,
1 Control de Congestión Adaptación de Agustín J. González de la versión por Jennifer Rexford os461/
Programación secuencial vs programación concurrente
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
Sistemas Concurrentes I.T. Informática de Sistemas Curso
Sistema Embebidos: Características Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de la Univ. Dortmund, Alemania.

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.
- 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.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
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.
Informática III 2009 Ing. Estela D'Agostino 1 Programación secuencial vs programación concurrente Pascal, C, Fortran, Cobol Secuenciales único hilo de.
Diseño lógico secuencial con VHDL
PRESENTADO POR SERGIO ERNESTO FONSECA ULLOA ID JOSE RICARDO CASTAÑEDA OSPINA ID
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.
UNIDAD V Bibliotecas de Funciones L.I. & M.S.C. OSCAR RAMÍREZ CORTÉS PROGRAMACIÓN DE SISTEMAS.
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.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Nivel de Transporte en Internet
Programación de Clientes Especialidad en Base de Datos.
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.
Arquitecturas de Integración Mensajería
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.
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
Exclusión mutua de secciones
Transcripción de la presentación:

- 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 la Univ. Dortmund, Informatik 12, Alemania Agustín J. González 1s07 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