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

Intro Ducci on Alas Rd p

Embed Size (px)

DESCRIPTION

redes petri

Citation preview

Apunte de Redes de Petri

Teora de Redes de Petri

Autores:Prog. Catalina SalvatiProg. Leandro Cofre

Prog. Francisco SurezBase terica del proyecto final de la carrera de Lic. en Sistemas

Universidad FASTA Bariloche

ndice1Introduccin

2Contenido

3Definiciones

3Definicin formal

3Ejemplo:

4Representacin

4Representacin grfica

5Representacin matricial

6Marcado

6Evolucin de marcado

8Estructuras bsicas

8Seleccin

8Atribucin

8Distribucin

9Conjuncin

9Ejecucin Secuencial

9Sincronizacin

10Concurrencia

10Conflictos recursos compartidos

11Arcos inhibidores:

12Propiedades

12Propiedades estructurales

12Grafo de estados

12Grafo marcado

12Red de libre eleccin

12Red simple

12RdP Pura

12Red de Petri Acotada Estructuralmente

12Red de Petri Estructuralmente Viva

12Red de Petri Completamente Controlable

13Red de Petri Estructuralmente Conservativa

13Red de Petri (parcialmente) Repetitiva

13Red de Petri (parcialmente) Consistente

13Propiedades de comportamiento

13Vivacidad

14Ciclicidad

15Acotamiento o limitacin

16Conservatividad

16Alcanzabilidad

18Mtodos de Anlisis

18Tcnicas Enumerativas

19Tcnicas de Transformacin

19Tcnicas Estructurales

21Tipos de red

21RdP con peso

21RdP con Tiempo

21RdP coloreadas

22RdP jerrquicas

22Estocsticas

23Ejercicios

23Ejercicio N 1:

23Ejercicio N 2:

24Ejercicio N 3:

24Ejercicio N 4:

25Ejercicio N 5:

25Ejercicio N 6:

25Ejercicio N 7:

26Ejercicio N 8:

26Ejercicio N 9:

26Ejercicio N 10:

27Respuestas a los ejercicios

27Ejercicio 3:

27Ejercicio 4:

28Ejercicio 5:

28Ejercicio 6:

29Ejercicio 7:

29Ejercicio 8:

29Ejercicio 9:

30Ejercicio 10:

31Glosario

31Conjuntos

31Lgica

32ndice de imgenes

33Bibliografa

IntroduccinLas Redes de Petri (RdP) son una teora matemtica postulada por el alemn Carl Adam Petri que proporciona una herramienta grfica de modelado para la descripcin formal de sistemas cuya dinmica se caracteriza por la concurrencia, sincronizacin, exclusin mutua y conflictos, las cuales son caractersticas tpicas de sistemas distribuidos.

La principal aplicacin de las redes de Petri es el modelado y el anlisis de sistemas con componentes concurrentes que interactan. Un modelo es una representacin de las caractersticas ms importantes de un sistema de estudio. Manipulando esta representacin, se pueden obtener nuevos conocimientos del sistema modelado sin ningn 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 anlisis conlleva a una mejor comprensin del comportamiento del sistema modelado. Para realizar el anlisis de las propiedades de una red de Petri se han desarrollado diferentes tcnicas, que permiten la verificacin de las propiedades que el sistema construido posea.Las RdP se han utilizado en distintas reas de aplicacin como en qumica, redes informticas, Inteligencia artificial, trnsito, etc.ContenidoEn este documento, se describen los fundamentos de la teora de redes de Petri.

En la primer parte se ven las definiciones bsicas de RdP y los modos de representacin.

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

Tambin se darn a conocer las propiedades, extensiones y mtodos de anlisis.

Finalmente se proponen ejercicios para resolver.DefinicionesUna 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 descripcin funcional de sistemas concurrentes los marcados representan estados y las transiciones sucesos, que dependen del cumplimiento de determinadas condiciones.

Definicin formal

Se 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 vaco de lugares

T = {t1, t2, , tn} es un conjunto finito no vaco de transiciones

