notas sesiÓn 14 herramientas para … · capacidad finita (n, m0), cada acción p tiene asociada...

58
NOTAS SESIÓN 14 NOTAS SESIÓN 14 HERRAMIENTAS PARA HERRAMIENTAS PARA MODELADO. MODELADO. DEFINICIÓN DE REDES DE DEFINICIÓN DE REDES DE PETRI ORDINARIAS. PETRI ORDINARIAS.

Upload: vodang

Post on 12-Oct-2018

246 views

Category:

Documents


0 download

TRANSCRIPT

NOTAS SESIÓN 14NOTAS SESIÓN 14

HERRAMIENTAS PARA HERRAMIENTAS PARA MODELADO.MODELADO.

DEFINICIÓN DE REDES DE DEFINICIÓN DE REDES DE PETRI ORDINARIAS.PETRI ORDINARIAS.

●Introducción a Redes de Petri (PN)

●Decripción matemática de una PN

●Grafos

●Ejemplos

CONTENIDO

¿Qué son las redes de Petri?Las redes de Petri son herramientas gráficas para la descripción y análisis de procesos concurrentes que surgen de sistemas dinámicos con muchos componentes. Los gráficos, en conjunto con las reglas para su refinamiento, fueron inventadas en agosto de 1939 por el alemán Carl Petri, a la edad de 13 años, con el propósito de describir procesos químicos. Aunque en el mundo científico se publico en su tesis doctoral en 1962.

En su tesis doctoral "kommunikation mit automaten" (Comunicación con autómatas), establece los fundamentos para el desarrollo teórico de los conceptos básicos de las PN.

Las PN son consideradas una herramienta para el estudio de los sistemas. Con su ayuda podemos modelar el comportamiento y la estructura de un sistema, y llevar el modelo a condiciones límite, que en un sistema real son difíciles de lograr o muy costosas.

La teoría de PN ha llegado a ser reconocida como una metodología establecida en la literatura de la robótica para modelar los sistemas de manufactura flexibles.

Como una herramienta gráfica, Las PN pueden ser usadas como una asistencia visual para comunicación similar a diagramas a bloques, y redes.

Como una herramienta matemática, es posible establecer ecuaciones de estado, ecuaciones algebraicas, y otros modelos matemáticos para simular el comportamiento del sistema.

Aplicaciones de una red de Petri

Modelado de sistemás dinámicos Sistemas flexibles de manufactura Robótica Computo paralelo Automátas

Las RP son formas de expresar procesos concurrentes o que requieren sincronía

Acciones y EstadosLas acciones nos conducen a un estado determinado del módulo en el tiempo, las acciones de un módulo en un sistema pueden ocurrir simultáneamente con las acciones de otros módulos, dado que ellos interactúan entre sí, es necesario sincronizar los eventos.

Esto puede resultar en que las condiciones de un módulo en el tiempo necesitan como entradas las salidas de otro, él cual necesita más tiempo para generar las salidas, es entonces cuando pensamos en paralelismo y concurrencia. Las PN fueron diseñadas específicamente para modelar este tipo de sistemas.

Eventos y Condiciones

Los eventos son las acciones que se dan en el sistema y nos llevan a un estado, podemos describir un estado como un conjunto de condiciones. Es útil, para nuestro caso, representar dichas condiciones por medio de predicados.

Para que cierto evento ocurra es necesario que ciertas condiciones se cumplan, estas son llamadas pre-condiciones del evento, la ocurrencia del evento nos puede llevar a otras condiciones y es entonces cuando se dan las post-condiciones.

Definición formal

La red de Petri es un tipo particular de grafo dirigido, junto con un estado inicial llamado el marcador inicial, M0. El grafo generado N de una red de Petri es dirigido, ponderado, bipartita que consiste de dos tipos de nodos, llamados Acciones y Estados, donde los arcos son ya sean de acciones a transiciones o en sentido contrario.

En una representación gráfica, las acciones están representadas por círculos, las transiciones como barras o cajas. Los arcos están etiquetados con su peso, donde un arco-k ponderado puede ser interpretado como una serie de arcos paralelos k.

