Communicating Sequential Processes Presentación realizada por : Alberto Calixto Simon Ivan Olmos Pineda.

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Arquitecturas de administración de redes y sus submodelos
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Ing. Zamudio Mendoza Mario Said
LENGUAJES PARALELOS Chang y Smith (1990) clasificación:
Tipos de Organización ... La organización de máquinas multiprocesadores más típicas son: Mesh Networks. Binary Tree Networks. Hypertree Networks. Pyramid.
Lenguaje Unificado de Modelado
UNIX COMP 240.
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
INSTITUTO TECNOLOGICO DE MINATITLAN
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
Tipo de Dato Abstracto Tipos de datos:
Estructuras en Sistemas Operativos
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Mejoras a las Máquinas Von Neumann
Introducción al Software
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Direcciones físicas y direcciones virtuales (lógicas)
VHDL.
Introducción a los SSOO Sebastián Sánchez Prieto.
Fundamentos de Programación
Algoritmos Distribuidos Semana 1. Parte 2 Comunicación por Pase de Mensajes Claudia León Universidad Central de Venezuela Facultad de Ciencias Escuela.
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.
Problemas, algoritmos y programas: Modelar: Simular o programar su solución en un computador. Algoritmos: Es un conjunto finito, y no ambiguo de etapas.
Procesamiento paralelo
Ingeniería de Software
Diseño e Implementación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
DISEÑO DEL SISTEMA DE COMUNICACIÓN ENTRE EL APRENDIZ Y EL MEC
Laboratorio de Organización del Computador. Cómo nos podemos comunicar con un computador Add A, B CA0 Ensamblador Hexadecimal Binario.
EL SISTEMA OPERATIVO.
Funcionalidad de la capa de Aplicación y la capa de Transporte. Capas superiores.
LOS SISTEMAS OPERATIVOS
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
SISTEMAS OPERATIVOS.
Programación de Sistemas
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
- 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.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Unidad 1. Introducción a los Compiladores.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Estructura de los Sistemas Operativos
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Modelo OSI Surgimiento del Modelo OSI ¿Que es el Modelo OSI?
Unidad 2 – Gestión de Procesos
Introducción a UML Departamento de Informática Universidad de Rancagua
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Ingeniería de Requisitos
Elaboración de algoritmos usando lógica de programación
ARQUICTECTURA DE SERVIDORES
Software.
Metodología de la programación
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Lic. Carla Aguirre Montalvo
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Programación de Sistemas
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Primeras versiones Windows N.T Server 3.1, 3.5, 3.51, 4.0 Versiones mas actuales Windows Server 2000, 2003, Small Business, Home server, 2008, 2012.
Prof. Velázquez SOFI 3001 Unidad 1: Introducción.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
 Trabaja con el esquema relacional surgido en los laboratorios de IBM  La instalación completa ocupa alrededor de 10 Mb incluyendo librerías, ejemplos.
Transcripción de la presentación:

Communicating Sequential Processes Presentación realizada por : Alberto Calixto Simon Ivan Olmos Pineda

CSP Fue descrito por primera vez en un documento presentado por C. A. R. Hoare. La idea del nombre fue tratar de describir sistemas como un número de componentes (procesos) que operan independientemente y se comunican entre si por un número bien definido de canales. Influenciado por Ada

CSP: Características Enfocado a desarrollar sistemas paralelos. Comunicación por medio de paso de mensajes mediante memoria compartida. Sintaxis y semántica enfocada a desarrollar sistemas paralelos con naturalidad. Sincronización entre procesos, comunicación síncrona.

CSP: Características Facilidad para implementar programas con múltiples entradas y salidas. Se especifican claramente el número de procesos concurrentes, variables, etc. Se dice que más que un lenguaje, es una filosofía de programación.

CSP: Sintaxis, Semántica Comando asignación: := x := x +1; (x, y) := (y, x); En caso que las variables que intervienen en una asignación sean de distintos tipos, esta no se realiza.

