You are on page 1of 26

Modelagem e Simulao de Sistemas de Computacionais

Redes de Petri
1 Definies
1.1 Rede de Petri Uma Rede de Petri uma qudrupla R = (P,T, I, O) onde: P = {p1, p2,..., pm} um conjunto finito de m lugares, com m> 0, T = {t1, t2,..., tn} um conjunto de n transies, com n > 0, O conjunto P T vazio, I : T -> P a funo de entrada, identifica todos os lugares de entrada de uma transio, O: T -> P a funo sada, identifica todos os lugares de sada de uma transio. Observaes: Um lugar pi lugar de entrada de tj se pi pertence ao conjunto I (tj), Um lugar pi lugar de sada de tj se pi pertence ao conjunto O (tj). O ponto escuro dentro de alguns lugares chamado de marca. 1.2 Marcao Uma marcao M de uma rede de Petri R = (P,T, I, O) uma funo definida em P e com valores inteiros no negativos, sendo M(p) o nmero de marcas no lugar p e M: P > N onde N o conjunto dos inteiros incluindo o zero; Uma Rede de Petri Marcada uma dupla RM = (R,M) onde R uma rede de Petri e M uma marcao; No exemplo 1 a marcao da rede a seguinte: M(p1) = M(p4) = M(p5) = M(p6) = 0, M(p2) = M(p3) = M(p7) = M(p8) = M(p9) = 1. Exemplo 1: R = (P,T, I, O), P = {p1, p2, p3, p4, p5, p6, p7, p8, p9}, T = {t1, t2, t3, t4, t5}, I (t1) = vazio O (t1) = {p1, p2} I (t2) ={p1, p1, p3} O (t2) = {p4, p5} I (t3) = {p2, p7} O (t3) = {p6} I (t4) = {p4, p9} O (t4) = {p3} I (t5) = {p5, p6, p8} O (t5) = {p7, p8, p9} RM(R, M) a Rede de Petri Marcada onde M=(0, 1, 1, 0, 0, 0, 1, 1, 1) Esta rede de Petri pode ser representada graficamente pela figura a seguir:

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

t1 p1 t2 p3 p4 t4 p5 t5 p8 p9
1.3 Multiplicidade A multiplicidade de um lugar pi como entrada da transio tj o nmero de ocorrncias de pi no multiconjunto I(tj), sendo representado por #(pi,I(tj)). 1.4 Transio Habilitada Uma transio tj pertencente a T em uma rede de Petri R = (P,T, I, O) com a marcao M est habilitada, se para todo pi pertencente I(tj) tem-se M(pi) >= #(pi, I(tj)). 1.5 Disparo de Transio Uma transio tj de uma rede de Petri com a marcao M pode disparar somente se estiver habilitada. O disparo de uma transio habilitada resulta em uma nova marcao M definida por M(p) = M(p) - #(p,I(tj)) + #(p,O(tj)) para todo p pertencente a P.

p2 t3 p6 p7

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

Exemplo 2: Semforo p1 t1 p2 t2 RC p3 t3
P7 - semforo RC- regio crtica

p4 t4 p5 t5 p7 RC p6 t6

Exemplo 3: Produtor/Consumidor PRODUTOR p1 t1 Produz item p2 t2 p3 t3 Coloca no buffer p8 m p7 t5 p6 t6 Consome item p5 Retira do buffer

CONSUMIDOR p4 t4

m - posies no buffer

1.6 Estado de uma Rede de Petri O estado de uma rede de Petri definido por sua marcao atual M.

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

A mudana de estado causado pelo disparo de uma transio definida pela funo prximo estado. 1.7 Funo Prximo Estado A funo prximo estado : N X T -> N para uma rede de Petri R = (P,T,I,O) com marcao M e uma transio tj pertencente a T definida, se e somente se tj estiver habilitada. Neste caso seu valor definido como (M,tj) = M onde M a marcao resultante do disparo de tj, isto : M(p) = M(p) - #(p, I(tj)) + #(p, O (tj)) para todo p pertencente a P.

