Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os...

33
Redes de Petri 1 Redes de Petri Algumas semelhanças com a abordagem baseada em automata; Pode representar uma classe mais ampla de SED’s; Poucos resultados relativos à síntese sis- temática de controladores; Há modelos temporizados e não-tempori- zados

Transcript of Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os...

Page 1: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 1

Redes de Petri

Algumas semelhanças com a abordagembaseada em automata;

Pode representar uma classe mais amplade SED’s;

Poucos resultados relativos à síntese sis-temática de controladores;

Há modelos temporizados e não-tempori-zados

Page 2: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 2

evento = transição

informações sobre as condições para ocor-rência de um evento = lugares

Em geral: P = {p1, ..., pn}T = {t1, ..., tm}

arcos: (pi, tj) ou (tj, pi)

A condição de conjuntos finitos pode ser relaxada,admitindo-se conjuntos contáveis.

Definição: Uma rede de Petri é uma quá-drupla (P, T, A, w), onde:P é um conjunto finito de lugares;T é um conjunto finito de transições;A é um conjunto de arcos, sub-conjunto

do conjunto (P × T) ∪ (T × P);w é uma função-peso w: A → N

Page 3: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 3

Representação gráfica através de grafoscom dois tipos de nós: lugares e transições

Exemplo:

t1 t2 t3

t4 t5

p1 p2 p3

Lugares de saída da transição tj:O(tj) = {pi: (tj, pi) ∈ A}

Lugares de entrada da transição tj:I(tj) = {pi: (pi, tj) ∈ A}

Analogamente para os lugares.

Page 4: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 4

Definição: Uma marcação de uma rede dePetri é uma função x: P → Ν

Uma marcação em geral é representada porum vetor x = [x(p1) ... x(pn)];

No grafo, a marcação é representada por“fichas” dentro dos lugares.

Definição: Uma rede de Petri marcada éuma quíntupla (P, T, A, w, xo) onde:(P, T, A, w) é uma rede de Petri e xo éuma marcação inical.

Definição: O estado de uma rede de Petrimarcada é sua marcação [x(p1) ... x(pn)].

Obs.: O espaço de estados, X é em geralinfinito: X = Νn.

Page 5: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 5

Dinâmica das Redes de Petri

Representação da dinâmica = movimento dasfichas, quando os eventos (transições) ocorrem.

Definição: Uma transição tj ∈ T numa rede dePetri marcada é dita habilitada se:

x(pi) ≥ w(pi, tj) para todo pi ∈ I(tj).

Definição: Uma função de transição de esta-dos, f: Nn × Τ → Nn, de uma rede de Petri marcada é definida para uma transição tj ∈ Tse e somente se esta transição 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 número de fichas não se conserva neces-sariamente.

Page 6: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 6

Exemplo:

p1

p2

p3

p4

t1

t2

t3

p1

p2

p3

p4

t1

t2

t3

p1

p2

p3

p4

t1

t2

t3

p1

p2

p3

p4

t1

t2

t3

xo = [2,0,0,1] x1 = [1,1,1,1]

x2 = [1,1,0,2] x’2 = [0,1,0,0] estadoterminal

t1 dispara

t2 dispara ou t3 dispara

Page 7: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 7

Em geral, a dinâmica de uma RP podeser representada da seguinte forma:

Sejam:x = [x(p1), x(p2), ..., x(pn)] : o atual estado;x’ = [x’(p1), x’(p2), ..., x’(pn)] : o próximoestado, após o disparo da j-ésima transição;

Definindo: u = [0, 0, ...,0 , 1, 0, ...,0]

j-ésima posição

Então:

x’ = x + uA

onde: A = [aji] ; aji = w(tj, pi) - w(pi, tj)

A é chamada matriz de incidência

Page 8: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 8

No exemplo anterior:

−−

− − −

1 1 1 00 0 1 11 0 1 1

A =

A equação correspondente à primeira transição é:

[2 0 0 1] + [1 0 0].A = [1 1 1 1]

Para a segunda transição:

[1 1 1 1] = [0 1 0].A = [1 1 0 2]

De uma maneira geral pode-se descrever atrajetória de um RP através da equação recur-siva:

xk+1 = f(xk,tk) = xk + uk.A

Page 9: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 9

Modelos para uma fila:

chegada de clientes partida de clientes

a (chegada)

s

c

Q I

B

(inicio)

(fim)

a

s

c

Q I

B

A

d(partida)

F

Page 10: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 10

a

s

c

Q I

B

A

d

F

Db(quebra)

r (conserto)

Modelo que considera quebras no servidor

Page 11: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 11

Problemas de Análise em RP

Os problemas a seguir, concernem qual-quer modelo para SED’s

Em geral, as definições buscam caracte-rizar propriedades “desejáveis” ou “inde-sejáveis” nos sistemas em estudo.

Limitação: Um lugar pi ∈ P numa Redede Petri com uma cond. inicial xo é ditok-limitado ou k-seguro, se x(pI) ≤ k paraqualquer estado em qualquer trajetóriapossível.

•Um lugar 1-seguro é dito seguro•Um lugar k-limitado é dito limitado•Se numa RP todos os lugares são limi-tado então a rede é dita limitada.

Page 12: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 12

Conservação: Uma RP com um dado esta-do inicial xo é dita ser conservativa em relaçãoa um vetor γ = [γ1, γ2, ...,γn] se:

γ ii

n

ix p const=∑ =

1

( ) .

para qualquer estado em qualquer trajetóriapossível.

Em geral, numa RP o número de fichas nãose conserva, entretanto a definição acimapermite a análise de situações em que algodeve ser conservado.

Uma rede conservativa pode representarum sistema no qual recursos não são cri-ados nem destruídos.

Page 13: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 13

Vivacidade e bloqueio (deadlock):São características opostas, de grande impor-tância na análise de um sistema.

Uma RP com um dado estado inicial xo édita viva se, a partir de qualquer estado al-cançado a partir de xo, existir alguma trajetó-ria na qual uma transição qualquer possa dis-parar.

Esta definição é de difícil verificação, levando adistinções relativas a uma transição dada:

•L0-viva ou morta, se a transição nunca dispa-rará a partir do estado inicial;•L1-viva, se existir alguma sequência de dispa-ros tal que a transição possa disparar pelo menosuma vez;•L2-viva se a transição pode disparar pelo me-nos k- vezes para algum número positivo k;•L3-viva se existir alguma sequência infinita dedisparos na qual a transição aparece infinitas vezes•L4-viva ou viva se a transição for L1-viva paraqualquer estado alcançado a partir do estado inicial.

Page 14: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 14

Exemplo:

a

aA aR

s

cr cd

d

r

rf

A

Q QI

B

R D

Sistema de fila com retraballho

Page 15: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 15

t1

t2

t3

p1

p2

Exemplo: Níveis de vivacidade

t2 - mortat1 - L1-vivat3 - L3-viva mas não L4-viva, poispode tornar-se morta no estado re-sultante de um disparo de t1.

Page 16: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 16

Alcançabilidade: Um estado x numa RPé dito alcançável a partir de um estado xose existir uma sequência de transições ini-ciando-se em xo e tal que o estado pode setornar x.

(conceito muito próximo ao de L1-vivacidade)

“Coverabilidade”: Dada uma RP com estadoinicial xo, um estado y pode ser coberto se exis-tir uma sequência de transições inicando-se emxo 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 minimamenteo disparo de uma transição tj, então, se y nãopuder ser coberto a partir do estado corrente,pode-se afirmar que tj está morta.

Page 17: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 17

Persistência: Uma RP é dita persistente se,para cada duas transições habilitadas, o dis-paro de uma delas não desabilita a outra.

No exemplo anterior, se t1 ocorre, t3 é desabi-litada, sendo que ambas estavam habilitadas

