Analise das Redes de Petri Nos captulos anteriores mostramos o poder de modelagem das redes de Pe-
3.1 Propriedades Comportamentais
3.1.1 Alcancabilidade ( Reachability )
Alcancabilidade ou Reachability e fundamental para o estudo de propriedades din^amicas de qualquer sistema. A alcancabilidade indica a possibilidade de atingirmos uma determinada marcac~ao pelo disparo de um numero nito de transic~oes, a partir de uma marcac~ao inicial. Nesta sec~ao apresentamos este conceito no contexto das redes de Petri [4, 19, 13].
Para a rede de Petri marcadaN = (R;M0), representada na gura 3.1,
o disparo de uma transic~aoti altera a marcac~ao da rede, conforme as regras
descritas no captulo 1. Uma marcac~aoM0e dita acessvel de M
0 se existe
uma sequ^encia de transic~oes que, disparadas, levam a marcac~ao M0 (ver
sec~ao 1.6). Ou seja, se a marcac~aoM0 habilita a transic~aot0, disparando-se
esta transic~ao atinge-se a marcac~aoM1. A marcac~aoM1 habilita t1 a qual
sendo disparada atinge-se a marcac~aoM2 e assim por diante ate a obtenc~ao
da marcac~aoM0. Denindo-se formalmente, temos:
Denic~ao 3.1.1
-Alcancabilidade
: sejaMi[tj > Mk eMk[th > Mlent~aoMi[tjth > Ml. Por recorr^encia designamos o disparo de uma sequ^encias2T
porM[s > M0. O conjunto de todas as possveis marcac~oes obtidas a partir
da marcac~ao M0 na rede N = (R;M0) e denotado por A(R;M0) = fM 0 2 INmj 9 s j M 0[s > M 0
g.(ver sec~ao 1.9), onde m e a cardinalidade do
conjunto de lugares.
O problema da analise desta propriedade consiste em determinarmos se uma dada marcac~aoM0
2A(R;M
0) da rede marcada N. Na gura 3.1 dese-
jamos, por exemplo, saber se a marcac~aoM0= (0;0;0;1) (lugarp
3marcado)
e acessvel a partir da marcac~ao inicial apresentada (M = (1;0;0;0)) (ape- nas p0 com uma marca). Observe-se que atingimos esta marcac~ao tanto
executando a sequ^encia s0 = t
0t1t3 como tambem executando a sequ^encia
s00 = t
2t3, ou seja, esta marcac~ao pode ser obtida a partir da marcac~ao
inicial.
Em alguns casos, desejamos observar apenas alguns lugares especcos da rede em estudo. Estes problema e denominado submarcac~ao alcancavel (submarking reachability). Aqui analisamos se uma dada submarcac~aoM0
2
A(R;M0) da rede marcada N, ondeM
0 e qualquer marcac~ao restrita a um
subconjunto de lugares de P.
Muitos outros problemas de analise podem ser observados em termos do problema de alcancabilidade. Por exemplo, se uma rede ca em deadlock
p p p p t t t t 0 0 1 1 2 3 2 3 t 4 Figura 3.1: Rede N
em uma determinada marcac~ao, podemos querer saber se essa marcac~ao e acessvel.
3.1.2 Limitac~ao (
Boundedness)
Nesta sec~ao apresentamos o conceito de limitac~ao (boundedness) nas redes de Petri e sua import^ancia na vericac~ao de uma especicac~ao de sistemas [19].
Denic~ao 3.1.2
-Limitac~ao
: seja um lugar pi 2P, de uma rede de Pe-tri marcada N1 = (R;M0). Este lugar s~ao ditos k-limitados (k-bounded)
(k 2 IN) ou simplesmente limitados se para toda marcac~ao acessvel M 2
A(R;M0); M(pi) k.
Caso a propriedade da denic~ao acima n~ao seja observada, o lugar e dito n~ao-limitado. Note que o limite k e o numero de marcas que um lugar pode acumular. O lugar p4 da gura 3.2 e 2-limitado enquanto o lugar p3 e 4-
limitado. Uma rede de Petri marcada N = (R;M0) e dita k-limitada se o
numero de marcas de cada lugar de N n~ao excede k em qualquer marcac~ao acessvel de N (M(p) k; M GA(R;M ); p P).
p p p p p p t t t t 0 1 2 3 5 4 0 1 2 3 N
Figura 3.2: Rede Limitada (Bounded)
Denic~ao 3.1.3
-Rede Limitada
: dizemos que uma rede N1 = (R;M0)e limitada (bounded) sek(pi)1 para todo pi 2P.
Dado que todos os lugares da rede da gura 3.2 s~ao limitados, ent~ao essa rede e classicada como limitada. Ainda podemos concluir que essa rede e
4 limitada, pois nenhum lugar acumula mais que 4 marcas em qualquer
marcac~ao acessvel de N.
3.1.3 Seguranca (
Safeness)
Nesta sec~ao apresentamos a propriedade de seguranca (safeness) das rede de Petri. O conceito de safenesse uma particularizac~ao do conceito de limitac~ao [4]. Esta propriedade e uma das mais importantes quando na especicac~ao de sistemas digitais.
Como vimos na sec~ao anterior um lugarpi e dito k-limitado se o numero
de marcas que este lugar pode acumular estiver limitado ao numero k. Um lugar que e 1-limitado pode ser simplesmente ser chamado de seguro (safe).
Denic~ao 3.1.4
-Lugar Seguro
: seja um lugar pi 2 P de uma redemarcada N1 = (R;M0), onde R= (P;T;I;O;K),pi e seguro se para toda
marcac~ao M0
2A(R;M
0) tivermos M(pi) 1.
Portanto, um lugar pode ser usado para representar uma porta ou mesmo um ip- op. Dizemos que a rede N = (R;M ) e segura (binaria) se todos
os lugares dessa rede s~ao seguros, ou seja, todos os lugares desta rede podem conter uma ou nenhuma marca.
Denic~ao 3.1.5
-Rede Segura
: uma redeN1 = (R;M0) e denida comosegura se M(pi)1, para todopi2P.
p p p p p p t t t t 0 1 2 3 4 5 0 1 2 3
Figura 3.3: Rede Segura (Safe)
Na gura 3.3 temos uma rede segura, pois todos os lugares desta rede n~ao acumulam mais do que uma marca.
Em uma rede que tem um lugar ou mesmo uma transic~ao rotulada a uma condic~ao externa especicando a entrada do sistema, conforme a re- de da gura 3.6.a, podemos ter lugares que acumulam marcas. A entrada deste modelo e representada pela transic~aot0 associada a condic~ao X. Esta
transic~ao pode disparar a qualquer momento, a medida em que houver in- formac~ao (X for verdadeira) para ser tratada. Desta forma, observamos que os lugaresp0;p1;p2 e p4 podem acumular mais do que uma marca, ou seja,
esta rede n~ao e segura. Dede que a rede so possua arcos de peso unitario, podemos transforma-la em uma rede segura(safe), pela introduc~ao de luga- res complementares (duais). Esta transformac~ao e realizada observando os seguintes aspectos:
Se pk 2O(ti) e pk 62 I(ti), ent~ao cria-se o lugar p 0
k, onde p0
k 2 I(ti) e
Se pk 2I(tj), ent~ao o lugarp 0
k 2O(tj).
Este novo lugar criado (p0
k) representa o lugar pk vazio, ou seja, estes
lugares s~ao complementares. Quando ha uma marca no lugar pk o lugar
p0
k n~ao possui marcas e vice-versa. Dessa maneira conseguimos controlar o
numero de marcas em cada lugar, pois os lugares duais agem como \travas", impossibilitando o incremento de marcas nos lugares originais.
p p p p p t t z i k z i k k’ p t p z i k tj p t p z i k tj p k ’ (a.1) (a.2) (b.1) (b.2) Trans. Trans.
Figura 3.4: Transformac~ao de Rede N~ao-Segura(Unsafe) em Segura(Safe) Dado que o lugarti da sub-rede da gura 3.4.a1, potencialmente, pode
ser disparada um numero innito de vezes, podemos concluir que o lugarpk
e n~ao-seguro, pois o disparo de ti incrementa o numero de marcas de pk e
como pk n~ao e entrada de nenhuma transic~ao, a remoc~ao de suas marcas e
impossvel. Essa rede pode ser convertida em uma rede segura, pela intro- duc~ao do lugarp0
k, sendo este lugar entrada da transic~aoti, ondeM(p0
k) = 1,
conforme apresentamos na gura 3.4.a.2.
De forma semelhante, a rede da gura 3.4.b.1 tambem e uma rede n~ao- segura, pois o disparo de um numero potencialmente innito deti possibilita
o acumulo de um numero innito de marcas em pk. Para tornar essa rede
segura, criamos o lugar p0
k, onde esse lugar e entrada da transic~aoti e sada
da transic~aotj, dado que esta transic~ao e sada depk. Como no caso anterior,
o lugar p0
k deve ser mono-marcado. Observe-se que os lugares pk e p0
k s~ao
complementares, ou seja, quando ha uma marca empk n~ao ha marca empk0
p p p p p t t t t 0 1 2 3 4 0 1 2 3 (a) (X)
Figura 3.5: Rede N~ao-Segura
Na gura 3.6 apresentamos a uma rede segura obtida a partir da rede n~ao-segura da gura 3.5 pela introduc~ao dos lugares duais p0
0;p 0 1;p 0 2 e p 4;
marcados com uma marca cada. Observe-se que com disparo det0, a marca
do lugar p0
0 e retirada, o que desabilita esta transic~ao e deposita uma mar-
ca no lugar p0. A transic~ao t0 so podera ser disparada apos o disparo da
transic~ao t1, pois com o disparo desta, uma marca e restaurada no lugar
p0. Observe-se, portanto, o comportamento semelhante entre os lugarespi e
seus respectivos lugares duais p0
i do modelo. t t t t p p p p p p p 0 1 2 3 1 1 ’ 2 2 ’ 3 4 4 ’ (b) p 0 p 0 ’ (X)
3.1.4
LivenessA aus^encia de deadlock (impasse) em sistemas esta fortemente ligada ao conceito de liveness [1] [33]. Nesta sec~ao, deniremos o conceito de liveness em func~ao das possibilidades de disparo de transic~oes.
Deadlocktem sido fortemente estudado na ci^encia da computac~ao. Para analisarmos este conceito, observemos a rede de Petri da gura 3.7.a, onde representamos dois processos que compartilham dois recursos representados pelos lugaresp6ep7; no entanto se os dois processos precisam desses recursos
em um mesmo momento, o sistema pode entrar em deadlock. As seguintes sequ^encias s~ao possveis, t0t1t2t3t4t5, t3t4t5t0t1t2, contudo se dispararmos
a transic~ao t0 e em seguida dispararmos t3 n~ao temos marcas sufucientes
para disparar as transic~oes t1 e/ou t4, ou mesmo qualquer outra transic~ao,
cando todo o sistema bloqueado ou em deadlock. Deadlock em uma rede Petri e a impossibilidade do disparo de qualquer transic~oes da rede. A rede da gura 3.7.b n~ao possui deadlock, dado que n~ao existe uma marcac~ao que impossibilite o disparo de uma outra transic~ao do modelo.
p p p p p p p p t t t t t t 0 1 2 3 4 5 6 7 0 1 2 3 4 5 p p p p p p p p t t t t t t 0 1 2 3 4 5 6 7 0 1 2 3 4 5 (a) (b)
Figura 3.7: Redes Live e Non-Live
Denic~ao 3.1.6
-Transic~ao Potencialmente Disparavel
: chamamos uma transic~ao ti potencialmente disparavel em uma marcac~ao M0 se existeuma marcac~ao M0
2A(R;M
0) tal queti e habilitada para esta marcac~ao.
Denominamos uma transic~ao ti live em uma marcac~ao M se ti e poten-
cialmente disparavel para todas as marcac~oes M 2A(R;M), ou seja, uma
Denic~ao 3.1.7
-Rede Live
: uma rede N1 = (R;M0) e dita live se paratoda Mi 2A(R;M
0) e possvel disparar-se qualquer transic~ao de N1 atraves
do disparo de alguma sequ^encia de transic~oes deL(R;M0).
p p p p p p t t t t t 0 0 1 2 3 4 5 1 2 3 4
Figura 3.8: Nveis de Liveness
Livenesse uma propriedade fundamental para sistemas encontrados no mundo real, no entanto muitas vezes e muito caro observar esta propriedade em alguns sistemas de grande porte. Assim sendo, ha uma tend^encia de relaxarmos esta condic~ao e adotarmos nveis de liveness para as transic~oes e, consequentemente, para as redes [53]. Uma transic~ao ti de uma rede
N1 = (R;M0) e denominada:
1. Morta (dead) ou nvel (n0), se esta transic~ao nunca podera ser dispara-
da em qualquer sequ^encia de L(R;M0), ou seja, se n~ao existe alguma
marcac~aoM0
2A(R;M
0) tal que M
0 habilita t
i;
2. N1 live, se pode ser disparada pelo menos uma vez em alguma
sequ^encia de L(R;M0);
3. N2 live, se ti pode ser disparada pelo menos k vezes em alguma
sequ^encia de disparo de L(R;M0);
4. N3 live, setiaparece um numero innito de vezes em alguma sequ^encia
de disparo de L(R;M0);
5. N4 liveou simplesmente live, setien1 livepara todas as marcac~oes
Uma rede de Petri N1 = (R;M0) e classicada comoni-live se todas as
transic~oes na rede s~aoni-live. Observe-se que uma reden4-live, corresponde
a denic~ao de rede live apresentada anteriormente. Ressaltamos ainda que se uma rede en4-liveent~ao esta rede tambemen3-liveque implica sern2-live
e n1-live. Obviamente, este princpio n~ao se aplica para o nvel n0.
3.1.5 Cobertura (
Coverability)
A propriedade de cobertura(coverability) de uma rede de Petri esta forte- mente ligada ao conceito de alcancabilidade e de liveness apresentado nas sec~oes anteriores.
Quando desejamos saber, por exemplo, se alguma marcac~aoMi pode ser
obtida a partir de uma marcac~ao especca M0, temos o problema denomi-
nado cobertura de uma marcac~ao.
Uma marcac~aoM0 em uma rede e dita coberta se existe uma marcac~ao
M00 M
0 para cada componente dos vetores M00 e M0, ou seja, o numero
de marcas de cada lugar da rede eM00(p
i)M(pi).
Denic~ao 3.1.8
-Cobertura de uma Marcac~ao
: seja a marcac~ao M0em uma rede N1 = (R;M0). M
0 e dita coberta(coverable) se existe uma
marcac~ao M00
2A(R;M
0) tal que M 00(p
i)M(pi);8pi2P.
Este conceito e ligado ao conceito de transic~ao potencialmente disparavel (N1 live). SejaM
0 a marcac~ao mnima necessaria para o disparo da tran-
sic~ao ti, assim sendo, a transic~ao ti so sera disparavel(N1 live) seM 0 for
passvel de cobertura (coverable).
Em alguns problemas desejamos apenas observar o comportamento de determinados lugares. Para isto restringimos a pesquisa apenas a estes luga- res de particular interesse; neste caso, desejamos observar se uma determi- nada sub-marcac~ao e passvel de cobertura. Este problema e chamado por cobertura de uma submarcac~ao(submarking coverability).