Un (estado) marcado asigna a cada acción un entero no negativo. Si un marcado asigna a una acción p un entero no negativo k, decimos que p está marcado con k tokens. Visualmente, ponemos dos puntos negros (tokens) en donde está p. Un marcado es denotado por M, un vector m-dimensional , donde m es el número total de acciones. El componente p de M se denota como M(p), es el número de tokens en la acción p.

En modelación, cuando el concepto de condiciones y eventos, las acciones representan condiciones, y transiciones representan eventos.

Una transición (un evento) tiene cierto número de acciones de entrada y salida, representando las condiciones pre- y post- del evento, respectivamente.

La presencia de un token en una acción es interpretada como un sostén de verdad de la condición asociada con la acción. Otra interpretación es que k tokens son colocados en una acción para indicar que los elementos de datos o recursos k están disponibles.

Interpretación de las transiciones y acciones

Acciones de entrada Transición Acciones de salida

Precondiciones evento postcondiciones

Datos e entrada Paso de computación Datos de salida

Señales de entrada Procesador de la señal Señales de salida

Recursos necesitados Tarea o trabajo Recursos liberados

condiciones Cláusula lógica conclusiones

buffers Procesador buffers

Representación de la red de Petri

En la representación de una red de Petri, se omiten los arcos valorados con 0, y el 1 en los arcos valorados con 1.Las plazas se representan mediante círculos, las transiciones mediante rectángulos horizontales o líneas horizontales, y las marcas mediante puntos en el interior de las plazas

Anatomía de una red de PetriLas RP se componen de cuatro partes:

Un conjunto de nodos o estados. Un conjunto de transiciones. Una función de entrada y Una función de salida.

Los símbolos redondos denotan estados (también llamados lugares o condiciones); las formas rectangulares denotan transiciones, T. Conectados por flechas las cuales muestran la dirección del flujo. Las actividades o transiciones están relacionadas con funciones de entrada y salida. Las marcas negras se mueven por la ocurrencia de las transiciones, describen el estado presente de las relaciones.

Definición Matemática

Una red de Petri es un conjunto formado por R={P, T, Pre, Post}

P: Conjunto de nodos o estados de cardinal n.T: Conjunto de transiciones de cardinal m.

Pre: Aplicación de incidencia previa.Pre:{P x T} --> Naturales

Post: Aplicación de incidencia posterior. Post:{P x T} --> Naturales

Una PN es una tupla-5, PN = {P, T, F, W, M0}, donde

P = {pa, p2, ...,pm} es una serie finita de acciones.T = {t1, t2, ..., tn} es una serie finita de transiciones,F ⊆ (P x T) U (TxP) es una serie de arcos (relación de flujo)W: F {1,2,3,...}

M0: P {0,1,2,3,...} es el marcado inicialP ∩ T = ∅ y P ∪ T ≠ ∅

Una estructura de red de Petri N = (P, T, F, W) sin ningún marcado inicial se denota por N.

Una red de Petri con un marcado inicial dado está denotado por (N, M0)

El comportamiento de muchos sistemas puede ser descrito en términos de los estados de los sistemas y sus cambios. Para poder simular el comportamiento dinámico de un sistema, el estado o marcado en una red de Petri es cambiado de acuerdo a la siguiente regla de transición o disparo:

1) Una transición t se dice que está habilitada si cada acción p de t está marcada con al menos w(p,t) tokens, donde w(p,t) es el peso del arco de p a t.

2) Una transición habilitada podría o no dispararse, dependiendo de el evento ha sido hecho.

3) Un disparo de una transición habilitada t remueve w(p,t) tokens de cada acción de entrada p de t, donde w(t,p) es el peso del arco desde t a p.

Una transición si una acción de entrada es llamas transición fuente. Una transición sin acción de salida es llamada una transición de drenado. Note que la transición fuente está incondicionalmente habilitada, y que el disparo de una transición de drenado consume tokens, pero no produce ninguno.

Un par de una acción p y una transición t es llamada un auto-lazo si p es tanto acción de entrada y salida de t. Una red de Petri se dice pura si no tiene auto-lazos. Una red de Petri se dice ser ordinaria si todos sus arcos tienen pesos de 1.