Esta definio pode ser estendida para uma seqncia de disparos, aplicando a funo recursivamente. 1.8 Execuo de uma Rede de Petri A execuo de uma rede de Petri a partir de uma marcao inicial M0 definida pela seqncia de marcaes (M0,M1,M2,...) obtida atravs do disparo das transies (tj0,tj1,tj2,...) tendo seus valores definidos pela funo . 1.9 Conjunto de Alcanabilidade O conjunto de alcanabilidade A = (R, M) para uma rede de Petri R = (P, T, I, O) com marcao M o menor conjunto de marcaes definido por: a) M pertence a A = (R,M) b) Se M pertence a A(R,M) e M = (M,tj) para algum tj pertencente a T, ento M pertence a A(R,M). Este conjunto pode no ser finito! 1.10 Marcao Imediatamente Alcanvel Dada uma rede de Petri R = (P, T, I, O) com uma marcao M, diz-se que a marcao M imediatamente alcanvel a partir de M se existe uma transio tj pertencente a T tal que (M,tj) = M. 1.11 Marcao Alcanvel Dada uma rede de Petri R = (P,T, I, O) com uma marcao M, diz-se que a marcao M alcanvel a partir de M se M pertence a A(R,M). 1.12 rvore de Alcanabilidade A rvore de alcanabilidade construda tendo a marcao inicial como raiz e acrescentando todas as marcaes alcanveis a partir da raiz pelo disparo das transies.

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

Exemplo 4: Dada a seguinte rede de Petri R = (P,T, I, O) com uma marcao M0=(2,0,0,0):

P1 t4 t1

P4

t3

P2

P3

t2 A rvore de alcanabilidade correspondente M0 = (2,0,0,0) t1 M1 = (1,1,1,0) t2 M0 t2 M1 t4 M2 t1 M2 = (0,2,2,0) t3 M4 = (0,1,2,1) t3 M5 = (0,0,2,2) t4 t1 t3 M3 = (1,0,1,1) t4 M1 t2 M3

2 Notao Matricial

M4

A notao matricial de Redes de Petri favorece a anlise de suas propriedades atravs de resultados algbricos. As funes I e O so substitudas pelas matrizes E e S, ambas com n linhas e m colunas: E[j,i] = #(pi,I(tj)) para i= 1,2,3,...,m e

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

S[j,i] = #(pi,O(tj)) para j = 1,2,3,...,n; A rede de Petri ento definida por R = (P,T,E,S). Exemplo 5: Notao Matricial Considerando a Rede de Petri do exemplo 1

t1 p1 t2 p3 p4 t4 p5 t5 p8 p9
A notao matricial da Rede de Petri : 0 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

p2 t3 p6 p7

E=

S=

Sendo 1 1 0 0 0 0 0 0 0 -2 0 -1 1 1 0 0 0 0 E: Matriz de Entrada 0 -1 0 0 0 1 -1 0 0 S: Matriz de Sada C= 0 0 1 -1 0 0 0 0 -1 C=S-E: Matriz de Incidncia 0 0 0 0 -1 -1 1 0 1 Nos tpicos a seguir sero apresentados os conceitos j vistos anteriormente na notao matricial. 2.1 Marcao e Transio Uma marcao M representada por um vetor de m componentes, onde cada elemento corresponde ao nmero de marcas num determinado lugar. Uma transio tj representada por um vetor ej de n componentes no qual o j-simo componente igual a 1 e os demais componentes so iguais a zero:
LARC-PCS/EPUSP 2004 6

Modelagem e Simulao de Sistemas de Computacionais

ej = [ 0 0 0 ...1 ...0 ] vetor que representa uma transio. 2.2 Habilitao de uma transio A transio tj est habilitada na marcao M se M ej*E Considera-se que M M se M[i] M[i] para i = 1,2,3,...,m. 2.3 Funo Prximo Estado A funo prximo estado passa a ter a seguinte formulao: (M,tj) = M + ej*S - ej*E ou (M,tj) = M + ej*C sendo C = S - E; A matriz C = S - E, conhecida como matriz de incidncia de uma Rede de Petri. 2.4 Sequncia de disparos Dada uma seqncia de disparos de transies s = tj1,tj2,...,tjk, define-se o valor de (M,s) como: (M,s)=(M,tj1tje...tjk) (M,s)=M+[ej1+ej2+...+ejk]*C ou (M,s) = M + fs*C O vetor fs = [ej1 + ej2 + ... + ejk] denominado vetor de disparos sendo que a j-sima componente de fs indica o nmero de vezes que a transio tj foi disparada.

3 Propriedades de Redes de Petri


3.1 Segurana Um lugar pi pertencente a P de uma rede de Petri R = (P,T, I, O) com marcao M seguro se para todo M pertencente a A(R,M), M[pi] 1. Uma rede de Petri segura se todos os seus lugares forem seguros. Um lugar pi pertencente a P de uma rede de Petri R =(P,T,I,O) com marcao inicial M K-seguro se para todo M pertencente a A(R,M), M[pi] K.

LARC-PCS/EPUSP 2004

Modelagem e Simulao de Sistemas de Computacionais

