Una introduccion a las redes de Petri

Slides:



Advertisements
Presentaciones similares
ALGORITMO Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y resolver un problema. De un modo más formal,
Advertisements

Algoritmos y Programas
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Tabla de Contenido Concurrencia.
TEMA 1 Introducción a la Programación Concurrente
Basado en Redes de Petri
ATAC Proyecto Final Análisis de Tránsito Asistido por Computadora
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
DIAGRAMA DE ACTIVIDAD Roberto Certain Leonardo Molina.
Planificación de Monoprocesadores
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Razonamiento algorítmico
Máquinas de Estado Finito
Introducción a los Algoritmos
Diseño orientado al flujo de datos
Curso de Programación I Parte I
Fundamentos de Ingeniería de Software
Ingeniería en Ciencias Económicas y Financieras
Sistemas Distribuidos “Técnicas de Especificación Formal”
Unidad 4 Conceptos de sistema
Matemáticas Discretas y Algoritmos
Capítulo 3 Etapas de un Proyecto de simulación
ESTRUCTURAS DE CONTROL
Bloqueos Mortales Cecilia Hernández Bloqueos Mortales Definición Un proceso/hebra esta bloqueada cuando esta esperando por un evento que nunca ocurrirá.
Facultad de Ingeniería Manufactura Integrada Por Computador II
Técnicas de Calidad en el Software
Sistemas a Eventos Discretos
PROPIEDADES DE LAS REDES DE PETRI
Máquinas de estados finitos
Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto.
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
Ing. Karen Torrealba de Oblitas
Sistemas Concurrentes: programación concurrente
Modelado de Sistemas a Eventos Discretos.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Análisis del sistema.
Actividad 2. Estilos y patrones arquitectónicos. M.C. Juan Carlos Olivares Rojas Syllabus May, 2009.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Sincronización de Procesos
Análisis del soporte a QoS en Infiniband Carlos Miguel Tavares Calafate Clusters de Computadores Personales, 2002.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
DIAGRAMA DE FLUJO ERIKA SUAREZ lozano Sergio Ortiz caballero Arturo González Yesica mariana regueros Paola García sanchez.
Metodología para la construcción de programas
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
J. García Martín 22/06/ SISTEMAS DE TIEMPO REAL Especificación formal de sistemas. Statecharts.
Procesos Estocásticos Edgar H Criollo V Mayo 2010
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez)
SISTEMAS OPERATIVOS. Cómo trabaja un SO Qué es el SO El sistema operativo (SO) es el software del sistema destinados a la realización de algunas tareas.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Introducción a los programas
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
Entendiendo las partes
Sistemas de eventos discretos.
Elaboración de algoritmos usando lógica de programación
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
Facultad de Ingeniería Manufactura Integrada Por Computador II.
SWITCHING.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Transacciones seguras  Concurrencia Ing. Yeberth Martinez Programación II.
Lenguaje Programación
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
PARCIAL 1 SISTEMA DE TRATAMIENTO DE INFORMACION. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo.
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
COMPUTER SACIENCE PARCIAL 1
 El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo.  Su análisis como.
Transcripción de la presentación:

Una introduccion a las redes de Petri Laboratorio de Control de procesos Carl Adam Petri 1926-

Contenido Introduccion Estructura de una red de Petri Dinamica una red de Petri Modelado con redes de Petri Finalmente . . .

Introduccion

¿Qué son las redes de Petri? Las redes de Petri (PN) son una herramienta de modelado que captura la dinanica operacional de los sistemas a eventos discretos Representacion grafica formal del flujo de actividades en sistemas complejos Un lenguaje de modelado

Caracteristicas de las redes de Petri Soportan la simulación del sistema Soportan modularidad y abstraccion Soportan el análisis formal para propiedades, tales como: Acotamiento, Vivazidad alacanzabilidad, etc. La literatura sobre redes de Petri es abundante

Adecuadas para modelar Secuencialidad Concurrencia Sincronización Conflicto Precedencia Prioridad

Aplicaciones Sistemas de manufactura Redes de computadoras Diseño de software Modelado de sistemas concurrentes y/o distribuidos Protocolos de comunicación, etc.

Estructura de una red de Petri

Elementos de una red de Petri lugar transicion arco de entrada arco de salida Una marca

