Extens~oes as Redes de Petri Neste captulo apresentamos brevemente algumas extens~oes as redes de Petr
4.2 Rede de Petri Colorida
Embora as redes de Petri sejam uma tecnica de descric~ao formal poderosa que possibilita a modelagem de sistemas concorrentes de forma natural, a sua aplicac~ao para sistemas reais tem se mostrado inadequada, pois os mo- delos obtidos s~ao de grandes dimens~oes e n~ao hierarquicos dicultando a sua compreens~ao.
Um grande numero de extens~oes as redes de Petri, denominadas redes de Petri de alto nvel, t^em sido propostas [5, 76]; entre estas, as redes de Petri coloridas [75, 2, 35, 37]. Nas redes ordinarias existe apenas um tipo de marca, o que n~ao permite a diferenciac~ao de recursos em um lugar, sendo necessarios lugares distintos para expressarmos recursos similares. As redes ordinarias n~ao possibilitam ainda nveis de renamento do modelo, ou seja, n~ao ha hierarquizac~ao.
O principal objetivo das redes de Petri coloridas e a reduc~ao do tama- nho do modelo, permitindo que marcas individualizadas (cores) representem diferentes processos ou recursos em uma mesma sub-rede.
Inicialmente, as marcas das redes coloridas eram representadas por cores ou mesmo por padr~oes que possibilitam a distinc~ao das marcas [2]. Em trabalhos mais recentes [75] temos as marcas representadas por estruturas de dados complexas, n~ao relacionando cores as marcas, a n~ao ser pelo fato de que as marcas s~ao distinguveis.
presentada em [2]. Nessa classe de rede os arcos s~ao rotulados com uma ou mais das possveis cores ou ainda com variaveis. Na gura 4.3 os arcos s~ao rotulados com cores (a, b e c). Para que uma transic~ao desta rede esteja ha- bilitada, e necessario que os lugares que s~ao entrada desta transic~ao tenham marcas do tipo (cor) associado ao arco que interliga estes lugares a transic~ao. A transic~ao t0 n~ao se encontra habilitada, pois o lugar p0 n~ao possui uma
marca da cor a, contudo a transic~aot1 esta habilitada, pois o lugarp1 possui
uma marca da cor a e o lugar p2 possui marcas da cores a,b, o que satisfaz
as condic~oes rotuladas nos arcos que interligam estes lugares a transic~aot1.
O disparo desta transic~ao retira as marcas das cores associadas aos arcos, dos lugares de entrada e adiciona aos lugares de sada marcas de cor igual a cor associada ao arco que interliga a transic~ao aos lugares de sada. Neste caso, uma marca de cor c e depositada no lugarp4.
Cores a b c d Marcas <a> <c> <a> <c> p p p p p p p p p Apos o disparo t t t t 0 1 2 4 0 1 2 3 4 0 1 0 1 de t1 <a> <c> <a> <{a,b}> <a> <{a,b}> <c> p 3 <a>
Figura 4.3: Redes Coloridas - Estudos Iniciais
Nas redes que apresentamos, as marcas s~ao identicadas por cores, con- tudo as marcas podem ser estruturas mais complexas. Nas redes coloridas a- presentadas em [75], as marcas s~ao denidas como tipos de dados e e possvel efetuar operac~oes complexas sobre estes dados. Passamos a descrever esse tratamento para as redes de Petri coloridas.
Para apresentarmos as redes de Petri coloridas, utilizamos um exemplo em que temos uma rede que modela a manufatura de dois tipos de produtos distintos atraves de duas linhas de manufatura, onde recursos (maquinas) s~ao compartilhados nos processos de fabricac~ao. Inicialmente, apresentamos uma rede ordinaria (place-transition) como o modelo (ver gura 4.4) do sistema e, posteriormente, tratamos a rede colorida correspondente. Faremos uso desse exemplo para descrever informalmente as redes de Petri coloridas. Em seguida, apresentamos uma denic~ao formal para essa classe de redes.
Processo P Processo Q r s sq sq0 tq tq sq tq sq tq sq 0 1 1 2 2 3 3 4 sp tp sp tp sp tp sp tp sp 0 0 1 1 2 2 3 3 4 tp4 sp5
Figura 4.4: Modelo da Linha de Manufatura Usando Redes Ordinarias Neste exemplo, o sistema e representado por seis estados locais para os processo denominados p(sp0;sp1;sp2;sp3;sp4;sp5) e cinco estados locais
para os processos q(sq0;sq1;sq2;sq3;sq4); temos uma inst^ancia do processo q
e duas do processo p, representados por uma e duas marcas nos lugares sq0
e sp0, respectivamente. Os recursos compartilhados s~ao representados pelas
marcas dos lugares r e s. Observe-se que se tivessemos um terceiro processo semelhante compartilhando os recurso r e s, teramos que descrever todos os seus estados, ac~oes e relac~oes entre o novo processo os atuais e os recursos diponveis. Portanto, torna-se claro que, para um numero n~ao muito grande de processos, haveria um variac~ao consideravel nas dimens~oes dos modelos.
As redes de Petri coloridas s~ao compostas por tr^es diferentes partes: estrutura,
declarac~oes e inscric~oes.
A estrutura e um grafo dirigido com dois tipos de vertices (lugares e transic~oes). Os lugares s~ao representados gracamente por crculos ou por elipses e as transic~oes por ret^angulos. Cada lugar pode armazenar diversas marcas e cada uma dessas marcas pode representar valores associados a tipos de dados complexos. As declarac~oes compreendem a especicac~ao dos conjuntos de cores e declarac~oes de variaveis. Cada lugar tem um conjunto de cores associado, ou seja, um tipo associado. Dessa forma as marcas que s~ao armazenadas nesse lugar devem ter a mesma cor. Nessa classe de redes, cada lugar, transic~ao e arcos t^em inscric~oes associadas. Os lugares t^em tr^es tipos de inscric~oes: nomes, conjunto de cores e express~ao de inicializac~ao (marcac~ao inicial). As transic~oes possuem dois tipos de inscric~oes: nomes e express~oes guardas, e os arcos apenas um tipo de inscric~ao dado pela express~ao. Para facilitar a distinc~ao dessas inscric~oes, os nomes s~ao escritos usando-se letras planas, as cores em italico, as express~oes de inicializac~ao s~ao sublinhadas e as express~oes guardas s~ao colocadas entre colchetes. Os nomes associados aos lugares e transic~oes n~ao t^em nenhum signicado formal, contudo facilitam a identicac~ao. A express~ao de inicializac~ao de um lugar e avaliada para bags do conjunto de cores. As express~oes guardas associadas as transic~oes s~ao express~oes booleanas que devem ser atendidas para que seja possvel o disparo das transic~oes. As express~oes associadas aos arcos podem conter variaveis, constantes, func~oes e operac~oes.
Na gura 4.5 apresentamos uma rede colorida que descreve o processo descrito na gura 4.4. Na rede place/transition que modela o processo, os subestados de cada processo s~ao explicitados. Esses estados foram represen- tados atraves de lugares comuns na rede colorida correspondente, contudo as marcas s~ao distinguveis.
A rede e formada por sete lugares e seis transic~oes. O conjunto de cores que s~ao armazenados nos lugaress0;s1;s2;s3;s4es5s~ao da corProc
I, onde
Proc = pjq e I = INT. As cores associadas ao lugar recursocorres-
pondem aos tipos de recursos disponveis, no casorec = rjs. Nos lugares
n~ao-marcados, por conveni^encia, omitimos as express~oes de inicializac~ao. Os lugares s0;s1 e recurso possuem as seguintes func~oes de inicializac~ao, res-
pectivamente: 20(p;0); 10(q;0) e 20r + 10s. Por exemplo, o lugars
0 possue
s s s s s recurso t t t t t 0 0 1 1 2 2 3 3 4 4 (x,i) (x,i) (x,i) (x,i) (x,i) (x,i) (x,i) (x,i) (x,i) Caso x => 2’r (x,i) (x,i) [x=p] s5 2’(p,0) 1’(q,0) p => 1’r | q Caso x => 2’r p => 1’r | q 2’r + 1’s rec l l l l l l 1’s 1’s x = q entao se (q,i+1) entao se x=p (p,i+1) Cor I=Int Proc=p|q Rec=r|s L=Proc*I Var x:Proc i:I
de iterac~oes realizadas. As marcas inicialmente disponveis no lugarrecurso
s~ao duas marcas da corre uma da cor s.
Inicialmente, as transic~oest0 et1 est~ao habilitadas. A transic~ao t1 pode
ser disparada, pois ha uma marca no lugar s1 e marcas no lugar recurso.
Sendo atribuda a cor q a variavel x, a express~ao do arco que interliga o lugar
recurso e a transic~ao t1 e avaliada para q. Dessa forma, o valor associado
ao arco e 20r. O disparo dessa transic~ao remove uma marca da cor (q;0) do
lugar s1 e duas marcas da cor 2
0rdo lugar recurso.
A seguir, apresentamos um outro exemplo em que vericamos o uso e os benefcios da modelagem com as redes de Petri coloridas em func~ao do seu maior poder de concis~ao quando comparado com as redes lugar/transic~ao (place/transition). Na gura 4.6 apresentamos uma rede que e o modelo do problema do jantar do losofos descrito no captulo 2. Nessa rede temos tr^es losofos que podem esta comendo, pensando ou com-fome. Os losofos compartilham os garfos representados pelos lugaresgarfo1;garfo2egarfo3.
Filosofo Filosofo Filosofo tcp pp tcc pc pc tcc tcc tfc pp tcp pc pp tcp 1 3 2 1 1 1 1 1 1 3 3 3 3 3 3 2 2 2 2 2 2 3 1 2 pcf ttf pcf pcf ttf garfo garfo garfo [comendo] [pensando] [com fome]
Figura 4.6: Jantar dos Filosofos - Modelo com Redes Place/Transition Na gura 4.7 apresentamos uma rede colorida que representa o modelo acima, contudo nesse modelo e ressaltado o numero de iterac~oes de cada processo. Os lugares H, E e Th representam os estados dos processo e o
lugar Fork os recursos, ou seja, os garfos dos losofos. O disparo da transic~ao
t0 pode ser efetuado segundo as tr^es atribuic~oes possveis as variaveis x e
i, ou seja, a express~ao de inicialic~ao do lugar H quando avaliada resulta em tr^es marcas de cores distintas, representando os losofos e o numero de iterac~oes. Caso atribua-se a variavelxa corp(t0;x=p) a express~ao do arco
que interconecta o lugar Fork ao lugar t0 e avaliada para 1 0f
1+ 1 0f
2. Os
disparo de t0 remove a marca 1
0(p;0) do lugar H e as marca 10f 1+ 1
0f 2 do
lugar Fork e deposita a marca 10(p;0) no lugar E. Caso a atribuic~ao seja
outra, por exemplo x=q, a avaliac~ao das expres~oes dos arcos seria outra e ao dispararmos a transic~ao obteramos uma outra marcac~ao. Denomina-se o par (transic~ao, atribuic~ao) por elemento de ocorr^encia.
H E Th Fork (x,i) (x,i) (x,i) (x,i) (x,i+1) Es Es Es Fk t t t 0 1 3 1’(p,0)+1’(q,0)+1’(j,0) 1’f +1’f +1’f1 2 3 Caso x p => 1’f +1’f1 2 q => 1’f +1’f j => 1’f +1’f 2 3 1 3 | | Caso x p => 1’f +1’f1 2 q => 1’f +1’f j => 1’f +1’f 2 3 1 3 | | Cor: Ph=p|q|j I=Int Fk=f |f |f Es=Ph*I Var x:Ph i:I
Figura 4.7: Jantar dos Filosofos - Modelo com Redes Coloridas A seguir, apresentamos a denic~ao formalizada das redes de Petri co- loridas e algumas considerac~ao sobre os aspectos din^amicos dessa classe de rede.
Denic~ao 4.2.1
-Redes de Petri Coloridas
: dene-se as redes de Petri coloridas como RdPC = (R;Pconjunto de lugares, T e um conjunto de transic~oes, A e um conjunto de arcos. Os elementos de A s~ao arcos que conectam transic~oes a lugares ou lugares a transic~oes (A (PxT)
S
(TxP)). P
e o conjunto nito n~ao- vazio de tipo, denominados cores. C e a func~ao de colorac~ao C : P !
Cor, G e a func~ao de guarda G :T ! exp, onde exp e uma express~ao tal
que 8ti 2 T j Tipo(G(t)) = bool e o Tipo(V ar(G(t))) 2 P
, E e uma func~ao associada aos arcos E : A ! exp, onde 8a 2 A j Tipo(E(a)) =
C e o Tipo(V ar(E(a))) 2 P
e In e a express~ao de inicializac~ao, onde
8pi 2P j Tipo(In(p)) =C(p) e V ar(In(p)) =;:
ConsideramosV ar(t) como o conjunto de variaveis associadas a transic~ao t. Essas variaveis podem ser associadas as transic~oes de duas maneiras: nas express~oes guardas(G(t); t 2 T) e nas express~oes do arcos(E(a); a 2A)
que interconectam lugares e transic~oes.
Denic~ao 4.2.2
-Tipo da Ligac~ao
: para uma transic~ao t 2 T comV ar(t) = fv
1;:::;vn
g dene-se o tipo da ligac~ao por BT(t) = Tipo(v 1)
:::Tipo(vn).
Denic~ao 4.2.3
-Conjunto de Ligac~oes
: dene-se o conjunto de li- gac~oes de uma transic~ao por B(t) = (c1;:::cn);2 BT(t) ou mesmo por
B(t) =G(t)< v1 =c1;:::;vn=cn> :
Denic~ao 4.2.4
-Marcac~ao
: a distribuic~ao de marcas e uma func~aoM :P !
P
e uma marcac~ao de uma rede colorida e uma distribuic~ao de marcas. A marcac~ao inicial das redes coloridas e obtida atravesda avaliac~ao da ex- press~ao de inicializac~ao para cada lugar da rede, ou seja,M0(p) =IN(p)<> 8p2P.
A distribuic~ao de ligac~oes e uma func~ao Y : T ! B. Denomina-se
elemento de Y o par (t;b), onde b e uma ligac~ao, tal queb2Y(t). Denomina-
se por passo (step) uma distribuic~ao de ligac~oes n~ao-vazia.
Um passo (Y = (t;b)) esta habilitado quando o numero de marcas de cores correspondente a ligac~ao do passo e maior ou igual a avaliac~ao da express~ao do arco que interliga os lugares de entrada a transic~ao t.
Denic~ao 4.2.5
-Passo Habilitado
: um passo esta habilitado se, e so- mente se, PUm passo habilitado pode ocorrer e a ocorr^encia provoca uma alterac~ao da marcac~ao da rede, pela remoc~ao de marcas dos lugares de entrada e adic~ao de marcas aos lugares de sada.
Denic~ao 4.2.6
-Ocorr^encia de um Passo
: seja M0 uma marcac~aoe Y um passo habilitado para essa marcac~ao. A ocorr^encia do passo Y
altera a marcac~ao da rede para uma marcac~aoM1. A alterac~ao da marcac~ao
da rede e denida pela equac~ao: M1 = (M0 P
(t;b)2Y E(p;t) < b >) + P
(t;b)2Y E(t;p) < b >, onde E(p;t) e E(t;p) correspondem as express~oes
dos arcos de entrada e sada da transic~ao(em t) do passo, respectivamente. Diz-se que uma uma marcac~ao M00 e diretamente acessvel de M0 se a
partir de M0 e pela ocorr^encia do passo Y alcanca-se M00, ou seja, M0[Y >
M00.