intro ducci on alas rd p

35
Teoría de Redes de Petri Autores: Prog. Catalina Salvati Prog. Leandro Cofre Prog. Francisco Suárez Base teórica del proyecto final de la carrera de Lic. en Sistemas Universidad FASTA Bariloche

Upload: joseph-mora

Post on 10-Jul-2016

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Intro Ducci on Alas Rd p

Teoría de Redes de Petri

Autores:Prog. Catalina SalvatiProg. Leandro CofreProg. Francisco Suárez

Base teórica del proyecto final de la carrera de Lic. en Sistemas

Universidad FASTA Bariloche

Page 2: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Índice

INTRODUCCIÓN 1

CONTENIDO 2

DEFINICIONES 3

DEFINICIÓN FORMAL 3EJEMPLO: 3REPRESENTACIÓN 4REPRESENTACIÓN GRÁFICA 4REPRESENTACIÓN MATRICIAL 5MARCADO 6EVOLUCIÓN DE MARCADO 6ESTRUCTURAS BÁSICAS 8SELECCIÓN 8ATRIBUCIÓN 8DISTRIBUCIÓN 8CONJUNCIÓN 9EJECUCIÓN SECUENCIAL 9SINCRONIZACIÓN 9CONCURRENCIA 10CONFLICTOS – RECURSOS COMPARTIDOS 10ARCOS INHIBIDORES: 11

PROPIEDADES 12

PROPIEDADES ESTRUCTURALES 12GRAFO DE ESTADOS 12GRAFO MARCADO 12RED DE LIBRE ELECCIÓN 12RED SIMPLE 12RDP PURA 12RED DE PETRI ACOTADA ESTRUCTURALMENTE 12RED DE PETRI ESTRUCTURALMENTE VIVA 12RED DE PETRI COMPLETAMENTE CONTROLABLE 12RED DE PETRI ESTRUCTURALMENTE CONSERVATIVA 13RED DE PETRI (PARCIALMENTE) REPETITIVA 13RED DE PETRI (PARCIALMENTE) CONSISTENTE 13PROPIEDADES DE COMPORTAMIENTO 13VIVACIDAD 13CICLICIDAD 14ACOTAMIENTO O LIMITACIÓN 15CONSERVATIVIDAD 16ALCANZABILIDAD 16

MÉTODOS DE ANÁLISIS 18

TÉCNICAS ENUMERATIVAS 18TÉCNICAS DE TRANSFORMACIÓN 19

I

Page 3: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

TÉCNICAS ESTRUCTURALES 19

TIPOS DE RED 21

RDP CON PESO 21RDP CON TIEMPO 21RDP COLOREADAS 21RDP JERÁRQUICAS 22ESTOCÁSTICAS 22

EJERCICIOS 23

EJERCICIO Nº 1: 23EJERCICIO Nº 2: 23EJERCICIO Nº 3: 24EJERCICIO Nº 4: 24EJERCICIO Nº 5: 25EJERCICIO Nº 6: 25EJERCICIO Nº 7: 25EJERCICIO Nº 8: 26EJERCICIO Nº 9: 26EJERCICIO Nº 10: 26

RESPUESTAS A LOS EJERCICIOS 27

EJERCICIO 3: 27EJERCICIO 4: 27EJERCICIO 5: 28EJERCICIO 6: 28EJERCICIO 7: 29EJERCICIO 8: 29EJERCICIO 9: 29EJERCICIO 10: 30

GLOSARIO 31

CONJUNTOS 31LÓGICA 31

ÍNDICE DE IMÁGENES 32

Bibliografía 33

II

Page 4: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Introducción

Las Redes de Petri (RdP) son una teoría matemática postulada por el alemán Carl Adam Petri que proporciona una herramienta gráfica de modelado para la descripción formal de sistemas cuya dinámica se caracteriza por la concurrencia, sincronización, exclusión mutua y conflictos, las cuales son características típicas de sistemas distribuidos.

La principal aplicación de las redes de Petri es el modelado y el análisis de sistemas con componentes concurrentes que interactúan. Un modelo es una representación de las características más importantes de un sistema de estudio. Manipulando esta representación, se pueden obtener nuevos conocimientos del sistema modelado sin ningún coste o peligro para el sistema real. Sin embargo, el modelado por sí solo sirve de poco, es necesario analizarlo posteriormente.

El sistema se modela primero como una RdP y luego, se analiza. Este análisis conlleva a una mejor comprensión del comportamiento del sistema modelado. Para realizar el análisis de las propiedades de una red de Petri se han desarrollado diferentes técnicas, que permiten la verificación de las propiedades que el sistema construido posea.

Las RdP se han utilizado en distintas áreas de aplicación como en química, redes informáticas, Inteligencia artificial, tránsito, etc.

III

Page 5: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Contenido

En este documento, se describen los fundamentos de la teoría de redes de Petri.

En la primer parte se ven las definiciones básicas de RdP y los modos de representación.

En la parte de ejemplos de estructuras básicas, se describe el modo de representar algunos casos comunes.

También se darán a conocer las propiedades, extensiones y métodos de análisis.

Finalmente se proponen ejercicios para resolver.

Contenido 1

Page 6: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Definiciones

Una RdP está formada por lugares y transiciones unidos alternativamente por arcos dirigidos. Un lugar puede o no contener marcas. El conjunto de marcas asociadas a cada uno de los lugares en un momento dado, constituye un marcado de la RdP. Para la descripción funcional de sistemas concurrentes los marcados representan estados y las transiciones sucesos, que dependen del cumplimiento de determinadas condiciones.