Grafos

Una red de Petri tiene un grafo orientado bipartido, se define P U T, es el conjunto de vértices.

F: P U T --> Partes de (P U T), es el conjunto de arcos.

El grafo {P, T, F, V} asociado a la red R={ P, T, Pre, Post):

F(p)={t ϵ T si Pre(p,t) > 0, ∀ p}F(t)={p ϵ T si Post(p,t) > 0, ∀ t}

V(p,t)=Pre(p,t)V(t,p)=Post(,t)

V es la valoración de los arcos.

La definición del grafo indica que los arcos solo pueden ir:Desde los nodos hasta las transiciones.Desde las transiciones hasta los nodos.

Red marcada

Definición: Una red marcada es el conjunto formado por {R, M} donde:

R es una Red de Petri como la definida.M es una aplicación denominada marcado.

M: S -->NaturalesSe asocia a cada estado un número natural, denominado

marca. Las marcas para un estado se reunen en columnas.

Un token o marca es un concepto primitivo de la red, es un identificador dentro de un nodo y su número puede variar

entre nodos. El comportamiento dinámico de los tokens define el flujo de

información de la red

Reglas de disparo para una PN.La ejecución en una PN es controlada por el número y distribución de los tokens que tiene. Los tokens presentes en los nodos controlan la ejecución de las transiciones de la red. Una PN se activa disparando transiciones. Una transición es disparada removiendo tokens de los nodos de entrada y creando tokens de salida.

De aquí podemos obtener la primera condición de disparo en una transición: todos los nodos de entrada de la transición, deben tener al menos el mismo número de tokens, que de arcos que van hacia la transición, para que é sta sea disparada, cuando la transición cumpla esta condición se dice que es una transición ENABLED.

Ejemplo

Considere la bien conocida reacción química: 2H2 + O2 → 2H2O. Dos tokens en cada acción de entrada. Como se muestran en la figura, dos unidades de H2 y O2 están disponibles, y la transición y está habilitada. Después del disparo t, el marcador cambiará a mostrado abajo, donde T ya no está disponible.

Ejemplo

Para que la regla de transición se habilite, se asume que cada acción puede acomodar un número ilimitado de tokens. Tal PN se refiere como Red de Capacidad infinita.

Para el modelado de muchos sistemas físicos, es natural considerar que hay un límite superior de tokens que cada acción puede mantener. Para una red de capacidad finita (N, M0), cada acción p tiene asociada una capacidad K(p), el máximo número de tokens que p puede mantener en cualquier tiempo.

Para redes de capacidad finita, para que una transición t pueda habilitarse, hay una condición adicional que el número de tokens en cada acción de salida p de t no puede exceder su capacidad K(p) después del disparo de t.

Ejemplo de una red de Petri

Sea una red de Petri con cinco estados (1..5) y cinco transiciones (a..e)

Pre a b c d e1 1 0 0 0 02 0 1 0 0 03 0 0 1 0 04 0 0 0 1 05 0 0 0 1 1

Post a b c d e1 0 0 0 1 02 1 0 0 0 03 1 0 0 0 14 0 1 0 0 05 0 0 1 0 0

Ejecución de la red

Número de marcas asociados a los nodos en el ejemplo es M0 el marcado definido por

columnas:

Definición: Una transición t es franqueable si para un marcado M se cumple:

M(s) >= Pre(s,t) ; (∀ s)

Mo

1

0

0

0

0

Representación del grafo de la red

F(1)={a}F(2) ={b}F(3) ={c}F(4)={d}

F(5) = {d,e}

F(a)={2,3}F(b)={4}F(c)={5}F(d)={1}F(e)={3}

Pre a b c d e

1 1 0 0 0 0

2 0 1 0 0 0

3 0 0 1 0 0

4 0 0 0 1 0

5 0 0 0 1 1

Post a b c d e

1 0 0 0 1 0

2 1 0 0 0 0

3 1 0 0 0 1

4 0 1 0 0 0

5 0 0 1 0 0

Ejecución de la red