3.2 Limitao Um lugar limitado se K-seguro para algum K. Uma rede de Petri limitada se todos os seus lugares so limitados. Observao: A viabilidade de implementao (em hardware ou em software) de uma rede de Petri est relacionada ocorrncia das propriedades de segurana e limitao. 3.3 Conservao Uma rede de Petri R = (P,T,I,O) e com marcao inicial M conservativa se para todo M pertencente a A(R,M) M[pi] = M[pi] , para todo pi pertencente a P; Esta propriendade indica que o nmero total de marcas na rede de Petri permanece constante em todas as marcaes alcanveis a partir da marcao inicial. 3.4 Vivacidade Dada uma rede de Petri R = (P,T,I,O) e uma marcao M: v0) A transio tj pertencente a T est viva em nvel 0 se nunca pode ser disparada, isto , no existe M tal que M pertence a A(R,M) e tj esta habilitada em M. Neste caso diz-se que a transio est morta; v1) A transio tj esta viva em nvel 1, ou simplesmente viva, se potencialmente disparvel, isto , se existe M pertencente a A(R,M) tal que tj est habilitada em M. v2) A transio tj est viva em nvel 2 se para cada inteiro v 0 existe uma seqncia de transies s ( s = tj1 tj2 ....tjk) tal que (M,s) definida e fs(tj) v, isto , tj disparada no mnimo v vezes. v3) A transio tj est viva em nvel 3 se existe uma seqncia infinita s de disparos de transies tal que (M,s) est definida e tj aparece com freqncia infinita em s. 3.5 Impasses (Deadlocks) Dada uma rede de Petri R = (P,T, I, O) e uma marcao M e seja T um subconjunto de T, a rede R est em uma situao de Impasse na marcao M em relao s transies de T, se qualquer tj pertencente a T, tj est morta. Se T = T ento a situao da rede de impasse total e nenhuma transio poder ser disparada.
LARC-PCS/EPUSP 2004 8

Modelagem e Simulao de Sistemas de Computacionais

Uma rede de Petri R livre de impasses se, qualquer M pertencente a A(R,M), existe uma transio tj viva.

4 Anlise de Redes de Petri


feita atravs da determinao de: rvore de alcanabilidade Conjuntos invariantes 4.1 Condio necessria para Alcanabilidade Seja uma rede de Petri R = (P,T, E, S), sendo Mk a marcao atual, o disparo para se atingir a marcao Mk+1 representado pela equao: Mk+1 = Mk + ej * C sendo que C = S - E. O disparo da seqncia de transies s = tj1 tj2 ... tjk a partir da marcao M resulta na marcao M definida como: M = M + (ej1 + ej2 + ... + ejk) * C ou M = M + fs * C sendo que fs o vetor de contagem de disparos onde a j-sima componente indica o nmero de vezes que a transio tj disparou. Esta ltima equao pode ser transformada em: fs * C = M - M ou ou fs * C = M onde M = M- M

Ct * fs = M

A soluo deste sistema de equaes fornece o nmero de vezes que cada transio deve ser disparada para transformar a marcao M em M. A existncia de uma soluo desta equao uma condio necessria mas no suficiente para que a marcao Mseja alcanvel a partir de M.

A condio necessria mas no suficiente para que uma marcao M seja alcanvel a partir de M que Ct * fs = M onde M = MM.
Exemplo 6: Contra-exemplo
LARC-PCS/EPUSP 2004 9

Modelagem e Simulao de Sistemas de Computacionais

p1

M=
t1 t3 p2 t2 p4 p3

1 0 0 0

M =

0 0 0 1

M =

-1 0 0 1

C =

-1 0 1 1 -1 0 -1 1 0 0 1 -1

Soluo fs =

1 1 0

Embora o sistema admita uma soluo inteira positiva fs, M no alcanvel, pois nenhuma transio pode ser disparada a partir de M. 4.2 Invariantes Dada uma rede de Petri R = (P,T,E,S) chama-se invariante de R a um vetor z com elementos pertencentes ao conjunto {0,1} que satisfaz ao sistema de equaes C*Z=0 O conjunto invariante Z definido como: Z = {pj | Z[j] = 1, j = 1,2,...,m} A partir das equaes anteriores conclui-se que quaisquer que sejam M e M pertencentes a A(R,M) M * Z = M * Z significando que a soma das marcas existentes nos lugares pertencentes invariante Z constante para qualquer M pertencente a A(R,M). O conjunto de Invariantes bsicos constitudo de invariantes inteiros e positivos linearmente independentes. Seja p a caracterstica da matriz C. Se p = m, isto , coincide com o nmero de lugares da rede, ento o sistema C * Z = 0 admite o vetor nulo como nica soluo indicando que no existe nenhum conjunto invariante.
LARC-PCS/EPUSP 2004