P ( T = (F (P X T) U (T X P) es un conjunto de arcos dirigidos, donde para cada transicin obtenemos dos funciones Input(t) y Output(t):

I(ti) = {px, , py} conjunto de los lugares de entrada de la transicin ti

O(ti) = {px, , py} conjunto de los lugares de salida de la transicin tiMi: P({0,1,2,} es el marcado inicial de la red // define un nmero 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)Representacin

Toda herramienta de modelado tiene una o mas formas de ser representada. En el caso de las RdP se pueden encontrar, una representacin grfica y otra matricial.

Representacin grfica

A una RdP podemos asociarle un grafo dirigido con dos clases disjuntas de nodos, los lugares y las transiciones. Un crculo representa un lugar, una barra representa una transicin y un arco dirigido conecta lugares y transiciones. Algunos arcos van desde un lugar a una transicin y otros desde una transicin a un lugar. Un arco dirigido desde un lugar p a una transicin t, define p como un lugar de entrada para t. Un lugar de salida se indica con un arco desde la transicin 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 Representacin grfica de una Rdp.Dada la RdP del Ejemplo anterior, obtenemos la representacin grfica:

Figura 2 Red de Petri con cuatro lugares y tres transiciones.

Representacin matricial

Una transicin tiene un determinado nmero 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 conexin 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| (nmero de lugares de P) y m = |T| (nmero de transiciones de T).

Se denominan:

Matriz de incidencia previa: C = [cij]nm en la que cij = Pre(pi, tj).

Matriz de incidencia posterior: C+ = [c+ij]nm en la que c+ij = Post(ti, pj).

Matriz de incidencia de N: C = C+ C.

Siguiendo con el ejemplo de la definicin, obtenemos la matriz de Incidencia previa y matriz de incidencia posterior:C- = Pre(pi, tj) =100C+ = Post(pi, tj) =000

011111

000000

000000

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}

Marcado

Un marcado es una funcin 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 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

Evolucin de marcado

A las transiciones se les asocian eventos (funciones lgicas de las variables de entrada). El marcado cambia al disparar las transiciones. Para disparar una transicin ha de estar validada y sensibilizada.

Una transicin se dice que est sensibilizada cuando todos sus lugares origen estn marcados.

Figura 4 Transicin sensibilizada.Formalmente, una transicin 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 transicin, se dice que la transicin est validada.

Figura 5 Transicin validada.

Regla de evolucin del marcado:

Si t est habilitada para un marcado M entonces t puede dispararse. Cuando una transicin se dispara desaparecen las marcas de los lugares origen y se aade una marca a cada uno de los lugares destino. En la operacin 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 aadir Post(t, p) marcas a cada lugar p t. El cambio en el marcado esta dado por la ecuacin:M0(p) = M(p) Pre(p, t) + Post(t, p), p PCada disparo de una transicin modifica la distribucin de las marcas, y por ello produce un nuevo marcado en la red.

Siguiendo con el ejemplo de la definicin, al disparar la transicin t1, obtenemos:

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

51000004

00111111

00000000

00000000

Figura 6 Evolucin del marcado de la red del ejemplo 1.Estructuras bsicasSeleccin

Selecciona el proceso a ejecutar

Figura 7 Estructura bsica. Seleccin.Atribucin

Ejecucin independiente de un proceso por dos procesos distintos

Figura 8 Estructura bsica. Atribucin.Distribucin

Ejecucin de procesos paralelos o concurrentes

Figura 9 Estructura bsica. Distribucin.Conjuncin

Sincronizacin de procesos en paralelo.

Figura 10 Estructura bsica. Conjuncin.Ejecucin Secuencial

La transicin t2 puede ser disparada siempre que sea antes disparado t1.

Figura 11 Estructura bsica. Ejecucin secuencial.SincronizacinLa transicin t1 estar habilitada para ser disparada ( todos los nodos de entrada de la transicin t1 poseen al menos una marca en cada uno de ellos.

Esto ocurre principalmente en la electrnica. Ej: El en circuito AND las dos entradas producen una salida lgica.

Figura 12 Estructura bsica. Sincronizacin.Concurrencia

Las transiciones t2 y t3 son concurrentes. Con esta propiedad, las RdP es capaz de modelar sistemas de control distribuido con mltiples procesos ejecutndose concurrentemente.

Figura 13 Estructura bsica. 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 ejecucin 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.

Figura 14 Estructura bsica. Conflictos.Tanto la transicin t1 como t2 estn listas para ser disparadas, pero el disparo de alguna de ellas produce que la otra transicin quede inhabilitada para ser disparada.

Arcos inhibidores: Estos tipos de arcos se relacionan con la transicin a ser inhibida y con el lugar que, de tener una marca, va a impedir el disparo de la transicin.

Figura 15 Estructura bsica. Arcos inhibidores.

Propiedades

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

Propiedades estructurales

Grafo de estados

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

t T, |t| = |t| = 1Grafo marcado

Un grafo marcado (GM) o grafo de sincronizacin es una RdP que cumple:

p P, |p| = |p| = 1Red de libre eleccin

Una RdP de libre eleccin (RLE) es una RdP que cumple:

p P, si |p| > 1, entonces t p, |t| = 1

Red simple

Una RdP simple (RS) es una RdP que cumple:

p1 p2 = p1 p2 o p1 p2 para toda p1, p2 P.RdP PuraUna RdP N es una red pura si no existe ninguna transicin que tenga un lugar que sea al mismo tiempo de entrada y salida de la transicin:

tj T , pi P, Pre(pi, tj) Post(tj , pi) = 0

Red de Petri Acotada Estructuralmente

Una 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 algn marcado inicial para el que est viva.

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 Conservativa

Una 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 xi0, 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 transicin ocurre un nmero 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 cclica (desde M0 a M0 tal que (alguna) toda transicin ocurre al menos una vez en .Propiedades de comportamientoVivacidadUna transicin 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 transicin disparable y otra transicin no viva. Toda RdP marcada parcialmente viva tiene la posibilidad de evolucin global, independientemente de que existan transiciones que no puedan ser disparadas.

Ejemplo: Una red de Petri no viva.

Figura 16 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 transicin ms, la red queda bloqueada.

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

Ejemplo: RdP Pseudoviva

Figura 17 Ejemplo de una RdP pseudoviva.CiclicidadSe dice que una RdP posee un comportamiento globalmente cclico 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:

Figura 18 Ejemplo de una RdP no reversible.Esta RdP es pseudoviva, adems no tiene la propiedad de reversibilidad ya que el marcado inicial no se puede obtener jams.Acotamiento o limitacinEl significado de esta propiedad es el de asegurar que el sistema que una red representa posee un nmero 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 nmero de estados del sistema representado por una RdP.

Un lugar p es k-acotado para M0 sii existe un nmero 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 consideracin especial la 1-acotacin. 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 ningn lugar tiene un nmero de marcas mayor que k. Las redes 1-acotadas son conocidas como binarias.

Si la red diseada generar ms marcas que las que su acotacin permite el modelado ser errneo.Ejemplo: Una red no acotada:

Figura 19 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 nmero de marcas para cualquier marcado de la red. La definicin anterior implica que el nmero de entradas ha de coincidir con nmero de salidas, es decir: (|I(tj)|) = |O(tj)|), para cada transicin disparable.

AlcanzabilidadLa alcanzabilidad es una base fundamental para estudiar las propiedades dinmicas de cualquier sistema. al dispararse una transicin habilitada, sta cambiar la distribucin 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 alcanzabilidad

Figura 20 Ejemplo de una RdP con su grafo de alcanzabilidad.Mtodos de Anlisis

La validacin consiste en comprobar que se cumplen las propiedades de:- VIVACIDAD; LIMITACIN; REVERSIBILIDAD.

Existen tcnicas para el anlisis de RdP (anlisis cualitativo de redes), que se clasifican normalmente en tres grupos; enumerativas, de transformacin y estructurales.Tcnicas EnumerativasLas tcnicas enumerativas se basan en la generacin del grafo de alcanzabilidad. Estas tcnicas se pueden aplicar en teora, pero en la prctica estn limitadas a sistemas pequeos 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 21 Tcnica enumerativa de validacin.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:

Figura 22 Validacin 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).

Tcnicas de Transformacin

En segundo lugar se tienen las tcnicas de transformacin. En este grupo de tcnicas el objetivo es reducir el tamao de los modelos mediante reglas de reduccin que preserven las propiedades que se quieren estudiar. En la figura puede observarse un conjunto sencillo de seis reglas de reduccin que preservan vivacidad y k-limitacin.

Reglas de reduccin que presentan vivacidad y k-limitacin:

Figura 23 Tcnica de transformacin de validacin.Con este conjunto de reglas es posible reducir la complejidad del clculo de la vivacidad y limitacin de un sistema.

Tcnicas Estructurales

En tercer lugar se tienen las tcnicas estructurales. En este grupo de tcnicas el objetivo es obtener la mxima informacin del modelo utilizando nicamente su estructura y marcado inicial.

Los mtodos de lgebra lineal son utilizados para determinar las propiedades de la red.

La ecuacin de estado de una red de Petri se define:El marcado Mk se define como un vector columna m 1.

La jesima entrada de Mk denota el nmero de seales en el lugar j inmediatamente despus del kesimo disparo en la secuencia de disparos.

El kesimo disparo o vector de control uk es un vector columna de n 1, con n1 ceros y una entrada 1 en la iesima posicin, indicando el disparo de la transicin i.

Esto es, la iesima fila de la matriz de incidencia C denota el cambio de marcado como el resultado del disparo de la transicin i, luego la ecuacin de estado para la red de Petri se escribe como sigue:

Mk = Mk1 + CT uk, k = 1, 2, 3, .

El marcado de una red de Petri puede ser cambiado cada vez que una transicin se dispara. Si no ocurre un bloqueo, el nmero 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 caracterstico de la secuencia de disparos es el T-Invariante.Tipos de red

RdP con pesoPermite que multiples tokens puedan ser quitados/agregados cuando se dispara una transicin. Las aristas estn etiquetadas con el peso (nmero de tokens). Si no hay ningn valor se asume que es 1.RdP con Tiempo

Las Redes de Petri no incluyen concepto alguno de tiempo, por ello, solamente es posible describir solamente la estructura lgica de los sistemas y no su evolucin temporal.

La introduccin del tiempo en el modelo permite la descripcin de comportamientos dinmicos de los sistemas, considerando la evolucin de estados y la duracin de cada accin tomada por el sistema. Hay mltiples formas diferentes de introducir el concepto de tiempo.

Una primera posibilidad consiste en asociar a cada transicin un nmero que indica, en alguna unidad temporal adecuada, el retardo entre la habilitacin y el disparo de la transicin. 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 introduccin 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 abstraccin, el tiempo es asociado a los lugares.

La adicin de tiempos en las Redes de Petri es un proceso crtico y se deber prestar atencin especial a la comprensin total de la semntica del modelo y a los detalles de su comportamiento.

Existe una amplia variedad de extensiones adicionales, que bsicamente 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 caractersticas de los objetos modelados. Las transiciones usan los valores de los tokens adquiridos para determinar los valores de los tokens producidos.

Una transicin describe la relacin entre los valores de los tokens. Es posible especificar precondiciones, utilizando el color de los tokens para ser consumidos.RdP jerrquicasLas especificaciones de sistemas reales tienen una tendencia a ser grandes y complejos. Un mecanismo de abstraccin, la estructuracin jerrquica, se utiliza para poder modificar fcilmente el modelo. La construccin jerrquica se llama subred.

Una subred es un agregado de nmero de lugares y transiciones. Se puede utilizar para estructurar grandes procesos. Cada subred se representa con un rectngulo que encapsula parte del modelo general.En determinados niveles, se quiere dar una simple descripcin de un proceso (sin considerar todos los detalles). Pero a otro nivel quizs, se quiera especificar un comportamiento mas detallado.EstocsticasLos modelos de rendimiento tratan de representar el comportamiento de sistemas determinsticos complejos por medio de procesos estocsticos. De esta forma es posible evitar una detallada descripcin determinstica de las operaciones del sistema, sustituyndola por asunciones probabilsticas, que capturen la esencia del sistema.

Las Redes de Petri Estocsticas (SPN) se obtienen asociando con cada transicin en una RdP una variable aleatoria con distribucin exponencial que exprese el retardo desde la habilitacin hasta el disparo de la transicin. Eliminando las variables aleatorias de una SPN se obtiene la RdP asociada.

Consideremos una SPN y un marcado M en el cual mltiples transiciones estn simultneamente habilitadas. La transicin que tiene asociado el retardo ms 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 distribucin de vida igual a la distribucin del retardo de disparo en s mismo. Se puede asumir que la actividad asociada con cada transicin recomienza con cualquier nuevo marcado. Esto es vlido inclusive cuando se est modelando actividades que se suceden en forma continua: el modelo no siente la repeticin de actividades asociadas con una transicin.

Una definicin 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).Ejercicios

Ejercicio N 1:

Represente grficamente 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:

Figura 24 Ejercicio nmero 2.Ejercicio N 3:

a. Dada la siguiente RdP, indique cul 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 cules de los siguientes son marcados son alcanzables desde 0.

a. = (w, 1, 0, 0), w >=0

b. = (w1, 0, 1, w2), w1 >=0, w2 >=0

c. = (0, 1, 1, w), w >=0

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

Ejercicio N 4:

Dadas las siguientes redes de Petri, indicar cules de ellas pueden entrar en deadlock. (si al menos existe un marcado en el cual no se puede disparar ninguna transicin, entonces la red entra en deadlock) En caso de que as sea dar una secuencia de disparos que lleve a esta situacin.

Figura 26 Ejercicio 2 a. Figura 27 Ejercicio 2 b.Ejercicio N 5:

Construya una red de Petri para especificar el funcionamiento de una mquina expendedora de bebidas. La misma tiene un depsito de bebidas con una cierta carga inicial, y un depsito de monedas el cual inicialmente se encuentra vaco.

Cuando se le ingresa una moneda y hay bebidas, la mquina entrega una bebida y almacena la moneda en el depsito correspondiente.

Cmo modelara la situacin de que cuando no hay ms bebidas la mquina retorne la moneda?

Ejercicio N 6:

Existen pequeas diferencias entre los sistemas de luces de trnsito en diferentes pases. Por ejemplo, el sistema de luces alemn 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 trnsito alemn. Asegrese 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 vehculos que lleguen al paso a nivel pueden pasar a travs de l, en caso contrario deben esperar hasta que la barrera sea levantada.

b. Verifique que el modelo construido no permita la situacin en la que la barrera se encuentre alta, arribe un tren y un vehculo, y se le d el paso al vehculo antes de bajar la barrera. Si no es as modifquelo para que no se d dicha situacin.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, enva un aviso de no-reconocimiento del mensaje a travs 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 enva todo el contenido del buffer a una unidad de procesamiento a travs 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 filsofos se encuentran sentados en una mesa circular donde ha sido depositada comida china. Cada filsofo 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 filsofo para comer debe tener dos palillos en su poder.

El problema est en que si cada filsofo tiene un slo palillo en su poder todos los filsofos entrarn en una espera eterna para comer, otro problema puede surgir y es el que un filsofo obtenga siempre los dos palillos y se mantenga comiendo, lo que producir que los otros filsofos no puedan comer.Ejercicio N 10:Tres fumadores estn representados por los procesos F1, F3 y F3. Tres vendedores estn representados por los procesos V1, V2 y V3. Para fumarc cada fumador necesita tabaco, papel para tabaco y un fsforo; 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 fsforos. V1 vende tabaco y papel, V2 vende papel para tabaco y fsforos, y V3 vende fsforos y tabaco. V1, V3 y V3 trabajan en exclusin mutua; slo 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.Respuestas a los ejercicios

Ejercicio 3:Matriz de incidencia previa (P ( t)

t1t2t3t4

P10100

P20100

P30010

P40001

Matriz de incidencia posterior (t ( P)

t1t2t3t4

P11000

P20010

P30100

P40010

a. Marcado alcanzable.

b. Marcado alcanzable.

c. Marcado no alcanzable.

d. Marcado no alcanzable.

Ejercicio 4:a) no

b) no

Ejercicio 5:

Figura 28 Respuesta al ejercicio 5 Mquina expendedora de bebidas.

Ejercicio 6:

Figura 29 Respuesta al ejercicio 6. Semforo alemn

Ejercicio 7:

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

Figura 31 Respuesta al ejercicio 8. Despachador de mensajes.

Ejercicio 9:Matriz de incidencia previa

V1V2V3F1F2F3

1111000

2000001

3000100

4000010

Matriz de incidencia posterior

V1V2V3F1F2F3

1000111

2100000

3010000

4001000

Ejercicio 10:

Figura 32 Respuesta al ejercicio 10.

Glosario

Conjuntos{e1, e2, . . . , en}Conjunto formado por los elementos e1, e2, . . . , en, (por extensin)

(e|r)Conjunto formado por los elementos e que cumplen la propiedades r (notacin por comprensin)

Pertenencia

(No pertenencia

(Conjunto vaco

A U BUnin de los conjuntos A y B

A ( BInterseccin de los conjuntos A y B

A X BProducto cartesiano de A por B [conjunto de los pares (a, b), aA y bB]

A BInclusin del conjunto A en el conjunto B

A BInclusin o igualdad del conjunto A en el conjunto B

Lgica

Existe (cuantificador existencial)

Para todo (cuantificador universal)

Implica.

S y solo s.

ndice de imgenes

4Figura 1Representacin grfica de una Rdp.

4Figura 2Red de Petri con cuatro lugares y tres transiciones.

6Figura 3Lugar activo.

6Figura 4Transicin sensibilizada.

7Figura 5Transicin validada.

7Figura 6Evolucin del marcado de la red del ejemplo 1.

8Figura 7Estructura bsica. Seleccin.

8Figura 8Estructura bsica. Atribucin.

9Figura 9Estructura bsica. Distribucin.

9Figura 10Estructura bsica. Conjuncin.

9Figura 11Estructura bsica. Ejecucin secuencial.

10Figura 12Estructura bsica. Sincronizacin.

10Figura 13Estructura bsica. Concurrencia.

10Figura 14Estructura bsica. Conflictos.

11Figura 15Estructura bsica. Arcos inhibidores.

13Figura 16Ejemplo de una RdP no viva.

14Figura 17Ejemplo de una RdP pseudoviva.

15Figura 18Ejemplo de una RdP no reversible.

16Figura 19Ejemplo de una RdP no acotada.

17Figura 20Ejemplo de una RdP con su grafo de alcanzabilidad.

18Figura 21Tcnica enumerativa de validacin.

18Figura 22Validacin de una RdP.

19Figura 23Tcnica de transformacin de validacin.

23Figura 24Ejercicio nmero 2.

24Figura 25Ejercicio 1.

24Figura 26Ejercicio 2 a.

25Figura 27Ejercicio 2 b.

28Figura 28Respuesta al ejercicio 5 Mquina expendedora de bebidas.

28Figura 29Respuesta al ejercicio 6. Semforo alemn

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

29Figura 31Respuesta al ejercicio 8. Despachador de mensajes.

30Figura 32Respuesta al ejercicio 10.

Bibliografa

Ramchandan, C.. Analysis of Asynchronous concurrent systems by timed petri nets, MIT MAC-TR-120, 1974.

Jair, Cervantes Canales. Representacin 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.PAGE