M0 M1 M2 M3 M4

1 1 0 0 0 0

2 0 1 1 0 0

3 0 1 0 1 0

4 0 0 0 1 1

5 0 0 1 0 1

Modelado de redes

Las máquinas de estados finitos o sus diagramas de estados pueden ser equivalentes a una subclase de redes de Petri. Como ejemplo de una máquina de estados finitos, considere una máquina tragamonedas la cual acepta dos tipos de depósito, de 10 y 20 pesos para comprar dulces. Por simplicidad, suponga que la máquina tragamonedas puede mantener solo dos pesos.

Entonces, el diagrama de estado de la máquina puede ser representado por un diagrama de Petri, donde cinco estados son representados por las cinco acciones etiquetadas como $10, $20, $5, $1 y $2, y las transformaciones de un estado a otro se muestran como transiciones con condiciones de entrada, tal como 'deposita $5'.

El estado inicial se indica colocando el token en la acción p1, con una etiqueta $0 en el ejemplo.

Note que cada transición en la red tiene exactamente un arco de entrada y uno de salida. Las subclases de redes de Petri con esta propiedad se conocen como Máquinas de Estados.

Cualquier máquina de estados finitos (o su diagrama de estados) puede ser modelada con una máquina de estados. La estructura de la acción p1 tiene dos (o mas) transiciones de salida t1 y t2, y es referida como un conflicto, decisión o elección, dependiendo de las aplicaciones. La máquina de estados permite la representación de decisiones, pero no la sincronización de las actividades paralelas.

Las actividades paralelas o concurrencia puede ser fácilmente representadas en términos de las redes de Petri. Por ejemplo, en la red de Petri siguiente, las actividades paralelas o en concurrencia representadas por transiciones t2 y t3 empiezan en el disparo de la transición t1 y terminan con el disparo de la transición t4.

Actividades paralelas

Actividades paralelas

En general, dos transiciones se dicen concurrentes si ellas son causalmente independientes. Por ejemplo, una transición podría dispararse antes o después o en paralelo con la otra, como en el caso de t2 y t3.

ConcurrenciaLa concurrencia puede ser observada como una relación binaria (denotada por co en la serie de eventos A={e1, e2, ...}) la cual es

1) reflexiva (ei co ei)2) simétrica (e1 co e2 implica que e2 co e1)3) pero no transitiva (e1 co e2 y e2 co e3 no necesariamente implica que e1 co e3). Por ejemplo, uno podría conducir un auto (evento e1) o caminar (evento e3) mientras cantamos (evento e2), pero no podemos manejar y caminar concurrentemente.

Concurrencia

Dos eventos e1 y e2 están en conflicto si cualquiera de ellos puede ocurrir, pero no ambos, y son concurrentes si ambos eventos pueden ocurrir en cualquier orden sin conflictos.

Una situación en donde el conflicto y la concurrencia se mezclan se llama Confusión. Dos tipos de confusión se muestran,

Concurrencia

La primera figura muestra una confusión simétrica, dado que dos eventos t1 y t2 son concurrentes mientras cada t1 y t2 están en conflicto con el evento t3.

La segunda figura muestra una confusión asimétrica, donde t1 está concurrente con t2 pero estará en conflicto con t3 si t2 dispara primero.

Computo de flujo de datos

Las redes de Petri pueden ser usadas para representar no solamente el flujo de control, sino también el flujo de datos. La red mostrada es una representación de una red de Petri de computo de flujo de datos.

Computo de flujo de datos

Una computadora de flujo de datos es aquella en la cual las instrucciones están habilitadas para ejecución al arribo de comandos de sus operadores, y podrían ser ejecutados concurrentemente. En la representación de la Red de Petri del computo del flujo de datos, los tokens denotan los calores de los datos actuales y la disponibilidad de los mismos.

En el ejemplo, las instrucciones representadas por las transiciones t1 y t2 pueden ser ejecutadas concurrentemente y depositar el resultado en las acciones de salida respectivas.

Computo de flujo de datos

Protocolos de comunicación

