Vous êtes sur la page 1sur 33

Redes de Petri

Algumas semelhanas com a abordagem baseada em automata; Pode representar uma classe mais ampla de SEDs; Poucos resultados relativos sntese sistemtica de controladores; H modelos temporizados e no-temporizados

Redes de Petri 1

evento = transio informaes sobre as condies para ocorrncia de um evento = lugares Definio: Uma rede de Petri uma qudrupla (P, T, A, w), onde: P um conjunto finito de lugares; T um conjunto finito de transies; A um conjunto de arcos, sub-conjunto do conjunto (P T) (T P); w uma funo-peso w: A N Em geral: P = {p1, ..., pn} T = {t1, ..., tm} arcos: (pi, tj) ou (tj, pi)

A condio de conjuntos finitos pode ser relaxada, admitindo-se conjuntos contveis.


Redes de Petri 2

Representao grfica atravs de grafos com dois tipos de ns: lugares e transies Exemplo:
t1 p1 t4 t2 p2 t5 t3 p3

Lugares de sada da transio tj: O(tj) = {pi: (tj, pi) A} Lugares de entrada da transio tj: I(tj) = {pi: (pi, tj) A} Analogamente para os lugares.

Redes de Petri 3

Definio: Uma marcao de uma rede de Petri uma funo x: P Uma marcao em geral representada por um vetor x = [x(p1) ... x(pn)]; No grafo, a marcao representada por fichas dentro dos lugares. Definio: Uma rede de Petri marcada uma quntupla (P, T, A, w, xo) onde: (P, T, A, w) uma rede de Petri e xo uma marcao inical. Definio: O estado de uma rede de Petri marcada sua marcao [x(p1) ... x(pn)]. Obs.: O espao de estados, X em geral infinito: X = n.
Redes de Petri 4

Dinmica das Redes de Petri Representao da dinmica = movimento das fichas, quando os eventos (transies) ocorrem. Definio: Uma transio tj T numa rede de Petri marcada dita habilitada se: x(pi) w(pi, tj) para todo pi I(tj). Definio: Uma funo de transio de estados, f: Nn Nn, de uma rede de Petri marcada definida para uma transio tj T se e somente se esta transio est habilitada. Se f(x, tj) definida, diz-se que x = f(x, tj), onde: x(pi) = x(pi) - w(pi, tj) + w(tj, pi) i = 1, ..., n
Obs.: O nmero de fichas no se conserva necessariamente.
Redes de Petri 5

Exemplo:
p1 t1 p3 t2 p4 t3 xo = [2,0,0,1] t2 dispara p1 t1 p3 t2 p4 t3 x2 = [1,1,0,2] x2 = [0,1,0,0] t3 p2 p3 t2 p4 estado terminal p2 ou t3 p2 p3 t2 p4 x1 = [1,1,1,1] p2 t1 dispara p1 t1

t3 dispara p1 t1

Redes de Petri 6

Em geral, a dinmica de uma RP pode ser representada da seguinte forma: Sejam: x = [x(p1), x(p2), ..., x(pn)] : o atual estado; x = [x(p1), x(p2), ..., x(pn)] : o prximo estado, aps o disparo da j-sima transio; Definindo: u = [0, 0, ...,0 , 1, 0, ...,0]
j-sima posio

Ento: x = x + uA

onde: A = [aji] ;

aji = w(tj, pi) - w(pi, tj)

A chamada matriz de incidncia


Redes de Petri 7

No exemplo anterior:
1 1 1 0 A = 0 0 1 1 1 0 1 1

A equao correspondente primeira transio : [2 0 0 1] + [1 0 0].A = [1 1 1 1] Para a segunda transio: [1 1 1 1] = [0 1 0].A = [1 1 0 2] De uma maneira geral pode-se descrever a trajetria de um RP atravs da equao recursiva: xk+1 = f(xk,tk) = xk + uk.A
Redes de Petri 8

Modelos para uma fila:


chegada de clientes partida de clientes

A a (chegada) a

Q (inicio) s B

Q s B

(fim)

c F (partida) d

Redes de Petri 9

Modelo que considera quebras no servidor

A a

Q s B b (quebra) c F d

I r (conserto)

Redes de Petri 10

Problemas de Anlise em RP Os problemas a seguir, concernem qualquer modelo para SEDs Em geral, as definies buscam caracterizar propriedades desejveis ou indesejveis nos sistemas em estudo. Limitao: Um lugar pi P numa Rede de Petri com uma cond. inicial xo dito k-limitado ou k-seguro, se x(pI) k para qualquer estado em qualquer trajetria possvel. Um lugar 1-seguro dito seguro Um lugar k-limitado dito limitado Se numa RP todos os lugares so limitado ento a rede dita limitada.
Redes de Petri 11

Conservao: Uma RP com um dado estado inicial xo dita ser conservativa em relao a um vetor = [1, 2, ...,n] se:

i =1

x ( pi ) = const .

para qualquer estado em qualquer trajetria possvel.