Definición formalSe define a una Red de Petri como una 4-upla:RdP = (P, T, F, M0), donde:P = {p1, p2, … pm} es un conjunto finito no vacío de lugaresT = {t1, t2, …, tn} es un conjunto finito no vacío de transicionesP T = F (P X T) U (T X P) es un conjunto de arcos dirigidos, donde para

cada transición obtenemos dos funciones Input(t) y Output(t):I(ti) = {px, …, py} conjunto de los lugares de entrada de la

transición ti

O(ti) = {px, …, py} conjunto de los lugares de salida de la transición ti

Mi: P{0,1,2,…} es el marcado inicial de la red // define un número inicial de marcas por lugar.

Ejemplo:R1 = (P, T, F, M)P = { p1, p2, p3, p4 }T = {t1, t2, t3}I(t1) = { p1}I(t2) = { p2}I(t3) = { p2 }O(t1) = { p2}O(t2) = { p3}O(t3) = { p4 }M0 (P) = (5, 0, 0, 0)

Contenido 2

Page 7: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

RepresentaciónToda herramienta de modelado tiene una o mas formas de ser

representada. En el caso de las RdP se pueden encontrar, una representación gráfica y otra matricial.

Representación gráficaA una RdP podemos asociarle un grafo dirigido con dos clases

disjuntas de nodos, los lugares y las transiciones. Un círculo representa un lugar, una barra representa una transición y

un arco dirigido conecta lugares y transiciones. Algunos arcos van desde un lugar a una transición y otros desde una

transición a un lugar. Un arco dirigido desde un lugar p a una transición t, define p como un lugar de entrada para t. Un lugar de salida se indica con un arco desde la transición al lugar.

Los arcos se etiquetan con sus pesos (enteros positivos). Si una de esas etiquetas se omite, significa que el arco tiene peso uno.

Las marcas se representan como puntos negros en los lugares. Figura 1

p1 t1 p2

arco

lugar transiciónmarca

Representación gráfica de una Rdp.

Dada la RdP del Ejemplo anterior, obtenemos la representación gráfica:

Contenido 3

Page 8: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 2

p1 t1 p2

t2

t3 p3

p4

Red de Petri con

cuatro lugares y tres transiciones.

Contenido 4

Page 9: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Representación matricialUna transición tiene un determinado número de lugares de entrada (o

precondiciones) y de lugares de salida (o postcondiciones). Cada uno de estos se puede representar por una matriz binaria de dos dimensiones, donde las columnas representan las transiciones, las filas los lugares y las celdas la conexión entre ambas. Las matrices reciben los nombres de “Matriz de incidencia previa” y “Matriz de incidencia posterior” respectivamente.

Podemos decir que una RdP N se encuentra definida matricialmente por medio de dos matrices.

Sea n = |P| (número de lugares de P) y m = |T| (número de transiciones de T).

Se denominan:Matriz de incidencia previa: C− = [c−ij]n×m en la que c−ij = Pre(pi, tj).Matriz de incidencia posterior: C+ = [c+ij]n×m en la que c+ij = Post(ti, pj).Matriz de incidencia de N: C = C+ − C−.Siguiendo con el ejemplo de la definición, obtenemos la matriz de

Incidencia previa y matriz de incidencia posterior:

C- = Pre(pi, tj) =

1 0 0

C+ = Post(pi, tj) =

0 0 0

0 1 1 1 1 1

0 0 0 0 0 0

0 0 0 0 0 0

Sea N una RdP, donde t ∈ T y p ∈ P. Se definen los siguientes conjuntos:

Conjunto de lugares de entrada a t : •t = {p ∈ P | Pre(p, t) > 0}Conjunto de lugares de salida de t : t• = {p ∈ P | Post(t, p) > 0}Conjunto de transiciones de entrada a p : •p = {t ∈ T | Post(t, p) > 0}Conjunto de transiciones de salida de p : p• = {t ∈ T | Pre(p, t) > 0}

Contenido 5

Page 10: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

MarcadoUn marcado es una función que asigna a cada lugar un entero no

negativo (marca), de forma que decimos que un lugar p está marcado con k marcas, si el marcado asigna al lugar p un entero k.

Los lugares que contienen marcas se consideran lugares activos.Figura 3

p1

Lugar activo.

Un marcado M se representa mediante un vector con tantos componentes como lugares tenga la red. La cantidad de marcas en el lugar p será M(p).

Una RdP marcada es un par (N, M) formado por una RdP N y un marcado M.

El marcado de la RdP del ejemplo 1 :

M0 =

5

0

0

0

Evolución de marcadoA las transiciones se les asocian eventos (funciones lógicas de las

variables de entrada). El marcado cambia al disparar las transiciones. Para disparar una transición ha de estar validada y sensibilizada.

Una transición se dice que está sensibilizada cuando todos sus lugares origen están marcados.

Contenido 6

Page 11: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 4

p1

p2

t1

Transición sensibilizada.

Formalmente, una transición t ∈ T está sensibilizada (habilitada) para un marcado M dado, sii ∀p ∈ •t se verifica M(p) ≥ Pre(p, t).

Cuando ocurre un evento asociado a una transición, se dice que la transición está validada.

Figura 5 Transición validada.

Regla de evolución del marcado: Si t está habilitada para un marcado M entonces t puede dispararse.

Cuando una transición se dispara desaparecen las marcas de los lugares origen y se añade una marca a cada uno de los lugares destino. En la operación se alcanza un nuevo marcado M0, y se denota por M[t] > M0, el cual resulta de quitar Pre(p, t) marcas de cada lugar p ∈ •t y añadir Post(t, p) marcas a cada lugar p ∈ t•.