10

Modelagem e Simulao de Sistemas de Computacionais

Se p < m, ento existir um conjunto de (m-p) solues linearmente independentes. Exemplo 7: Invariantes Seja a seguinte Rede de Petri: p1 p4 t1 p2 t3 t4 t2 p3 p5 t5 -1 1 0 0 0 0 0 -1 1 0 1 0 0 0 1 -1 0 0 0 0 0 1 0 -1 0 0 0 -1 0 0 0 -1 -1 1 0 0 0 0 0 1 -1 1

C=
p6 t6 p7 Os vetores z a seguir so solues do sistema C * Z = 0. z1 = [1 1 1 0 0 0 0] z2 = [1 1 0 1 0 1 1] z3 = [0 0 0 0 1 1 0] z4 = [1 1 1 0 1 1 0] == > ==> ==> ==> Invariante Invariante Invariante Invariante Z1 = {p1,p2,p3} Z2 = {p1,p2,p4,p6,p7} Z3 = { p5,p6} Z4 = { p1,p2,p3,p5,p6}

4.3 Propriedades dos invariantes Se um lugar pj pertence a um invariante z ento o nmero de marcas em pj ser limitado pois M * z = M * z qualquer que seja a marcao M alcanvel a partir de M. Se existe um conjunto de invariantes onde todos os lugares da rede esto envolvidos, ento o nmero de marcas na rede permanece constante e igual a somatria de M[j] para j = 1, ... , m.

LARC-PCS/EPUSP 2004

11

Modelagem e Simulao de Sistemas de Computacionais

5 Redes de Petri Temporizadas


Uma rede de Petri temporizada definida como RT=(P,T,I,O,M0,D) onde P,T,I,O e M0 possuem a definio usual e D = {d1,d2,...,dn} um conjunto de atrasos associados s transies da rede de Petri. Exemplo 7: Rede de Petri temporizada Considere um processo que para fazer uma determinada ao necessita a posse de um recurso. p1 t1,d1 p2 t2,d2 p4 t3,d3 p3 d1: tempo em que no necessita do recurso; d2: tempo de aquisio do recurso; d3: tempo de utilizao do recurso.

Neste exemplo, uma marca no lugar p3 significa que o recurso est disponvel, e uma marca em p1 significa que a unidade de processamento no necessita dele. A marcao M0 = {1,0,1,0} habilita somente t1 cujo atraso associado representa o intervalo de tempo em que o processo no necessita deste recurso. O atraso d2 representa o tempo necessrio para adquirir a posse do recurso, e o atraso d3 representa o tempo que o processo retm o recurso alocado. Vantagens: Alm das vantagens naturais das redes de Petri, com a introduo da noo de tempo possvel modelar no s a lgica dos sistemas como tambm as suas relaes de tempo; Desvantagens: Com a introduo de tempo associado s transies de uma rede de Petri, altera-se a definio de estado de uma rede de Petri, pois se deve agora considerar como parte do estado tambm a informao se uma determinada transio est em disparo ou no. Ou seja, se o atraso associado a ela j est sendo contado ou no. 5.1 Redes Temporizadas e Estocsticas Uma rede de Petri temporizada e estocstica definida como

LARC-PCS/EPUSP 2004

12

Modelagem e Simulao de Sistemas de Computacionais

RTE = {P,T,I,O,M0,L} onde P,T,I,O e M0 possuem as definies habituais e L={l1,l2,...,ln} um conjunto de taxas de disparo associadas s transies da rede de Petri que obedecem a uma distribuio exponencial. Tais taxas de disparo podem ter o seu valor dependente do nmero de marcas nos lugares da rede. Cadeia de Markov associada Devido natureza exponencial das taxas de disparo das transies pode-se demonstrar que associada a cada rede de Petri Temporizada e Estocstica existe uma cadeia de Markov isomrfica e com tempo contnuo. Pode-se obter a cadeia de Markov isomrfica rede de Petri Temporizada e Estocstica seguindo os seguintes passos: 1. O espao de estado da cadeia de Markov associada corresponde ao conjunto de alcanabilidade da rede com marcao inicial M0; 2. A taxa de mudana do estado i (associado marcao Mi) para o estado j (Mj)

kHij

sendo Hij o conjunto de todas as transies habilitadas pela marcao Mi, cujo disparo gera a marcao Mj.

qij=

-qi
onde

Quando i=j

qi =

kHi

sendo Hi o conjunto de todas as transies habilitadas pela marcao Mi.