Em geral, numa RP o nmero de fichas no se conserva, entretanto a definio acima permite a anlise de situaes em que algo deve ser conservado. Uma rede conservativa pode representar um sistema no qual recursos no so criados nem destrudos.

Redes de Petri 12

Vivacidade e bloqueio (deadlock): So caractersticas opostas, de grande importncia na anlise de um sistema. Uma RP com um dado estado inicial xo dita viva se, a partir de qualquer estado alcanado a partir de xo, existir alguma trajetria na qual uma transio qualquer possa disparar. Esta definio de difcil verificao, levando a distines relativas a uma transio dada:
L0-viva ou morta, se a transio nunca disparar a partir do estado inicial; L1-viva, se existir alguma sequncia de disparos tal que a transio possa disparar pelo menos uma vez; L2-viva se a transio pode disparar pelo menos k- vezes para algum nmero positivo k; L3-viva se existir alguma sequncia infinita de disparos na qual a transio aparece infinitas vezes L4-viva ou viva se a transio for L1-viva para qualquer estado alcanado a partir do estado inicial.
Redes de Petri 13

Exemplo: Sistema de fila com retraballho


a A aA Q Q s B rf cr cd d R r D aR I

Redes de Petri 14

Exemplo: Nveis de vivacidade

p1 t3

t1 p2 t2

t2 - morta t1 - L1-viva t3 - L3-viva mas no L4-viva, pois pode tornar-se morta no estado resultante de um disparo de t1.

Redes de Petri 15

Alcanabilidade: Um estado x numa RP dito alcanvel a partir de um estado xo se existir uma sequncia de transies iniciando-se em xo e tal que o estado pode se tornar x. Coverabilidade: Dada uma RP com estado inicial xo, um estado y pode ser coberto se existir uma sequncia de transies inicando-se em xo e tal que o estado pode se tornar x e x(pi) y(pi), para todo i = 1, ..., n. Diz-se que o estado x cobre o estado y. Se y o estado que garante minimamente o disparo de uma transio tj, ento, se y no puder ser coberto a partir do estado corrente, pode-se afirmar que tj est morta. (conceito muito prximo ao de L1-vivacidade)
Redes de Petri 16

Persistncia: Uma RP dita persistente se, para cada duas transies habilitadas, o disparo de uma delas no desabilita a outra. No exemplo anterior, se t1 ocorre, t3 desabilitada, sendo que ambas estavam habilitadas Em RPs temporizadas, em que uma transio habilitada s disparada aps um determinado atraso, este conceito equivalente ao de no-interruptibilidade. A interruptibilidade permite uma analogia com sistemas nolineares. Em RPs tambm possvel estabelecer o problema de reconhecimento de linguagens, onde uma sequncia de transies pode ou no acontecer numa determinada rede.
Redes de Petri 17

rvore de Coverabilidade Tcnica de Anlise Representao Finita Alguma perda de informao Motivao: Exemplo

p1 t1

p2

[1,1,0]

[0,0,1] p3 t2 [1,1,0]

Redes de Petri 18

Exemplo: Motivao
p1 t1 p2 p3 t3 p4 t2 [1,0,1,0] t1 [0,1,2,0] t2 [1,0,2,0] t3 [0,0,2,1]
Redes de Petri 19

t2 [1,0,0,0] t1 [0,1,1,0] t3 [0,0,1,1]

Terminologia: N Raiz: Corresponde marcao inicial da rede; N Terminal: N a partir do qual nenhuma transio pode ocorrer; N Duplicado: N idntico a um n j presente na rede; Dominncia de Ns: Se x e y so dois estados de uma RP (ns da rvore), diz-se que x domina y (notao: x >d y) se: a) x(pi) y(pi) para todo i = 1, ..., n b) x(pi) > y(pi) para algum i = 1, ..., n; Smbolo : Usado para indicar que uma marcao ilimitada. Na rvore de coverabilidade utilizado para identificar dominncia de ns.
Redes de Petri 20

Algoritimo para Construo da rvore de Coverabilidade


1) Inicializar com a marcao inicial (xo); 2) Para cada novo n construdo, x, avaliar a funo f(x,tj) para todo tj T: 2.1) Se f(x,tj) indefinida, ento x um n terminal; 2.2) Se f(x,tj) definida, para algum tj T, criar um novo n x= f(x,tj): 2.2.1) Se x(pi) = para algum i, fazer x(pi) = ; 2.2.2) Se existir um n y, no caminho de xo at x (inclusive), tal que x>d y, fazer x(pi) = para todo pi tal que x(pi) > y(pi); 2.2.3) Seno, fazer x= f(x,tj); 3) Se todos os ns forem duplicados ou terminais, parar.

Redes de Petri 21

Exemplo: rvore de coverabilidade da Rede de Petri anterior:


[1,0,0,0] t1 [0,1,1,0] t2 [1,0,1,0] t1 [0,1,2,0] t2 [1,0,2,0] t3 [0,0,2,1] t2 [1,0,,0] t1 [0,1,,0] t2 [1,0,,0] t3 [0,0,,1]
Redes de Petri 22

t3 [0,0,1,1] [1,0,0,0] t1 [0,1,1,0] t3 [0,0,1,1]

Exemplo: Sistema de Fila:


a Q s B [0,1,0] c a [,1,0] a [,1,0] a [,0,1] s [,0,1] c [,1,0] I

Redes de Petri 23

Aplicaes da rvore de Coverabilidade Problemas de Limitao: Uma condio necessria e suficiente para que uma RP seja limitada que o smbolo nunca aparea em sua rvore de coverabilidade. Neste caso, a rvore de coverabilidade coincide com a rvore de alcanabilidade. Alm disso, o maior valor observado para x(pi) na rvore um limitante para pi. Se a rvore de coverabilidade de uma RP s contem 0s e 1s ento todos os seus lugares so seguros e a rede segura.

Redes de Petri 24

Problemas de Conservao: Uma RP conservativa se existir um vetor = [1, ..., n] tal que:

i =1

x ( pi ) = const .

Se x(pi) = para algum n da rvore, ento, para que a RP seja conservativa, deve-se ter: i = 0 Seja b n o nmero de lugares limitados e r o nmero de ns da rvore de coverabilidade Tem-se ento um sistema de equaes lineares com r equaes e b+1 incgnitas da forma:

i =1

x ( pi ) = C

obs.: C tambm uma incgnita.


Redes de Petri 25

Exemplo: Sistema de Filas


[0,1,0] a [,1,0] a [,1,0] a [,0,1] s [,0,1] c [,1,0]

6 equaes (na realidade 2) 3 incgnitas 2, 3 e C

2 . 1 + 3 .0 = C 2 . 0 + 3 .1 = C

Soluo: 2, 3 = 1 e C = 1 Em geral, a soluo pode no ser nica ou no existir.


Redes de Petri 26

Problemas de Coverabilidade: Seja y(pi), i = 1, ..., n um estado que se deseja cobrir. Se existir um n na rvore de coverabilidade tal que x(pi) y(pi), i = 1, ..., n, ento o estado y coberto por x O caminho na rvore de xo at x indica a sequncia de transies necessrias para alcanar o estado x Se o estado x contem o smbolo o caminho deve incluir um lao. Pode-se ento determinar o nmero de vezes que se percorre o lao para cobrir y. No exemplo anterior, o estado [3,1,0] pode ser coberto pois [,1,0] pertence rvore. Sequncias de disparos para cobrir y: {a,a,a} ou {a,s,a,c,s,a,c,a,a}
Redes de Petri 27

Limitaes da rvore de Coverabilidade O smbolo representa um conjunto de valores alcanveis por um lugar. Portanto, a menos que este smbolo no aparea (espao de estados finito), alguns problemas no podem ser resolvidos utilizando-se a rvore de coverabilidade. Alguns destes problemas: impedimento de bloqueio; alcanabilidade de estados; reconhecimento de linguagens. Alterntivas de Anlise: Por exemplo, uma ferramenta algbrica, como a equao de estado: x = x + uA
Redes de Petri 28

Exemplo: Impossibilidade de anlise da alcanabilidade de estados:


p1 t1 p2 t2 p3
[1,0,0] t1 [0,1,0] t2 [1,0,] t1 [0,1,] t2 [1,0,] = {1,2,3,...} [1,0,0] t1 [0,1,0] t2 [1,0,] t1 [0,1,] t2 [1,0,] = {2,4,6,...} Redes de Petri 29

p1 t1 p2 t2 p3

Comparao entre Geradores e Redes de Petri No h melhor modelo; a escolha depende do problema tratado e de preferncias pessoais. Contudo, alguma comparao possvel. Dado um gerador (E, X, f, xo) possvel construir uma rede de Petri (P, T, A, w, xo) da seguinte maneira: P=X T = {(x,x): x X, x = f(x,e) onde f(x,e)!} A = {(x,t): x X, t T e t = (x, x)} {(t,x): x X, t T e t = (x, x)} w(a) = 1 para todo a A O estado inicial xo representado pela marcao do lugar correspondente no conjunto P.

Redes de Petri 30

Exemplo: Protocolo de Comunicao r I a a


I
IM=a TI=r

t T a

M
TM= MT=t

MM=a

TT=a

Redes de Petri 31

Observaes: Este mtodo no nico, podendo haver outras RPs que melhor representem o sistema. Uma vantagem das redes de Petri ocorre quando se faz a associao de sistemas, correspondendo associao assncrona: Rede de Petri: pequeno esforo adicional para modelagem. Gerador: novo sistema muito mais complexo (exploso combinacional no nmero de estados) A abordagem baseada em geradores contudo, apresenta melhores resultados no que diz respeito a decidabilidade.

Redes de Petri 32

Redes de Petri 33

Vous aimerez peut-être aussi