El cambio en el marcado esta dado por la ecuación:M0(p) = M(p) − Pre(p, t) + Post(t, p), ∀p ∈ PCada disparo de una transición modifica la distribución de las marcas,

y por ello produce un nuevo marcado en la red.Siguiendo con el ejemplo de la definición, al disparar la transición t1,

obtenemos:M0 - Pre(p, t) + Pos(t, p) = Mf

5 1 0 0 0 0 0 4

0 0 1 1 1 1 1 1

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Contenido

p2p1 t1

7

Page 12: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 6

p1 t1 p2

t2

t3 p3

p4

Evolución del

marcado de la red del ejemplo 1.

Contenido 8

Page 13: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Estructuras básicasSelección

Selecciona el proceso a ejecutarFigura 7

t1

t2 t3

p1

p2 p2

Estructura básica. Selección.

AtribuciónEjecución independiente de un proceso por dos procesos distintosFigura 8

t1 t2

t3

p1

Estructura básica. Atribución.

DistribuciónEjecución de procesos paralelos o concurrentes

Contenido 9

Page 14: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 9

t1

p1

p2 p3

Estructura básica. Distribución.

ConjunciónSincronización de procesos en paralelo.Figura 10

t1

p1

p2 p3

Estructura básica. Conjunción.

Ejecución SecuencialLa transición t2 puede ser disparada siempre que sea antes disparado

t1.Figura 11

p1 p2 p3t1 t2

Estructura básica.

Ejecución secuencial.

Contenido 10

Page 15: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

SincronizaciónLa transición t1 estará habilitada para ser disparada todos los

nodos de entrada de la transición t1 poseen al menos una marca en cada uno de ellos.

Esto ocurre principalmente en la electrónica. Ej: El en circuito AND las dos entradas producen una salida lógica.

Figura 12

p1

p2

t1 p3

p1

p2

t1 p3

=>

E

structura básica. Sincronización.

ConcurrenciaLas transiciones t2 y t3 son concurrentes. Con esta propiedad, las RdP

es capaz de modelar sistemas de control distribuido con múltiples procesos ejecutándose concurrentemente.

Figura 13

p1

p2 p3

t1

t2

p4 p5t3

Estructura básica.

Concurrencia.

Conflictos – recursos compartidosLas RdP permiten modelar sistemas donde un recurso es compartido

por dos procesos de forma que el uso del recurso durante la ejecución de un proceso impide que dicho recurso sea utilizado por el otro proceso.

Un recurso compartido se modela mediante un lugar con una marca inicial y transiciones en conflicto.

Contenido 11

Page 16: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 14

p1

p2

p3

t1

t2

p4

p1

p2

p3

t1

t2

p4

=>

Estructura básica. Conflictos.

Tanto la transición t1 como t2 están listas para ser disparadas, pero el disparo de alguna de ellas produce que la otra transición quede inhabilitada para ser disparada.

Arcos inhibidores: Estos tipos de arcos se relacionan con la transición a ser inhibida y

con el lugar que, de tener una marca, va a impedir el disparo de la transición.

Figura 15 Estructura básica. Arcos inhibidores.

Contenido 12

Page 17: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Propiedades

En las RdP podemos encontrar propiedades estructurales, que dependen de la estructura topológica de las RdP, independientes del marcado inicial y, las propiedades de comportamiento que sí dependen del marcado inicial

Propiedades estructuralesGrafo de estados

Un grafo de estado (GE) o máquina de estados (ME) es una RdP que cumple:

∀t ∈ T, |•t| = |t•| = 1

Grafo marcadoUn grafo marcado (GM) o grafo de sincronización es una RdP que

cumple:∀p ∈ P, |•p| = |p•| = 1

Red de libre elecciónUna RdP de libre elección (RLE) es una RdP que cumple:∀p ∈ P, si |p•| > 1, entonces ∀t ∈ p•, |•t| = 1

Red simpleUna RdP simple (RS) es una RdP que cumple:p•1 ∩ p•2 = ∅ ⇒ p•1 ⊆ p•2 o p•1 ⊇ p•2 para toda p1, p2 ∈ P.

RdP PuraUna RdP N es una red pura si no existe ninguna transición que tenga

un lugar que sea al mismo tiempo de entrada y salida de la transición:∀tj ∈ T , ∀pi ∈ P, Pre(pi, tj) Post(tj , pi) = 0

Red de Petri Acotada EstructuralmenteUna red de Petri está acotada estructuralmente si está acotada para

cualquier marcado inicial finito.Un lugar p en una red de Petri se dice no acotado estructuralmente si

existe un marcado M y una secuencia de disparo σ desde M tal que p no esté acotado.

Red de Petri Estructuralmente VivaUna red de Petri está estructuralmente viva si existe algún marcado

inicial para el que está viva.

Contenido 13

Page 18: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Red de Petri Completamente ControlableUna red de Petri se dice completamente controlable si cualquier

marcado es alcanzable desde cualquier otro marcado.

Red de Petri Estructuralmente ConservativaUna red de Petri es estructuralmente conservativa si, para cualquier

marcado inicial M0 y un marcado alcanzable M ∈ R(M0), existe un vector x (n × 1) tal que xi≠0, para cualquier i = 1,...,n, y xtM = xtM0.

Red de Petri (parcialmente) RepetitivaUna red de Petri es (parcialmente) repetitiva si existe un marcado

finito M0 y una secuencia de disparo s tal que (alguna) toda transición ocurre un número infinito de veces en σ.