Supondo que a cadeia seja ergdica, ou seja, a marcao inicial seja alcanvel a partir de todas as outras marcaes pertencentes a A(R,M0), ento pode-se calcular o vetor de probabilidades de equilbrio =(1 2 ... s) da rede de Petri, onde s o nmero de marcaes em A(R,M0), atravs da resoluo do seguinte sistema de equaes: com a restrio onde

*Q = 0 i i =1

Q = [qij] o vetor das probabilidades de equilbrio do sistema.

As probabilidades de equilbrio tambm so chamadas de probabilidades de estado estacionrio ou de estado estvel. A probabilidade de uma transio ti habilitada em M disparar pode ser calculada como
LARC-PCS/EPUSP 2004 13

Modelagem e Simulao de Sistemas de Computacionais

P[ti |M] = li /

t k H

Sendo H o conjunto das transies habilitadas em M. Propriedades derivadas de a) Probabilidade de uma condio particular: Se no sub-conjunto A de A(R,M0) a condio verificada ento esta probabilidade pode ser calculada por:

P{A} = i A i
b) Valor mdio do nmero de marcas num determinado lugar da rede: Se A(i,x) o sub-conjunto de A(R,M0) para os quais o nmero de marcas no lugar i seja igual a x e este lugar limitado por k, ento:

E[mi] =

n =1

[ n*P{A(i,n)}]

c) Nmero mdio de disparos de uma transio na unidade de tempo: Se Aj o sub-conjunto de A(R,M0) no qual uma dada transio tj est habilitada, ento o nmero mdio de disparos de tj dado por:

l j / lk f j = i * M i A j t k Hi
sendo Hi o conjunto de transies habilitadas na marcao Mi. Exemplo 9: Rede de Petri Estocstica Este o mesmo exemplo j apresentado como exemplo 4 sendo que as transies foram substitudas por transies temporizadas e foram acrescentadas as freqncias de disparos. p1 t 4, t 1, m 1 p2

p4

p3 t 2,

t 3,

LARC-PCS/EPUSP 2004

14

Modelagem e Simulao de Sistemas de Computacionais

M0 = (2,0,0,0) t1 M1 = (1,1,1,0) t2 M0 t2 M1 t4 M2 t1 M2 = (0,2,2,0) t3 M4 = (0,1,2,1) t3 M5 = (0,0,2,2) t4 M4 A rvore de alcanabilidade a mesma apresentada anteriormente. A rvore de alcanabilidade pode ser associada seguinte cadeia de Markov onde os ns da rvore correspondem aos estados da cadeia de Markov. 0 2 O clculo do vetor de probabilidades de equilbrio t2 M3 t3 M3 = (1,0,1,1) t1 M4 t4 M1

=(0 1 2 3 4 5)

sendo que

feito atravs de resoluo do sistema de equaes lineares Q=0

i=1

= 1 e a matriz Q :


5 4

-2 Q=

-(++) 0 -(+) 0 0 0 -(+) 0 0 -(++) - 0 0 0 0

0 0

0 0 0 0

LARC-PCS/EPUSP 2004

15

Modelagem e Simulao de Sistemas de Computacionais

Considerando = = = = 1 tem-se:

-2 1 0 0 0 0

2 -3 1 1 0 0

0 1 -2 0 1 0

0 1 0 -2 1 0

0 0 1 1 -3 1

0 0 0 0 1 -1

=0

i=1

=1

Resolvendo o sistema de equaes acima se obtm: 0 = 1/11, 1=2=3=4=5= 2/11 Como exemplo, calcula-se o nmero mdio de marcas em p1: E[m1] = 2.0 + 1 + 3 = 6/11 A taxa de disparo da transio t2 : f2 = (1/3) 1 + (1/2) 2 + (1/3) 4 = 7/33 pois t2 est habilitada somente nas marcaes M1, M2 e M4. 5.2 Redes de Petri Estocsticas Generalizadas(RPEG) As redes estocsticas e generalizadas so obtidas permitindo-se que as transies possam ter um atraso associado a elas de valor nulo. Ou seja, so definidos dois tipos de transies as imediatas, que possuem atraso nulo e as temporizadas que possuem um atraso exponencialmente distribudo associado a elas. Uma rede de Petri Temporizada Estocstica Generalizada definida como RTEG = {P,T,I,O,M0,W} onde P,T,I,O e M0 possuem as definies habituais e W=(w1,w2,...,wn) um conjunto onde wi a taxa de disparo de ti se ti temporizada wi o peso da transio ti se ti imediata. Regras de disparo para RPEG Seja H o conjunto das transies habilitadas em uma determinada marcao M.

