Upload
rociofaby
View
32
Download
0
Embed Size (px)
DESCRIPTION
Modelaje de Sistemas
Citation preview
1
MODELAJE DE SISTEMAS
05-12-2011
CONTENIDO
1. Introducción ........................................................................................................... 5
2. Características básicas de una red de petri ........................................................... 6
3. Estructura de una red de petri................................................................................ 7
4. Grafos de redes de petri ........................................................................................ 8
4.1. Marcas de las redes de petri .................................................................................. 9
4.2. Reglas de ejecución para redes de petri .............................................................. 10
4.3. Estados de las redes de petri ............................................................................... 12
5. Especificación con redes de petri ........................................................................ 13
5.1. Extensión de las redes de petri para tiempo real ................................................. 13
6. Análisis de redes de petri ..................................................................................... 15
7. Estado de redes de petri ...................................................................................... 17
8. Problemas de equivalencia y subconjunto ........................................................... 19
9. Análisis de rp con ecuaciones matriciales............................................................ 20
10. La exclusión mutua .............................................................................................. 24
11. Problemas ............................................................................................................ 25
11.1 el problema del productor y el consumidor .......................................................... 25
11.2. El problema de la lectura y la escritura. ............................................................... 27
12. Ambientes para la especificación y verificación con redes de petri ..................... 27
13. Procesos concurrentes. ....................................................................................... 28
14. Primera aproximacion .......................................................................................... 30
15. Criterios de modelaje ........................................................................................... 32
16. Criterios relacionados en modelaje con redes de petri ........................................ 32
17. Modelo de red de petri segun criterio f ................................................................ 33
18. Modelo de red de petri segun criterio c/e ............................................................ 35
19. Interpretacion de redes marcadas ....................................................................... 37
20. Modelaje de programas mediante redes de petri ................................................. 38
21. Formalizacion de redes de petri ........................................................................... 40
21.1 primera formalizacion de redes de petri .................................................... 40
21.2 segunda formalización redes de petri ........................................................ 43
22.3 tercera formalización redes de petri .......................................................... 44
3
22. Redes de petri interpretadas ................................................................................ 49
23. Ejemplos .............................................................................................................. 51
ejemplo 1 ............................................................................................................ 51
ejemplo 2 ............................................................................................................ 53
ejemplo 3 ............................................................................................................ 57
ejemplo 4 ............................................................................................................ 59
ejemplo 5 ............................................................................................................ 61
24. Aplicaciones de redes de petri ............................................................................. 64
problema 1.- ....................................................................................................... 64
problema 2.- ....................................................................................................... 66
problema 4.- ....................................................................................................... 68
problema 5.- ....................................................................................................... 71
problema 6.- ....................................................................................................... 73
problema 7.- ....................................................................................................... 76
problema 8.- ....................................................................................................... 79
problema 10.- ..................................................................................................... 82
25. Procesos concurrentes. ....................................................................................... 86
26. Primera aproximacion .......................................................................................... 87
27. Criterios de modelaje ........................................................................................... 89
27.1. Criterio f: ............................................................................................... 89
27.2. Criterio c/e: ........................................................................................... 91
28. Propiedades de las redes de petri ....................................................................... 93
28.1. Vivacidad: ............................................................................................. 93
28.2. Ciclicidad: .............................................................................................. 93
28.3. Acotamiento: ......................................................................................... 94
28.4. Conservatibilidad: ................................................................................. 94
28.5. Alcanzabilidad: ...................................................................................... 94
29. Subclases de redes de petri ................................................................................. 94
30. Redes de petri de alto nivel.................................................................................. 95
31. Ejemplos .............................................................................................................. 97
ejemplo 1 : .......................................................................................................... 97
ejemplo 2: ........................................................................................................... 99
ejemplo 3: ......................................................................................................... 101
ejemplo 4: ......................................................................................................... 102
ejemplo 5: ......................................................................................................... 104
ejemplo 6: ......................................................................................................... 106
ejemplo 7: ......................................................................................................... 108
ejemplo 8: ......................................................................................................... 110
ejemplo 9: ......................................................................................................... 112
5
REDES DE PETRI
1. INTRODUCCIÓN
Los fenómenos o procesos físicos son representados mediante un modelo
matemático para su estudio. Mediante la manipulación de este modelo se pueden
adquirir conocimientos del fenómeno modelado sin los riesgos, costos e
inconvenientes de manipular el fenómeno real.
El avance en el desarrollo de los potentes sistemas computacionales actuales ha
acrecentado la utilidad y el uso de estos modelos.
Las redes de Petri como herramienta para especificar sistemas de tiempo real,
reconocen un antecedente en las máquinas de estado, una de las primeras
técnicas para modelar arquitecturas de sistemas de cómputo, basada en la
descripción de un sistema mediante los conceptos de estado y transición.
Esta técnica de especificación se basa en establecer una completa relación entre
el comportamiento de entrada/salida de una máquina y la variación de sus estados
internos, dando una idea de la ocurrencia de las transiciones en respuesta a cada
una de las posibles entradas.
Estos estados son representadas mediante círculos. Un arco desde el estado si al
estado sj etiquetado a/b significa que en el estado si con una entrada a la máquina
cambiará al estado sj obteniendo b como salida. Un alfabeto de entrada define las
entradas desde el mundo externo, mientras un alfabeto de salida define las salidas
de la máquina al mundo externo.
La salida de esta máquina depende tanto de la entrada actual como del estado
actual. Un caso especial de la especificación de la salida es que ésta puede
depender sólo del estado actual. De esta manera, el estado está asociado con un
símbolo de salida particular, aunque varios estados podrían mapearse sobre la
misma salida.
Los sistemas de computadora son con frecuencia muy complejos, largos, y con
varias componentes que interactúan. A pesar de la diversidad de sistemas que
queremos modelizar se pueden señalar varios puntos en común. Una idea
fundamental es que los sistemas están compuestos de módulos o componentes
separadas, e interactuantes. Cada componente puede ser en sí misma un
sistema, pero su comportamiento puede ser descripto en forma independiente de
los otros módulos del sistema, excepto por interacciones bien definidas con las
otras componentes. Cada componente tiene su propio estado. El estado es una
abstracción de la información relevante necesaria para describir sus (futuras)
acciones.
Por otra parte, los sistemas a menudo exhiben situaciones de concurrencia o
paralelismo. Las actividades de una componente de un sistema pueden ocurrir
simultáneamente con las de otros módulos. Dado que las componentes de los
sistemas interactúan, es necesario que haya sincronización. Esto puede resultar
en que una componente esté esperando a otra. El temporizado de acciones de
distintos módulos puede ser muy complejo y las interacciones resultantes entre las
componentes pueden ser difíciles de describir.
La gran limitación de las máquinas de estado se presenta cuando se intentan
modelar sistemas con acciones simultáneas. Si bien podrían representarse cada
una de estas acciones simultáneas como máquinas de estado y luego intentar
unirlas, esta unión no es simple. Se genera un aumento importante en el número
de estados lo que dificulta el manejo y la claridad del diagrama de estados
resultante.
La representación de la concurrencia y la sincronización presentes en un sistema
es más natural utilizando Redes de Petri en lugar de una máquina de estado,
debido a que las mismas poseen un paralelismo inherente.
2. CARACTERÍSTICAS BÁSICAS DE UNA RED DE PETRI
La teoría de Redes de Petri puede ser aplicada a diversas áreas, y sus
fundamentos se están convirtiendo en un tema casi "obligatorio" para los
científicos en computación, analistas de sistemas e ingenieros.
7
Los conceptos básicos de la teoría de Redes de Petri pueden ser entendidos con
una mínima base de conocimientos. Sin embargo, las Redes de Petri abarcan
muchos aspectos de la ciencia de computación y las matemáticas. Una
apreciación y entendimiento completo de la teoría de Redes de Petri requiere una
buena base en el estudio de lenguajes formales y autómatas, sistemas operativos,
arquitectura de computadoras y álgebra lineal.
Las Redes de Petri son una herramienta útil para el estudio de sistemas. La teoría
permite que un sistema sea modelado por una Red de Petri, una representación
matemática del sistema. El análisis de la Red puede revelar importante
información acerca de la estructura y el comportamiento dinámico del sistema
modelizado, la que puede ser usada para evaluarlo y sugerir mejoras o cambios.
3. ESTRUCTURA DE UNA RED DE PETRI
Una Red de Petri consta de cuatro partes: un conjunto de sitios P, un conjunto de
transiciones T, una función de entrada I, y una función de salida O. Las funciones
de entrada y de salida relacionan transiciones y sitios. La función de entrada I es
un mapeado desde una transición tj a una colección de sitios I(tj), conocida como
los sitios de entrada de la transición. La función de salida O mapea una transición
tj en una colección de sitios O(tj), conocida como los sitios de salida de la
transición.
DEF: Una estructura de Red de Petri, C, es una 4-upla, C = (P,T,I,O). P =
{p1,p2,....,pn} es un conjunto finito de sitios, n >= 0. T = {t1,t2, ....,tm} es un
conjunto finito de transiciones, m >= 0. El conjunto de sitios y el conjunto de
transiciones son disjuntos. I: T --> P es la función de entrada, un mapeado de
transiciones en bolsas de sitios. O: T --> P es la función de salida, un mapeado de
transiciones en bolsas de sitios.
Tomemos como ejemplo la siguiente estructura de Red de Petri:
C = (P,T,I,O)
P = {p1, p2, p3, p4}
T = {t1, t2, t3}
I(t1) = {p1} O(t1) = {p2, p3}
I(t2) = {p3} O(t2) = {p3, p4}
I(t3) = {p2,p3} O(t3) = {p4}
Un sitio pi es un sitio de entrada de una transición tj si pi δI(tj); pi es un sitio de
salida si pi δO(tj). Las entradas y salidas de una transición son bolsas de sitios.
Una bolsa es una generalización de conjuntos que permite múltiples ocurrencias
de un elemento en una bolsa. El uso de bolsas (en lugar de conjuntos) para las
entradas y salidas de una transición permite que un sitio sea una entrada múltiple
o una salida múltiple de una transición. La multiplicidad de un sitio de entrada pi
para una transición tj es el número de ocurrencias del sitio en la bolsa de entrada
de la transición, #(pi,I(tj)). De manera similar, la multiplicidad de un sitio de salida
pi para una transición tj es el número de ocurrencias del sitio en la bolsa de salida
de la transición, #(pi,O(tj)). Si las funciones de entrada y salida son conjuntos (en
lugar de bolsas), entonces la multiplicidad de cada sitio es 0 o 1.
Este tipo de representación de las redes de Petri se utiliza principalmente para los
programas de análisis ya que es poco "visual".
Las funciones de entrada y salida pueden ser extendidas para mapear sitios en
bolsas de transiciones además de mapear transiciones en bolsas de sitios. Se
define una transición tj como una entrada de un sitio pi si pi es una salida de tj.
Una transición tj es una salida de un sitio pi si pi es una entrada de tj.
4. GRAFOS DE REDES DE PETRI
La mayor parte del trabajo teórico sobre Redes de Petri está basado en la
definición formal de estructuras de Redes de Petri. Sin embargo, una
representación gráfica de una estructura de Red de Petri es mucho más útil para
ilustrar los conceptos de la teoría. Un grafo de Red de Petri es una representación
de una estructura de Red como un multigrafo dirigido bipartito.
9
Un grafo de Red de Petri tiene dos tipos de nodos. Un círculo representa un sitio;
una barra representa una transición. Los arcos dirigidos conectan los sitios y las
transiciones, con algunos arcos dirigidos desde los sitios a las transiciones y otros
arcos dirigidos desde transiciones a sitios. Un arco dirigido desde un sitio pi a una
transición tj define al sitio como una entrada de la transición. Las entradas
múltiples a una transición se indican por arcos múltiples desde los sitios de
entrada a la transición. Un sitio de salida se indica por un arco desde la transición
al sitio. Nuevamente, las salidas múltiples se representan por arcos múltiples.
Una Red de Petri es un multigrafo, dado que permite arcos múltiples desde un
nodo del grafo a otro. Además, dado que los arcos son dirigidos, es un multigrafo
dirigido. Dado que los nodos del grafo pueden ser particionados en dos conjuntos
(sitios y transiciones), tal que cada arco está dirigido de un elemento de un
conjunto a un elemento del otro conjunto, es un multigrafo dirigido bipartito.
En la fig. 1 se muestra el grafo de Red de Petri correspondiente a la estructura
anterior:
Fig. 1
El hecho de que las dos representaciones sean equivalentes significa que dada
cualquiera de ellas, es posible encontrar la otra y además es única.
4.1. Marcas de las Redes de Petri
Una marca µ es una asignación de tokens (también llamados fichas o cospeles) a
los sitios de una Red de Petri. El número y posición de los tokens puede cambiar
durante la ejecución de una Red de Petri.
DEF: Una marca µ de una Red de Petri C = (P,T,I,O) es una función que va desde
el conjunto de sitios P a los enteros no negativos N.
µ : P --> N
La marca µ también puede definirse como un n-vector, µ = (µ1,µ2, ....,µn),
donde n = |P| y cada µi δN, i = 1,...,n. El vector µ da para cada sitio pi en una Red
de Petri el número de tokens en ese sitio. El número de tokens en el sitio pi es µi, i
= 1,...,n. Las definiciones de marca como función y como vector están
relacionadas por µ(pi) = µi.
Una Red de Petri marcada M = (C,µ) es una estructura de Red de Petri C =
(P,T,I,O) y una marca µ.
En un grafo de Red de Petri, los tokens se representan por puntos dentro de los
círculos que representan los sitios. En la fig. 2 puede verse una Red de Petri
marcada.
Fig. 2
Dado que el número de tokens que puede ser asignado a un sitio de una Red de
Petri es ilimitado, hay una infinidad de marcas para una Red de Petri. El conjunto
de todas las marcas para una Red de Petri con n sitios es el conjunto de los n-
vectores, Nn. Este conjunto, aunque infinito, es numerable.
4.2. Reglas de ejecución para Redes de Petri
11
La ejecución de una Red de Petri está controlada por el número y la distribución
de tokens dentro de la Red de Petri. Una Red de Petri se ejecuta disparando
transiciones. Una transición se dispara removiendo tokens desde sus sitios de
entrada y creando nuevos tokens que son distribuídos en sus sitios de salida.
Una transición se puede disparar si está habilitada. Una transición está habilitada
si cada uno de sus sitios de entrada tiene al menos tantos tokens en él como
arcos hay desde el sitio a la transición. Los tokens que habilitan una transición son
sus tokens habilitantes.
Una transición se dispara removiendo todos sus tokens habilitantes desde sus
sitios de entrada y depositándolos en cada uno de sus sitios de salida, un token
por cada arco que va desde la transición al sitio. Múltiples arcos producen
múltiples tokens. El disparar una transición en general cambia la marca µ de la
Red de Petri a una nueva marca, µ'. En la fig. 2 las transiciones t2 y t5 están
habilitadas. En las Figs. 3 y 4 se muestra cómo cambia la marca cuando
disparamos t2 y luego t5.
Fig. 3
Fig. 4
DEF: Una transición tj en una Red de Petri marcada con marca µ se puede disparar
siempre que esté habilitada. Disparar una transición habilitada tj resulta en una
nueva marca µ' definida por
µ'(pi) = µ(pi) - #(pi, I(tj)) + #(pi, O(tj))
El disparo de transiciones puede continuar mientras exista al menos una transición
habilitada. Cuando no hay transiciones habilitadas la ejecución se detiene.
4.3. Estados de las Redes de Petri
El estado de una Red de Petri está definido por su marca. El disparo de una
transición representa un cambio en el estado de una Red de Petri debido a un
cambio en la marca de la red. El espacio de estado de una Red de Petri con n
sitios es el conjunto de todas las marcas, esto es, Nn. El cambio en el estado
causado por el disparo de una transición está definido por una función δllamada
función de próximo estado. Cuando se aplica a una marca µ y una transición tj
esta función devuelve la nueva marca que resulta de disparar la transición tj en la
marca µ. Dado que tj puede dispararse solo si está habilitada, δ (µ,tj) está
indefinida si tj no está habilitada en la marca µ. Si tj está habilitada, entonces δ
(µ,tj) = µ', donde µ' es la marca que resulta de remover tokens desde las entradas
de tj y agregar tokens en las salidas de tj.
DEF: La función de próximo estado δ: Nn x T --> Nn para una Red de Petri C =
(P,T,I,O) con marca µ y transición tj _ T está definida si y solo si
µ(pi) δ #(pi, I(tj))
para todo pi δP. Si δ (µ,tj) está definida, entonces δ (µ,tj) = µ', donde
µ'(pi) = µ(pi) - #(pi, I(tj)) + #(pi, O(tj))
para todo pi δP.
DEF: Para una Red de Petri C = (P,T,I,O) con marca µ, una marca µ' es alcanzable
inmediatamente desde µ si existe una transición tj δ j) = µ'.
13
Podemos extender este concepto para definir el conjunto de marcas alcanzables
para una dada Red de Petri marcada. Si µ' es alcanzable inmediatamente desde
µ, y µ'' es alcanzable inmediatamente desde µ', entonces µ'' es alcanzable desde
µ. Se define el conjunto de alcanzabilidad R(C,µ) de una Red de Petri C con
marca µ como todas las marcas alcanzables desde µ.
DEF: El conjunto de alcanzabilidad R(C,µ) para una Red de Petri C = (P,T,I,O) con
marca µ es el menor conjunto de marcas definido por
1. µ _ R(C,µ).
2. Si µ' δ j) para alguna tj δT, entonces µ'' δR(C,µ).
5. ESPECIFICACIÓN CON REDES DE PETRI
Las Redes de Petri fueron diseñadas y se usan principalmente para
especificación. Muchos sistemas, especialmente aquellos con componentes
independientes, pueden ser especificados con una Red de Petri. Los sistemas
pueden ser de diferentes clases: hardware, software, sistemas físicos, etc. Las
Redes de Petri se usan para modelizar la ocurrencia de varios eventos y
actividades dentro de un sistema. En particular, las Redes de Petri pueden
modelizar el flujo de información u otros recursos dentro de un sistema.
5.1. Extensión de las redes de petri para tiempo real
Las Redes de Petri tienen un paralelismo o concurrencia inherente. En el modelo
de Redes de Petri, dos eventos que están habilitados y no interactúan pueden
ocurrir independientemente. No hay necesidad de sincronizar eventos a menos
que sea requerido por el sistema subyacente que está siendo especificado.
Cuando se necesita sincronización es fácil modelarla. Así, las Redes de Petri
parecerían ideales para modelar sistemas de control distribuido con múltiples
procesos ejecutándose de manera concurrente.
Una característica de las Redes de Petri es su naturaleza asincrónica. No hay una
medida inherente del tiempo o el flujo de tiempo en una Red de Petri. Esto refleja
una filosofía que fija que la única propiedad importante del tiempo, desde un punto
de vista lógico, es definir un ordenamiento parcial de la ocurrencia de eventos. Los
eventos toman cantidades variables de tiempo en la vida real, y esta variabilidad
se refleja en el modelo de Redes de Petri no dependiendo de una noción del
tiempo para controlar la secuencia de eventos. La estructura de Red de Petri en sí
misma contiene toda la información necesaria para definir las secuencias posibles
de eventos.
Una ejecución de Redes de Petri (y el comportamiento del sistema que la red
modeliza) se ve como una secuencia de eventos discretos. El orden de ocurrencia
de los eventos es uno de los posiblemente muchos permitidos por la estructura
básica. Esto lleva a un aparente no determinismo en la ejecución de una Red de
Petri. Si, en algún momento, más de una transición está habilitada, entonces
cualquiera de las transiciones habilitadas puede ser "la próxima" en dispararse.
Desde el punto de vista del modelo de ejecución clásico, la elección de la
transición a disparar se hace de manera no determinística, es decir, al azar. Esta
característica de las Redes de Petri refleja el hecho de que en situaciones de la
vida real en las cuales varias cosas pueden ocurrir concurrentemente, el orden
aparente de ocurrencia de eventos no es único, sino que puede ocurrir más de
una secuencia de eventos. Sin embargo, el ordenamiento parcial en el cual
ocurren los eventos es único.
Para reducir la complejidad, se acepta generalmente una limitación en la
modelización de sistemas con Redes de Petri. El disparo de una transición (y el
evento asociado) se considera un evento instantáneo, que toma tiempo cero, y la
ocurrencia de dos eventos no puede suceder simultáneamente. Los eventos
modelizados se llaman eventos primitivos; los eventos primitivos son instantáneos
y no simultáneos.
15
Un evento no primitivo es un evento que no toma tiempo cero. Las operaciones no
primitivas no son no simultáneas y por lo tanto pueden solaparse en el tiempo.
Dado que la mayoría de los eventos en el mundo real toman tiempo, son eventos
no primitivos y por lo tanto no pueden ser modelados apropiadamente por
transiciones en una Red de Petri. Sin embargo, un evento no primitivo puede ser
descompuesto en dos eventos primitivos, "el evento no primitivo comienza" y "el
evento no primitivo finaliza", y una condición, "el evento no primitivo está
ocurriendo" (fig. 6).
Fig. 6
Petri y otros sugirieron que los eventos no primitivos deberían ser representados
por una caja en una Red de Petri, con los eventos primitivos representados por
barras, como antes. Esto puede verse en la Fig. 7.
Fig. 7
La notación de cajas puede ser de valor considerable cuando se modeliza un
sistema complejo en varios niveles jerárquicos, dado que permite que redes
enteras sean abstraídas a un único elemento de la red. Es en algún sentido similar
al concepto de subrutina o macro de los lenguajes de programación.
6. ANÁLISIS DE REDES DE PETRI
Las Redes de Petri son útiles para especificar una gran variedad de sistemas,
representando adecuadamente las interacciones entre las distintas acciones que
pueden ocurrir. La mayor solidez está en el modelaje de sistemas que pueden
exhibir concurrencia. Sin embargo, la modelización por sí misma es poco útil. Es
necesario analizar el sistema modelizado. Este análisis puede llevar a una
importante comprensión del comportamiento del sistema. Se desarrollaron muchas
técnicas para el análisis de Redes de Petri, pero varios temas aún están abiertos a
la investigación.
La mayoría de los problemas están relacionados con uno básico: el problema de
alcanzabilidad. Es decir: dada una Red de Petri C con marca µ y una marca µ', ¿µ'
δR(C,µ)? El de alcanzabilidad es quizás el problema de análisis básico en Red de
Petri; muchos otros problemas pueden ser establecidos en términos del problema
de alcanzabilidad. Por ejemplo, el problema de detectar si se puede producir
"deadlock" es posible reducirlo a testear si una determinada marca es alcanzable.
Otra aproximación al análisis se concentra en secuencias de disparo de
transiciones más que en estados. Podemos preguntar: ¿Puede dispararse la
transición tj? Pero de manera más general podemos querer determinar si una
secuencia específica de disparo de transiciones es posible o si alguna de un
conjunto de secuencias de disparo es posible. Estos temas de análisis introducen
el concepto de lenguajes de Red de Petri.
Otros problemas importantes están relacionados con consideraciones de
optimización. Esto es, si una Red de Petri exhibe un cierto comportamiento, ¿es
posible cambiarla ("optimizarla") sin afectar su comportamiento?. Esto puede
involucrar el borrado de transiciones "muertas" (las cuales nunca pueden
dispararse) y sitios "muertos" (los cuales nunca pueden ser marcados), o quizás la
redefinición de algunas transiciones. La idea es ver si dos Redes de Petri
diferentes pueden generar la misma secuencia de disparo de transiciones o el
mismo conjunto de alcanzabilidad. Esto permitiría modificar la red para
incrementar el paralelismo, decrementar el costo de implementación, o realizar
otras optimizaciones.
17
En estos casos, nos interesa determinar si dos Redes de Petri son equivalentes o
si una es un subconjunto de la otra. Debemos ser cuidadosos con estos
problemas para definir la noción de equivalencia. Si definimos equivalencia como
igual a conjuntos de alcanzabilidad, entonces no podemos cambiar el número de
sitios, mientras que si pedimos igualdad de conjuntos de secuencias de disparo de
transiciones no podemos cambiar transiciones.
Entre las técnicas de análisis más usadas se encuentran las ecuaciones
matriciales, donde se definen dos matrices D- y D+ para representar las funciones
de entrada y salida. Cada matriz tiene m filas (una por cada transición) y n
columnas (una por cada sitio). Se definen
D-[j,i] = #(pi, I(tj))
D+[j,i] = #(pi, O(tj))
La forma matricial de definición de una Red de Petri (P, T, D-, D+) es equivalente a
la forma standard pero permite que las definiciones sean reexpresadas en
términos de vectores y matrices.
7. ESTADO DE REDES DE PETRI
El estado de una Red de Petri está definido por su marca. El disparo de una
transición representa un cambio en el estado de una Red de Petri por un cambio
en la marca de la red. El espacio de estado de una Red de Petri con n sitios es el
conjunto de todas las marcas, esto es, Nn. El cambio en el estado causado por el
disparo de una transición está definido por una función de cambio δllamada
función de próximo estado. Cuando se aplica a una marca (estado) µ y una
transición tj esta función devuelve la nueva marca (estado) que resulta de disparar
la transición tj en la marca µ. Dado que tj puede dispararse solo si está habilitada,
δ(µ,tj) está indefinida si tj no está habilitada en la marca µ. Si tj está habilitada,
entonces δ(µ,tj) = µ', donde µ' es la marca que resulta de remover tokens desde
las entradas de tj y agregar tokens en las salidas de tj.
DEF: La función de próximo estado : Nn x T --> Nn para una Red de Petri C =
(P,T,I,O) con marca µ y transición tj δT está definida si y solo si
µ(pi) >= #(pi, I(tj))
para todo pi δP. Si δ(µ,tj) está definida, entonces δ(µ,tj) = µ', donde
µ'(pi) = µ(pi) - #(pi, I(tj)) + #(pi, O(tj))
para todo pi δP.
Dada una Red de Petri C = (P,T,I,O) y una marca inicial µ0, podemos ejecutar la
Red de Petri por sucesivos disparos de transiciones. Disparar una transición
habilitada tj en la marca inicial produce una nueva marca µ1 = δ(µ0,tj). En esta
nueva marca, podemos disparar cualquier transición habilitada, digamos tk,
resultando en una nueva marca µ2 = δ(µ1,tk). Esto puede continuar mientras haya
al menos una transición habilitada en cada marca. Si alcanzamos una marca en la
cual ninguna transición está habilitada, entonces ninguna transición puede
dispararse, la función de próximo estado está indefinida para todas las
transiciones, y la ejecución debe detenerse.
De la ejecución de una Red de Petri resultan dos secuencias: la secuencia de
marcas (µ0, µ1, µ2, ....) y la secuencia de transiciones que fueron disparadas (tj0,
tj1, tj2, .....). Estas dos secuencias están relacionadas por la relación δ(µk, tjk) =
µk+1 para k = 0,1,2,.... Dada una secuencia de transiciones y µ0, podemos derivar
la secuencia de marcas para la ejecución de una Red de Petri, y excepto para
unos pocos casos, dada la secuencia de marcas, podemos derivar la secuencia de
transiciones. Ambas secuencias proveen un registro de la ejecución de la Red de
Petri.
En una marca µ, un conjunto de transiciones estará habilitado y puede disparar. El
resultado de disparar una transición en una marca µ es una nueva marca µ'. Se
dice que µ' es alcanzable inmediatamente desde µ.
19
DEF: Para una Red de Petri C = (P,T,I,O) con marca µ, una marca µ' es
alcanzable inmediatamente desde µ si existe una transición tj δT tal que δ(µ,tj) =
µ'.
Podemos extender este concepto para definir el conjunto de marcas alcanzables
para una dada Red de Petri marcada. Si µ' es alcanzable inmediatamente desde
µ, y µ'' es alcanzable inmediatamente desde µ', entonces µ'' es alcanzable desde
µ. Se define el conjunto de alcanzabilidad R(C,µ) de una Red de Petri C con
marca µ como todas las marcas alcanzables desde µ. Una marca µ' está en
R(C,µ) si hay alguna secuencia de disparo de transiciones que transforma la
marca µ en la marca µ'.
DEF: El conjunto de alcanzabilidad R(C,µ) para una Red de Petri C = (P,T,I,O) con
marca µ es el menor conjunto de marcas definido por
1. µ δR(C,µ).
2. Si µ' δR(C,µ) y µ'' = δ(µ',tj) para alguna tj ¯ T, entonces µ'' δR(C,µ).
8. PROBLEMAS DE EQUIVALENCIA Y SUBCONJUNTO
Una clase final de problemas radica en consideraciones de optimización. Si una
RP exhibe un cierto comportamiento, indicado por su conjunto de secuencias de
disparo y su conjunto de alcanzabilidad, ¿puede la RP ser cambiada (optimizada)
sin afectar su comportamiento? Esto puede involucrar borrar transiciones muertas
(las cuales nunca pueden disparar) y sitios muertos (los cuales nunca pueden ser
marcados) o quizás la redefinición de algunas transiciones. ¿Podemos mostrar
que dos RP diferentes con el mismo número de transiciones (pero quizás distinto
número de sitios) generarán la misma secuencia de disparo de transiciones o que
dos RP marcadas diferentes con el mismo número de sitios (pero quizás distinto
número de transiciones) generarán el mismo conjunto de alcanzabilidad? Esto
podría permitirnos modificar las RP para incrementar el paralelismo, decrementar
el costo de implementación, u otras optimizaciones.
En estos casos, nos interesa determinar si dos RP son equivalentes o si una es un
subconjunto de la otra. Debemos ser cuidadosos con estos problemas para definir
la noción de equivalencia. Si definimos equivalencia como igual a conjuntos de
alcanzabilidad, entonces no podemos cambiar el número de sitios, mientras que si
pedimos igualdad de conjuntos de secuencias de disparo de transiciones no
podemos cambiar transiciones.
9. ANÁLISIS DE RP CON ECUACIONES MATRICIALES
Una alternativa a la definición de (P,T,I,O) es definir dos matrices D- y D+ para
representar las funciones de entrada y salida. Cada matriz tiene m filas (una por
cada transición) y n columnas (una por cada sitio). Se definen
D-[j,i] = #(pi, I(tj))
D+[j,i] = #(pi, O(tj))
Es decir, D- define las entradas a las transiciones y D+ define las salidas.
La forma matricial de definición de una RP (P, T, D-, D+) es equivalente a la forma
standard pero permite que las definiciones sean reexpresadas en términos de
vectores y matrices. Sea e[j] el m-vector unidad, el cual es cero en todas las
componentes excepto la j-ésima. La transición tj está representada por el m-vector
unidad e[j].
Una transición tj está habilitada en una marca µ si
µ = e[j] . D-
y el resultado del disparo de la transición tj en la marca µ, si está habilitada, es
21
δ(µ,tj) = µ - e[j] . D- + e[j] . D+ = µ + e[j] . ( - D- + D+) = µ + e[j] . D
donde definimos la matriz compuesta D = D+ - D-.
Ahora para una secuencia de disparo de transiciones Õ = tj1, tj2, ....., tjk se tiene:
δ(µ,Õ) = δ(µ,tj1 tj2 ..... tjk)= µ + e[j1] . D + e[j2] . D + ....+ e[jk] . D
= µ + (e[j1] + e[j2] + ....+ e[jk]) . D = µ + ƒ(Õ) . D
El vector ƒ(Õ) = e[j1] + e[j2] + .... + e[jk] se llama vector de disparo de la secuencia
tj1 tj2 ..... tjk. El i-ésimo elemento de ƒ(Õ), ƒ(Õ)i, es el número de veces que la
transición ti se dispara en al secuencia tj1 tj2 ..... tjk. Luego, el vector de disparo es
un vector de enteros no negativos.
El desarrollo de la teoría matricial provee una herramienta útil para atacar el
problema de alcanzabilidad. Asumamos que la marca µ' es alcanzable desde una
marca µ. Luego existe una secuencia de disparos de transición Õ (posiblemente
nula) que llevará de µ a µ'. Esto significa que ƒ(Õ) es una solución, en los enteros
no negativos, para x en la siguiente ecuación matricial:
µ' = µ + x . D [A]
Así, si µ' es alcanzable desde µ, la ecuación [A] tiene una solución en los enteros
no negativos; si [A] no tiene solución, entonces µ' no es alcanzable desde µ.
Como ejemplo, consideremos la siguiente red marcada:
Fig. 10
Las matrices D- y D+ son:
¦1 1 1 0¦ ¦1 0 0 0¦
D-= ¦0 0 0 1¦ D+= ¦0 2 1 0¦
¦0 0 1 0¦ ¦0 0 0 1¦
y la matriz D es:
¦ 0 -1 -1 0¦
D = ¦ 0 2 1 -1¦
¦ 0 0 -1 1¦
Con una marca inicial µ = (1,0,1,0), la transición t3 está habilitada y lleva a una
marca µ', donde
¦ 0 -1 -1 0¦
µ' = (1,0,1,0) + (0,0,1) . ¦ 0 2 1 -1¦
¦ 0 0 -1 1¦
= (1,0,1,0) + (0,0,-1,1) = (1,0,0,1)
La secuencia Õ = t3 t2 t3 t2 t1 está representada por el vector de disparos ƒ(Õ) =
(1,2,2) y produce la marca µ'
23
¦ 0 -1 -1 0¦
µ' = (1,0,1,0) + (1,2,2) . ¦ 0 2 1 -1¦
¦ 0 0 -1 1¦
= (1,0,1,0) + (0,3,-1,0) = (1,3,0,0)
Para determinar si la marca (1,8,0,1) es alcanzable desde la marca (1,0,1,0) se
tiene la ecuación
¦ 0 -1 -1 0¦
(1,8,0,1) = (1,0,1,0) + x . ¦ 0 2 1 -1¦
¦ 0 0 -1 1¦
¦ 0 -1 -1 0¦
(0,8,-1,1) = x . ¦ 0 2 1 -1¦
¦ 0 0 -1 1¦
que tiene como solución x = (0,4,5). Este vector corresponde a la secuencia Õ = t3
t2 t3 t2 t3 t2 t3 t2 t3.
También podemos probar que la marca (1,7,0,1) no es alcanzable desde la marca
(1,0,1,0), dado que la ecuación correspondiente no tiene solución.
La aproximación matricial al análisis de RP es buena pero tiene algunos
problemas. Por una parte, la matriz D por sí misma no refleja apropiadamente la
estructura de la RP. Las transiciones que tienen entradas y salidas desde el
mismo sitio (loops) son representadas en la misma posición de las matrices D- y
D+. Esto se reflejaba en el ejemplo por el sitio p1 y la transición t1.
Otro problema es la información de la secuencia de disparos. Distintas secuencias
pueden corresponder al mismo vector de disparos. Entonces, aunque conozcamos
el número de disparos de transiciones no sabemos el orden de los disparos.
Otro problema es que aunque una solución a la ecuación [A] es necesaria para la
alcanzabilidad, no es suficiente. Consideremos la siguiente red:
Fig. 11
Si queremos determinar si (0,0,0,1) es alcanzable desde (1,0,0,0) debemos
resolver la ecuación:
¦-1 1 -1 0¦
(0,0,0,1) = (1,0,0,0) + ƒ(Õ) . ¦ ¦
¦ 0 -1 1 1¦
Esta ecuación tiene la solución ƒ(Õ) = (1,1), correspondiente a las secuencias t1 t2
o t2 t1. Pero ninguna de estas secuencias es posible, dado que ni t1 ni t2 están
habilitadas en (1,0,0,0). Luego, una solución a la ecuación [A] no es suficiente
para probar alcanzabilidad.
10. LA EXCLUSIÓN MUTUA
Cuando varios procesos comparten algún recurso del sistema tal que cuando uno
de ellos lo está usando los demás no pueden hacerlo, debe implementarse un
25
mecanismo de espera cuando el recurso compartido está siendo usado. La
manera de hacerlo es utilizar un sitio para representar la condición "el recurso
compartido está libre". En la fig. 12 se muestra la solución:
Fig. 12
Este sitio actúa como un "semáforo", sincronizando el acceso de los procesos al
recurso compartido. El esquema es válido cualquiera sea el número de procesos
que compartan el recurso. El primero que lo tome, quita el token del lugar
representativo del recurso disponible y entonces cualquiera que lo requiera deberá
esperar. En este esquema no hay prioridades asignadas a los procesos que
compiten simultáneamente por el uso del recurso.
11. PROBLEMAS
11.1 El problema del productor y el consumidor
Aquí también existe un recurso compartido pero no para ser usado por los
procesos sino como mecanismo de comunicación entre ellos. Entre un proceso
que produce y otro que consume lo producido se puede instalar un depósito
intermedio (buffer) con el fin de "amortiguar" las diferencias ocacionales de
velocidad. Disponiendo un sitio para indicar la condición "depósito con producto",
el proceso productor depositará un token cada vez que tengar un nuevo producto
y el proceso consumidor comenzará su tarea cada vez que estando listo para ello,
haya por lo menos un token en el depósito (fig. 13).
Fig. 13
La limitación de este esquema es que no es capaz de representar un buffer de
capacidad finita, pudiendo crecer el número de productos en el depósito sin límite
en el caso de detención del proceso consumidor. En la fig. 14 se muestra la
solución cuando se quiere acotar la cantidad de productos intermedios. Se
muestra también un sistema compuesto por un productor y un consumidor
operando en forma asincrónica, comunicándose mediante un buffer con capacidad
para tres productos. El sitio "buffers llenos" representa la existencia de productos
disponibles y el sitio "buffers vacíos" la cantidad de lugares disponibles en el
depósito. Siempre se da que la suma de los tokens de ambos sitios dan la
capacidad total del depósito.
Fig. 14
27
11.2. El problema de la lectura y la escritura.
Esta situación se presenta en sistemas en el que un cierto número de tareas
pueden realizar lecturas y/o escrituras sobre un área de memoria compartida en
forma simultánea. A fin de asegurar la consistencia de la información la ejecución
de una escritura es excluyente, en tanto que se admitirá la ejecución concurrente
de dos o más lecturas. En la fig. 15 muestra una solución cuando el número de
lectores es conocido e igual a "n" (observar la utilización de un semáforo con
marca "n" y dos arcos también con capacidad igual a "n").
Fig. 15
12. Ambientes para la especificación y verificación con Redes de Petri
Como ya hemos señalado, además de contar con técnicas que permitan
especificar sistemas es importante que luego de realizar la especificación se
realice una validación o una verificación del modelo desarrollado.
Con un modelo de Redes de Petri podemos realizar una verificación del sistema
propuesto, ya que mediante la ejecución de la red es posible obtener una
simulación del comportamiento del sistema.
Es conveniente notar que generalmente logramos una verificación de la
arquitectura propuesta, ya que una validación implica la utilización de un lenguaje
más formal (aunque utilizando técnicas de análisis y la visión matemática de
Redes de Petri podemos tener una "prueba" más cercana a una validación).
En este punto, es importante destacar la necesidad de desarrollar ambientes para
especificar y verificar sistemas usando Redes de Petri, dado que cuando el
modelo crece se torna inadecuado realizar manualmente la ejecución de la Red.
Por esto, el objetivo es obtener herramientas de software que permitan la
ejecución automática de una especificación.
En el caso de las Redes de Petri, estas herramientas pueden orientarse hacia una
definición gráfica, una definición estructural, o una combinación de ambas.
Los ambientes gráficos poseen la ventaja de permitir una rápida visión global del
sistema que se especifica, aunque con frecuencia el hecho de tener que realizar
una definición interactiva se torna un tanto tedioso. Además, si la red especificada
es de un tamaño considerable el gráfico puede no ser todo lo claro que uno desea.
Cuando se opta por una definición orientada a la estructura podemos obtener un
intérprete. En este caso, aunque se pierden las bondades de la especificación
gráfica, el hecho de definir la red a modo de "seudocódigo" nos acerca a la
derivación del código del sistema en lenguajes como ADA o Modula.
De todas maneras, cualquiera sea la opción elegida, el ambiente que se desarrolle
debe proveer facilidades para especificar, ejecutar automáticamente, y verificar los
sistemas.
13. PROCESOS CONCURRENTES.
Desde el punto de vista de los sistemas computacionales son los procesos
lanzados en procesadores con múltiples unidades funcionales o múltiples
procesadores. Pueden ejecutar varias instrucciones a la vez, además el hardware
permite la existencia de varios procesos y el procesador puede conmutar entre
ellos y ejecutar instrucciones de varios procesos saltando entre ellos. Existen
instrucciones en la programación concurrente de alto nivel, para que un proceso
denominado padre cree uno o varios procesos denominados procesos hijo. El
inconveniente de los procesos concurrentes es que hagan operaciones sobre
variables comunes. Esto genera varios problemas como el no cumplimiento de la
29
precedencia o los accesos múltiples a la región critica, es decir la sincronización y
la exclusión mutua, entre otros.
En si la solución a los problemas de sincronización y exclusión mutua se puede
lograr mediante la herramienta del semáforo. Un semáforo S es una variable
entera que posteriormente a su inicialización, sólo puede ser accedida por dos
operaciones estándar e indivisibles denominadas P y V, cuyo estudio y concreción
se ha estudiado en sistemas operativos.
La modelización matemática que conllevan los procesos concurrentes, los
problemas de precedencia y los problemas de exclusión mutua sobre secciones
criticas se resuelven mediante la utilización de Redes de Petri que a continuación
describimos.
Las Redes de Petri 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 redes de petri ha llegado a ser reconocida como una metodología
establecida en la literatura de la robótica para modelar los sistemas de
manufactura flexibles. Comparada con otros modelos de comportamiento dinámico
gráficos, como los diagramas de las máquinas de estados finitos, las redes de
petri ofrecen una forma de expresar procesos que requieren sincronía. Y quizás lo
más importante es que las redes de petri pueden ser analizadas de manera formal
y obtener información del comportamiento dinámico del sistema modelado.
Para modelar un sistema se usan representaciones matemáticas logrando una
abstracción del sistema, esto es logrado con las redes de petri, que además
pueden ser estudiadas como autómatas e investigar sus propiedades
matemáticas.
¿Qué tipo de sistemas podemos modelar con las redes de petri?
¿Cómo logramos la analogía entre el sistema real y el modelo usando unas redes
de petri?
Para esto se pone atención a los sistemas: una idea fundamental en un sistema es
que se compone de módulos que interactúan entre sí, los cuales pueden ser
considerados por si mismos un sistema, y podríamos estudiar su comportamiento
por separado y de esta manera aislarlos, pero siempre teniendo en cuenta la
interacción que guardan con los otros módulos.
El conocer en qué condiciones se encuentran los módulos, es como si
detuviéramos al sistema en el tiempo, las condiciones internas de los módulos
determinarían el estado en el que se encuentran, para esto entendemos que un
sistema es un arreglo dinámico que en el transcurso del tiempo tiene variaciones y
no permanece estático. El estado de un módulo con frecuencia depende de su
historia, es decir de las acciones dadas en un tiempo anterior.
Dos conceptos importantes de la red de Petri son: acciones y estados, en si las
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 redes de petri fueron diseñadas específicamente para modelar
este tipo de sistemas.
14. PRIMERA APROXIMACION
Desde un punto de vista no formal y sobre todo grafico una red de Petri constituye
una red que se compone de dos tipos de nodos por una parte los que reciben el
nombre de “lugares” o sitios que están asociados a acciones duraderas y se los
representa a través de círculos, y los otros nodos denominados “conexiones” que
representan acciones fugaces y que se representan a través de un línea vertical o
barra, también están presentes en la red las puertas cuya función es
interrelacionar los lugares con las conexiones o viceversa Por otro lado los
estados se expresan mediante marcas que se incluyen al interior de los círculos y
cuyo numero puede se arbitrario en dependencia del sistema que se modela.
Sin embargo no esta permitido el uso de puertas o interrelaciones entra
conexiones o entre lugares la representación grafico son flechas o arcos dirigidos.
31
A fin de establecer la dinamicidad del sistema se efectúa la introducción de las
marcas o tokens que se representan precisamente por marcas que se incluyen al
interior de los círculos o lugares como ya se expreso anteriormente. En si la
presencia de marcas en los lugares produce la sensibilización de las conexiones,
provocándose su activación y el disparo de acciones, lo que provoca el cambio de
estado en el sistema, es decir su dinamicidad.
Las puertas a su ves pueden ser
1) Puertas alteradoras de entrada: Constituye la puerta que esta
representada por una flecha simple de entrada o una conexión , es decir
tiene la siguiente estructura
2) Puertas restauradoras de entradas: Constituye la puerta formada por una
flecha doble de entrada a una conexión, su representación grafica es
3) Puerta alteradora de salida: Es aquella que esta representada por una
flecha simple que sale de una conexión su representación grafica es
4) Puerta restauradora de salida: Se caracteriza por tener una flecha doble
que sale de una conexión, su representación grafica es
Las redes de Petri tal como han sido expuestas hasta aquí carecen de significado
alguno de ahí que para utilizarlas en sistemas complejos es necesario dotarlos de
significado, es decir de proporcionar o incorporar a las mismas de un sentido,
semántica, esto se logra a través de la introducción de un lenguaje de anotaciones
de redes de Petri que se lo denota como LARP.
Antes de continuar se remarca que las redes de Petri son útiles para la
modelación de sistemas en los cuales están presentes la concurrencia, la
independencia, el asincronismo y la generalización, por lo cual se requiere para
concretarla el uso de abstracción, la concretización y de la generalización.
15. CRITERIOS DE MODELAJE
Para el modelaje mediante Redes de Petri se presentan dos criterios relacionados
entre si, estos son el criterio F y el criterio C/E
El criterio F se caracteriza por que se basa en la noción fundamental de
“Fenómeno” y el C/E se basa en las nociones básicas de “condición evento”
El criterio F considera que el comportamiento de cualquier sistema puede ser
descrito como un conjunto de procesos los cuales se componen de fenómenos,
estos últimos pueden ser estables o transitorios un fenómeno estable son los que
nos indican o corresponden a estados locales del sistemas mientras que los
fenómenos transitorios indican las transiciones entre estados locales, en concreto
para las transiciones algunos estados pasan a tener vigencia mientras que otros
dejan de tener vigencia
Por su parte el criterio C/E no es otra cosa que la abstracción y la generalización
del criterio F. La abstracción se basa en los conceptos de condición y evento y se
consideran que la relación entre condición y evento esta supeditado a la ejecución
de un determinado evento que requiere el cumplimiento de determinadas
condiciones. En general una condición puede ser precondición de uno o más
eventos y de igual manera una condición puede ser postcondicion de uno o más
eventos
Las marcas o tokens sirven para darle dinamicidad al sistema pues el mismo no
pertenece estático, sino cambia de estado conforme cambia el tiempo o más
propiamente conforme se cumplan las condiciones
16. CRITERIOS RELACIONADOS EN MODELAJE CON REDES DE PETRI
En el modelaje con Redes de Petri se presentan dos criterios profundamente
relacionados que son:
33
a) CRITERIO F: el criterio F sirve como base conceptual para el criterio C/E, sin
embargo; tiene la desventaja de que sistemas simples utilizando este criterio
adquieren una dimensión de exageradas proporciones, razón por la cuál no es
recomendable en la práctica para modelar.
Según el criterio F se considera que el comportamiento de cualquier sistema
puede ser descrito como un conjunto de procesos. A su vez cada proceso
consta de fenómenos, los cuales pueden ser o bien estables o bien transitorios.
1) Los fenómenos estables, son los que nos indican o corresponden estados
locales del sistema. Se representan a través de círculos ( lugares).
2) Los fenómenos transitorios, indican las transiciones entre estados locales.
En concreto, por las transiciones algunos estados pasan a tener vigencia;
mientras que otros estados dejan de tener vigencia. Se representan a través de
rectángulos (conexiones).
17. MODELO DE RED DE PETRI SEGUN CRITERIO F
La introducción al abordaje F será hecha en paralelo con un desenvolvimiento de
un ejemplo muy simple de sistema, utilizado también posteriormente en el
transcurso de la presente presentación. El sistema ha ser modelado es un
mercado de trabajo. En este mercado de trabajo observamos inicialmente una
persona (Persona P) y dos vacancias (vacancia V1 y vacancia V2) y también
vemos los siguientes fenómenos:
- La persona P entra en el mercado de trabajo.
- Una vacancia entra en el mercado de trabajo.
- Un contrato de trabajo entra en vigencia.
- Un contrato de trabajo deja de estar en vigencia.
Los fenómenos son históricos si una vez acontecidos nunca más se repiten.
Ver Grafico dado en clases e incluirlo
Donde:
Fenómeno transitorio
Fenómeno estable
Vacancia
Los fenómenos estables están representados por círculos. Entre estos se
encuentran:
- Vacancia V1 libre (1ra), es decir la primera vez en que vacancia V1 está
libre
- Vacancia V2 (2da), es decir la segunda vez en la que V1 está libre; etc.
Los fenómenos transitorios son representados a través de rectángulos. Así
cuando ocurre un fenómeno transitorio, algunos fenómenos estables dejan de
estar en vigencia (aquellos indicados por flechas entrando en el rectángulo
representativo del fenómeno transitorio) y otros fenómenos estables entran en
vigencia (aquellos indicados por las flechas de salida de los fenómenos
transitorios).
El fenómeno transitorio ftl está representado por un rectángulo con una flecha de
entrada, ligada a un círculo representativo de un fenómeno estable.
Persona P fuera del mercado es una flecha de salida ligada a un círculo
representativo de un fenómeno estable, persona P libre (1ra).
Esto significa que para ocurrir el fenómeno transitorio ft1 el fenómeno estable
persona P fuera de mercado deja de ocurrir y coincidentemente el fenómeno
establece persona P libre (1ra) entra en vigencia. En otras palabras. El acontecer
de ft1 es un fenómeno de entrada al mercado de trabajo de la persona P, pus
por consecuencia aparece como libre la primera vez.
Otro ejemplo de un fenómeno transitorio es ft4. El surgimiento de un
contrato de trabajo en el que la persona P, cuando esta libre la primera vez,
pasa a ocupar la vacancia V1 que también está libre la primera vez.
Es así que podemos expresar a través de un proceso dos tipos de relaciones entre
fenómenos:
- Un tipo de relación es a través de secuencia de fenómenos. El proceso de la
figura expresa que para que acontezca el fenómeno de transición ft4 debe
ocurrir antes los fenómenos de transición ftl y ft2.
- Otro tipo de relación es la independencia de fenómenos. El proceso expresa
por ejemplo que no existe ninguna dependencia entre el acontecer ft3 o ft4, No
35
es identificable en este caso una determinada secuencia del acontecer de
fenómenos.
Un proceso puede ser considerado como una posible historia de
desenvolvimiento del sistema. Un sistema se puede desenvolver de diversas
formas por diversas historias, y de diversos procesos. Este es el caso del
sistema de mercado de trabajo, que también se podría desenvolver de diferentes
maneras, siguiendo otros procesos si consideramos que la persona P también
podría ocupar la vacancia V2 y que los fenómenos transitorios que entran y salen
en vigencia de un contrato se pueden repetir mas veces que las mostradas en
las figuras anteriores.
18. MODELO DE RED DE PETRI SEGUN CRITERIO C/E
El criterio C/E es la abstracción y generalización del criterio F. esta abstracción
se basa en los conceptos de condición y eventos.
La relación entre condición y evento se basa en el hecho de que para la
realización de un determinado evento se requiere el cumplimiento de
determinadas condiciones.
- Los eventos bajo el criterio C’E son representados mediante segmentos o
barras.
- Las condiciones se representan mediante círculos.
Una condición puede ser precondición de uno o más eventos. de igual manera
una condición puede ser post condición de uno o más eventos. Las relaciones
entre el los se representa mediante las flechas.
Ejemplo 1:
Construir la red de Petri conformado por los eventos e1..e5 y por las condiciones
b1..b4 además que se ha establecido que:
b1 es precondición de e2
b1 es postcondición de el
b2 es precondición de e2, e2
b2 es postcondición de e4
b3 es precondición de el
b3 es postcondición de e2, e5
b4 es precondición de e4, e5
b4 es postcondición de e2, e3
Un evento puede realizarse siempre y cuando se cumpla todas las
precondiciones, y además no se ejecute ninguna de sus postcondiciones.
Bajo la realización de un evento se produce un cambio de condiciones;
concretamente todas sus precondiciones dejan de tener vigencia, mientras que
las postcondiciones serán ejecutables; es así que las postcondiciones, vienen a
ser las precondiciones de otros eventos, de hecho las mismas cambian
conforme pasa el tiempo.
Para denotar el cumplimiento de una condición se introduce un círculo pequeño
al interior de la condición y se dice que esta condición está marcada.
Ejemplo 2: Realizar el modelo de red de Petri de un sistema de computación,
cuya descripción es; los trabajos surgen y son puestos en una lista de entrada.
Si el procesador está libre y existe un trabajo en la lista de entrada, el procesador
empieza a ejecutar el trabajo.
Cuando el trabajo es concluido, es puesto en una lista de salida y si hay más
trabajos en la lista de entrada, el procesador continúa con otro trabajo, caso
contrario espera por otro trabajo.
IDENTIFICACION DE ELEMENTOS
- Procesador
- Trabajos
- Lista de entrada
- Lista de salida
CONDICIONES
- El procesador está libre (b1)
- Un trabajo está en lista de entrada (b2)
- Un trabajo está en la lista de salida (b3)
- Un trabajo está siendo procesado (b4)
EVENTOS
- Un trabajo entra al sistema (el)
37
- Un proceso de trabajo ha empezado (e2)
- Un trabajo sale del sistema (e3)
- El proceso de trabajo ha terminado (e4)
RELACIONES
Viene dada por la red de Petri que debe ser construida en la sesión, una vez que
se haya establecido la tabla de pre y postcondiciones que sirven de base para la
red de Petri, restando proporcionar las condiciones iniciales, es decir el marcaje
para dotarle de dinamicidad
En clases se construye la tabla de pre y postcondiciones y en base a esto se
construye la red de petri.
Finalmente para dotarle de dinamicidad se establecen las condiciones iniciales, es
decir la marca inicial y a partir de este se establecen las transiciones que se
sensibilizan y se disparan para producir nuevos marcajes, para que al final se
tenga a disposición la rede de alcance que expresa el comportamiento del sistema
bajo estudio.
Al margen de estos ejemplos se debe completar este apunte con lo desarrollado
en clases y lo nuevos ejemplos dados, a fin de aclarar la construcción de la redes
de petri empleando desde el criterio C/E
19. INTERPRETACION DE REDES MARCADAS
La red marcada puede ser considerada como un juego de tablero que dispone de
piezas que se denominan entidades (objetos, personas, empleos) el conjunto
de las entidades (filas) se denomina el universo de discursos y cada red de Petri
tiene su propio universo de discurso. Las entidades representan objetos reales
dentro la red personas contratos, empleos) y las mismas conforman los
conjuntos.
Los lugares (condiciones) componen el tablero y pueden ser el depósito de
piezas (entidades) cuyo conjunto varía durante el juego; es decir una condición
contiene un conjunto de entidades y puede ser vacio.
Una entidad puede aparecer en distintos lugares y por esta razón para especificar
a una entidad o suposición se debe establecer una marca que no es otra cosa
que un par que tiene dos componentes:
marca (lugar, entidad)
El conjunto de marcas para una entidad define la marcación de entidades y el
conjunto de todas las marcas presentes en la red se denomina la marcación de
una red.
El juego se desarrolla como el surgimiento y desaparición de las marcas en la
red: mientras que el punto de partida de un juego se denomina marcación inicial.
Ejemplo:
u = (1, 0, 1, 0, 2)
f (u, t3) = u´ = (1, 0, 0, 1, 2)
f (u’, t4) = u =( 1, 1, 1, 0, 2)
f (u’´,t1) = (0, 2, 2, 0, 3)
La dinamicidad de la función f no trae problemas, en tanto cuanto la suma del u
en consideración sea menor que del u anterior. Los problemas se presentan
cuando sucede lo contrario y en este caso se tendrá que definir una otra función u
(omega) para establecer con cuál de las ramificaciones se debe continuar.
20. MODELAJE DE PROGRAMAS MEDIANTE REDES DE PETRI
Se debe considerar que de acuerdo al teorema de la estructura. todo
programa puede ser construido en base a los tres programas primos básicos que
son:
a) Programa primo secuencial
b) Programa IF THEN ELSE
c) Programa primo WHILE DO, DO UNTIL
Por otra parte se debe considerar también el hecho de que cualquier programa
puede representarse en forma de dos partes o estructuras que son:
- La estructura informativa; es la que se encarga de definir las interrelaciones y su
carácter entre los operadores informativos en el programa.
39
- La estructura controlable; da la organización del proceso de cálculo, es decir,
define el funcionamiento de la estructura informativa en el tiempo y en el espacio
en dependencia de sus condiciones y situaciones externas.
La acción de los medios de control puede ser clasificada de tres maneras:
a) Incondicional; es decir que no depende de los valores actuales de las variables,
Ejemplo: GOTO, en sistemas operativos los semáforos.
b) Condicionales; es decir que depende de los valores que toman las variables.
Ejemplo: IF THEN ELSE.
c) Flujo; que vienen expresadas a través de controlables del tipo de su estructura.
Ejemplo: LIFO, series, conjuntos, etc.
En base a todo lo detallado, para ordenar programas mediante una red de Petri y
sobretodo sus acciones, se formaliza de la siguiente manera:
Pr = < I, U, g >
donde:
I = Conjunto de vértices de información (operadores)
Por tanto I U U = Conjunto de todos los vértices del programa o red.
g = aplicación de U U I U U I
Define arcos de g: U I la red o programa.
Con la ayuda de la anterior construcción se puede modelar cualquier
programa; sin embargo para facilitar el modelaje consideramos la terna.
Pr = < V, T, P(x) >
V = I U U
g = V V
Donde:
P(X) = cierto predicado que puede tomar el valor de Falso o Verdadero y
en base a este valor se activa una u otra parte del programa.
SECUENCIAL
Grafico incluir
Donde representa la activación de la parte correspondiente de Q.
IF THEN ELSE
Grafico incluir
21. FORMALIZACION DE REDES DE PETRI
Habiendo estudiado las redes de Petri desde el punto de vista intuitivo,
correspodne empezar a estudiar desde un punto de vista formal, para lo cual se
considera que existen distintos tipos de formalizaciones, de los cuales por motivos
de tiempo solo expondremos tres tipos de formalización, empezando por aquella
que se puede utilizar solo para redes de Petri Ordinarias, para que en la tercera
formalización se exponga para redes de petri generalizadas.
De hecho debemos también dejar en claro que en nuestro caso no haremos el
estudio de las redes de Petri coloreadas, Temporales, Difusas u otras que tienen
variedad de aplicaciones y el estudiante tiene la obligación de estudiar por si
mismo para completar su formación en lo relativo a redes de petri.
21.1 PRIMERA FORMALIZACION DE REDES DE PETRI
Bajo esta formalización una red de Petri constituye una terna < B, E, F >, que esta
conformada por los siguientes conjuntos
B constituye el conjunto de condiciones
E constituye el conjunto de eventos
F constituye un subconjunto (BxE) U (ExB)
Por otra parte se requiere que entre los eventos y las condiciones se cumpla que:
(B E) = ϴ
(BU E) ≠ ϴ
Dentro del conjunto F se establece a su vez para cada evento e el conjunto
Fe = (b/ (b,e) F) .
Este conjunto se denomina conjunto de precondiciones del evento e.
De igual manera dentro del conjunto F se establece a su vez para cada evento e
el conjunto
eF = {b/ (e,b) F}
Este conjunto se denomina conjunto de las postcondiciones del evento e.
41
Para que la red sea dinámica, es decir para otorgarle dinamicidad se debe
establecer las condiciones iniciales, es decir el marcaje inicial y para determinar
los otros marcajes se debe definir.
La Marca como una función o aplicación
M: B N
Un caso especial viene a ser la aplicacion
M: B{0,1}
Donde
- es 0 si no está marcado
- es 1 si está marcada
Esta última aplicación es la que se hace uso cuando se estudia Redes de Petri
Ordinarias
Si se tiene b1 = 1, b2 = 0, b3 = 0, entonces el marcaje será (1,0,0) y su se produce
un disparo por un evento sensibilizado podría dar el cambio de marcaje siguiente:
mm´ = (1,0,0) (0,1,0)
Debemos aclarar que en general las imágenes no siempre son 0 o 1, sino que
pueden tomar valores de N de los naturales.
La dinamicidad se produce en si mediante una secuencia de marcajes que
partiendo de la marca inicial que corresponde a la condición inicial del sistema M0
se produce una transición a través de t0 hacia M1, luego a través de t1 hacia M2 y
así sucesivamente, es decir
La secuencia de m m’ m´ m’´ define la dinamicidad del sistema.
En otras palabras si se tiene un subconjunto T del conjunto de eventos E, se dice
que se produce una transición de M a M’ siempre y cuando las marcas de M
activan a los eventos de T y estas se disparan produciendo un nuevo marcaje M’
Lo anterior significa que si e1ϵT y e2ϵT y ninguno de los elementos tiene
precondiciones conjuntas, ni postcondiciones conjuntas, entonces:
1) Si b Fe para todo e T entonces m(b) = 1; m’(b) =0
es decir todas las precondiciones de un evento de T antes de la realización del
evento se encuentra marcadas mientras que después del evento dejaran de estar
marcadas es decir no se cumplen.
2) Si b eF para todo e T entonces m(b) = 0 ; m´(b) = 1
es decir todas las postcondiciones de un evento en T antes de la realización del
mismo no se cumplen; sin embargo, después de la realización. se cumplen.
3) Finalmente para todo b B, es tal que que no son ni postcondiciones ni
precondiciones de un evento de T entonces sus marcas permanecen
cumpliéndose o nó como antes de la realización del evento.
Siguiendo la secuencia de todas las alternativas de marcaje de una red se
construye un grafo que en si constituye el árbol de alcance o de realización de la
red de petri, que no es otra cosa que el establecimiento del comportamiento del
sistema,
A continuación se presentan ejemplos a desarrollar en clases que posteriormente
deberán incluidas en el apunte por los estudiantes.
Para concluir con esta formalización es necesario puntualizar que en general las
redes de Petri se ocupan de cuestiones relativas a:
- la equivalencia
- fuerza de expresión
- propiedades de comportamiento
Además para realizar la modelación con redes de Petri se debe utilizar los
principios de estructuración y jerarquización; es decir operaciones de abstracción y
generalización.
El modelaje de sistemas basado en redes de Petri hace uso de tres operaciones
básicas entre fenómenos que son: - Secuencia – Independencia - Alternatividad,
relacionados con procesos paralelos (concurrentes)
Para interpretación y aplicación concreta de redes de Petri es necesario que las
mismas posean contenido semántico, para empezar este contenido semántico,
las redes marcadas deben poseer connotaciones expresadas en un lenguaje
formal; el cuál se denomina LARP ( lenguaje de anotaciones de redes de Petri)
En general se puede decir que las Redes de Petri se ocupan de las cuestiones
relativas a la equivalencia, fuerza de expresión y propiedades del comportamiento
en base a lo anterior para la concreción del modelaje de sistemas mediante Redes
de Petri se debe aplicar los métodos de abstracción y generalización a través de
43
la modularidad y jerarquización, por otro lado se debe recordar siempre que la
modelación de sistemas constituye un proceso interactivo
21.2 SEGUNDA FORMALIZACIÓN REDES DE PETRI
Se caracteriza porque considera a una Red de Petri a través de una cuaterna
<P, T, I, O>
donde
P constituye el conjunto finito no vacio de lugares o sitios
T constituye el conjunto finito no vacio de transiciones
I constituye la función de entrada de transiciones, es decir el conjunto de lugares
de ENTRADA de las transiciones que se define a través de la aplicación
I : TP
O: constituye la función de salida de las transiciones, es decir el conjunto de
lugares de SALIDA de las transiciones que se define a través de la aplicación
O: TP
Adicionalmente se puede definir las funciones
E: PT función de entrada al conjunto de lugares, es decir el conjunto de
transiciones de ENTRADA de los lugares que se define a través de la aplicación
E: P T
S: TP función de salida de lugares, es decir el conjunto de transiciones de
SALIDA de las lugares que se define a través de la aplicación
S: P T
Para lograr la dinamicidad del sistema se debe aplicar el marcaje M.PN y
adicionalmente es necesario incluir el marcaje inicial Mo.
En concreto incluyendo Mo se tiene definido LA RED DE PETRI MARCADA
< P,T,I,O,Mo >
<PI,I,O,E,S,Mo>
La dinamicidad del sistema se produce a través de una secuencia de marcaje que
se concreta bajo las siguientes características
1.- si Pi no Є I (tj) y es tal que tj esta relacionada con Pi => m` (Pi) = m(Pi)+1; es
decir si tj es entrada de Pi y esta sensibilizada entonces se produce el disparo que
hace que la imagen de Pi por M se incremente en 1
2.- si Pi no Є I (tj) y tj no esta relacionado con pi=>m´ (Pi) = m(Pi), es decir si tj no
es entrada de Pi y esta sensibilizada entonces se produce el disparo que hace que
la imagen de Pi por M se conserve, no es alterado en si.
3.- Si Pi Є I(tj) y Pi esta relacionada con de tj => m´(Pi) = m(Pi) -1, es decir si tj no
es entrada de Pi , pero si Pi es entrada de tj y esta sensibilizada entonces se
produce el disparo que hace que la imagen de Pi por M se decrementa en 1
Si Pi Є I(tj) y Pi ingresa a tj y tj a Pi => m´(Pi) = m(Pi), es decir Pi viene a ser tanto
de entrada como de salida de tj y esta se encuentra sensibilizada entonces se
produce el disparo que hace que la imagen de Pi conserve su valor.
En clases se complementa con ejemplos que deben ser introducidos por los
estudiantes
22.3 TERCERA FORMALIZACIÓN REDES DE PETRI
Bajo esta formalización se define una red de Petri generalizada como una
cuaterna
<P,T,Pre,Post>
Donde
P es un conjunto finito no vació de lugares.
T es un conjunto finito y no vació de transiciones
Bajo la condición de que:
P ∩ T = Ø
Y P U T ≠ Ø
Por su parte:
Pre es una aplicación del producto cartesiano de P*T N , esta aplicación se
denomina función de incidencia previa y finalmente
Post es una aplicación T*PN que recibe el nombre de función de incidencia
posterior
Estas funciones Pre y Post se representan gráficamente como arcos de entrada y
salida respectivamente a y de las transiciones y tiene la característica de que
45
pueden tener un peso mayor al de la unidad, situación que no era considerada en
las otras formalizaciones, razón por la cual la red de petri de denomina
generalizada
En concreto una red de Petri Generalizada se caracteriza porque los arcos de la
misma pueden tener un peso mayor a uno, que era la restricción impuesta a las
redes de Petri ordinarias.
Una red de Petri Generalizada puede ser representada mas cómodamente y
formalmente para su programación haciendo uso de la herramienta matemática
que viene a ser las matrices, es decir una red de petri generalizada puede ser
representada matricialmente, haciendo uso de la matriz de incidencia previa y la
matriz de incidencia posterior.
En concreto si la cordialidad de conjunto de los lugares es |P| = n y la cardinalidad
del conjunto de transiciones es |T|=m, entonces para una red de Petri
generalizada se puede determinar sus matrices de incidencia previa y posterior,
haciendo uso de la siguiente notación y definición:
La matriz de incidencia previa se la denota como C- = [Cij] y esta conformada por
n filas y m columnas y por definición viene a ser
C- = [Cij]= [Pre (Pi,tj)]n*m
Por su parte la matriz de incidencia se la denota mediante C+ = [Cij] y esta
conformada por n filas y m columnas y su definición viene a ser
C+ = [Cij] = [Post (tj,Pi)]n*m
DEFINICION.- Una Redes de Petri se denomina ordinaria si el peso de sus arcos
es igual a 0 ó 1, es decir que para todo p y t se cumple que:
pre(p ,t)={0ó1} y post(t, p)={0 ó1}
DEFINICION.- Una Red de Petri se denomina pura si ningún lugar es
simultáneamente de entrada y salida de de una transición. Es decir si para todo
tϵT y para todo pϵP se cumple que el producto de sus correspondientes Pre y Post
es igual a cero, es decir:
Pre(pi ,tj) * Post(tj, pi) = 0
COROLORARIO.- En consideración de la propiedad anteriormente de toda red
pura se puede deducir que la misma se puede representar mediante una sola
matriz de incidencia
C= C+-C-
De manera que la matriz C se denomina matriz de incidencia de la red de petri
pura.
1º DEFINICIÓN.- El conjunto de lugares de entrada de una transición t se la
denota por
. t = {P| pre(P,t)>0}
2º DEFINICIÓN El conjunto de lugares de salida de una transición t se lo denota
por
t. = {P| post(t,P)>0}
3º DEFINICIÓN El conjunto de transiciones de entrada de un lugar p se la denota
por
. P = {t| post(t,P)>0}
4º DEFINICIÓN El conjunto de transiciones de salida de un lugar p se lo denota
por
P. = {t| pre(P,t)>0}
COLORARIO.- Tomando en consideración las anteriores definiciones, es posible
redefinir el concepto de red de Petri Pura, considerando como aquella para la cual
para todo tϵT se cumple que:
.t∩t. = ϴ
DEFINICION.- Una subred de Petri de una red de petri ( P, T, PRE, POST)
constituye la cuaterna (P-, T-,PRE-,POST-) ,tal que cada componente cumple con
las siguientes condiciones:
1) P- ϵ P
2) T- ϵ T
3) PRE- constituye una restricción valida de la aplicación PRE
4) POST- constituye una restricción valida de la aplicación POST
47
DEFINICION.- El marcado M de una Red de Petri constituye una aplicación M del
conjunto de lugares P en el conjunto de los naturales N, es decir M: P N y
constituye en si un vector columna de n elementos.
DEFINICION.- Para poder modelar un Redes de Petri se debe establecer un
marcaje inicial Mo de esta manera la quíntupla <P,T,Pre,Post,Mo> constituye una
Redes de Petri marcada
DEFINICIÓN.- Una transición t ЄT esta sensibilizada por el marcado M si y solo si
para toda pЄP se cumple que M(p) ≥ pre (p,t) , se dice entonces que “t” esta
sensibilizada
DEFINICIÓN.- Disparar una transición sensibilizada t es la operación que consiste
en eliminar pre (P,t) marcas en cada lugar P Є . t y añadir post(t,P) marcas en
cada lugar P Є t.
En consecuencia la expresión Mi - t ->Mj significa que t esta sensibilizada por Mi y
que al dispararse t se obtiene Mj de manera que para todo p Є P se cumple que
Mj(P) = Mi(p) – pre(p,t) + post (t,P)
Para la concreción de ejemplo aplicando la tercera formalización se recomienda
que la construcción de la aplicación PRE se efectué viendo para cada t cuales de
los p ingresan al mismo columna por columna. Por su parte para POST se debe
ver para cada t cuales de los p salen del mismo y se construye columna por
columna, construyéndose así las matrices C- y C+ respectivamente.
En cuanto a los conjunto t., .t, p. y .p estos se determinan en base a C- y C+ viendo
las columnas para el caso de los t, mientras que viendo las filas para los p.
En clases se dará ejemplos de su concreción y es deber de los estudiantes
trascribir al apunte todo lo que se complementa en clase para tener completo y
entregar al docente una copia impresa y en digital
DEFINICION.- Una secuencia de disparos aplicado a partir de M0 se representa
por precisamente un conjunto de transiciones tal que el disparo de cada uno de
ellos conduce a un marcado que sensibiliza a la siguiente transición de este
conjunto y así sucesivamente, hasta cubrir todo las transiciones presentes en la
secuencia o conjunto, en otras palabras si:
M0 sensibiliza a ti y esta produce el marcado Mi, el cual a su vez sensibiliza a tj y
esta produce el marcado Mk, el cual a su vez sensibiliza a tk y esta produce el
marcado Mi, el cual a su vez sensibiliza a tr y esta produce el marcado Mr y asi
sucesivamente hasta llegar a Mh el cual a su vez sensibiliza a tq y esta produce el
marcado Mq. En síntesis esquemáticamente una secuencia de disparos aplicado a
partir de M0 hasta Mq se pude representar de la siguiente manera:
M0 ti Mi tjMj …………….Mr tq Mq
A fin de simplificar la secuencia de transiciones que se producen a partir de M0 se
utiliza la siguiente notación:
ζ = ti.tj.tk………….tr.tq
por lo tanto de manera sintética lo anteriormente expuesto puede ser representado
de siguiente modo:
M0 ζ Mq
DEFINICION.- El lenguaje generado por la red de Petri marcada < RP, M0>
constituye el conjunto de secuencias disparadas desde M0 y se la denota como
L(RP,M0), en concreto:
L(RP,M0) = { ζ | M0 ζMq }
DEFINICION.- El vector característico ζ de una secuencia de disparos ζ
constituye un vector que tiene m componentes y es tal que cada componente
viene a ser el numero de ocurrencias de su correspondiente transición ti.
DEFINICION.- Un marcado M es alcanzable desde M0 si y solo si existe una
secuencia de disparos ζ tal que M ζ M
DEFINICION.- El conjunto de marcajes M desde M0 para una red de Petri genera
un lenguaje que se denota por ϻ y que de manera formal se expresa como:
ϻ (RP,M0) = { M | existe ζ ϵ L(RP,M0) : M0 ζ M }
DEFINICION.- Dada una red de Petri marcada y además pura , la ecuación de
estado para la misma se define a través de la siguiente expresión:
Mk = Mk-1 + C * Uk
Donde: Mk-1 es el marcaje anterior
C es la matriz de incidencia de la red de petri pura
Uk es el vector característico
49
Efectuando el reemplazo de manera recursiva, se llega a la siguiente expresión
genérica para la ecuación de estado:
Mk = M0 + C ζ
Lo que resta es complementar con algunos conceptos y nociones suplementarias
y la concreción de una serie de ejemplos y aplicaciones que serán desarrolladas
en clase y que deben ser incluidad en el texto si es que no se encuentran
22. REDES DE PETRI INTERPRETADAS
Para pode modelar mediante redes de Petri un sistema real se precisa una
interpretación, la cual para los sistemas dinamicos discretos se efectua en base a
la definición de los siguientes aspectos:
1.- El conjunto de entradas del sistema que se lo denota como:
X = { X1, X2, X3,………Xn}
2.- El conjunto de salidas del nivel del sistema que se lo denota como:
Y = {Y1, Y2, Y3,………Ys}
3.- El conjunto de salidas impulsionales del sistema que se lo denota como:
Z = {Z1, Z2, Z3,………Zq}
4.- Por otra parte con una condicion externa Ci que constituye un subconlunto de
los valores de las variables de entrada representada por una función combinatoria
de las mismas, se establece el conjunto de las condiciones externas que se la
denota como
C = { Ci | Ci es una condicion externa}
5.- A su vez se considera un acontecimiento o evento Ei se considera como el
cambio de valor lógico de una condicion externa o bien como la unión de un
conjunto de eventos, es deci se tiene que:
E = { Ei | Ei es un evento }
Para concretar la interpretación se asocian eventos, condiciones externas y
salidas impulsionales a las transiciones, mientras que se asocian a las salidas de
nivel a los lugares, sin embargo las salidas pueden estar restringuidas por las
condiciones externas.
En concreto èn síntesis una red de petri interpretada formalmente se define como:
1.- < RP, M0 >
2.- T -> E
3.- T -> C
4.- T -> Z
5.- P*C -> Y
Para concretar con la caracterización, resta establecer las reglas de evolución del
sistema a través de la secuencia de marcaje, para lo cual en el caso de las redes
de petri interpretadas se concreta de la siguiente manera:
1.- Una transición Ti sensibiliza solo se dispara si se verifica que Ci Ei , en este
caso se dice que Ti es receptiva a Ei y a Ci
2.- Cuando se dispara una transición se producen todas las salidas impulsionales
asociadas a las mismas.
3.- Cuando un lugar esta marcado se producen las salidas de nivel asociadas, si
se verifica las condiciones correspondientes, es decir si:
Yi esta asociada a Pi condicionada por Cij
En este caso se dice que es sensible a Cij cuando Pi este marcado.
Con todo lo expuesto se esta en condiciones de disenar y construir las
correspondienets redes de petri interpretadas para sistemas reales, veamos un
ejemplo:
EJEMPLO: Construir la red de petri interpretada para el sistema de recursos
compartidos que gráficamente se expresa de la siguiente manera:
Se asume que el carro CA debe esperar en EA hasta que la zona común quede
libre y además que este carro tiene una espera en D de 100 seg. Mientras que el
carro CB actua de la misma manera que Ca en EB, pero en este caso tiene
prioridad y la espera en D es de 50 seg.
Tomando en cuenta la descripción efectuada tanto grafica como textualmente y
adentradonos en el funcionamiento del sistemas se establece que:
El conjunto de entradas del sistema viene expresado por:
X = { MA, CA, EA, MB, CB, EB, D, Temp}
Por su parte el conjunto de salidas de nivel del sistema esta dado por:
Y = { iA, dA, iB, dB, G }
Y finalmente el conjunto de de salidas impulsionales viene a ser:
51
Z = { Temp }
Para modelae es conveniente tomar en cuenta que las transiciones vienen a
constituir en si eventos y gráficamente se representan por una barra | , por su
parte los lugares constituyen las condiciones y se la representa por círculos.
Además como se trata de redes de petri interpretadas se debe considerar además
que las transiciones estas asociadas a eventos, condiciones externas y salidas
impulsionales, mientras que las salidas de nivel a los lugares y sus restricciones,
en concreto para nuestro caso se tiene que:
MA CA, EB/EA, D/Temp, T(100),EA, CA transiciones del primer carro
MB CB, EB/EA, D/Temp, T(50), EB, CB transiciones del Segundo carro
Por su parte de igual manera se establecen los lugares
da/EA, dA, G, iA G, iA , MA lugares para el carro1
dB/EB, dB, G, iB G, iB, MB lugares para el carro 2
Además se dispone del lugar común para ambos I
Tomando en cuenta lo anteriormente expuesto se establece las pre y post
condiciones a través de la tabla y en base a la misma se construye la red de Petri
interpretada, de modo que dando su marcaje inicial y tomando las formalziaciones
anteriormente estudiadas se establece su árbol de alcance es decir su
comportamiento.
23. Ejemplos
Ejemplo 1
Después de 2 seg. Se abre la válvula principal ev1 al terminar la operación de
llenado (s1 o s2) la válvula ev1 se cierra inmediatamente, mientras que la válvula
correspondiente ev2 o ev3 se cierra después de un tiempo t1 = 4 seg. Y t2 = 5
seg. Respectivamente.
Gráficamente el sistema se lo representa de la siguiente manera
Construir el modelo de red de Petri con el fin de determinar su comportamiento
Transiciones
T1:deposito 1 esta vacío y ev1 tarda 2 seg. en abrirse.
T2:concluye el llenado empleando ev2 e inicia del cerrado.
T3:concluye el cerrado de ev1 e inicio del cerrado de ev2
T4:concluye el cerrado de ev2 después de 4 segundos.
T5:deposito 2 esta vacío y ev1 tarda 2 segundos en abrirse.
T6:concluye el llenado empleando ev3 e inicia del cerrado.
T7:concluye el cerrado de ev1 e inicio del cerrado de ev3.
T8:concluye el cerrado de ev3 después de 5 segundos.
Lugares
P1:se esta llenando el deposito 1 a través de ev2.
P2:se están cerrando las válvulas ev1 y ev2.
P3:se esta cerrando el ingreso al deposito 1 a través de la válvula ev2.
P4:se esta vaciando el deposito 1.
P5:se esta controlando el proceso para el deposito 1 y deposito 2.
P6:se esta llenando el deposito 2 a través de ev3.
P2:se están cerrando las válvulas ev1 y ev3.
P3:se esta cerrando el ingreso al deposito 2 a través de la válvula ev3.
P4:se esta vaciando el deposito 2.
Tabla de pre y post condiciones.
transiciones pre post
t1 p4,p5 p1
t2 p1 p2
53
t3 p2 p3
t4 p3 p4,p5
t5 p9,p5 p6
t6 p6 p7
t7 p7 p8
t8 p8 p9,p5
Marcaje inicial
Ejemplo 2
Se tiene una línea de producción cuya descripción grafica es la
siguiente:
Es decir que el sistema esta formado por los siguiente elementos : 2 robots r1 y r2,
3 maquinas m1 m2 y m3 y 2 lugares de almacenamiento s1 y s2.
El funcionamiento de la línea de producción es el siguiente:
0
0
0
1
Mo= 1
0
0
0
1
1
0
0
0
M1= 0
0
0
0
1
1 el robot r1 realiza el transporte de las piezas almacenadas en s1 y las carga en
la maquina 1
2 la maquina m1 realiza la primera operación de procesamiento sobre las piezas.
3 una ves que la maquina m1 a finalizado la primera operación de proceso y esta
se encuentra en la maquina m1, el robot r2 realiza el transporte de la pieza
procesada en la maquina m1 y la carga en la maquina m2 o m3.
4 una ves que la maquina m2 o m3 ha finalizado la segunda operación de
procesado el robot r2 transporta la pieza procesada a s2.
Construir la red de Petri para el sistema descrito a fin de establecer su
comportamiento.
Para facilitar la construcción de la red de Petri es conveniente aplicar la
modularización y jerarquización es decir se divide el sistema en módulos que en
nuestro caso son 3.
El subsistema 1esta integrado por el almacén de entrada s1 el robot r1 y la
maquina m1. en este subsistema se debe describir las operaciones de transporte
de las piezas del almacén s1 por el robot r1 hasta la maquina m1y su
procesamiento correspondiente. De esta manera se debe construir su red de Petri
que describa el estado del robot r1 de la maquina m1 y del almacén m1, tomando
en cuenta que la condición para que el robot r1 pueda transportar una pieza a la
maquina m1 es que tanto el robot como la maquina estén libres y además deben
existir piezas en s1. en base a lo anteriormente descrito considerando que
inicialmente en el almacén s1 se dispone de 6 piezas las transiciones y lugar o
eventos y condiciones para este sistema vienen ha ser los siguientes.
Lugares
P1: la maquina m1 esta libre
P2: el robot r1 esta transportando 1 pieza de s1 a m1
P3: el robot r1 esta libre
P4: la maquina m1 esta procesando la pieza
P5: la maquina m1 esta ocupada con pieza procesada
P6: el almacén s1 esta con piezas almacenadas.
Transiciones
55
T1: inicio de transporte de una pieza de s1 a por r1 a m1.
T2: conclusión del transporte de una pieza de s1 a m1 e inicio de procesado de la
pieza por m1
T3: conclusión del procesamiento de la pieza por m1
Tabla de pre y post condiciones
transiciones pre Post
t1 p1,p3,p6 p2
t2 p2 p4,p3
t3 p4 p5
El subsistema 2 esta integrado por el almacén s2 por la maquina m2 por el robot
r2 y acoplada con es subsistema 1 a través de la pieza ya procesada por la
maquina m1.
Funcionalmente en este subsistema se debe describir las operaciones de trasporte
de las piezas ya procesadas en m1 por r2 hasta la maquina m2, el procesamiento
de la pieza en esta maquina así como su transporte una ves procesada al almacén
de salida s2 por el robot r2. Para construir a red de Petri debe describirse el
estado del robot r2, de las maquina m1 y m2 y del almacén s2 tomando en cuenta
que la condición para que el robot pueda transportar una pieza de m1 a m2 es que
la maquina m1 debe estar ocupada con pieza ya procesada, la maquina m2 debe
estar libre y el robot r2 debe estar libre. En cuanto a la operación de transporte de
m2 a s2 las condiciones son que el robot debe estar libre y que la maquina m2 se
encuentre ocupada con pieza procesada. En base a lo anteriormente descrito las
transiciones o eventos o los lugares o condiciones de este subsistema serán las
siguientes:
Lugares
P5: la maquina m1 esta ocupada con pieza procesada.
P7: la maquina m2 esta libre.
P8: el robot r2 esta libre
P9: el robot r2 esta transportando una pieza de m1 a m2
P10: m2 esta procesando una pieza
P11: el robot r2 esta transportando una pieza procesada en m2 a s2
Transiciones
T4: inicio del transporte de pieza procesada de m1 a m2 por r2
T5: conclusión del transporte de la pieza de m1 a m2 por r2 e inicio de
procesamiento de la pieza en m2
T6: conclusión del procesamiento de la pieza en m2 e inicio del transporte de la
pieza procesada a s2 por r2.
T7: conclusión del transporte de la pieza procesada en m2 a s2 por r2.
Tabla de pre y post condiciones.
transiciones pre post
t4 p5,p7,p8 p9
t5 p9 p10,p8,p1
t6 p10,p8 p11,p7
t7 p11 p8
El subsistema 3 esta integrado por el almacén s2 por la maquina m3 por el robot
r2 y acoplada con es subsistema 1 a través de la pieza ya procesada por la
maquina m1.
Funcionalmente en este subsistema se debe describir las operaciones de trasporte
de las piezas ya procesadas en m1 por r2 hasta la maquina m3, el procesamiento
de la pieza en esta maquina así como su transporte una ves procesada al almacén
de salida s2 por el robot r2. para construir a red de Petri debe describirse el estado
del robot r2, de las maquina m1 y m3 y del almacén s2 tomando en cuenta que la
condición para que el robot pueda transportar una pieza de m1 a m3 es que la
maquina m1 debe estar ocupada con pieza ya procesada, la maquina m3 debe
estar libre y el robot r2 debe estar libre. En cuanto a la operación de transporte de
m3 a s2 las condiciones son que el robot debe estar libre y que la maquina m3 se
encuentre ocupada con pieza procesada. En base a lo anteriormente descrito las
transiciones o eventos o los lugares o condiciones de este subsistema serán las
siguientes:
Lugares
P5: la maquina m1 esta ocupada con pieza procesada.
57
P12: la maquina m3 esta libre.
P8: el robot r2 esta libre.
P13: el robot r2 esta transportando una pieza de m1 a m3.
P14: m3 esta procesando una pieza.
P15: el robot r2 esta transportando una pieza procesada en m3 a s2.
Transiciones
T8: inicio del transporte de pieza procesada de m1 a m3 por r2.
T9: conclusión del transporte de la pieza de m1 a m3 por r2 e inicio de
procesamiento de la pieza en m3.
T10: conclusión del procesamiento de la pieza en m3 e inicio del transporte de la
pieza procesada a s2 por r2.
T11: conclusión del transporte de la pieza procesada en m3 a s2 por r2.
Tabla de pre y post condiciones
transiciones pre post
t8 p5,p12,p8 p13
t9 p13 p14,p8,p1
t10 p14,p8 p13,p9
t11 p13 p8
EJEMPLO 3
Se dispone de un maquina expedidora de golosinas, esta maquina va llenando el
registros de monedas introducidas hasta que alanza el valor de uno de dos tipos
de caramelos de 15 cts. o de 20ctvs.
Cuando el cliente pulsa el botón el caramelo es expedido por la maquina se
asume que las monedas que se dispone cubre tan solo los valores de 5 y 10 cts.
Para el sistema descrito construir su red de Petri.
5+5+5
15 5+10
5+5+5+5
20 5+5+10
10+10
Transiciones
t1 deposito de 5 cts.
t2 deposito de 5 cts.
t3 deposito de 10 cts.
t4 deposito de 5 cts.
t5 deposito de 10 cts.
t6 deposito de 5 cts.
t7 deposito de 5 cts.
t8 obtención del caramelo de 15 cts.
t9 obtención del caramelo de 20 cts.
Lugares
p1 maquina libre
p2 maquina esta acumulando 5 cts.
p3 maquina esta acumulando 10 cts.
p4 maquina esta acumulando 15 cts.
p5 maquina esta acumulando 20 cts.
transiciones prelugares postlugares
t1 p1 p2
t2 p1 p3
t3 p3 p5
t4 p3 p4
t5 p2 p4
t6 p4 p5
t7 p2 p3
t8 p4 p1
t9 p5 p1
59
M=
t1 t2 t3 t4 t5 t6 t7 t8 t9
P1 1 1 0 0 0 0 0 0 0
P2 0 0 0 0 1 0 1 0 0
C-= P3 0 0 1 1 0 0 0 0 0
P4 0 0 0 0 0 1 0 1 0
P5 0 0 0 0 0 0 0 0 1
t1 t2 t3 t4 t5 t6 t7 t8 t9
P1 0 0 0 0 0 0 0 1 1
P2 1 0 0 0 0 0 0 0 0
C+= P3 0 1 0 0 0 0 1 0 0
P4 0 0 0 1 1 0 0 0 0
P5 0 0 1 0 0 1 0 0 0
EJEMPLO 4
Un sistema comprende un proceso de transporte que se realiza en base a 7
vehículos, 3 de los cuales están dedicados al transporte de contenedores y 4
están dedicados al transporte
Si no están ocupados permanecen en la zona de estacionamiento de vehículos.
Aleatoriamente pueden llegar contenedores de los 2 tipos al punto de carga de
contenedores. Si en contenedor es de tipo 1, cualquiera de los 3 asignado a este
tipo de contenedor se traslada al punto de carga; de modo que una ves cargado el
$contenedor en el vehículo, este traslada el contenedor al punto de descarga.
Descargado el contenedor el vehículo retorna a la zona de estacionamiento de
vehículos.
De manera análoga se procede con los vehículos y los contenedores de tipo 2.
1
0
0
0
0
La descripción grafica de este proceso es la siguiente.
Los parámetros establecidos para el proceso son los siguientes:
1. la velocidad de los vehículos es de 10 m/s
2. la distancia desde la zona de estacionamiento al punto de carga es de 150
metros, del punto de carga al punto de descarga es de 300 metros y desde
el punto de descarga a la zona de estacionamiento es de 250 metros.
3. la distribución de las llegadas de los contenedores es exponencial con
media de 10 minutos.
4. se ha establecido también que el 40% de los contenedores que llegan es de
tipo 1 mientras que el 60% es de tipo 2.
Construir la red de Petri del sistema descrito.
Transiciones
T1 : llegada de contenedores.
T2 : inicio del control de traslado del vehículo.
T3 : inicio de la carga del contenedor al vehículo, conclusión de la carga he inicio
del traslado.
T4 : conclusión del traslado, descarga e inicio del retorno a la zona de
estacionamiento.
T5 : llegada del vehículo a la zona de estacionamiento.
Lugares
P1 : vehículos libres
P2 : contenedores en espera
61
P3 : vehículo esta trasladándose de la zona de estacionamiento. A la zona de
carga.
P4 : contenedor en el vehículo y trasladándose al punto de descarga.
P5 : contenedor en el destino
P6 : vehículo esta trasladándose del punto de descarga a la zona de
estacionamiento.
transiciones prelugares postlugares
t1 p2
t2 p1,p2 p3
t3 p3 p4
t4 p4 p5,p6
t5 p6 p1
EJEMPLO 5
Un sistema se compone de 3 maquinas, un vehículo y 12 estaciones de carga /
descargar. Cada una de las estaciones de carga y descarga solo manipula un tipo
de pieza, la estación se emplea para el almacenamiento del palet.
Las operaciones de carga y descarga son realizadas por un trabajador, el vehículo
transporta los palets con las piezas de la estaciones de carga a las maquinas o
viceversa.
Cada pieza precisa de una sola operación y cada palet solo es utilizada por un tipo
de piezas, además que el vehículo se asume que tiene una sola posición, es decir
50
7
0
Mo= 0
0
0
0
49
7
0
M1= 0
0
0
0
49
6
0
M2= 1
0
0
0
49
6
0
M3= 0
1
0
0
49
6
0
M4= 0
0
1
1
49
7
0
M5= 0
0
1
0
solo puede cargar una pieza a la vez. En concreto las hipótesis mas importantes
del sistema son las siguientes:
1. El vehículo tiene una posición de carga y transporte
2. cada pieza requiere de una sola operación
3. las operaciones se pueden efectuar en cualquier maquina
4. las maquinas no tienen averías
5. cada estación de carga y descarga sirve a un tipo de piezas
6. las fijaciones están permanentemente montadas en los palets
La descripción grafica del sistema es la siguiente:
Construir la red Petri para el sistema descrito
transiciones
t1: inicio de carga de pieza por operador
t2:conclusión de carga, inicio de la ocupación de la estación
t3:conclusión de la ocupación de estaciones , inicio de traslado por el vehículo
t4:conclusión de traslado, inicio de proceso en la maquina
t5: conclusión de procesado en la maquina, inicio de traslado de pieza procesada.
T6: conclusión del traslado de la pieza procesada, inicio de ocupación de estación
de salida
T7: conclusión de ocupación de estación, inicio de la descarga de pieza procesada
T8: conclusión de la descarga de la pieza procesada
Lugares
P1:entrada de los diferentes tipos de piezas
P2:operador libre
63
P3: estaciones entrada – salida libre
P4:operador cargando pieza en el palet
P5:estación de entrada esta ocupada
P6:maquina libre
P7:vehículo libre
P8:pieza en vehículo trasladándose de estación de entrada a una de las maquinas
P9:pieza procesándose en una maquina
P10:pieza en el vehículo trasladándose desde la maquina hasta la estación de
salida
P11:estación de salida ocupada
P12:operador descargando pieza
P13:pieza procesada saliendo del sistema
transiciones prelugares postlugares
t1 p1,p2,p3 p4
t2 p4 p5,p2
t3 p5,p6,p7 p3,p8
t4 p8 p7,p9
t5 p9,p6 p10
t6 p10 p6,p7,p11
t7 p11,p2 p12
t8 p12 p12
t1 t2 t3 t4 t5 t6 t7 t8
p1 -1 0 0 0 0 0 0 0
p2 -1 1 0 0 0 0 -1 1
p3 -1 0 1 0 0 0 0 1
p4 1 -1 0 0 0 0 0 0
p5 0 1 -1 0 0 0 0 0
p6 0 0 -1 0 -1 1 0 0
p7 0 0 -1 1 0 1 0 0
p8 0 0 1 -1 0 0 0 0
p9 0 0 0 1 -1 0 0 0
p10 0 0 0 0 1 -1 0 0
p11 0 0 0 0 0 1 -1 0
p12 0 0 0 0 0 0 1 -1
p13 0 0 0 0 0 0 0 1
11
0
11
1
0
3
M1= 1
0
0
0
0
0
0
24. APLICACIONES DE REDES DE PETRI
PROBLEMA 1.-
Construir la Red de Petri para un sistema computacional cuya descripción es la
siguiente:
1. Los trabajos surgen y son puestos en una lista de entrada.
2. Si el procesador está libre y existe un trabajo en la lista de entrada, el
procesador empieza a ejecutar el trabajo.
12
1
12
0
0
3
M0= 1
0
0
0
0
0
0
65
3. Cuando el trabajo ha concluido es puesto en una lista de salida y el procesador
queda libre.
4. Si hay más trabajos en la lista de entrada el procesador continua con otro
trabajo, caso contrario espera la presencia de otro trabajo.
Elementos del sistema:
Procesador
Lista de entrada
Lista de salida
Trabajos
CONDICIONES
B1: procesador está libre
B2: un trabajo en la lista de entrada
B3: un trabajo en la lista de salida
B4: un trabajo está siendo procesado
EVENTOS
E1: ingreso del trabajo al sistema
E2: comienzo de trabajo por el procesador
E3: conclusión del trabajo por el procesador
E4: salida del trabajo del sistema
EVENTO PRECONDICION POSTCONDICION
e1 _ b2
e2 b1,b2 b4
e3 b4 b1,b3
e4 b3 _
PROBLEMA 2.-
Empleando la segunda formulación de una Red de Petri, establecer los conjuntos <P,
T, I, O, E, S Mo> y además la dinamicidad, del grafico siguiente:
67
Step: 10 / Time: 0 =====>
Enable: T1
Enable: T4
Position: P4 decr. 1 token(s)
Position: P3 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P1 incr. 1 token(s)
Position: P0 incr. 1 token(s)
Step: 11 / Time: 0 =====>
Enable: T3
Position: P2 decr. 1 token(s)
Position: P3 incr. 1 token(s)
PROBLEMA 4.-
Construir la Red de Petri interpretada para un sistema marcado de recursos
compartidos cuya descripción general es la siguiente:
Se asume además que A espera 100 seg en D mientras que B espera 50 seg en D y
a su vez que B tiene prioridad sobre A.
X = {MA,CA,EA,MB,CB,EB,Temp,D}
Y = {iA,dA,iB,dB,G}
Z = {Tiempo}
CA
CB
iA dA
dB iB EA
EB
G MA
MB
69
Step: 1 / Time: 0 =====>
Enable: T1
Enable: T6
Position: P0 decr. 1 token(s)
Position: P7 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P8 incr. 1 token(s)
Step: 2 / Time: 0 =====>
Enable: T0
Enable: T7
Warning: branch conflict !
list:
Transition: T0
Transition: T7
end list:
Disable: T7
Position: P2 decr. 1 token(s)
Position: P1 decr. 1 token(s)
Position: P3 incr. 1 token(s)
Step: 3 / Time: 0 =====>
Enable: T4
Position: P3 decr. 1 token(s)
Position: P4 incr. 1 token(s)
71
Step: 4 / Time: 0 =====>
Enable: T5
Position: P4 decr. 1 token(s)
Position: P6 incr. 1 token(s)
Position: P1 incr. 1 token(s)
PROBLEMA 5.-
Un taller tiene 3 máquinas M1,M2 y M3 ; 2 operadores O1 y O2. El operador O1
puede trabajar las máquinas M1 y M2, mientras que el operador 2 puede manejar las
máquinas M1 y M3. Las órdenes que llegan al sistema requieren de 2 procesos P1 y
P2.
El 1º proceso debe ser concretado por la máquina M1 mientras que el 2º proceso
puede ser concretado por la máquina M2 o M3.
Construir la Red de Petri para el sistema descrito.
CONDICIONES
B1:una orden ha llegado y espera por servicio
B2:una orden ha sido procesada por M1 y está esperando ser procesada por M2 o
M3
B3:una orden ha sido completada
B4:la máquina M1 está completada
B5:la máquina M2 está libre
B6:la máquina M3 está libre
B7:el operador O1 está libre
B8:el operador O2 está libre
B9:el operador O1 está operando M1
B10:el operador O2 opera M1
B11:el operador O1 está operando M2
B12:el operador O2 está operando M2
EVENTOS
E1:llegada de una orden
E2:inicio de la orden por el O1 en la máquina M1
E3:fin de la orden por O1 en M1
E4:inicio de la orden O2 en M1
E5:fin de la orden por O2 en M1
E6:inicio de la orden por O1 en M2
E7:fin de la orden por O1 en M2
E8:inicio de la orden por O2 en M3
E9:fin de la orden por O2 en M3
E10:salida de la orden concluida
EVENTOS PRECONDICIO POSTCONDICION
E10 _ b1
e2 b1,b4,b7 b9
e3 b9 b4,b7,b2
e4 b1,b8,b4 b10
e5 b10 b4,b8,b9
e6 b2,b5,b7 b11
e7 b11 b3,b5,b7
e8 b2,b6,b8 b12
e9 b12 b3,b6,b8
e10 b3 _
73
PROBLEMA 6.-
Un sistema está compuesto por 2 carros C1 y C2 que van y vienen de manera
sincronizada del punto A al punto B y del punto C al punto D; de modo que una vez
que llegan a los puntos B y D se esperan entre si para retornar a los puntos A y C.
El sistema se describe en la siguiente figura.
EVENTOS:
E1: pulsación de M para la partida.
E2: traslado de C1 por d1 de A hacia B.
E3: traslado de C2 por d2 de C hacia D.
E4: sincronización de C1y C2 para el retorno.
E5: traslado de C1 por i1 de B hacia A.
i1 d1
i2 d2
D C
B A
E6: traslado de C2 por i2 de D hacia C.
CONDICIONES:
B1: C1 se está trasladando de A a B.
B2: C2 se está trasladando de C a D.
B3: se encuentra esperando C1 en el punto B a C2 para el retorno.
B4: se encuentra esperando C2 en el punto D a C1 para el retorno.
B5: C1 se encuentra en espera para el traslado.
B6: C2 se encuentra en espera para el traslado.
B7: C1 se encuentra trasladándose de B a A.
B8: C2 se encuentra trasladándose de D a C.
EVENTOS PRECONDICIO POSTCONDICION
e1 b5,b6 b1,b2
e2 b1 b3
e3 b2 b4
e4 b3,b4 b7,b8
e5 b7 b5
e6 b8 b6
75
Step: 1 / Time: 0 =====>
Enable: T0
Position: P4 decr. 1 token(s)
Position: P5 decr. 1 token(s)
Position: P0 incr. 1 token(s)
Position: P1 incr. 1 token(s)
Step: 2 / Time: 0 =====>
Enable: T1
Enable: T2
Position: P0 decr. 1 token(s)
Position: P1 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P3 incr. 1 token(s)
Step: 3 / Time: 0 =====>
Enable: T3
Position: P3 decr. 1 token(s)
Position: P2 decr. 1 token(s)
Position: P6 incr. 1 token(s)
Position: P7 incr. 1 token(s)
Step: 4 / Time: 0 =====>
Enable: T4
Enable: T5
Position: P6 decr. 1 token(s)
Position: P7 decr. 1 token(s)
Position: P4 incr. 1 token(s)
Position: P5 incr. 1 token(s)
La matriz es pura por que no existe superposición.
Mo(b) ≥ Pre(b,e1) ¥b M1(b) = Mo (p) – Pre(b,e1) + Post(e,b)
PROBLEMA 7.-
Un sistema productivo se caracteriza por que al mismo arriban 2 tipos de ordenes
que deben ser procesados por 2 tipos de robot para lo cual conforman una cola y
después de su procesamiento las piezas son puestas en la salida del sistema.
La siguiente representación grafica nos muestra el sistema.
Entonces Mo sensibiliza a e1
0 ≥ 0
0 ≥ 0
0 ≥ 0
0 ≥ 0
1 ≥ 1
1 ≥ 1
0 ≥ 0
0 ≥ 0
M1(b1)
M1(b2)
M!(b3)
M1(b4)
M1(b5)
M1(b6)
M1(b7)
M1(b8)
0 - 0 + 1 = 1
0 - 0 + 1 = 1
0 - 0 + 0 = 0
0 - 0 + 0 = 0
1 - 1 + 0 = 0
1 - 1 + 0 = 0
0 - 0 + 0 = 0
0 - 0 + 0 = 0
77
TERMINOS (eventos)
T1 : la entrada de la pieza t1
T2 : la entrada de la pieza t2
T3 : inicio del servicio de la pieza t1 por R1
T4 : inicio del servicio de la pieza t1 por R2
T5 : inicio del servicio de la pieza t2 por R1
T6 : inicio del servicio de la pieza t2 por R2
T7 : conclusión del servicio de t1 por R1
T8 : conclusión del servicio de t1 por R2
T9 : conclusión del servicio de t2 por R1
T10 : conclusión del servicio de t2 por R2
LUGARES (transiciones)
P1 : R1 libre
P2 : R2 libre
P3 : pieza t1 en espera
P4 : pieza t2 en espera
P5 : pieza t1 en proceso por R1
P6 : pieza t1 en proceso por R2
P7 : pieza t2 en proceso por R1
P8 : pieza t2 en proceso por R2
P9 : pieza t1 procesada está en salida
P10 : pieza t2 procesada está en salida
TRANSICION PROLUGARES POSTLUGARES
t1 _ p3
TIPO 2
TIPO 1
……
……
………………. SALIDA
Step: 1 / Time: 0 =====>
Enable: T0
Enable: T1
Position: P10 decr. 1 token(s)
Position: P11 decr. 1 token(s)
Position: P1 incr. 1 token(s)
Position: P3 incr. 1 token(s)
Step: 2 / Time: 0 =====>
Enable: T2
Enable: T3
Enable: T4
Enable: T5
Warning: branch conflict !
list:
Transition: T2
Transition: T5
end list:
Disable: T5
Warning: branch conflict !
list:
Transition: T2
Transition: T3
end list:
Disable: T2
Warning: branch conflict !
list:
Transition: T3
Transition: T4
end list:
Disable: T4
Position: P1 decr. 1 token(s)
Position: P2 decr. 1 token(s)
t2 _ p4
t3 p3,p1 p5
t4 p3,p2 p6
t5 p4,p1 p7
t6 p4,p2 p8
t7 p5 p9,p1
t8 p6 p9,p2
t9 p7 p10,p1
t10 p8 p10,p2
79
PROBLEMA 8.-
Se dispone de una máquina expedidora de golosinas, esta máquina va llevando el
registro de monedas introducidas, hasta que alcanza el valor de una de 2 tipos de
caramelos de 15 o 20 cts. Cuando el cliente pulsa el botón el caramelo es expedido
por la máquina, se asume que las monedas que se dispone cubre tan solo los
valores de 5 y 10 cts.
Para el sistema descrito construir su Red de Petri.
TRANSICIONES
T1:depósito de 5 cts.
Step: 3 / Time: 0 =====>
Enable: T0
Enable: T5
Enable: T7
Position: P10 decr. 1 token(s)
Position: P3 decr. 1 token(s)
Position: P0 decr. 1 token(s)
Position: P5 decr. 1 token(s)
Position: P1 incr. 1 token(s)
Position: P7 incr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P8 incr. 1 token(s)
T2:depósito de 5 cts.
T3:depósito de 10 cts.
T4:depósito de 5 cts.
T5:depósito de 10 cts.
T6:depósito de 5 cts.
T7:depósito de 5 cts.
T8:obtención del caramelo de 15 cts.
T9:obtención del caramelo de 20 cts.
LUGARES
P1:máquina libre
P2:máquina está acumulando 5 cts.
P3:máquina está acumulando 10 cts.
P4:máquina está acumulando 15 cts.
P5:máquina está acumulando 20 cts.
81
Step: 1 / Time: 0 =====>
Enable: T0
Enable: T1
Warning: branch conflict !
list:
Transition: T1
Transition: T0
end list:
Disable: T0
Position: P0 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Step: 2 / Time: 0 =====>
Enable: T2
Enable: T3
Warning: branch conflict !
list:
Transition: T2
Transition: T3
end list:
Disable: T2
Position: P2 decr. 1 token(s)
Position: P3 incr. 1 token(s)
TRANSICIONES PRELUGARES POSTLUGARES
t1 p1 p2
t2 p1 p3
t3 p3 p5
t4 p3 p4
t5 p2 p4
t6 p4 p5
t7 p2 p3
t8 p4 p1
t9 p5 p1
82
PROBLEMA 10.-
Un sistema comprende un proceso en traslado, que se realiza en base a 7 vehículos, 3
de los cuales están dedicados al transporte de contenedores de tipo 1 y 4 están
dedicados al transporte de contenedores de tipo 2. Si no están ocupados permanecen
en la zona de estacionamiento de vehículos.
Aleatoriamente pueden llegar contenedores de los 2 tipos al punto de carga de
contenedores. Si el contenedor es de tipo 1, cualquiera de los 3 asignado a este tipo
de contenedor se traslada al punto de carga; de modo que una vez cargado el
contenedor en el vehículo, este traslada el contenedor al punto de descarga.
Descargado el contenedor el vehículo retorna a la zona de estacionamiento de
vehículos, de manera análoga se procede con los vehículos y los contenedores de tipo
2.
La descripción grafica de este proceso es la siguiente.
Step: 3 / Time: 0 =====>
Enable: T5
Enable: T7
Warning: branch conflict !
list:
Transition: T5
Transition: T7
end list:
Disable: T7
Position: P3 decr. 1 token(s)
Position: P4 incr. 1 token(s)
Step: 4 / Time: 0 =====>
Enable: T8
Position: P4 decr. 1 token(s)
Position: P0 incr. 1 token(s)
83
Los parámetros establecidos para el proceso son los siguientes:
1. la velocidad de los vehículos es de 10 m/s
2. la distancia desde la zona de estacionamiento al punto de carga es de 150 mts, del
punto de carga al punto de de descarga es de 300 mts. Y desde el punto de descarga a
la zona de estacionamiento es de 250 mts.
3. la distribución de la llegada de los contenedores es exponencial con media de 10
minutos.
4. se ha establecido también que el 40 % de los contendores que llegan es de tipo 1
mientras que el 60 % es de tipo 2.
Construir la Red de Petri del sistema descrito.
TRANSICION PROLUGARES POSTLUGARES
t1 p0 p2
t2 p1,p2 p3
t3 p3,p2 p4
t4 p4 p5,p6
t5 p6 p1
Zona de
estacionamiento
de vehículos
3 V. tipo 1
4 V. tipo 2
Contenedores
Tipo 1
Tipo 2
150 mts
Punto de
carga
300 mts
Punto de
descarga
250 mts
84
Step: 1 / Time: 0 =====>
Enable: T0
Position: P0 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Step: 2 / Time: 0 =====>
Enable: T1
Position: P2 decr. 1 token(s)
Position: P1 decr. 1 token(s)
Position: P3 incr. 1 token(s)
85
Step: 3 / Time: 0 =====>
Enable: T0
Enable: T2
Position: P0 decr. 1 token(s)
Position: P3 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P4 incr. 1 token(s)
Step: 4 / Time: 0 =====>
Enable: T1
Enable: T3
Position: P2 decr. 1 token(s)
Position: P1 decr. 1 token(s)
Position: P4 decr. 1 token(s)
Position: P3 incr. 1 token(s)
Position: P5 incr. 1 token(s)
Position: P6 incr. 1 token(s)
Step: 5 / Time: 0 =====>
Enable: T0
Enable: T2
Position: P0 decr. 1 token(s)
Position: P3 decr. 1 token(s)
Position: P2 incr. 1 token(s)
Position: P4 incr. 1 token(s)
86
25. PROCESOS CONCURRENTES.
Desde el punto de vista de los sistemas computacionales son los procesos lanzados en
procesadores con múltiples unidades funcionales o múltiples procesadores. Pueden
ejecutar varias instrucciones a la vez, además el hardware permite la existencia de
varios procesos y el procesador puede conmutar entre ellos y ejecutar instrucciones de
varios procesos saltando entre ellos.
Existen instrucciones en la programación concurrente de alto nivel, para que un
proceso denominado padre cree uno o varios procesos denominados procesos hijo.
El inconveniente de los procesos concurrentes es que hagan operaciones sobre
variables comunes.
Esto genera varios problemas como el no cumplimiento de la precedencia o los
accesos múltiples a la región critica, es decir la sincronización y la exclusión mutua,
entre otros.
En si la solución a los problemas de sincronización y exclusión mutua se puede lograr
mediante la herramienta del semáforo.
Un semáforo S es una variable entera que posteriormente a su inicialización, sólo
puede ser accedida por dos operaciones estándar e indivisibles denominadas P y V,
cuyo estudio y concreción se ha estudiado en sistemas operativos.
La modelización matemática que conlleva los procesos concurrentes, los problemas de
precedencia y los problemas de exclusión mutua sobre secciones criticas se resuelven
mediante la utilización de Redes de Petri.
Las Redes de Petri 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.
Step: 6 / Time: 0 =====>
Enable: T1
Position: P2 decr. 1 token(s)
Position: P1 decr. 1 token(s)
Position: P3 incr. 1 token(s)
87
La teoría de redes de petri ha llegado a ser reconocida como una metodología
establecida en la literatura de la robótica para modelar los sistemas de manufactura
flexibles. Comparada con otros modelos de comportamiento dinámico gráficos, como
los diagramas de las máquinas de estados finitos, las redes de petri ofrecen una forma
de expresar procesos que requieren sincronía. Y quizás lo más importante es que las
redes de petri pueden ser analizadas de manera formal y obtener información del
comportamiento dinámico del sistema modelado.
Para modelar un sistema se usan representaciones matemáticas logrando una
abstracción del sistema, esto es logrado con las redes de petri, que además pueden
ser estudiadas como autómatas e investigar sus propiedades matemáticas.
¿Qué tipo de sistemas podemos modelar con las redes de petri?
¿Cómo logramos la analogía entre el sistema real y el modelo usando una redes de
petri?
Para responde a estas interrogantes se pone atención a los sistemas, considerando la
idea fundamental que un sistema se compone de módulos que interactúan entre sí, los
cuales pueden ser considerados por si mismos un sistema, y se puede estudiar su
comportamiento por separado y de esta manera aislarlos, pero siempre teniendo en
cuenta la interacción que guardan con los otros módulos.
El conocer en que condiciones se encuentran los módulos, es como si detuviéramos al
sistema en el tiempo, las condiciones internas de los módulos determinarían el estado
en el que se encuentran, para esto entendemos que un sistema es un arreglo dinámico
que en el transcurso del tiempo tiene variaciones y no permanece estático.
El estado de un módulo con frecuencia depende de su historia, es decir de las acciones
dadas en un tiempo anterior.
Dos conceptos importantes de la red de Petri son: acciones y estados, en si las
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 redes de petri fueron
diseñadas específicamente para modelar este tipo de sistemas.
26. PRIMERA APROXIMACION
Desde un punto de vista no formal y sobre todo grafico una red de Petri constituye una
red que se compone de dos tipos de nodos por una parte los que reciben el nombre de
88
“lugares” o sitios que están asociados a acciones duraderas y se los representa a
través de círculos, y los otros nodos denominados “conexiones” que representan
acciones fugaces y que se representan a través de un línea vertical o barra. También
están presentes en la red las puertas cuya función es interrelacionar los lugares con las
conexiones o viceversa Por otro lado los estados se expresan mediante marcas que se
incluyen al interior de los círculos y cuyo numero puede se arbitrario en dependencia
del sistema que se modela.
Sin embargo no esta permitido el uso de puertas o interrelaciones entre conexiones o
entre lugares, su representación grafica viene a ser flechas o arcos dirigidos.
A fin de establecer la dinamicidad del sistema se efectúa la introducción de las marcas
o tokens que se representan precisamente por marcas que se incluyen al interior de los
círculos o lugares como ya se expreso anteriormente.
En si la presencia de marcas en los lugares produce la sensibilización de las
conexiones, provocándose su activación y el disparo de acciones, lo que provoca el
cambio de estado en el sistema, es decir su dinamicidad.
Las puertas a su ves pueden ser
4) Puertas alteradoras de entrada: Constituye la puerta que esta representada
por una flecha simple de entrada o una conexión , es decir tiene la siguiente
estructura
2) Puertas restauradoras de entradas: Constituye la puerta formada por una
flecha doble de entrada a una conexión, su representación grafica es
3) Puerta alteradora de salida: Es aquella que esta representada por una flecha
simple que sale de una conexión su representación grafica es
4) Puerta restauradora de salida: Se caracteriza por tener una flecha doble que
sale de una conexión, su representación grafica es
89
Las redes de Petri tal como han sido expuestas hasta aquí carecen de significado
alguno de ahí que para utilizarlas en sistemas complejos es necesario dotarlos de
significado, es decir de proporcionar o incorporar a las mismas de un sentido,
semántica, esto se logra a través de la introducción de un lenguaje de anotaciones de
redes de Petri que se lo denota como LARP.
Antes de continuar se remarca que las redes de Petri son útiles para la modelación de
sistemas en los cuales están presentes la concurrencia, la independencia, el
asincronismo y la generalización, por lo cual se requiere para concretarla el uso de
abstracción, la concretización y de la generalización.
27. CRITERIOS DE MODELAJE
Para el modelaje mediante Redes de Petri se presentan dos criterios relacionados
entre si, estos son el criterio F y el criterio C/E
El criterio F se caracteriza por que se basa en la noción fundamental de “Fenómeno” y
el C/E se basa en las nociones básicas de “condición evento”
El criterio F considera que el comportamiento de cualquier sistema puede ser descrito
como un conjunto de procesos los cuales se componen de fenómenos, estos últimos
pueden ser estables o transitorios
los fenómenos estables son los que nos indican o corresponden a estados locales del
sistemas mientras que los fenómenos transitorios indican las transiciones entre estados
locales, en concreto por las transiciones algunos estados pasan a tener vigencia
mientras que otros dejan de tener vigencia
Por su parte el criterio C/E no es otra cosa que la abstracción y la generalización del
criterio F.
La abstracción se basa en los conceptos de condición y evento y se consideran que la
relación entre condición y evento esta supeditado a la ejecución de un determinado
evento que requiere el cumplimiento de determinadas condiciones.
En general una condición puede ser precondición de uno o más eventos y de igual
manera una condición puede ser postcondicion de uno o más eventos
Las marcas o tokens sirven para darle dinamicidad al sistema pues el mismo no
pertenece estático, sino cambia de estado conforme cambia el tiempo o más
propiamente conforme se cumplan las condiciones
27.1. CRITERIO F:
90
El criterio F sirve como base conceptual para el criterio C/E, sin embargo; tiene la
desventaja de que sistemas simples utilizando este criterio adquieren una dimensión
de exageradas proporciones, razón por la cuál no es recomendable en la practica para
modelar.
Según el criterio F se considera que el comportamiento de cualquier sistema puede
ser descrito como un conjunto de procesos. A su vez cada proceso consta de
fenómenos, los cuales pueden ser o bien estables o bien transitorios.
1) Los fenómenos estables, son los que nos indican o corresponden estados
locales del sistema. Se representan a través de círculos ( lugares).
2)Los fenómenos transitorios, indican las transiciones entre estados locales. En
concreto, por las transiciones algunos estados pasan a tener vigencia; mientras que
otros estados dejan de tener vigencia. Se representan a través de rectángulos o
barras verticales (conexiones).
La introducción al abordaje F será hecha en paralelo con un desenvolvimiento de un
ejemplo muy simple de sistema,
El sistema ha ser modelado es un mercado de trabajo. En este mercado de trabajo
observamos inicialmente una persona (Persona P) y dos vacancias (vacancia V1 y
vacancia V2) y también vemos los siguientes fenómenos:
- La persona P entra en el mercado de trabajo.
- Una vacancia entra en el mercado de trabajo.
- Un contrato de trabajo entra en vigencia.
- Un contrato de trabajo deja de estar en vigencia.
Los fenómenos son históricos, una vez acontecidos nunca más se repiten.
los fenómenos estables están representados por círculos. Entre estos se encuentran:
Vacancia V1 libre (1ra), es decir la primera vez en que vacancia V1 está libre
Vacancia V2 (2da), es decir la segunda vez en la que V1 está libre; etc.
Los fenómenos transitorios son representados a través de rectángulos. Así cuando
ocurre un fenómeno transitorio, algunos fenómenos estables dejan de estar en
vigencia (aquellos indicados por flechas entrando en el rectángulo representativo del
fenómeno transitorio) y otros fenómenos estables entran en vigencia (aquellos
indicados por las flechas de salida de los fenómenos transitorios).
El fenómeno transitorio ftl está representado por un rectángulo con una flecha de
entrada, ligada a un círculo representativo de un fenómeno estable.
91
Persona P fuera del mercado es una flecha de salida ligada a un circulo representativo
de un fenómeno estable, persona P libre (1ra).
Esto significa que para ocurrir el fenómeno transitorio ft1 el fenómeno estable persona
P fuera de mercado deja de ocurrir y coincidentemente el fenómeno establece
persona P libre (1ra) entra en vigencia. En otras palabras. el acontecer de ft1 es un
fenómeno de entrada al mercado de trabajo de la persona P, pus por consecuencia
aparece como libre la primera vez.
Otro ejemplo de un fenómeno transitorio es ft4. el surgimiento de un contrato de
trabajo en el que la persona P, cuando esta libre la primera vez, pasa a ocupar la
vacancia V1 que también esta libre la primera vez.
Es así que podemos expresar a través de un proceso dos tipos de relaciones entre
fenómenos:
- Un tipo de relación es a través de secuencia de fenómenos. El proceso de la figura
expresa que para que acontezca el fenómeno de transición ft4 debe ocurrir antes
los fenómenos de transición ftl y ft2.
- Otro tipo de relación es la independencia de fenómenos. El proceso expresa por
ejemplo que no existe ninguna dependencia entre el acontecer ft3 o ft4
Un proceso puede ser considerado como una posible historia de desenvolvimiento
del sistema. Un sistema se puede desenvolver de diversas formas por diversas
historias, y de diversos procesos. Este es el caso del sistema de mercado de trabajo,
que también se podría desenvolver de diferentes maneras, siguiendo otros procesos
si consideramos que la persona P también podría ocupar la vacancia V2 y que los
fenómenos transitorios que entran y salen en vigencia de un contrato se pueden
repetir mas veces que las mostradas en las figuras anteriores.
27.2. CRITERIO C/E:
El criterio C/E es la abstracción y generalización del criterio F. esta abstracción se
basa en los conceptos de condición y eventos.
La relación entre condición y evento se basa en el hecho de que para la realización de
un determinado evento se requiere el cumplimiento de determinadas condiciones.
- Los eventos bajo el criterio CE son representados mediante segmentos o barras.
- Las condiciones se representan mediante círculos.
Una condición puede ser precondición de uno o más eventos. de igual manera una
condición puede ser post condición de uno o más eventos. Las relaciones entre el
los se representa mediante las flechas.
Ejemplo 1:
92
Construir la red de Petri conformado por los eventos e1..e5 y por las condiciones
b1..b4, además que se ha establecido que:
b1 es precondición de e2
b1 es postcondición de el
b2 es precondición de e2, e2
b2 es postcondición de e4
b3 es precondición de el
b3 es postcondición de e2, e5
b4 es precondición de e4, e5
b4 es postcondición de e2, e3
Un evento puede realizarse siempre y cuando se cumpla todas las precondiciones, y
además no se ejecute ninguna de sus postcondiciones.
Bajo la realización de un evento se produce un cambio de condiciones;
concretamente todas sus precondiciones dejan de tener vigencia, mientras que las
postcondiciones serán ejecutables; es así que las postcondiciones, vienen a ser las
precondiciones de otros eventos, de hecho las mismas cambian conforme pasa el
tiempo.
Para denotar el cumplimiento de una condición se introduce un círculo pequeño al
interior de la condición y se dice que esta condición está marcada.
Ejemplo 2:
Realizar el modelo de red de Petri de un sistema de computación, cuya descripción es
la siguiente; los trabajos surgen y son puestos en una lista de entrada. Si el
procesador está libre y existe un trabajo en la lista de entrada, el procesador empieza
a ejecutar el trabajo.
Cuando el trabajo es concluido, es puesto en una lista de salida y si hay más
trabajos en la lista de entrada, el procesador continúa con otro trabajo, caso
contrario espera por otro trabajo.
IDENTIFICACION DE ELEMENTOS
- Procesador
- Trabajos
- Lista de entrada
- Lista de salida
CONDICIONES
- El procesador está libre (b1)
- Un trabajo está en lista de entrada (b2)
93
- Un trabajo está en la lista de salida (b3)
- Un trabajo está siendo procesado (b4)
EVENTOS
- Un trabajo entra al sistema (el)
- Un proceso de trabajo ha empezado (e2)
- Un trabajo sale del sistema (e3)
- El proceso de trabajo ha terminado (e4)
RELACIONES
Viene dada por la red de Petri que debe se construida en la sesión, una ves que se
haya establecido la tabla de pre y postcondiciones que sirven de base para la red de
Petri, restando proporcionar las condiciones iníciales, es decir el marcaje para dotarle
de dinamicidad
28. PROPIEDADES DE LAS REDES DE PETRI
28.1. VIVACIDAD:
Una transiciуn t esta viva para un marcado inicial M0 si y solo si existe una secuencia
de disparos a partir de un marcado M sucesor de M0 que comprenda a t, es decir que
para todo M que pertenece a M(Rp, M0) existe ζ tal que M –ζ M´ tal que tes parte
de ζ.
Una red de petri marcada esta viva para M0 si y solo si 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 boquee totalmente, ya
que para que este viva todas sus transiciones deben ser disparables desde cualquier
marcado alcanzable.
Se dice que esta parcialmente viva para M0 si tomando como punto de partida
cualquie marcado alcanzable a partir de M0 existe al menos una transiciуn disparable y
otra transiciуn no viva.
28.2. CICLICIDAD:
Se dice que una red de petri posee un comportamiento globalmente ciclico para M= si
existe una secuencia de disparos que permite alcanzar el marcado inicial M0 a partir de
cualquier marcado M alcanzable a partir de M0.
La ciclicidad o revesibilidad de una red de petri marcada garantiza que no existan
subconjuntos finales de estados (marcados) mutuamente alcanzables entre si y tales
que el estado inicial no es alcanzable a partir de ninguno de ellos.
94
28.3. ACOTAMIENTO:
El significado de esta propiedad es el de asegurar que el sistema que una red
representa, posee un numero 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 numero de
estados del sistema representado por la red de petri.
Un lugar p es k-acotado para M0 si existe un numerom entero k tal que M(p)<=k para
cualquier marcado M que pertenece a M(RP,M0), De este modo se denomina cota del
lugar al menor entero k que verifica la desigualdad anterior.
Una red de petri marcada es k-acotada para M0 si y solo si todos sus lugares son k-
acotados para M0.
Si una red de petri es 1-acotada para M0 su marcado es binario y la red se denomina
red de petri binaria.
28.4. CONSERVATIBILIDAD:
Las 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 de petri
es consevativa.
Sea una R=(P, T, pre, post, M0) se dice que es estrictamente conservativa si y solo si
para todo M´que pertenece a M(R,M0), ∑i M´(pi) = ∑i M(pi) para pi ε P
Esto es se ha de mantener el numero de marcas para cualquier marcado de la red. Lo
que significa que el numero de entradas ha de coincidir con el numero de salidas.
28.5. ALCANZABILIDAD:
Es la base fundamental para estudiar las propiedades dinamicas de cualquier sistema.
Al dispararse una transiciуn habilitada, esta cambiara la distribuciуn de las señales. De
esta forma de una secuencia de disparos resultara 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.
29. SUBCLASES DE REDES DE PETRI
Existen una variedad de subclases de redes de Petri entre los cuales podemos
mencionar los siguientes:
Los grafos de estado (GE) o maquinas de estado que no son otra cosa que una red
de petri para la cual para todo t que pertenece a T se caracteriza porque la cardinalidad
95
de las entradas de t es igual a la cardinalidad de las salidas y es igual a 1. En otras
palabras una maquina de estado porque no tiene nodos Y, por lo cual puede modelar
alternativas pero no puede modelar concurrencia.
Los grafos marcado (GM) o grafo de sincronización que no son otra cosa que una
red de petri para la cual para todo p que pertenece a P se caracteriza porque la
cardinalidad de las entradas de p es igual a la cardinalidad de las salidas y es igual a 1.
En otras palabras un grafo de sincronización porque no tiene nodos O, por lo cual no se
puede modelar alternativas pero si se puede modelar concurrencia.
Las redes de Petri de libre elección, que no son otra cosa que redes de petri que se
caracterizan porque para todo p que pertenece a P y tal que su cardinalidad de salida
es mayor a 1 implica que para todo t que pertenece al conjunto de transiciones de
salida de p, se caracteriza porque tiene cardinalidad 1, en otras palabras si dos
transiciones tiene un lugar previo común entonces este es el único lugar previo de
ambas. Esta red puede modelar concurrencia y alternativas.
Red de Petri Simple, es aquella en que una transición tiene como máximo un lugar de
entrada compartido con otras transiciones, como se muestra en la figura:
30. REDES DE PETRI DE ALTO NIVEL
Son aquellas que permiten concretar la descripción de sistemas complejos con
subsistemas similares, entre estas se tienen las redes de petri coloreadas, las redes de
petri temporales, las redes de petri difusas, las redes de petri estocásticas, las redes
de petri proposicionales, etc.
Las redes de petri de alto nivel se caracterizan porque a diferencia de las redes de petri
ordinarias sus marcas tienen asociadas valores que corresponden a determinados
atributos y además sus transiciones tiene asociadas condiciones de disparo que
dependen de los valores de las marcas de los lugares previos y también tiene
asociados funciones que dan como resultado los valores de las marcas que genera el
disparo.
Una clase interesante de redes de petri de alto nivel son las redes de petri coloreadas y
las temporales, veamos brevemente en qué consisten.
Las redes de Petri coloreadas, se caracterizan porque cada marca tiene un color, es
decir un valor, por otra parte cada lugar o transición tiene asociado un conjunto de
colores, además que los arcos tienen asociados funciones entre el conjunto de colores
de las transiciones y el lugar que unen.
Una transición puede dispararse para cada uno de los colores, así para que una
transición este sensibiliza a un color, debe haber en cada lugar de entrada al menos
96
una marca cuyo color sea el resultado de aplicar la función del arco correspondiente al
color del disparo. En concreto al disparar la transición los colores de las marcas que se
quitan de los lugares de entrada y que se ponen en los de salida son los que resultan
de aplicar las funciones de los arcos correspondientes al color del disparo.
En si las redes de Petri coloreadas son equivalentes a las redes de petri ordinarias. De
esta manera establecidos los lugares, las transiciones, las marcas, las condiciones de
habilitación y de disparo en base a las funciones definidas, se estará en condiciones no
solo de modelar un sistema complejo sino de establecer su comportamiento y en base
al mismo establecer políticas para el mismo.
Las redes de Petri temporales, vienen a ser redes de petri de alto nivel que se
caracterizan porque introducen el tiempo, mediante la asignación de un intervalo de
tiempo a una transición. En si el intervalo se define un intervalo de tiempo mínimo y
máximo de disparo desde que la transición se sensibiliza, la transición debe dispararse
dentro del intervalo a menos que se desensibilice antes del final del mismo.
REDES DE PETRI INTERPRETADAS
Para pode modelar mediante redes de Petri un sistema real se precisa una
interpretación, la cual para los sistemas dinámicos discretos se efectúa en base a la
definición de los siguientes aspectos:
1.- El conjunto de entradas del sistema que se lo denota como:
X = { X1, X2, X3,………Xn}
2.- El conjunto de salidas del nivel del sistema que se lo denota como:
Y = {Y1, Y2, Y3,………Ys}
3.- El conjunto de salidas impulsionales del sistema que se lo denota como:
Z = {Z1, Z2, Z3,………Zq}
4.- Por otra parte con una condición externa Ci que constituye un subconjunto de los
valores de las variables de entrada representada por una función combinatoria de las
mismas, se establece el conjunto de las condiciones externas que se la denota como
C = { Ci | Ci es una condición externa}
5.- A su vez se considera un acontecimiento o evento Ei se considera como el cambio
de valor lógico de una condición externa o bien como la unión de un conjunto de
eventos, es decir se tiene que:
E = { Ei | Ei es un evento }
Para concretar la interpretación se asocian eventos, condiciones externas y salidas
impulsionales a las transiciones, mientras que se asocian a las salidas de nivel a los
97
lugares, sin embargo las salidas pueden estar restringidas por las condiciones
externas.
En concreto en síntesis una red de petri interpretada formalmente se define como:
1.- < RP, M0 >
2.- T -> E
3.- T -> C
4.- T -> Z
5.- P*C -> Y
Para concretar con la caracterización, resta establecer las reglas de evolución de los
sistemas a través de la secuencia de marcaje, para lo cual en el caso de las redes de
petri interpretadas se concreta de la siguiente manera:
1.- Una transición Ti sensibiliza solo se dispara si se verifica que Ci Ei , en este caso
se dice que Ti es receptiva a Ei y a Ci
2.- Cuando se dispara una transición se producen todas las salidas impulsionales
asociadas a las mismas.
3.- Cuando un lugar está marcado se producen las salidas de nivel asociadas, si se
verifica las condiciones correspondientes, es decir si:
Yi está asociada a Pi condicionada por Cij
En este caso se dice que es sensible a Cij cuando Pi este marcado.
Con todo lo expuesto se está en condiciones de diseñar y construir las
correspondientes redes de petri interpretadas para sistemas reales, veamos un
ejemplo:
31. EJEMPLOS
Ejemplo 1 :
Construir la red de petri interpretada para el sistema de recursos compartidos que
gráficamente se expresa de la siguiente manera:
Se asume que el carro CA debe esperar en EA hasta que la zona común quede libre y
además que este carro tiene una espera en D de 100 seg. Mientras que el carro CB
actúa de la misma manera que Ca en EB, pero en este caso tiene prioridad y la espera
en D es de 50 seg.
Tomando en cuenta la descripción efectuada tanto grafica como textualmente y
adentrándonos en el funcionamiento del sistema se establece que:
98
El conjunto de entradas del sistema viene expresado por:
X = { MA, CA, EA, MB, CB, EB, D, Temp}
Por su parte el conjunto de salidas de nivel del sistema esta dado por:
Y = { iA, dA, iB, dB, G }
Y finalmente el conjunto de de salidas impulsionales viene a ser:
Z = { Temp }
Para modelar es conveniente tomar en cuenta que las transiciones vienen a constituir
en si eventos y gráficamente se representan por una barra | , por su parte los lugares
constituyen las condiciones y se la representa por círculos. Además como se trata de
redes de petri interpretadas se debe considerar además que las transiciones estas
asociadas a eventos, condiciones externas y salidas impulsionales, mientras que las
salidas de nivel a los lugares y sus restricciones, en concreto para nuestro caso se
tiene que:
MA CA, EB/EA, D/Temp, T(100),EA, CA transiciones del primer carro
MB CB, EB/EA, D/Temp, T(50), EB, CB transiciones del Segundo carro
Por su parte de igual manera se establecen los lugares
da/EA, dA, G, iA G, iA , MA lugares para el carro1
dB/EB, dB, G, iB G, iB, MB lugares para el carro 2
Además se dispone del lugar común para ambos I
Tomando en cuenta lo anteriormente expuesto se establece las pre y post condiciones
a través de la tabla y en base a la misma se construye la red de Petri interpretada, de
CA
CB
iA dA
dB iB EA
EB
G MA
MB
99
modo que dando su marcaje inicial y tomando las formalizaciones anteriormente
estudiadas se establece su árbol de alcance es decir su comportamiento.
Se asume además que A espera 100 seg en D mientras que B espera 50 seg en D y a
su vez que B tiene prioridad sobre A.
X = {MA,CA,EA,MB,CB,EB,Temp,D}
Y = {iA,dA,iB,dB,G}
Z = {Tiempo}
Ejemplo 2:
Un taller tiene 3 máquinas M1,M2 y M3 ; 2 operadores O1 y O2. El operador O1 puede
trabajar las máquinas M1 y M2, mientras que el operador 2 puede manejar las
máquinas M1 y M3. Las órdenes que llegan al sistema requieren de 2 procesos P1 y
P2.
El 1º proceso debe ser concretado por la máquina M1 mientras que el 2º proceso
puede ser concretado por la máquina M2 o M3.
Construir la Red de Petri para el sistema descrito.
CONDICIONES
B1:una orden ha llegado y espera por servicio
B2:una orden ha sido procesada por M1 y está esperando ser procesada por M2 o M3
B3:una orden ha sido completada
100
B4:la máquina M1 está completada
B5:la máquina M2 está libre
B6:la máquina M3 está libre
B7:el operador O1 está libre
B8:el operador O2 está libre
B9:el operador O1 está operando M1
B10:el operador O2 opera M1
B11:el operador O1 está operando M2
B12:el operador O2 está operando M2
EVENTOS
E1:llegada de una orden
E2:inicio de la orden por el O1 en la máquina M1
E3:fin de la orden por O1 en M1
E4:inicio de la orden O2 en M1
E5:fin de la orden por O2 en M1
E6:inicio de la orden por O1 en M2
E7:fin de la orden por O1 en M2
E8:inicio de la orden por O2 en M3
E9:fin de la orden por O2 en M3
E10:salida de la orden concluida
EVENTOS PRECONDICION POSTCONDICION
E10 _ b1
e2 b1,b4,b7 b9
e3 b9 b4,b7,b2
e4 b1,b8,b4 b10
e5 b10 b4,b8,b9
e6 b2,b5,b7 b11
e7 b11 b3,b5,b7
e8 b2,b6,b8 b12
e9 b12 b3,b6,b8
e10 b3 _
101
Ejemplo 3:
Un sistema está compuesto por 2 carros C1 y C2 que van y vienen de manera
sincronizada del punto A al punto B y del punto C al punto D; de modo que una vez que
llegan a los puntos B y D se esperan entre si para retornar a los puntos A y C.
El sistema se describe en la siguiente figura.
EVENTOS:
E1: pulsación de M para la partida.
E2: traslado de C1 por d1 de A hacia B.
E3: traslado de C2 por d2 de C hacia D.
E4: sincronización de C1y C2 para el retorno.
E5: traslado de C1 por i1 de B hacia A.
E6: traslado de C2 por i2 de D hacia C.
CONDICIONES:
B1: C1 se está trasladando de A a B.
B2: C2 se está trasladando de C a D.
B3: se encuentra esperando C1 en el punto B a C2 para el retorno.
i1 d1
i2 d2
D C
B A
102
B4: se encuentra esperando C2 en el punto D a C1 para el retorno.
B5: C1 se encuentra en espera para el traslado.
B6: C2 se encuentra en espera para el traslado.
B7: C1 se encuentra trasladándose de B a A.
B8: C2 se encuentra trasladándose de D a C.
EVENTOS PRECONDICIO POSTCONDICION
e1 b5,b6 b1,b2
e2 b1 b3
e3 b2 b4
e4 b3,b4 b7,b8
e5 b7 b5
e6 b8 b6
Ejemplo 4:
Un sistema productivo se caracteriza por que al mismo arriban 2 tipos de ordenes que
deben ser procesados por 2 tipos de robot para lo cual conforman una cola y después
de su procesamiento las piezas son puestas en la salida del sistema.
La siguiente representación grafica nos muestra el sistema.
TRANSICIONES (eventos)
T1 : la entrada de la pieza t1
T2 : la entrada de la pieza t2
TIPO 2
TIPO 1
……
……
………………. SALIDA
103
T3 : inicio del servicio de la pieza t1 por R1
T4 : inicio del servicio de la pieza t1 por R2
T5 : inicio del servicio de la pieza t2 por R1
T6 : inicio del servicio de la pieza t2 por R2
T7 : conclusión del servicio de t1 por R1
T8 : conclusión del servicio de t1 por R2
T9 : conclusión del servicio de t2 por R1
T10 :conclusión del servicio de t2 por R2
LUGARES (transiciones)
P1 : R1 libre
P2 : R2 libre
P3 : pieza t1 en espera
P4 : pieza t2 en espera
P5 : pieza t1 en proceso por R1
P6 : pieza t1 en proceso por R2
P7 : pieza t2 en proceso por R1
P8 : pieza t2 en proceso por R2
P9 : pieza t1 procesada está en salida
P10 : pieza t2 procesada
TRANSICION PRELUGARES POSTLUGARES
t1 _ p3
t2 _ p4
t3 p3,p1 p5
t4 p3,p2 p6
t5 p4,p1 p7
t6 p4,p2 p8
t7 p5 p9,p1
t8 p6 p9,p2
t9 p7 p10,p1
t10 p8 p10,p2
104
Ejemplo 5:
Se tiene una planta con 2 depósitos que se llenan a través de un depósito común
aunque esté solamente se puede dedicar al llenado de uno de ellos, es decir no se
pueden llenar los 2 a la vez, la operación de llenado se inicia con la señal de vació i1 o
i2 y termina con la de llenado y si se piden ser llenados ambos simultáneamente se le
da prioridad al depósito 1. Después de 2 seg. Se abre la válvula principal ev1 al
terminar la operación de llenado (s1 o s2) la válvula ev1 se cierra inmediatamente,
mientras que la válvula correspondiente ev2 o ev3 se cierra después de un tiempo t1 =
4 seg. Y t2 = 5 seg. Respectivamente.
Gráficamente el sistema se lo representa de la siguiente manera
Construir el modelo de red de Petri con el fin de determinar su comportamiento
Transiciones
105
T1: deposito 1 esta vacío y ev1 tarda 2 seg. en abrirse.
T2: concluye el llenado empleando ev2 e inicia del cerrado.
T3: concluye el cerrado de ev1 e inicio del cerrado de ev2
T4: concluye el cerrado de ev2 después de 4 segundos.
T5: deposito 2 esta vacío y ev1 tarda 2 segundos en abrirse.
T6: concluye el llenado empleando ev3 e inicia del cerrado.
T7: concluye el cerrado de ev1 e inicio del cerrado de ev3.
T8: concluye el cerrado de ev3 después de 5 segundos.
Lugares
P1: se esta llenando el deposito 1 a través de ev2.
P2: se están cerrando las válvulas ev1 y ev2.
P3: se esta cerrando el ingreso al deposito 1 a través de la válvula ev2.
P4: se esta vaciando el deposito 1.
P5: se esta controlando el proceso para el deposito 1 y deposito 2.
P6: se esta llenando el deposito 2 a través de ev3.
P2: se están cerrando las válvulas ev1 y ev3.
P3: se esta cerrando el ingreso al deposito 2 a través de la válvula ev3.
P4: se esta vaciando el deposito 2.
Tabla de pre y post condiciones.
transiciones pre post
t1 p4,p5 p1
t2 p1 p2
t3 p2 p3
t4 p3 p4,p5
t5 p9,p5 p6
t6 p6 p7
t7 p7 p8
t8 p8 p9,p5
Marcaje inicial
106
Ejemplo 6:
Se tiene una línea de producción cuya descripción grafica es la siguiente:
Es decir que el sistema esta formado por los siguiente elementos: 2 robots r1 y r2, 3
maquinas m1 m2 y m3 y 2 lugares de almacenamiento s1 y s2.
0
0
0
1
Mo= 1
0
0
0
1
1
0
0
0
M1= 0
0
0
0
1
107
El funcionamiento de la línea de producción es el siguiente:
1 el robot r1 realiza el transporte de las piezas almacenadas en s1 y las carga en la
maquina 1
2 la maquina m1 realiza la primera operación de procesamiento sobre las piezas.
3 una ves que la maquina m1 a finalizado la primera operación de proceso y esta se
encuentra en la maquina m1, el robot r2 realiza el transporte de la pieza procesada en
la maquina m1 y la carga en la maquina m2 o m3.
4 una ves que la maquina m2 o m3 ha finalizado la segunda operación de procesado el
robot r2 transporta la pieza procesada a s2.
Construir la red de Petri para el sistema descrito a fin de establecer su comportamiento.
Para facilitar la construcción de la red de Petri es conveniente aplicar la modularización
y jerarquización es decir se divide el sistema en módulos que en nuestro caso son 3.
El subsistema 1esta integrado por el almacén de entrada s1 el robot r1 y la maquina
m1. en este subsistema se debe describir las operaciones de transporte de las piezas
del almacén s1 por el robot r1 hasta la maquina m1y su procesamiento
correspondiente. De esta manera se debe construir su red de Petri que describa el
estado del robot r1 de la maquina m1 y del almacén m1, tomando en cuenta que la
condición para que el robot r1 pueda transportar una pieza a la maquina m1 es que
tanto el robot como la maquina estén libres y además deben existir piezas en s1. en
base a lo anteriormente descrito considerando que inicialmente en el almacén s1 se
dispone de 6 piezas las transiciones y lugar o eventos y condiciones para este sistema
vienen ha ser los siguientes.
Lugares
P1: la maquina m1 esta libre
P2: el robot r1 esta transportando 1 pieza de s1 a m1
P3: el robot r1 esta libre
P4: la maquina m1 esta procesando la pieza
P5: la maquina m1 esta ocupada con pieza procesada
P6: el almacén s1 esta con piezas almacenadas.
Transiciones
T1: inicio de transporte de una pieza de s1 a por r1 a m1.
T2: conclusión del transporte de una pieza de s1 a m1 e inicio de procesado de la pieza
por m1
108
T3: conclusión del procesamiento de la pieza por m1
Tabla de pre y post condiciones
transiciones pre Post
t1 p1,p3,p6 p2
t2 p2 p4,p3
t3 p4 p5
El subsistema 2 esta integrado por el almacén s2 por la maquina m2 por el robot r2 y
acoplada con es subsistema 1 a través de la pieza ya procesada por la maquina m1.
Ejemplo 7:
Funcionalmente en este subsistema se debe describir las operaciones de trasporte de
las piezas ya procesadas en m1 por r2 hasta la maquina m2, el procesamiento de la
pieza en esta maquina así como su transporte una ves procesada al almacén de salida
s2 por el robot r2. Para construir a red de Petri debe describirse el estado del robot r2,
de las maquina m1 y m2 y del almacén s2 tomando en cuenta que la condición para
que el robot pueda transportar una pieza de m1 a m2 es que la maquina m1 debe estar
ocupada con pieza ya procesada, la maquina m2 debe estar libre y el robot r2 debe
estar libre. En cuanto a la operación de transporte de m2 a s2 las condiciones son que
el robot debe estar libre y que la maquina m2 se encuentre ocupada con pieza
procesada. En base a lo anteriormente descrito las transiciones o eventos o los lugares
o condiciones de este subsistema serán las siguientes:
Lugares
P5: la maquina m1 esta ocupada con pieza procesada.
P7: la maquina m2 esta libre.
P8: el robot r2 esta libre
109
P9: el robot r2 esta transportando una pieza de m1 a m2
P10: m2 esta procesando una pieza
P11: el robot r2 esta transportando una pieza procesada en m2 a s2
Transiciones
T4:inicio del transporte de pieza procesada de m1 a m2 por r2
T5:conclusión del transporte de la pieza de m1 a m2 por r2 e inicio de procesamiento
de la pieza en m2
T6:conclusión del procesamiento de la pieza en m2 e inicio del transporte de la pieza
procesada a s2 por r2.
T7:conclusión del transporte de la pieza procesada en m2 a s2 por r2.
Tabla de pre y post condiciones.
transiciones pre post
t4 p5,p7,p8 p9
t5 p9 p10,p8,p1
t6 p10,p8 p11,p7
t7 p11 p8
El subsistema 3 esta integrado por el almacén s2 por la maquina m3 por el robot r2 y
acoplada con es subsistema 1 a través de la pieza ya procesada por la maquina m1.
Funcionalmente en este subsistema se debe describir las operaciones de trasporte de
las piezas ya procesadas en m1 por r2 hasta la maquina m3, el procesamiento de la
pieza en esta maquina así como su transporte una ves procesada al almacén de salida
s2 por el robot r2. para construir a red de Petri debe describirse el estado del robot r2,
de las maquina m1 y m3 y del almacén s2 tomando en cuenta que la condición para
110
que el robot pueda transportar una pieza de m1 a m3 es que la maquina m1 debe estar
ocupada con pieza ya procesada, la maquina m3 debe estar libre y el robot r2 debe
estar libre. En cuanto a la operación de transporte de m3 a s2 las condiciones son que
el robot debe estar libre y que la maquina m3 se encuentre ocupada con pieza
procesada. En base a lo anteriormente descrito las transiciones o eventos o los lugares
o condiciones de este subsistema serán las siguientes:
Lugares
P5: la maquina m1 esta ocupada con pieza procesada.
P12: la maquina m3 esta libre.
P8: el robot r2 esta libre.
P13: el robot r2 esta transportando una pieza de m1 a m3.
P14: m3 esta procesando una pieza.
P15: el robot r2 esta transportando una pieza procesada en m3 a s2.
Transiciones
T8:inicio del transporte de pieza procesada de m1 a m3 por r2.
T9:conclusión del transporte de la pieza de m1 a m3 por r2 e inicio de procesamiento
de la pieza en m3.
T10:conclusión del procesamiento de la pieza en m3 e inicio del transporte de la pieza
procesada a s2 por r2.
T11:conclusión del transporte de la pieza procesada en m3 a s2 por r2.
Ejemplo 8:
Funcionalmente en este subsistema se debe describir las operaciones de trasporte de
las piezas ya procesadas en m1 por r2 hasta la maquina m3, el procesamiento de la
pieza en esta maquina así como su transporte una ves procesada al almacén de salida
s2 por el robot r2. para construir a red de Petri debe describirse el estado del robot r2,
de las maquina m1 y m3 y del almacén s2 tomando en cuenta que la condición para
que el robot pueda transportar una pieza de m1 a m3 es que la maquina m1 debe estar
ocupada con pieza ya procesada, la maquina m3 debe estar libre y el robot r2 debe
estar libre. En cuanto a la operación de transporte de m3 a s2 las condiciones son que
el robot debe estar libre y que la maquina m3 se encuentre ocupada con pieza
procesada. En base a lo anteriormente descrito las transiciones o eventos o los lugares
o condiciones de este subsistema serán las siguientes:
Lugares
P5: la maquina m1 esta ocupada con pieza procesada.
111
P12: la maquina m3 esta libre.
P8: el robot r2 esta libre.
P13: el robot r2 esta transportando una pieza de m1 a m3.
P14: m3 esta procesando una pieza.
P15: el robot r2 esta transportando una pieza procesada en m3 a s2.
Transiciones
T8:inicio del transporte de pieza procesada de m1 a m3 por r2.
T9:conclusión del transporte de la pieza de m1 a m3 por r2 e inicio de procesamiento
de la pieza en m3.
T10:conclusión del procesamiento de la pieza en m3 e inicio del transporte de la pieza
procesada a s2 por r2.
T11:conclusión del transporte de la pieza procesada en m3 a s2 por r2.
Tabla de pre y post condiciones
transiciones pre post
t8 p5,p12,p8 p13
t9 p13 p14,p8,p1
t10 p14,p8 p13,p9
t11 p13 p8
112
Ejemplo 9:
Un sistema se compone de 3 maquinas, un vehículo y 12 estaciones de carga /
descargar. Cada una de las estaciones de carga y descarga solo manipula un tipo de
pieza, la estación se emplea para el almacenamiento del palet.
Las operaciones de carga y descarga son realizadas por un trabajador, el vehículo
transporta los palets con las piezas de la estaciones de carga a las maquinas o
viceversa.
Cada pieza precisa de una sola operación y cada palet solo es utilizada por un tipo de
piezas, además que el vehículo se asume que tiene una sola posición, es decir solo
puede cargar una pieza a la vez. En concreto las hipótesis más importantes del sistema
son las siguientes:
7. El vehículo tiene una posición de carga y transporte
8. cada pieza requiere de una sola operación
9. las operaciones se pueden efectuar en cualquier maquina
10. las maquinas no tienen averías
11. cada estación de carga y descarga sirve a un tipo de piezas
12. las fijaciones están permanentemente montadas en los palets
La descripción grafica del sistema es la siguiente:
construir la red Petri para el sistema descrito
transiciones
t1: inicio de carga de pieza por operador
t2: conclusión de carga, inicio de la ocupación de la estación
t3: conclusión de la ocupación de estaciones, inicio de traslado por el vehículo
t4: conclusión de traslado, inicio de proceso en la maquina
t5: conclusión de procesado en la maquina, inicio de traslado de pieza procesada.
113
T6: conclusión del traslado de la pieza procesada, inicio de ocupación de estación de
salida
T7: conclusión de ocupación de estación, inicio de la descarga de pieza procesada
T8: conclusión de la descarga de la pieza procesada
Lugares
P1: entrada de los diferentes tipos de piezas
P2: operador libre
P3: estaciones entrada – salida libre
P4: operador cargando pieza en el palet
P5: estación de entrada esta ocupada
P6: maquina libre
P7: vehículo libre
P8: pieza en vehículo trasladándose de estación de entrada a una de las maquinas
P9: pieza procesándose en una maquina
P10: pieza en el vehículo trasladándose desde la maquina hasta la estación de salida
P11: estación de salida ocupada
P12: operador descargando pieza
P13: pieza procesada saliendo del sistema
transiciones prelugares postlugares
t1 p1,p2,p3 p4
t2 p4 p5,p2
t3 p5,p6,p7 p3,p8
t4 p8 p7,p9
t5 p9,p6 p10
t6 p10 p6,p7,p11
t7 p11,p2 p12
t8 p12 p12
t1 t2 t3 t4 t5 t6 t7 t8
p1 -1 0 0 0 0 0 0 0
p2 -1 1 0 0 0 0 -1 1
p3 -1 0 1 0 0 0 0 1
p4 1 -1 0 0 0 0 0 0
114
p5 0 1 -1 0 0 0 0 0
p6 0 0 -1 0 -1 1 0 0
p7 0 0 -1 1 0 1 0 0
p8 0 0 1 -1 0 0 0 0
p9 0 0 0 1 -1 0 0 0
p10 0 0 0 0 1 -1 0 0
p11 0 0 0 0 0 1 -1 0
p12 0 0 0 0 0 0 1 -1
p13 0 0 0 0 0 0 0 1