Red de Petri (parcialmente) ConsistenteUna red de Petri es (parcialmente) consistente si existe un marcado

finito M0 y una secuencia de disparo s cíclica (desde M0 a M0 tal que (alguna) toda transición ocurre al menos una vez en σ.

Propiedades de comportamientoVivacidad

Una transición t está viva para un marcado inicial dado M0, sii existe una secuencia de disparos a partir de un marcado M sucesor de M0 que comprenda a t :

∀M ∈ M(R, M0) ∃σ : M σ→M0 tal que t ⊂ σ.Una RdP marcada está viva para M0 sii todas sus transiciones son

vivas para M0.Se puede decir que la propiedad de vivacidad significa la ausencia en

el conjunto de alcanzabilidad de un marcado en el que la red se bloquee totalmente (deadlock), ya que, para que esté viva, todas sus transiciones deben ser disparables desde cualquier marcado alcanzable.

Se dice que una RdP marcada está parcialmente viva para M0 si, tomando como punto de partida cualquier marcado alcanzable a partir de M0, existe al menos una transición disparable y otra transición no viva. Toda RdP marcada parcialmente viva tiene la posibilidad de evolución global, independientemente de que existan transiciones que no puedan ser disparadas.

Ejemplo: Una red de Petri no viva.

Contenido 14

Page 19: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 16

p1

t1

p2 p3

t2

t3

p4

p5

t4

Ejemplo de una

RdP no viva.

Para la secuencia de disparos t1, t2, t1, t2, no hay bloqueo. Si ahora se disparan las transiciones t1, t3, t4, ya no se puede disparar ninguna transición más, la red queda “bloqueada”.

Podemos tener redes pseudo-vivas en las que existen algunas transiciones vivas y no se bloquea totalmente.

Ejemplo: RdP Pseudoviva

Contenido 15

Page 20: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 17

p2 p3

p1

t1

p4 p5

t2 t3

t4

Ejemplo de una RdP pseudoviva.

CiclicidadSe dice que una RdP posee un comportamiento globalmente cíclico

para M0 si existe una secuencia de disparos que permite alcanzar el marcado inicial M0 a partir de cualquier marcado M alcanzable a partir de M0:

∀M ∈ M(R, M0), ∃σ tal que M σ→M0. La ciclicidad o reversibilidad de una RdP marcada garantiza que no

existen subconjuntos finales de estados (marcados). Un subconjunto final de estados (marcados) contiene estados (marcados) mutuamente alcanzables entre sí y tales que el estado inicial (marcado inicial) no es alcanzable a partir de ninguno de ellos.

Ejemplo de una red no reversible:

Contenido 16

Page 21: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 18

p2 p3

p1

t1

p4

t2

t3

Ejemplo de una RdP no reversible.

Esta RdP es pseudoviva, además no tiene la propiedad de reversibilidad ya que el marcado inicial no se puede obtener jamás.

Acotamiento o limitaciónEl significado de esta propiedad es el de asegurar que el sistema que

una red representa posee un número finito de estados (si suponemos que cada lugar de la red representa a una variable de estado del sistema y su marcado el valor de dicha variable). Luego la propiedad de acotamiento determina la finitud del número de estados del sistema representado por una RdP.

Un lugar p es k-acotado para M0 sii existe un número entero k tal que M(p) ≤ k para cualquier marcado M ∈ M(R, M0). Se denomina cota del lugar p al menor entero k que verifica la desigualdad anterior.

Una RdP marcada es k-acotada para M0 sii todos sus lugares son k-acotados para M0:

∀p ∈ P y ∀M ∈ M(R, M0), M (p) ≤ k. Merece una consideración especial la 1-acotación. Si una RdP es 1-

acotada para M0, su marcado es binario (un lugar está o no está marcado) y se dirá que la RdP es binaria para M0. Una red segura, es una RdP 1-acotada. Una RdP es estructuralmente acotada si es acotada para cualquier marcado inicial y finito.

Se dice que la red está k-acotada si para todo marcado alcanzable tenemos que ningún lugar tiene un número de marcas mayor que k. Las redes 1-acotadas son conocidas como binarias.

Contenido 17

Page 22: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Si la red diseñada generar más marcas que las que su acotación permite el modelado será erróneo.

Ejemplo: Una red no acotada:Figura 19

p2

p1

t1

p3

t2

t3

p4

p5

t4

Ejemplo de una RdP no

acotada.

ConservatividadLas marcas de una red se pueden entender como recursos del

sistema. Normalmente los recursos de un sistema ni se crean ni se destruyen. Cuando las marcas se conservan, tras el disparo de una secuencia de transiciones, se dice que la red es conservativa.

Sea R = (P, T, Pre, Post, M0) se dice que es estrictamente conservativa sii ∀M0 ∈ M(R, M0), ΣiM0 (pi) = ΣiM(pi), pi ∈ P.

Esto es, se ha de mantener el número de marcas para cualquier marcado de la red. La definición anterior implica que el número de entradas ha de coincidir con número de salidas, es decir: (|I(tj)|) = |O(tj)|), para cada transición disparable.

Contenido 18

Page 23: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

AlcanzabilidadLa alcanzabilidad es una base fundamental para estudiar las