1. Se todas as transies de H forem temporizadas, ento a probabilidade de disparo da transio ti pertencente a H ser

P[ti |M]= wi /

t k H

ou seja, dispara a transio com a maior taxa de disparo ou o menor tempo;

LARC-PCS/EPUSP 2004

16

Modelagem e Simulao de Sistemas de Computacionais

2. Se o conjunto H possui uma nica transio imediata, ento somente esta transio que pode disparar com probabilidade 1. 3. Se o conjunto H possui uma ou mais transies imediatas, uma delas deve disparar. Neste caso deve ser definida uma probabilidade de disparo associado a cada uma das transies imediatas em conflito (habilitadas na mesma marcao). Estas probabilidades so chamadas de funes seletoras e so calculadas como:

P[ti |M]= wi /

t k HI

onde HI o conjunto das transies imediatas habilitadas em M. A soluo utilizando resultados de Cadeias de Markov deve ser adaptada considerandose a existncia de transies imediatas. Considerando a regra de disparo que d prioridade s transies imediatas, aquelas marcaes resultantes de disparo de uma transio temporizada quando existem transies imediatas habilitadas, no ocorrero. Desta forma, a rvore de alcanabilidade ser reduzida. As marcaes podem ser divididas em dois grupos: 1. Marcaes tangveis que so aquelas que possuem somente transies temporizadas habilitadas. 2. Marcaes no tangveis, as demais. Constri-se a matriz de probabilidades U como:

uij =

kHij

kHi

Sendo conjunto de todas as transies habilitadas pela Hij marcao Mi, cujo disparo gera a marcao Mj. conjunto de todas as transies habilitadas pela Hi marcao Mi.

Supondo que a cadeia seja ergdiga, ou seja, a marcao inicial seja alcanvel a partir de todas as outras marcaes pertencentes a A(R,M0), ento pode-se calcular o vetor de probabilidades de equilbrio =(1 2 ... s) da rede de Petri, onde s o nmero de marcaes em A(R,M0), atravs da resoluo do seguinte sistema de equaes: com a restrio onde

= *U i i =1

o vetor das probabilidades de equilbrio do sistema.

LARC-PCS/EPUSP 2004

17

Modelagem e Simulao de Sistemas de Computacionais

Exemplo 9: Rede de Petri Estocstica e Generalizada: p1 t1, m1 p2 t2,w2 p5 t 4, p7

p3

p4 t3,w3 p6 t 5,

t6,w6

t7,w7