Los protocolos de comunicación son otra área donde las redes de Petri pueden ser usadas para representar y especificar características esenciales de un sistema. Las propiedades de actividad y seguridad de una red de Petri son a menudo criterios de corrección en protocolos de comunicación.

Ejemplo de un modelo simple de un protocolo de comunicación entre dos procesos

Representación de un proceso de espera no determinístico

Control de sincronización

En un sistema de multiprocesador o procesamiento distribuido, los recursos y la información están compartidos entre diferentes procesadores. Esta compartición debe ser controlada o sincronizada para asegurar la operación correcta de todo el sistema.

Las redes de Petri han sido usadas para modelar una variedad de mecanismos de sincronización, incluyendo exclusión mutua, lectores y escritores, y problemas de productores-consumidores.

Control de sincronización

En este ejemplo se muestra una sincronización entre lectores-escritores, donde los k tokens en la acción p1 representa los procesos (programas) k, los cuales podrían leer y escribir en un área de memoria compartida representada por la acción p3.

Hasta k-procesos podrían estar leyendo concurrentemente, pero cuando un proceso está escribiendo, ningún otro proceso puede escribir o leer. Solo un token puede ser puesto en la acción p4 (escritura) debido a que todos los k-tokens en p3 serán removidos a través del arco de peso-k cuando t2 dispare.

Control de sincronización

Sistema de productores-consumidores con prioridad

La red mostrada en la figura representa un sistema de productores-consumidores con prioridad. Por ejemplo, el consumidor A tiene prioridad sobre el consumidor B en el mismo sentido que A puede

consumir tanto el buffer A tiene elementos (tokens), pero B puede solo consumir si el buffer A se vacía y

el buffer B tiene elementos (tokens).

En este ejemplo se introduce un nuevo tipo de arco inhibidor, el cual conecta una acción a una

transición y se representa con una línea cortada con un pequeño círculo en lugar de una flecha.

Sistema multiprocesador

La red de Petri mostrada es un modelo para un sistema de multiprocesador con cinco procesadores, tres memorias comunes y dos buses. La acción p1 contiene tokens representando procesadores ejecutando en su memoria privada, y p2 contiene tokens representando buses libres.

Sistema multiprocesador

La transición t1 representa la emisión de una solicitud de acceso, y p3 contiene las solicitudes que no han sido servidas. Tokens en p4 representan procesadores con acceso a memoria comunes. Tokens en p5 representan procesadores solicitando la misma memoria común que ha sido accesado por un token (procesador) en p4.

Sistema multiprocesadorDisparando t5 representa el fin del acceso a la memoria para la cual los procesadores en p5 están en espera. Disparando t4 representa el fin del acceso a la memoria para la cual no hay solicitudes mayores (por ejemplo, t4 está habilitada cuando M(p4) – U[M(p5)] > 0, donde U[x]=1 para x>0 y U[x] = 0 de otra manera).

Las transiciones t2 y t3 modelan la elección de la memoria: disparando t3 corresponde a elegir la memoria que está siendo accesada por el procesador en p4. La elección de otra memoria corresponde a disparar t2.

Conclusiones

Las redes de Petri representan un método para modelar sistemas dinámicos discretos

de tipo concurrente

Es necesario determinar los eventos discretos (estados o nodos), las transiciones y los elementos de cambio antes y después

de la transición para definir una RP

Conclusiones

Los grafos son herramientas visuales para representar las redes de Petri

La ejecución de una red de Petri es la simulación de los diferentes estados

generados en su dinámica a partir de un estado inicial

SITIOS RECOMENDADOS

Información generalhttp://www.informatik.uni-hamburg.de/TGI/PetriNets/

http://en.wikipedia.org/wiki/Petri_net

http://www.scholarpedia.org/article/Petri_net

Herramientas de software para redes de Petrihttp://www.informatik.uni-hamburg.de/TGI/PetriNets/tools/quick.html

Bibliografía

Petri Nets: Properties, Analysis and Applications. Tadao Murata. Proceedings of

the IEEE. Vol. 77 No.4 April 1989

Próxima sesión

Metodología de Modelado.Plan de Proceso del Sistema de

Manufactura.