propiedades dinámicas de cualquier sistema. al dispararse una transición habilitada, ésta cambiará la distribución del marcado. De esta forma, de una secuencia de disparos resultará una secuencia de marcados, luego un marcado Mn es alcanzable a partir de M0, si existe una secuencia de disparos que a partir de M0 nos lleve a Mn. Una secuencia de disparos la denotaremos por σ = t1, t2, ....., tn . en este caso Mn es alcanzable desde M0, sii ∃σ t.q. M0 [σi Mn.

Ejemplo RdP y su grafo de alcanzabilidadFigura 20 Ejemplo de una RdP con su grafo de alcanzabilidad.

Contenido 19

Page 24: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Métodos de Análisis

La validación consiste en comprobar que se cumplen las propiedades de:- VIVACIDAD; LIMITACIÓN; REVERSIBILIDAD.

Existen técnicas para el análisis de RdP (análisis cualitativo de redes), que se clasifican normalmente en tres grupos; enumerativas, de transformación y estructurales.

Técnicas EnumerativasLas técnicas enumerativas se basan en la generación del grafo de

alcanzabilidad. Estas técnicas se pueden aplicar en teoría, pero en la práctica están limitadas a sistemas pequeños debido a su elevada complejidad computacional.

En el siguiente grafo, los nodos corresponden al marcado alcanzable y los arcos corresponden al disparo de las transiciones. En la figura se muestra una red de Petri y su grafo de alcanzabilidad (Grafo de marcados).

Figura 21Té

cnica enumerativa de validación.

Este grafo puede ser utilizado para mostrar que la red es segura, viva, reversible y que esta tiene dos componentes que se repiten t1, t2,t4 y t1, t3,t5.

Otro ejemplo:

Contenido 20

Page 25: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 22 Validación de una RdP.

M0 : marcado inicial. De este se desprende el comportamiento del sistema.

[M0] : vector de marcados posibles a partir de un marcado inicial. (marcados alcanzables).

Técnicas de TransformaciónEn segundo lugar se tienen las técnicas de transformación. En este

grupo de técnicas el objetivo es reducir el tamaño de los modelos mediante reglas de reducción que preserven las propiedades que se quieren estudiar. En la figura puede observarse un conjunto sencillo de seis reglas de reducción que preservan vivacidad y k-limitación.

Reglas de reducción que presentan vivacidad y k-limitación:

Contenido 21

Page 26: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 23Té

cnica de transformación de validación.

Con este conjunto de reglas es posible reducir la complejidad del cálculo de la vivacidad y limitación de un sistema.

Técnicas EstructuralesEn tercer lugar se tienen las técnicas estructurales. En este grupo de

técnicas el objetivo es obtener la máxima información del modelo utilizando únicamente su estructura y marcado inicial.

Los métodos de álgebra lineal son utilizados para determinar las propiedades de la red.

La ecuación de estado de una red de Petri se define:El marcado Mk se define como un vector columna m × 1.La j−esima entrada de Mk denota el número de señales en el lugar j

inmediatamente después del k−esimo disparo en la secuencia de disparos.

Contenido 22

Page 27: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

El k−esimo disparo o vector de control uk es un vector columna de n × 1, con n−1 ceros y una entrada 1 en la i−esima posición, indicando el disparo de la transición i.

Esto es, la i−esima fila de la matriz de incidencia C denota el cambio de marcado como el resultado del disparo de la transición i, luego la ecuación de estado para la red de Petri se escribe como sigue:

Mk = Mk−1 + CT uk, k = 1, 2, 3, ….El marcado de una red de Petri puede ser cambiado cada vez que una

transición se dispara. Si no ocurre un bloqueo, el número de disparos es ilimitado. Sin embargo, no todos los marcados pueden ser alcanzados y no todas las secuencias de disparos pueden ser llevadas a cabo. Las restricciones son dadas por los invariantes de la red. Un marcado invariante es obtenido si la suma de los pesos de el marcado de un subconjunto de lugares en una red es siempre constante. Los lugares contenidos en este subconjunto son llamados componentes conservativos y el vector que contiene los pesos es P-Invariante. Si el disparo de una cierta secuencia de transiciones resulta en el mismo marcado como cuando inició, la secuencia es llamada componente repetitivo. El vector característico de la secuencia de disparos es el T-Invariante.

Contenido 23

Page 28: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Tipos de red

RdP con pesoPermite que multiples tokens puedan ser quitados/agregados cuando

se dispara una transición. Las aristas están etiquetadas con el peso (número de tokens). Si no hay ningún valor se asume que es 1.

RdP con TiempoLas Redes de Petri no incluyen concepto alguno de tiempo, por ello,

solamente es posible describir solamente la estructura lógica de los sistemas y no su evolución temporal.

La introducción del tiempo en el modelo permite la descripción de comportamientos dinámicos de los sistemas, considerando la evolución de estados y la duración de cada acción tomada por el sistema. Hay múltiples formas diferentes de introducir el concepto de tiempo.

Una primera posibilidad consiste en asociar a cada transición un número que indica, en alguna unidad temporal adecuada, el retardo entre la habilitación y el disparo de la transición. Una RdP Temporizada puede ser definida como:

TPN = {P, T, A, M0, Q} donde P, T, A y M0 se definen como antes Q=(q1, q2,…,qm) es el conjunto de retardos asociados a las

transiciones.Una segunda posibilidad para la introducción del concepto de tiempo

consiste en asignar un retardo q al proceso de convertir una ficha en disponible luego que la misma llega a un nuevo lugar. Por ello, cada ficha puede estar en uno de dos estados: disponible y no disponible; solamente fichas disponibles habilitan transiciones. La falta de disponibilidad de una ficha modela el tiempo utilizado desarrollando una actividad. En esta abstracción, el tiempo es asociado a los lugares.

La adición de tiempos en las Redes de Petri es un proceso crítico y se deberá prestar atención especial a la comprensión total de la semántica del modelo y a los detalles de su comportamiento.

Existe una amplia variedad de extensiones adicionales, que básicamente consisten en adicionar tiempos a las diferentes componentes del grafo bipartito que constituye la red.

RdP coloreadasEn general, los tokens representan objetos (recursos, personas, etc)

en el modelado de un sistema. Para representar los atributos de estos objetos, se utilizan las RdP coloreadas, donde los colores representan las características de los objetos modelados. Las transiciones usan los valores de los tokens adquiridos para determinar los valores de los tokens producidos.

Contenido 24

Page 29: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Una transición describe la relación entre los valores de los tokens. Es posible especificar precondiciones, utilizando el color de los tokens para ser consumidos.

RdP jerárquicasLas especificaciones de sistemas reales tienen una tendencia a ser

grandes y complejos. Un mecanismo de abstracción, la estructuración jerárquica, se utiliza para poder modificar fácilmente el modelo. La construcción jerárquica se llama subred.

Una subred es un agregado de número de lugares y transiciones. Se puede utilizar para estructurar grandes procesos. Cada subred se representa con un rectángulo que encapsula parte del modelo general.

En determinados niveles, se quiere dar una simple descripción de un proceso (sin considerar todos los detalles). Pero a otro nivel quizás, se quiera especificar un comportamiento mas detallado.

EstocásticasLos modelos de rendimiento tratan de representar el comportamiento

de sistemas determinísticos complejos por medio de procesos estocásticos. De esta forma es posible evitar una detallada descripción determinística de las operaciones del sistema, sustituyéndola por asunciones probabilísticas, que capturen la esencia del sistema.

Las Redes de Petri Estocásticas (SPN) se obtienen asociando con cada transición en una RdP una variable aleatoria con distribución exponencial que exprese el retardo desde la habilitación hasta el disparo de la transición. Eliminando las variables aleatorias de una SPN se obtiene la RdP asociada.

Consideremos una SPN y un marcado M en el cual múltiples transiciones están simultáneamente habilitadas. La transición que tiene asociado el retardo más breve disparará primero. La SPN alcanza un nuevo marcado M’, en el cual algunas transiciones estuvieron habilitadas en el marcado M pero que no fueron disparadas y pueden aun estar habilitadas. Debido a la propiedad de falta de memoria de las variables aleatorias exponencialmente distribuidas, obtenemos una distribución de vida igual a la distribución del retardo de disparo en sí mismo. Se puede asumir que la actividad asociada con cada transición recomienza con cualquier nuevo marcado. Esto es válido inclusive cuando se está modelando actividades que se suceden en forma continua: el modelo no “siente” la repetición de actividades asociadas con una transición.

Una definición formal de una SPN es:SPN = {P, T, A, M0, L} donde P, T, A y M0 se definen como las RdP ordinarias y L=(l1, l2,…,lm) es el conjunto de tasas de retardos asociados con las

transiciones, posiblemente dependientes del marcado, asociadas con las transiciones de la Red de Petri.

Cuando sea necesario, la dependencia con un marcado dado M se representará como lj(M).

Contenido 25

Page 30: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicios

Ejercicio Nº 1:Represente gráficamente a la siguiente RdP:R1 = (P, T, F, M)P = { p1, p2, p3, p4, p5, p6, p7, p8, p9}T = {t1, t2, t3, t4, t5, t6}I(t1) = { p1}I(t2) = { p8}I(t3) = { p2, p5}I(t4) = { p3 }I(t5) = { p6, p7}I(t6) = { p4, p9}O(t1) = { p2, p3}O(t2) = { p1, p7}O(t3) = { p6}O(t4) = { p4}O(t5) = { p9 }O(t6) = { p5, p8}M0 (P) = (5, 0, 0, 0)

Ejercicio Nº 2:Defina formalmente la siguiente RdP:

Contenido 26

Page 31: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 24

p2

p1

t1

p3

t2

t3

p4

p5

t4

Ejercicio

número 2.

Ejercicio Nº 3:a. Dada la siguiente RdP, indique cuál es la matriz de incidencia

previa y la matriz de incidencia posterior.Figura 25 Ejercicio 1.

b. Dado el marcado inicial 0 = (0, 1, 0, 0) indique cuáles de los siguientes son marcados son alcanzables desde 0.

a. = (w, 1, 0, 0), w >=0b. = (w1, 0, 1, w2), w1 >=0, w2 >=0c. = (0, 1, 1, w), w >=0

Contenido 27

Page 32: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

d. = (w1, 0, 0, w2), w1 >=0, w2 >=0

Ejercicio Nº 4:Dadas las siguientes redes de Petri, indicar cuáles de ellas pueden

entrar en deadlock. (si al menos existe un marcado en el cual no se puede disparar ninguna transición, entonces la red entra en deadlock)

En caso de que así sea dar una secuencia de disparos que lleve a esta situación.

Figura 26 Ejercicio 2 a.

Figura 27 Ejercicio 2 b.

Ejercicio Nº 5:Construya una red de Petri para especificar el funcionamiento de una

máquina expendedora de bebidas. La misma tiene un depósito de bebidas con una cierta carga inicial, y un depósito de monedas el cual inicialmente se encuentra vacío.

Cuando se le ingresa una moneda y hay bebidas, la máquina entrega una bebida y almacena la moneda en el depósito correspondiente.

¿Cómo modelaría la situación de que cuando no hay más bebidas la máquina retorne la moneda?

Contenido

28

Page 33: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicio Nº 6:Existen pequeñas diferencias entre los sistemas de luces de tránsito

en diferentes países. Por ejemplo, el sistema de luces alemán tiene una fase extra en su ciclo. Las luces no cambian repentinamente de rojo a verde sino que antes de pasar al verde enciende la luz verde junto con la luz amarilla.

Construya una red de Petri que se comporte como el sistema de luces de tránsito alemán. Asegúrese que la red no permita transiciones que no son posibles.

Ejercicio Nº 7:a. Construya una red de Petri para especificar el funcionamiento de

un sistema de control de barreras de un paso a nivel.Cuando un tren se acerca, éste es detectado por un sensor que

ocasiona que se baje la barrera del paso a nivel. Cuando se aleja el tren, es detectado por otro sensor que ocasiona que se eleve la barrera. Si la barrera está elevada, los vehículos que lleguen al paso a nivel pueden pasar a través de él, en caso contrario deben esperar hasta que la barrera sea levantada.

b. Verifique que el modelo construido no permita la situación en la que la barrera se encuentre alta, arribe un tren y un vehículo, y se le dé el paso al vehículo antes de bajar la barrera. Si no es así modifíquelo para que no se dé dicha situación.a. Construya una red de Petri para especificar el funcionamiento de un sistema de control de barreras de un paso a nivel.

Ejercicio Nº 8:Usando alguna de las extensiones estudiadas, construya una Redes

de Petri que describa el siguiente problema: Un proceso despachador de mensajes recibe mensajes provenientes de dos canales diferentes. Verifica la paridad de cada mensaje. Si la paridad es incorrecta, envía un aviso de no-reconocimiento del mensaje a través de un canal de respuesta (existe un canal de respuesta por cada canal de entrada); si la paridad es correcta, coloca el mensaje recibido en un buffer. El buffer puede contener hasta diez mensajes. Cuando el buffer está lleno, el despachador envía todo el contenido del buffer a una unidad de procesamiento a través de otro canal. No se pueden colocar mensajes en un buffer lleno.

Ejercicio Nº 9:Resuelva mediante una RdP el siguiente problema:Un grupo de 5 filósofos se encuentran sentados en una mesa circular

donde ha sido depositada comida china. Cada filósofo tiene frente a él un plato donde servirse y entre cada uno de ellos un palillo chino. Como sabemos, para comer comida china necesitamos dos palillos, entonces cada filósofo para comer debe tener dos palillos en su poder.

El problema está en que si cada filósofo tiene un sólo palillo en su poder todos los filósofos entrarán en una espera eterna para comer, otro problema puede surgir y es el que un filósofo obtenga siempre los dos

Contenido 29

Page 34: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

palillos y se mantenga comiendo, lo que producirá que los otros filósofos no puedan comer.

Ejercicio Nº 10:Tres fumadores están representados por los procesos F1, F3 y F3.

Tres vendedores están representados por los procesos V1, V2 y V3. Para fumarc cada fumador necesita tabaco, papel para tabaco y un fósforo; cuando dispone de estos recursos, el fumador fuma un cigarrillo hasta terminarlo y entonces queda elegible para fumar de nuevo. F1 tiene tabaco, F2 tiene papel y F3 tiene fósforos. V1 vende tabaco y papel, V2 vende papel para tabaco y fósforos, y V3 vende fósforos y tabaco. V1, V3 y V3 trabajan en exclusión mutua; sólo uno de los procesos puede trabajar a la vez y el siguiente vendedor no puede trabajar hasta que los recursos suministrados por el vendedor anterior hayan sido consumidos por un fumador.

A partir de este enunciado, dibuje una RdP que represente el problema y sus matrices de incidencia previa y posterior.

Contenido 30

Page 35: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Respuestas a los ejercicios

Ejercicio 3:Matriz de incidencia previa (P t)

t1 t2 t3 t4P1 0 1 0 0P2 0 1 0 0P3 0 0 1 0P4 0 0 0 1

Matriz de incidencia posterior (t P)t

1t

2t

3t

4P

11 0 0 0

P2

0 0 1 0

P3

0 1 0 0

P4

0 0 1 0

a. Marcado alcanzable.b. Marcado alcanzable.c. Marcado no alcanzable.d. Marcado no alcanzable.

Ejercicio 4:a) nob) no