M0=(2,0,1,1,0,0,
t1,2

M1=(1,1,1,1,0,0,
t2,w2

t3,w3

M2=(1,0,0,1,1,0,
t 4, t1,

M3=(1,0,1,0,0,1,
t1, t 5,

M5=(0,1,0,1,1,0, M4=(2,0,0,1,0,0, t7,w7 t6,w6 t3,w M0 M8=(2,0,0,2,0,0,


t1,2

M6=(0,1,1,0,0,1,
t2,w2

M7=(2,0,1,0,0,0,
t6,w6 t7,w

M9=(0,0,0,0,1,1,
t 4, t 5,

M9

M10=(2,0,2,0,0,0
t1,2

M0

M11=(1,1,0,2,0,0 M12=(1,0,0,0,0,1 M13=(1,0,0,0,1,0 M14=(1,1,2,0,0,0 t3,w3 t7,w7 t6,w6 t6,w t7,w7 t2,w2 M15=(1,0,0,1,0,1
t1, t 5,

M3 M4

M15 M16=(1,0,1,0,1,0 t1, t 4, M7

M2

M1

M17=(0,1,0,1,0,1
t3,w

M18=(0,1,1,0,1,0
t2,w2

M19=(0,0,0,0,0,2
t 5,

M20=(0,0,0,0,2,0
t 4,

M12
LARC-PCS/EPUSP 2004 18

M13

Modelagem e Simulao de Sistemas de Computacionais

0
2

1
w2 w3

2
w6

3 6
w7

4
w7

5
w3

7
w6

w2

8
2

9 12
w3 w7 w6

10
w7 2

11

13
w6 w2

14

15 17
w3

16 18
w2

19

20

LARC-PCS/EPUSP 2004

19

Modelagem e Simulao de Sistemas de Computacionais

Matriz U (considerando-se , , , w2, w3, w6, w7 iguais a 1):


U0 1 = 2/2 =1 U1 2 = w2/(w2+w3)=0,5 U2 4 = /(+)=0,5 U3 6 = /(+)=0,5 U5 9 = w3/w3=1 U7 0 = w7/(w7+w6)=0,5 U8 11 = 2/2=1 U9 12 = /(+) U10 14 = 2/2=1 U12 3 = w6/(w6+w7) =0,5 U13 2 = w7/(w7+w6) =0,5 U14 16 = w2/w2=1 U15 4 = /(+)=0,5 U16 7 = /(+)=0,5 U17 19 = w3/w3 =1 U19 12 = / = 1 Matriz U resultante:
0 1 2 3 4 5 6 7 8 0 1 1 0,5 0,5 2 0,5 0,5 3 0,5 0,5 4 0,5 0,5 5 6 7 0,5 8 9 10 11 12 0,5 13 0,5 14 15 0,5 16 0,5 17 18 19 20 9 10 11 12 13 14 15 16 17 18 19 20

U1 3 = w3/(w2+w3) =0,5 U2 5 = /(+)=0,5 U3 7 = /(+)=0,5 U6 9 = w2/w2=1 U7 10 = w6/(w7+w6) =0,5 U9 13 = /(+)=0,5 U11 15 = w3/w3=1 U12 15 = w7/(w6+w7) =0,5 U7 16 = w6/(w7+w6) =0,5 U15 17 = /(+)=0,5 U16 18 = /(+)=0,5 U18 20 = w2/w2 =1 U20 13 = / = 1

1 1 0,5 1 0,5 0,5 1 1 0,5 0,5 1 0,5 0,5 1 1 1 1

A equao

= * U resulta em:

LARC-PCS/EPUSP 2004

20

Modelagem e Simulao de Sistemas de Computacionais

0=0,54+0,57 1=0 2=0,51+0,513 3=0,51+0,512 4=0,52+0,515 5=0,52 6=0,53 7=0,53+0,516 8=0,52+0,515 9=5+6 10=7

11=8 12=0,59+19 13=0,59+20 14=10 15=11+0,512 16=0,513+14 17=0,515 18=0,516 19=17 20=18 1,..., 20.

i=1

Estas equaes permitem determinar os valores de i, i=0,

Exemplo 10: Protocolo Stop and Wait


Transmissor Receptor

Emite 0 Perde 0 Espera ACK Timeout Emite 1


ACK

Processa 0 Rejeita 0 Espera 1

Perde ACK

Processa 1 Espera 0

Espera ACK

Timeout Perde 1

Rejeita 1

LARC-PCS/EPUSP 2004

21

Modelagem e Simulao de Sistemas de Computacionais

6 Bibliografia
[1] Cassandras, C. G., Discrete Event Systems: Modeling and Performance Analysis, Aksen Associates Incorporated Publishers, 1993 , ISBN: 0-256-11212-6, 790p. [2] Marsan, M. A., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G., Modeling with Generalized Stochastic Petri Nets, John Wiley & Sons, ISBN: 0-471-930598, 1995, 301p.

7 Exerccios
1) Dada a seguinte rede de Petri:

p4

t3

p1 t1 p2 t2

p3

a) Construa a rvore de alcanabilidade da rede de Petri. b) Verifique pela rvore de alcanabilidade se a marcao (1,1,0,1) alcanvel a partir de (1,1,0,0). c) Obtenha atravs de clculo de matrizes, os invariantes da rede de Petri. d) Verifique se a marcao (1,1,0,1) alcanvel a partir (1,1,0,0) atravs da matriz B de invariantes. e) Verifique as propriedades de limitao e de conservao da rede de Petri. f) Existe alguma marcao que seja um deadlock alcanvel nesta rede? 2) A rede de Petri a seguir apresenta a soluo ao problema de um produtor e de um consumidor. a) b) c) d) Construa a rvore de alcanabilidade desta rede de Petri considerando B=1 Verifique quais propriedades esta rede satisfaz Determine os invariantes da rede de Petri Mostre que no ocorre overflow de buffer e underflow de buffer, isto , em p7 e p8 nunca existem mais que B marcas. e) Mostre que no existe deadlock (impasse) nesta rede de Petri.

LARC-PCS/EPUSP 2004

22

Modelagem e Simulao de Sistemas de Computacionais

Produtor
p1 t1 p7 Produz p2 t2 Coloca no buffer p3 p8 t3 B

Consumidor
p4 t4 Retira do buffer p5 t5 p6 t6

Consome

3) Seja o seguinte sistema com 2 processadores, 2 bus e 2 mdulos de memria: Processador 1 Processador 2 Bus1 Bus2 Memria 1 Memria 2

O sistema pode ser modelado pela Rede de Petri a seguir, onde as marcas em P1 indicam os processadores, as marcas em P3 indicam os bus e as marcas em p4 e p5 controlam o acesso s memrias. a) Determine os invariantes desta rede. b) Mostre que no existe situao de travamento (Deadlock) em que nenhuma transio pode ser disparada.

LARC-PCS/EPUSP 2004

23

Modelagem e Simulao de Sistemas de Computacionais

p1 t1 p2 t2 p6 t4 p8 t6 p3 p7 t5 p9 t7 t3

p4

p5

Processo 1

Processo 2

4) Um sistema possui dois processos produtores de mensagens, um processo consumidor e um buffer intermedirio entre eles com tamanho de B mensagens. O acesso ao buffer exclusivo, ou seja, quando um processo estiver acessando o buffer nenhum outro pode faze-lo. O tempo de produo de uma mensagem exponencialmente distribudo com mdia Tp. O tempo de insero ou remoo de uma mensagem no buffer tambm exponencialmente distribudo com mdia Tb. O tempo de arbitrao para uso do buffer instantneo. a) Modele o sistema utilizando redes de Petri temporizadas estocsticas. b) Calcule os invariantes deste sistema. c) Demonstre que no existe Overflow do buffer, Underflow do buffer e impasses no sistema. 5) A rede de Petri a seguir apresenta a soluo simplificada ao problema de um produtor e de um consumidor.

