• Nenhum resultado encontrado

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 di cultando 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 re namento 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 identi cadas por cores, con- tudo as marcas podem ser estruturas mais complexas. Nas redes coloridas a- presentadas em [75], as marcas s~ao de nidas 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 de nic~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 gra camente 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 especi cac~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 signi cado formal, contudo facilitam a identi cac~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 veri camos 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 de nic~ao formalizada das redes de Petri co- loridas e algumas considerac~ao sobre os aspectos din^amicos dessa classe de rede.

De nic~ao 4.2.1

-

Redes de Petri Coloridas

: de ne-se as redes de Petri coloridas como RdPC = (R;P

conjunto 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.

De nic~ao 4.2.2

-

Tipo da Ligac~ao

: para uma transic~ao t 2 T com

V ar(t) = fv

1;:::;vn

g de ne-se o tipo da ligac~ao por BT(t) = Tipo(v 1)



:::Tipo(vn).

De nic~ao 4.2.3

-

Conjunto de Ligac~oes

: de ne-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> :

De nic~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.

De nic~ao 4.2.5

-

Passo Habilitado

: um passo esta habilitado se, e so- mente se, P

Um 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.

De nic~ao 4.2.6

-

Ocorr^encia de um Passo

: seja M0 uma marcac~ao

e 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 de nida 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.

Documentos relacionados