Contenido 31

Page 36: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicio 5:Figura 28

p1t1

t3

p2

p4

p3

t2Ingresa moneda

Depósito provisorio

Bebidas

Depósito de monedas

Salida de monedas

p5

Salida de bebidas

Respuesta al ejercicio 5 Máquina expendedora de bebidas.

Contenido 32

Page 37: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicio 6:Figura 29

p1

t1

p2

p3

t2

p4

p5 t3t4

Rojo

Verde

Amarillo

Verde

Amarillo

Respuesta al ejercicio 6. Semáforo alemán

Contenido 33

Page 38: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicio 7:Figura 30

p1 p2

p3

t1

t2 p4 t3p5

t5

p7

t6 p8

p6 t4

Tren acercándose Sensor A

Sensor B

Barrera en alto

Barrera baja

Tren alejándose

Automóviles para cruzar

Automóviles que cruzaron

Respuesta al ejercicio 7. Sistema de control de barreras de un paso a nivel.

Ejercicio 8:Se utilizaron RdP coloreadas para identificar los mensajes que

circulan por distintos canales. En rojo los mensajes del canal A y en azul los mensajes del canal B.

Contenido 34

Page 39: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Figura 31

p2

p1

t2

t1

t5p3

p8

p7

t7

p6

t8

t6