Produtor
Produz p1 t1,a Coloca no buffer 2 p5

Consumidor
p3 t3,c Retira do buffer p6 p4 t4,d Consome

p2 t2,b

LARC-PCS/EPUSP 2004

24

Modelagem e Simulao de Sistemas de Computacionais

a) Construa a Cadeia de Markov correspondente. b) Construa o sistema de equaes para clculo das probabilidades 0, 1, 2,... de cada estado. c) Quais as propriedades da rede de Petri que permitem a resoluo atravs de Cadeia de Markov. 6) A rede de Petri a seguir a verso estocstica ao problema de acesso a um recurso compartilhado por dois processos. Nesta rede 1, 2, 3, 4, 5 e 6 so as taxas de disparo das transies t1, t2, t3, t4, t5 e t6 respectivamente. Considere 1 = 1, 2 = 100, 3 = 5, 4 = 2, 5 = 100 e 6 = 10.

Processo A
p1 t1 1 p2 t2 2
RC

Processo B
p4 t4 4 p5 t5 5 p7
RC

p3 t3 3

p6 t6 6

a) b) c) d)

Construa a rvore de alcanabilidade desta rede de Petri. Construa a Cadeia de Markov correspondente rvore de alcanabilidade. Calcule as probabilidades 1, 2, 3, ... das marcaes M0, M1, M2, ... Calcule E(m7) que a mdia de marcas em p7 ( a porcentagem de tempo que o recurso fica livre). e) Calcule U que a taxa de utilizao do recurso. f) Calcule a freqncia de disparo de t2 e t3. 7) Seja a seguinte rede de Petri:
p1 p2

t1 p3 t3 LARC-PCS/EPUSP 2004 25 p5

t2 p4 t4

Modelagem e Simulao de Sistemas de Computacionais

a) Construa a rvore de alcanabilidade desta rede considerando a marcao inicial M0=(1,2,0,0,2) b) Determine os conjuntos invariantes atravs do clculo de C.z=0. c) O que pode ser dito em relao alcanabilidade da marcao M=(0,1,2,0,1) a partir de M0, os invariantes. d) Prove que no existe deadlock nesta rede. 8) Seja a seguinte rede de Petri Temporizada Estocstica
p7 p1 p2 p3

t1 p4 t4 p7

t2

t3 p5 p6 t6 p7 p7

t5

Processo1

Processo2

Processo3

Esta rede de Petri modela um sistema em que 3 processos compartilham dois recursos de mesmo tipo. O tempo que cada processo mantm os recursos tem distribuio exponencial com taxas 4=30, 5=20 e 6=10. a) Especifique as probabilidades de escolha de t1, t2 e t3 de forma que t2 e t3 tenham a mesma probabilidade e t1 tenha o dobro da probabilidade de t2 e t3. b) Determine a rvore de alcanabilidade da rede de Petri. c) Determine a Cadeia de Markov correspondente. d) Construa a matriz U=(qij) que define as taxas de transio do estado i para o estado j. e) Calcule o vetor =(i) que define a probabilidade de estar no estado i. f) Determine a mdia do nmero de marcas em um lugar. g) Determine o nmero mdio de disparo de cada transio por unidade de tempo, h) Determine a probabilidade de disparo de cada transio habilitada para cada marcao alcanvel da rede de Petri.

LARC-PCS/EPUSP 2004

26

You might also like