Em RP’s temporizadas, em que uma transi-ção habilitada só é disparada após um de-terminado atraso, este conceito é equivalenteao de não-interruptibilidade. A interruptibili-dade permite uma analogia com sistemas não-lineares.

Em RP’s também é possível estabelecer oproblema de reconhecimento de linguagens,onde uma sequência de transições pode ounão acontecer numa determinada rede.

Page 18: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 18

Árvore de Coverabilidade

•Técnica de Análise•Representação Finita•Alguma perda de informação

Motivação: Exemplo

p1 p2

t1

p3

t2

[1,1,0]

[0,0,1]

[1,1,0]

Page 19: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 19

Exemplo: Motivação

[1,0,0,0]

[0,1,1,0]

[0,0,1,1][1,0,1,0]

[0,1,2,0]

[1,0,2,0] [0,0,2,1]

t1

t2 t3

t1

t2t3

p1

p2

p3

p4

t1

t2t3

Page 20: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 20

Terminologia:

Nó Raiz: Corresponde à marcação inicialda rede;

Nó Terminal: Nó a partir do qual nenhumatransição pode ocorrer;

Nó Duplicado: Nó idêntico a um nó já pre-sente na rede;

Dominância de Nós: Se x e y são dois esta-dos de uma RP (nós da árvore), diz-se quex domina y (notação: x >d y) se:a) x(pi) ≥ y(pi) para todo i = 1, ..., nb) x(pi) > y(pi) para algum i = 1, ..., n;

Símbolo ω: Usado para indicar que uma marcação é ilimitada. Na árvore de covera-bilidade é utilizado para identificar domi-nância de nós.

Page 21: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 21

Algoritimo para Construção daÁrvore de Coverabilidade

1) Inicializar com a marcação inicial (xo);

2) Para cada novo nó construído, x, avaliar a funçãof(x,tj) para todo tj ∈ T:

2.1) Se f(x,tj) é indefinida, então x é um nó terminal;

2.2) Se f(x,tj) é definida, para algum tj ∈ T, criar umnovo 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 xoaté x (inclusive), tal que x’>d y, fazerx’(pi) = ω para todo pi tal quex’(pi) > y(pi);

2.2.3) Senão, fazer x’= f(x,tj);

3) Se todos os nós forem duplicados ou terminais, parar.

Page 22: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 22

Exemplo: Árvore de coverabilidade daRede de Petri anterior:

[1,0,0,0]

[0,1,1,0]

[0,0,1,1][1,0,1,0]

[0,1,2,0]

[1,0,2,0] [0,0,2,1]

t1

t2 t3

t1

t2t3

[1,0,0,0]

[0,1,1,0]

[0,0,1,1][1,0,ω,0]

[0,1,ω,0]

[1,0,ω,0] [0,0,ω,1]

t1

t2 t3

t1

t2t3

Page 23: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 23

Exemplo: Sistema de Fila:

a

s

c

Q I

B

[0,1,0]

[ω,1,0]

[ω,1,0] [ω,0,1]

[ω,0,1] [ω,1,0]

a

a s

a c

Page 24: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 24

Aplicações da Árvore de Coverabilidade

Problemas de Limitação:

Uma condição necessária e suficiente paraque uma RP seja limitada é que o símboloω nunca apareça em sua árvore de covera-bilidade.

Neste caso, a árvore de coverabilidade coincide com a árvore de alcançabilidade.

Além disso, o maior valor observado parax(pi) na árvore é um limitante para pi.

Se a árvore de coverabilidade de uma RPsó contem 0’s e 1’s então todos os seus lu-gares são seguros e a rede é segura.

Page 25: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 25

Problemas de Conservação:

γ ii

n

ix p const=∑ =

1

( ) .

Uma RP é conservativa se existir um vetorγ = [γ1, ..., γn] tal que:

Se x(pi) = ω para algum nó da árvore, então,para que a RP seja conservativa, deve-se ter:

γi = 0

Seja b ≤ n o número de lugares limitados er o número de nós da árvore de coverabilidade

Tem-se então um sistema de equações linearescom r equações e b+1 incógnitas da forma:

γ ii

n

ix p C=∑ =

1

( )

obs.: C também é uma incógnita.

Page 26: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 26

Exemplo: Sistema de Filas[0,1,0]

[ω,1,0]

[ω,1,0] [ω,0,1]

[ω,0,1] [ω,1,0]

a

a s

a c

6 equações (na realidade 2)3 incógnitas γ2, γ3 e C

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

Solução: γ2, γ3 = 1 e C = 1

Em geral, a solução pode não ser única ounão existir.

Page 27: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 27

Problemas de Coverabilidade:

Seja y(pi), i = 1, ..., n um estado que sedeseja cobrir.

Se existir um nó na árvore de coverabilidadetal que x(pi) ≥ y(pi), i = 1, ..., n, então o esta-do y é coberto por x

O caminho na árvore de xo até x indica a se-quência de transições necessárias para alcan-çar o estado x

Se o estado x contem o símbolo ω o caminhodeve incluir um laço. Pode-se então determi-nar o número de vezes que se percorre o laçopara cobrir y.

No exemplo anterior, o estado [3,1,0] podeser coberto pois [ω,1,0] pertence à árvore.

Sequências de disparos para cobrir y:{a,a,a} ou {a,s,a,c,s,a,c,a,a}

Page 28: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 28

Limitações da Árvore de Coverabilidade

O símbolo ω representa um conjunto de valoresalcançáveis por um lugar. Portanto, a menos queeste símbolo não apareça (espaço de estados fi-nito), alguns problemas não podem ser resolvi-dos utilizando-se a árvore de coverabilidade.

Alguns destes problemas:

•impedimento de bloqueio;

•alcançabilidade de estados;

•reconhecimento de linguagens.

Alterntivas de Análise:

Por exemplo, uma ferramenta algébrica, co-mo a equação de estado: x’ = x + uA

Page 29: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 29

p1

t1

p2

t2

p3

p1

t1

p2

t2

p3

[1,0,0]

[0,1,0]

[1,0,ω]

[0,1,ω]

[1,0,ω]

t1

t2

t1

t2

[1,0,0]

[0,1,0]

[1,0,ω]

[0,1,ω]

[1,0,ω]

t1

t2

t1

t2

ω = {1,2,3,...} ω = {2,4,6,...}

Exemplo: Impossibilidade de análise daalcançabilidade de estados:

Page 30: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 30

Comparação entre Geradores e Redes de Petri

Não há “melhor” modelo; a escolha depen-de do problema tratado e de preferências pessoais. Contudo, alguma comparação épossível.

Dado um gerador (E, X, f, xo) é possível cons-truir uma rede de Petri (P, T, A, w, xo) da se-guinte maneira:

P = XT = {(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 marca-ção do lugar correspondente no conjunto P.

Page 31: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 31

Exemplo: Protocolo de Comunicação

I M T

r

a t

τa a

I

M

T

IM=aTI=r

TM=τ MT=t

MM=a

TT=a

Page 32: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 32

Observações:

•Este método não é único, podendo haveroutras RP’s que melhor representem o sis-tema.

•Uma vantagem das redes de Petri ocorrequando se faz a associação de sistemas,correspondendo à associação assíncrona:

Rede de Petri: pequeno esforço adicionalpara modelagem.

Gerador: novo sistema muito mais com-plexo (explosão combinacional no nú-mero de estados)

•A abordagem baseada em geradores con-tudo, apresenta melhores resultados no quediz respeito a decidabilidade.

Page 33: Redes de Petri - UNICAMPrafael/ia851/PETRI.pdf · Redes de Petri 11 Problemas de Análise em RP Os problemas a seguir, concernem qual-quer modelo para SED’s Em geral, as definições

Redes de Petri 33