t9

t3 p4 t4 p5

Canal A

Canal B

Calcular paridad

Mensajes con errores

BufferK = 10

Unidad de procesamiento

K = 10

Canal A de error

Canal B de error

Respuesta al ejercicio 8. Despachador de mensajes.

Ejercicio 9:Matriz de incidencia previa

V1 V2 V3 F1 F2 F31 1 1 1 0 0 02 0 0 0 0 0 13 0 0 0 1 0 04 0 0 0 0 1 0

Matriz de incidencia posteriorV

1V

2V

3F

1F

2F

31 0 0 0 1 1 12 1 0 0 0 0 03 0 1 0 0 0 04 0 0 1 0 0 0

Contenido 35

Page 40: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Ejercicio 10:Figura 32

p2

V1 V2 V3

p2 p2 p2

F3 F1 F2

Respuesta al ejercicio 10.

Contenido 36

Page 41: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Glosario

Conjuntos{e1, e2, . . . , en}

Conjunto formado por los elementos e1, e2, . . . , en, (por extensión)

(e|r) Conjunto formado por los elementos e que cumplen la propiedades r (notación por comprensión)

∈ Pertenencia No pertenencia Conjunto vacíoA U B Unión de los conjuntos A y BA B Intersección de los conjuntos A y BA X B Producto cartesiano de A por B [conjunto de los pares (a,

b), a∈A y b∈B]A ⊂ B Inclusión del conjunto A en el conjunto BA ⊆ B Inclusión o igualdad del conjunto A en el conjunto B