Elementos de una red de Petri

Interpretacion de una red de Petri lugar = estado marca Estado activo transicion = un evento

Un ejemplo sencillo lugar = Bomba encendida marca Estado activo transicion = Switch ON lugar = Bomba apagada

Un ejemplo sencillo lugar = Bomba encendida marca Estado activo transicion = Switch ON lugar = Bomba apagada ¿Qué sucede en la red si el Switch se conmuta a OFF?

Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Ejercicio Dos lectores en una biblioteca: esperando esperando, leyendo strt_reading leyendo stop_reading

Dinamica una red de Petri

Reglas Todos los arcos (conecciones) son dirigidas No existen arcos entre dos lugares No existen arcos entre dos transiciones Los lugares pueden tener cero o mas marcas Los arcos pueden tener peso: con valor de 1, 2, …, o mas b a y x

Redes de Petri: una definicion Una red de Petri C = P,T,I,O consiste de: Un conjunto finito de lugares P Un conjunto finito de transiciones T Una funcion de entrada I: T  NatP Una funcion de salida O: T  NatP Una funcion de pesos W: T  Nat Un marcado de C es un mapeo m: P  Nat b a y x P = { x, y } T = { a, b } I(a) = { x }, I(b) = { x, x } Ejemplo O(a) = { x, y }, O(b) = { y } m = { x, x }

Disparo de una transicion Una transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas p1 p2 t2 t1

Disparo de una transicion Una transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas

Disparo de una transicion Una transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas NO

Disparo de una transicion Una transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas 2

Transicion habilitada Una transición está habilitada cuando el número de marcas en cada uno de sus lugares de entrada es por lo menos igual al peso de arco que va del lugar a la transición. Una transición habilitada puede o no dispararse (ocurre o no ocurre un evento)

Disparo de una transicion El disparo de una transición habilitada t: consume w(p,t) marcas de cada lugar p de entrada de t, y produce w(t,p) marcas a cada lugar de salida p de t, 2 p1 p2 t1 3 2 p1 p2 t1 3

Disparo de una transicion Para disparar una transicion t: t debe estar habilitado: m ≥ I(t) consume entradas y genera salida: m= m - I(t) + O(t) a b a b b

Disparo de una transicion H2 O2 H2O 2H2 + O2 2H2O 2 t Antes del disparo Peso = 2 H2 O2 H2O 2 t Despues del disparo

Ejecucion de las redes de Petri La ejecución de las redes de Petri es no-deterministica Pueden ser habilitadas múltiples transiciones al mismo tiempo Cualquier transicion habilitada puede ser disparada No se exige que una transicion sea disparada puede dispararse cuando quiera, en un tiempo entre 0 e infinito, o no dispararse nunca

Modelado con redes de Petri

Ejecucion secuencial Secuencialidad p2 t1 p1 p3 t2

Sincronizacion Sincronizacion t1 t1

Se llega por diferentes caminos Conjuncion t1 t2 t3

Se toman diferentes caminos Toma de deciciones t1 t2 t3

Concurrencia Entradas independientes permiten el disparo “concurrente” de la transicion

Concurrencia p3 p1 t2 Paralell Begin Paralell End t1 p2 p4 t4 t3 p5

Lugar de entrada y salida Lectura sin modificacion de condiciones Lugar de entrada y salida p2 p4 t3 p3

Conflicto

Resolucion del conflicto Punto de decision El conflicto resultante puede ser resuelto de manera simplemente determinista o de manera probabilistica, atribuyendo probabilidades apropiadas a las transiciones en conflicto

Exclusion mutua Las dos subredes estan forzadas a sincronizarse

Productores y Consumidores

Buffers acotados # slots ocupados # slots libres 

Finalmente. . .

¿Qué mas debería conocer? ¿Cómo se especifican formalmente las redes de Petri? ¿Cuál el conjunto de “alcanzabilidad” de una red? ¿Cómo se puede calcular este conjunto? ¿Cómo puede una (mala) implementacion de una red de Petri quedar bloqueada aun cuando existan transiciones activadas? ¿Qué es una red de Petri temporizada? ¿Qué es una red de Petri coloreada? “ y ……. ???”

Una solucion… Inscribase en la electiva “Sistemas a eventos discretos”