CSP: Sintaxis, Semántica Instrucción ||: X(1) :: CL1 || X(2) :: CL2; user :: USER || sort(i: ) :: SORT ||... No hay almacenamiento de variables Termina el procesamiento paralelo cuando terminan todos los procesos paralelos. Como cada proceso se define explícitamente, no hay creación dinámica de procesos.

CSP: Sintaxis y semántica Comandos de entrada / salida procl ? l lpr ! l La primera operación indica que del canal procl entra algo a l. La segunda operación indica que del canal b sale el valor de l.

CSP: Sintaxis y semántica Existen operadores básicos: +, -,,... [ coutn count:=count+1 [] count = 100 -> xyz := 34; [] xyz >= 20 -> xyz := 0 ]

CSP: Sintaxis y semántica En el ejemplo anterior, ; significa la conjunción lógica. Se pueden realizar programas simples como el siguiente, el cual solo recibe un conjunto de 100 caracteres desde el teclado e imprime los que sean caracteres imprimibles.

CSP: Sintaxis y semántica [ c: character; (i: ) continue(i); keyboard(i) ? c -> [ c = LINEFEED -> console(i) ! RETURN; console(i) ! LINEFEED [] c <> LINEFEED -> console(i) ! C ]

CSP: Sintaxis y semántica Para crear una iteración de un conjunto de instrucciones, se coloca un asterisco al inicio de estas. *[ (i: 1.. 5) A(i) > A(i+1) (A(i),A(i+1)) := (A(i+1), A(i)) ] En este ejemplo, A es un arreglo de 1000 enteros. En este ejemplo, se ordena el arreglo en orden ascendente.

FDR Failures Divergence Refinement Refinamiento Divergente de Fallas

¿Qué es FDR ? FDR es un modelo de chequeo para maquinas de estados, con base en la teoría de concurrencia establecida alrededor de CSP desarrollado en la Universidad de Oxford.

Capacidad La versión FDR2 mejora la ejecución de su antecesor, e incorpora una jerarquía abstracta y mecanismos de compresión que permiten al sistema analizar una gran cantidad de estados (7^(2^1024)) en minutos.

Aplicaciones Desarrollo y verificación de comunicaciones de hardware (en el Transputer T9000 y el chip C104 de ruteadores) Protocolos de Seguridad - Propiedades - Defectos en el intercambio de llaves - Autentificación, confidencialidad,...

¿Que ofrece FDR2? Soporte de operadores fuera del núcleo de CSP y completamente diferente al lenguaje. Todos los procesos pueden ser parametrizados. Mejorar el manejo de la sincronización múltiple, con la representación de reglas de disparo basadas en los eventos los cuales integran.

Proveer de un lenguaje poderoso para los tipos de datos y expresiones. La habilidad de construir un sistema convergente gradualmente, en cada etapa comprime al subsistema a producir un proceso equivalente con menos estados.

FDR Soporta Directamente Tres Modelos El modelo de trazos El modelo de fallos estables El modelo de fallos divergentes

Entorno FDR requiere un sistema workstation y se aconseja usar FDR en un sistema con almenos 32Mb de memoria física, y al menos 64Mb de memoria virtual. Las plataformas de soporte son: Sun Sparc systems (Solaris 2.3 o superiores) HP PA-RISC systems (HP-UX 9.0.5) IBM RS/6000 systems (AIX 3.2.5)

Procesos c -> p prefijo simple c ?x ?x':a !y -> p prefijo complejo p ; q composición secuencial p [[ c <- c' ]] re-etiquetar !x salida ?x:a entrada obligada ?x entrada espontanea

Ejemplos BUFF(in,out) = in?x -> out!x -> BUFF(in, out) square(n) = n * n P = in ? x -> out ! square(x) -> P

Ejemplos -- First, the set of values to be communicated datatype FRUIT = apples | oranges | pears channel left,right,mid : FRUIT channel ack COPY = left ? x -> right ! x -> COPY

SEND = left ? x -> mid ! x -> ack -> SEND REC = mid ? x -> right ! x -> ack -> REC SYSTEM = (SEND [| {| mid, ack |} |] REC) \ {| mid, ack |} assert COPY [FD= SYSTEM assert SYSTEM [FD= COPY

Referencias 1/csplect/index.htm