Lógica∃ Existe (cuantificador existencial)∀ Para todo (cuantificador universal)⇒ Implica.⇔ Sí y solo sí.

Contenido 37

Page 42: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

Índice de imágenes

FIGURA 1 REPRESENTACIÓN GRÁFICA DE UNA RDP....................................................................4FIGURA 2 RED DE PETRI CON CUATRO LUGARES Y TRES TRANSICIONES....................................4FIGURA 3 LUGAR ACTIVO............................................................................................................6FIGURA 4 TRANSICIÓN SENSIBILIZADA.......................................................................................6FIGURA 5 TRANSICIÓN VALIDADA..............................................................................................7FIGURA 6 EVOLUCIÓN DEL MARCADO DE LA RED DEL EJEMPLO 1.............................................7FIGURA 7 ESTRUCTURA BÁSICA. SELECCIÓN..............................................................................8FIGURA 8 ESTRUCTURA BÁSICA. ATRIBUCIÓN............................................................................8FIGURA 9 ESTRUCTURA BÁSICA. DISTRIBUCIÓN.........................................................................9FIGURA 10 ESTRUCTURA BÁSICA. CONJUNCIÓN.........................................................................9FIGURA 11 ESTRUCTURA BÁSICA. EJECUCIÓN SECUENCIAL.......................................................9FIGURA 12 ESTRUCTURA BÁSICA. SINCRONIZACIÓN................................................................10FIGURA 13 ESTRUCTURA BÁSICA. CONCURRENCIA..................................................................10FIGURA 14 ESTRUCTURA BÁSICA. CONFLICTOS........................................................................10FIGURA 15 ESTRUCTURA BÁSICA. ARCOS INHIBIDORES...........................................................11FIGURA 16 EJEMPLO DE UNA RDP NO VIVA..............................................................................13FIGURA 17 EJEMPLO DE UNA RDP PSEUDOVIVA.......................................................................14FIGURA 18 EJEMPLO DE UNA RDP NO REVERSIBLE..................................................................15FIGURA 19 EJEMPLO DE UNA RDP NO ACOTADA......................................................................16FIGURA 20 EJEMPLO DE UNA RDP CON SU GRAFO DE ALCANZABILIDAD.................................17FIGURA 21 TÉCNICA ENUMERATIVA DE VALIDACIÓN...............................................................18FIGURA 22 VALIDACIÓN DE UNA RDP......................................................................................18FIGURA 23 TÉCNICA DE TRANSFORMACIÓN DE VALIDACIÓN....................................................19FIGURA 24 EJERCICIO NÚMERO 2..............................................................................................23FIGURA 25 EJERCICIO 1.............................................................................................................24FIGURA 26 EJERCICIO 2 A.........................................................................................................24FIGURA 27 EJERCICIO 2 B..........................................................................................................25FIGURA 28 RESPUESTA AL EJERCICIO 5 MÁQUINA EXPENDEDORA DE BEBIDAS.......................28FIGURA 29 RESPUESTA AL EJERCICIO 6. SEMÁFORO ALEMÁN..................................................28FIGURA 30 RESPUESTA AL EJERCICIO 7. SISTEMA DE CONTROL DE BARRERAS DE UN PASO A NIVEL. 29FIGURA 31 RESPUESTA AL EJERCICIO 8. DESPACHADOR DE MENSAJES....................................29Figura 32 Respuesta al ejercicio 10........................................................................................30

Contenido 38

Page 43: Intro Ducci on Alas Rd p

Apunte de Redes de Petri

BibliografíaRamchandan, C.. “Analysis of Asynchronous concurrent systems by timed petri nets”, MIT MAC-TR-120, 1974.Jair, Cervantes Canales. Representación y aprendizaje de conocimiento con redes de Petri difusas. Mexico 2005.Jensen K., “Colored Petri nets and the invariant method”, Theoretical Computer Science, volume 14, 1981, pp. 317-336.Murata, Tadao. “Petri Nets: properties, analysis and applications”. Proceedings of the IEEE, VOL. 77, No. 4. April 1989.Peterson, J.L. Petri net theory and the modeling of systems. Prentice-Hall. 1981.

Contenido 39