You are on page 1of 20

Instituto Politcnico de Beja Escola Superior de Tecnologia e Gesto

Introduo modelao de sistemas utilizando redes de Petri


Joo Paulo M. P. Ramos e Barros
Beja, 6 de Janeiro de 2001

Nota Introdutria
Este texto uma breve uma introduo s redes de Petri adaptada do primeiro captulo de [Barros, 96].

ndice

INTRODUO............................................................................................................................................................. 2 1. 2. 3. 4. 5. 6. 7. A ESTRUTURA DA REDE - LUGARES, TRANSIES, ARCOS E MARCAS................................... 2 A EVOLUO DA REDE O DISPARO DAS TRANSIES ............................................................... 3 MODELAO COM REDES DE PETRI....................................................................................................... 5 REPRESENTAO DE REDES DE PETRI .................................................................................................. 6 PROPRIEDADES DAS REDES DE PETRI.................................................................................................... 6 MTODOS DE ANLISE.................................................................................................................................. 7 ALGUMAS CLASSES DE REDES DE PETRI .............................................................................................. 8 7.1 7.2 7.3 7.4 8. REDES DE P ETRI DE ALTO NVEL..................................................................................................................... 8 REDES DE P ETRI HIERRQUICAS...................................................................................................................12 REDES DE P ETRI COLORIDAS HIERRQUICAS...............................................................................................13 REDES DE P ETRI NO-AUTNOMAS .............................................................................................................13

CONCLUSO.....................................................................................................................................................13

Introduo
As redes de Petri (RdP) devem o seu nome ao trabalho de Carl Adam Petri que na sua dissertao de doutoramento, submetida, em 1962, Faculdade de Matemtica e Fsica da Universidade Tcnica de Darmstadt na Alemanha, apresentou um tipo de grafo bipartido1 com estados associados, com o objectivo de estudar a comunicao entre autmatos [Murata, 89]2. O seu desenvolvimento posterior foi catalisado pelas suas numerosas potencialidades de modelao, designadamente: sincronizao de processos, concorrncia, conflitos e partilha de recursos. Desde essa data, tm sido desenvolvidos trabalhos tericos e aplicaes sobre RdP tendo este estudo levado, quer a um desenvolvimento das tcnicas de anlise das RdP e sua aplicao prtica, quer ao desenvolvimento de muitas variantes ao modelo seminal das RdP tendo em vista aplicaes especficas. Como ferramentas matemticas e grficas, as RdP oferecem um ambiente uniforme para a modelao, anlise formal e simulao de sistemas a eventos discretos, permitindo uma visualizao simultnea da sua estrutura e comportamento. Mais especificamente, as RdP modelam dois aspectos desses sistemas, eventos e condies, bem como, as relaes entre eles. Segundo esta caracterizao, em cada estado do sistema verificam-se determinadas condies. Estas podem possibilitar a ocorrncia de eventos que por sua vez podem ocasionar a mudana de estado do sistema [Peterson, 77: 228]. Como veremos, possvel relacionar, de uma forma intuitiva, condies e eventos com os dois tipos de ns da rede, respectivamente lugares e transies.

1. A estrutura da rede - lugares, transies, arcos e marcas


Os elementos dos dois conjuntos em que se podem dividir os ns constituintes de uma RdP denominam-se, respectivamente, lugares e transies. Os lugares so normalmente representados por circunferncias ou elipses, e as transies por segmentos de recta, rectngulos ou barras. Os lugares encontram-se ligados s transies, e estas aos lugares, atravs de arcos dirigidos (Figura 1).
p1 p3 t2 t3 p4

t1

t4

p2

p5

Figura 1 - Uma rede de Petri.

A estrutura de uma rede de Petri pode, pois, ser definida como um tuplo R = (L, T, AE, AS) [Peterson, 77: 235]conforme apresentado no Quadro 1

Um grafo G denomina-se bipartido quando os seus ns podem ser divididos em dois conjuntos N1 e N2, tais que nenhum n contido em N1 ou N2 se encontra ligado a outro n contido no mesmo conjunto.
2

Este trabalho contm um breve resumo histrico sobre a origem das RdP.

R = (L, T, AE, AS) onde: 3 L = { p1, p2, ..., pm} um conjunto de lugares T = { t1, t2, ..., tn} um conjunto de transies LT= os conjuntos L e T so disjuntos AE: L T um conjunto de arcos de entrada nas transies AS: T L um conjunto de arcos de sada das transies Por exemplo, para a Figura 1 temos: L = { p1, p2, p 3, p4, p 5} T = { t1, t2, t3, t4 } AE = { (p2, t1), (p 1, t2), (p 3, t3), (p 4, t3), (p 5, t4) } AS = { (t 1, p1), (t 2, p 2), (t 2, p 3), (t 3, p5 ), (t 4, p 4 ) }

Quadro 1 Definio de uma Rede de Petri.

Dado uma RdP constituir um modelo abstracto, podem ser dadas vrias interpretaes distintas a lugares e transies, conforme o tipo de aplicao em causa. No entanto, dadas as suas caractersticas intrnsecas, os lugares podem, de uma forma muito genrica e muito prxima da sua visualizao grfica, ser vistos como depsitos de recursos e as transies como aces que manipulam esses recursos. Os recursos so representados graficamente por pequenos crculos pretos dentro dos lugares. A cada um desses crculos d-se o nome de marca. Os lugares surgem como representantes do estado da rede e as transies como responsveis pela mudana de estado; desta forma, a RdP simultaneamente orientada para os estados e para as aces. Ao estado da rede usual chamar-se marcao, dado ser definido pela marcao de cada um dos seus lugares, ou seja, pela quantidade de marcas presentes em cada lugar. As marcas so representadas graficamente como pequenos crculos pretos, dentro dos lugares. A funo das transies consiste em destruir e/ou criar estas marcas. Como as transies esto obrigatoriamente entre lugares atravs da sua aco (denominada disparo) que um lugar altera a sua marcao. Os arcos indicam, para cada transio, os lugares sobre os quais estas actuam. Na Figura 2 vemos um exemplo de uma RdP marcada 4 correspondente RdP da Figura 1.
p1 2 t1 t2 2 p3 3 t3 t4 p4

p2

p5

Figura 2 Uma rede de Petri marcada.

Sendo as marcaes nos lugares as representantes dos estado da rede, as transies surgem como os agentes que fazem a rede evoluir de estado para estado. Seguidamente veremos como se processa essa evoluo.

2. A evoluo da rede o disparo das transies


Conforme j referido, so as transies que podem destruir e criar as marcas contidas nos lugares. Os arcos ligados a cada transio indicam exactamente sobre que lugares actuam. Um arco com origem num lugar e trmino numa transio (a partir daqui designado por arco de entrada), indica que essa transio subtrai, aquando do seu disparo, uma marca desse lugar. De forma simtrica, um arco com origem numa transio e fim num lugar (daqui em diante designado por arco de sada), indica que essa transio adiciona, aquando do seu disparo, uma marca a esse lugar. Assim sendo, podemos pensar nos arcos como indicando o sentido do movimento das marcas de um lugar para outro, atravessando a transio. Da resulta que uma transio s pode disparar se cada lugar de entrada contiver pelo menos uma marca, de forma a poder ser retirada no disparo da transio, pelo respectivo arco. Quando tal sucede diz-se que a transio

Dado a a letra l ser facilmente confundida com o algarismo um (1) optou-se pela utilizao da letra p para denominar elementos do conjunto L.
4

Por enquanto, podemos ignorar ou nmeros que surgem junto de trs dos arcos. 3

est habilitada5. O disparo de uma transio instantneo, ou seja, as duas aces citadas so efectuadas ao mesmo tempo. Assim sendo, no existe nenhum instante no qual todos, ou parte, dos lugares de entrada j contm menos uma marca e todos, ou parte, dos lugares de sada ainda no contm mais uma marca, vide Figura 3

a)

b)

c)

d)

Figura 3 - Disparo de uma transio. a) corresponde situao inicial. b) e c) no correspondem ao resultado do disparo da transio. Apenas d) representa a rede obtida aps o disparo.

muito importante notar que apesar de, por vezes, se falar em movimento de marcas, tal incorrecto do ponto de vista formal. O que acontece, aquando do disparo de uma transio, no a mudana de marcas, dos lugares de entrada da transio para os lugares de sada, mas sim, a remoo de marcas nos lugares de entrada e a criao de novas marcas nos lugares de sada. Os arcos de sada so, portanto, criadores de novas marcas e no simples depositantes das marcas retiradas pelos arcos de entrada. Tal seria contraditrio com o facto de uma transio poder possuir diferentes quantidades de arcos de entrada e de sada. Um tipo de redes6, muito frequente, denominado RdP generalizada, permite a existncia de mltiplos arcos entre ns. Tal equivale a associar um inteiro a cada arco, constituindo, dessa forma, uma generalizao do tipo de arcos j descrito. Nessas redes, cada arco no transporta necessariamente uma marca mas sim a quantidade especificada. A essa quantidade associada a cada arco d-se o nome de peso. A RdP at aqui descrita corresponde apresentada em [Peterson, 77: 235]. Conforme j a referido: A maioria dos investigadores utilizam Redes de Petri generalizadas nos seus trabalhos, muitas vezes ignorando a distino entre elas e aquelas que definimos como Rede de Petri [Peterson, 77: 246]. Por exemplo, em [Murata, 89: 543] o autor apresenta, com a designao de Redes de Petri uma Rede de Petri generalizada. Por outro lado, a marcao surge como parte da definio de RdP, no sendo feita a distino entre RdP e RdP marcada. Da resulta uma definio mais extensa (Quadro 2) onde, para alm dos pesos dos arcos, se inclui j a marcao. Por outro lado, efectuou-se uma compactao ao reunir os conjuntos relativos aos arcos.
R = (L, T, A, PA, M0) onde: L = { p1, p2, ..., pm} T = { t1, t2, ..., tn} LT= LT A: (L T) (T L) PA: A M0: L 0 um conjunto de lugares um conjunto de transies os conjuntos L e T so disjuntos e no vazios o conjunto dos arcos so os pesos dos arcos a marcao inicial

5 6

enabled na bibliografia em lngua inglesa.

O glossrio do Apndice A apresenta alguns dos principais tipos de RdP em ordem alfabtica, bem como uma sua breve descrio informal. 4

Por exemplo, para a Figura 2 temos: L = { p1, p2, p 3, p4, p 5} T = { t1, t2, t3, t4 } A = { (p2, t1), (p 1, t2), (p 3, t3), (p 4, t3), (p 5, t4), (t 1, p1 ), (t 2, p 2 ), (t 2, p3 ), (t 3, p 5), (t 4, p 4) } PA( (p2, t1 ) ) = 1 PA( (t 1, p1 ) ) = 2 M0( (p1 ) = 2 PA( (p1, t2 ) ) = 2 PA( (t 2, p2 ) ) = 1 M0( (p2 ) = 0 PA( (p3, t3 ) ) = 3 PA( (t 2, p3 ) ) = 1 M0( (p3 ) = 3 PA( (p4, t3 ) ) = 1 PA( (t 3, p5 ) ) = 1 M0( (p4 ) = 0 PA( (p5, t4 ) ) = 1 PA( (t 4, p4 ) ) = 1 M0( (p5 ) = 1

Quadro 2- Definio de uma Rede de Petri generalizada (com pesos) com marcao inicial.

Com base nesta definiao diz-se que uma transio se encontra habilitada se e s se todos os arcos de entrada da transio tiverem associado um peso menor que a quantidade de marcas do respectivos lugares de sada. Formalmente: ((p, t) A) PA( (p, t) ) M(p). Daqui em diante uma Rede de Petri generalizada e marcada ser denominada simplesmente por Rede de Petri ou RdP. Tal como o sistema modelado, a RdP no prev nem impe uma ordem de ocorrncia dos eventos. Tal significa que se em determinado instante, mais do que uma transio se encontra apta a disparar, qualquer uma pode disparar. O estado seguinte resultado do disparo de um qualquer multiconjunto7 de transies habilitadas. A este multiconjunto de transies aptas d-se o nome de passo. A quantidade de estados seguintes possveis corresponde pois quantidade existente de diferentes passos.

3. Modelao com Redes de Petri


Quando modelamos um sistema atravs de uma RdP, estamos necessariamente a criar uma interpretao da rede8. essa interpretao ou significao que efectua a ligao do modelo abstracto que qualquer RdP representa, com o sistema concreto que se pretende modelar. Por exemplo, uma possvel interpretao da rede da Figura 2, a que se apresenta na Figura 4 onde temos a modelao de um sistema produtor-consumidor [Reisig, 92].
pode entregar p1 2 t1 produz t2 2 entrega p3 3 ocupao do canal t3 recebe t4 consome pode receber p4

p2 pode produzir

p5 pode consumir

Figura 4 - Rede de Petri com pesos associados aos arcos ( dP R generalizada) e marcada, com interpretao.

Podemos ver que os produtos so produzidos aos pares e que para cada um destes pares entregue uma unidade. Por outro lado, o consumidor (modelado pelos lugares p4 e p5 e pelas transies t3 e t4) necessita de receber trs unidades e, posteriormente, de as consumir, antes de poder receber mais unidades.

Um multiconjunto uma estrutura idntica a um conjunto mas com uma nica e importante diferena: pode conter mais do que uma ocorrncia de um mesmo elemento. Interpretao no sentido de significao. No confundir com RdP interpretada. Essa designao pode ser utilizada com vrios sentidos [Gomes, 91]. Por exemplo em [Peterson, 77] uma rede no-interpretada uma rede em que no se atriburam significados aos lugares, transies, etc.. Nesse caso apenas estamos interessados nas caractersticas abstractas da rede. A rede no tem significado concreto. J em [David, 91], uma rede interpretada denomina uma classe especfica de redes (ver Apndice A). 5
8

As RdP permitem a modelao e visualizao de diversos conceitos e relaes, designadamente: paralelismo e concorrncia, partilha de recursos, sincronizao, memorizao, limitao de recursos e leitura. Em [David et al., 92: 64-7] possvel encontrar as construes que permitem esse tipo de modelaes. Alm do fluxo de controlo, as RdP podem tambm representar o fluxo de dados (dataflow). Num modelo de fluxo de dados os operadores so activados pela chegada dos operandos. Numa RdP os operandos so representados pela presena de marcas nos lugares e os operadores esto associados a transies. As RdP no oferecem apenas uma representao para a estrutura e funcionamento de um sistema. Permitem a visualizao do comportamento do sistema atravs do movimento das marcas. Conforme referido por Robert Valette9, as RdP capturam a dinmica dos sistemas a eventos discretos tornando-se dessa forma particularmente teis para a sua simulao.

4. Representao de Redes de Petri


As RdP so grafos. Os grafos so estruturas de dados clssicas cujas tcnicas de representao so j bem conhecidas [Sedgewick, 88] [Cormen et al., 90]. Existem duas formas fundamentais de representar grafos: atravs de uma matriz de incidncias ou utilizando uma lista de adjacncias. Como nas RdP, frequente muitos dos ns no se encontrarem ligados entre si, a lista de adjacncias constitui, em principio, uma melhor opo tendo em vista a poupana de memria. Consideram-se duas perspectivas quando melhor representao de uma RdP: a perspectiva do simulador/executor e a perspectiva do editor. Para o simulador/executor, as transies constituem os elementos da rede que apresentam maior importncia. So as transies que determinam a evoluo da rede pelo que a estrutura que necessrio percorrer a que contem as transies. Como para determinar a habilitao, ou no, das transies, so necessrias as marcaes dos seus lugares de entrada e os pesos dos seus arcos de entrada, ser conveniente que cada transio contenha a lista dos seus arcos de entrada que por sua vez contm o lugar a que se encontram ligados. Os lugares contm as respectivas marcaes (quantidade de marcas). As transies contero, tambm, a lista dos seus lugares de sada que por sua vez contm o lugar respectivo. Importa assinalar que estas relaes de incluso podem corresponder apenas incluso de referncias. Por exemplo, cada arco pode conter apenas uma referncia para o lugar respectivo que se encontra numa lista de lugares. Essa lista pode ser percorrida de forma a consultar a marcao da rede de forma mais eficiente. Em [Silva, 85: 315-72] so apresentadas vrias representaes possveis (na perspectiva do simulador/executor) para RdP seguras. Todas procuram maximizar a relao rapidez/ocupao de memria. Na segunda perspectiva considerada, isto , para um editor grfico de RdP que interage com os elementos grficos constituintes, no existe a noo de maior ou menor importncia de um tipo de n da rede face a outro. A adio ou remoo de lugares ou transies igualmente custosa pois pode ser necessrio remover um conjunto de arcos em ambos os casos. Ou seja, para o editor o facto do grafo ser bipartido apenas se reflecte na necessidade de evitar ligaes invlidas de arcos. Interessa encontrar, inserir e/ou remover ns da rede. Como medida que se adiciona mais informao a estrutura se torna mais complexa esse tipo de operaes pode dar origem a apontadores que deixam de apontar para endereos vlidos (dangling pointers). Uma das formas de evitar essa situao consiste em adicionar mais informao estrutura, nomeadamente transformando listas ligadas simples em listas ligadas duplamente. Outra forma, consiste em marcar os elementos a remover e seguidamente percorrer a estrutura reconstruindo-a10.

5. Propriedades das Redes de Petri


As propriedades das RdP encontram-se extensamente documentadas [Peterson, 77][Peterson, 81][Silva, 85][Murata, 89][Gomes, 91][David et al., 92][Zurawsky et al., 94]. Em [Murata, 89] as propriedades das RdP so classificadas em comportamentais ou estruturais conforme sejam ou no dependentes da marcao inicial.

Em resposta pergunta Que propriedades das RdP as tornam utilizveis na simulao? colocada na petri net mailing list por Andreas Mittermayr ( mitterma@fmi.uni-passau.de, andreas@newciv.org). Esta tcnica foi sugerida por Henrik Hulgaard ( henrik@cs.washington.edu) em resposta a uma pergunta de outro leitor da petri net mailing-list. 6

10

Dentro das propriedades comportamentais temos [Murata, 89: 547-50]: a alcanabilidade, a limitabilidade, a vivacidade, a reversabilidade, a cobertura, a persistncia, a distncia sincrnica e a justia. Dentro das propriedades estruturais refiram-se como de especial interesse [ Murata, 89: 566-9]: vivacidade estrutural, controlabilidade, limitabilidade estrutural, conservabilidade, repetibilidade, consistncia, justia-B estrutural.

6. Mtodos de Anlise
Uma possvel classificao dos mtodos de anlise de RdP considera a existncia de trs grupos [Murata, 89: 550]: 1. Anlise por enumerao. 2. Tcnicas de reduo ou decomposio (transformaes). 3. Matriz de incidncia e equao de estado.

ainda possvel considerar um quarto tipo de anlise de RdP: a simulao da RdP [Silva, 85]. Esta no permite obter garantias quanto a uma determinada propriedade do sistema modelado, mas por vezes pode ser a nica tcnica aplicvel, dadas as limitaes das restantes. Nomeadamente em RdP de alto-nvel (vide 7.1) em que as restantes tcnicas de anlise ainda se encontram relativamente pouco desenvolvidas, a simulao apresenta uma grande importncia. A anlise por enumerao baseia-se na construo de um grafo que representa todas as marcaes que a RdP pode alcanar. Cada n corresponde a uma marcao e cada arco corresponde ao disparo de um conjunto no vazio de transies, tambm denominado passo. Se a RdP limitada, possvel construir este tipo de grafo e nesse caso ele denomina-se grafo de ocorrncias [ Jensen, 92]. Caso a RdP no seja limitada, o grafo de ocorrncias infinito. Nesse caso ainda possvel construir um grafo que se denomina grafo de cobertura11. Em [Murata, 89] e [David et al., 92: 36-7] encontra-se detalhado o algoritmo de construo da rvore, ou grafo, de cobertura. Conforme notado em [Peterson, 77: 240] muitas questes podem ser reduzidas ao problema da alcanabilidade. No entanto, apesar das suas bvias potencialidades e aplicabilidade12, este mtodo muitas vezes dificilmente aplicvel dada a sua natureza fortemente combinatria [Silva, 85: 101] com a consequente exploso de estados. A anlise por reduo (ou transformao) consiste na obteno de uma RdP mais simples mas que mantem as propriedades que se pretendem analisar. Este tipo de anlise pode revelar-se muito til mas apenas aplicvel a alguns tipos especiais de RdP ou em algumas situaes particulares [Murata, 89: 550]. Em [Murata, 89: 553] apresentam-se, de forma resumida, as tcnicas de reduo mais simples. Em [Silva, 85: 110-28] e [David et al., 92: 46-60] feita uma apresentao mais detalhada das principais tcnicas de anlise por reduo. A matriz de incidncias e a equao de estados constituem a tentativa de utilizao de lgebra linear na anlise de RdP. Tal como as tcnicas de anlise por reduo, estes mtodos no so aplicveis a muitos tipos de RdP. Nas RdP onde possvel a sua aplicao, nomeadamente os grafos marcados [Silva, 85: 101], a sua utilizao permite, em alguns tipos de anlise, evitar as tcnicas de enumerao. Em [Murata, 89] encontra-se uma boa introduo a este tipo de tcnicas de anlise.

Evitou-se, propositadamente, a designao rvore de alcanabilidade (reachability tree) que apresenta pelo menos dois significados distintos na literatura. Em [ urata, 89] lhe atribudo um M significado idntico ao de grafo de alcanabilidade (igual a grafo de ocorrncias [Jensen, 92]) embora utilizando representaes grficas distintas. J em [Silva, 85] e [Peterson, 77][Peterson, 81], rvore de alcanabilidade tem o significado de rvore de cobertura de [Murata, 89] e [David et al., 92: 34-7]..
12

11

aplicvel a todas as classes de RdP [Murata, 89: 550]. 7

7. Algumas classes de Redes de Petri


Desde o trabalho seminal de Petri tm surgido muitas e diversas variantes ao seu modelo de Redes de Petri. Pode-se afirmar que a maior parte destas variantes nasceu da necessidade de adaptao das RdP ordinrias especificidade da aplicao para as quais a sua utilizao era desejada. O apndice A contem uma lista de alguns dos tipos de RdP mais frequentemente referidos na literatura. Conforme referido em [Morasca et al., 91], o modelo original das RdP falha na representao de duas importantes caractersticas: aspectos funcionais complexos, tais como, condies que determinam o fluxo de controlo, e os aspectos de temporizao. Para enfrentar estas duas limitaes duas classes de extenses s RdP foram desenvolvidas: as RdP de alto-nvel e as RdP temporizadas. A classe de RdP desenvolvida no mbito deste trabalho, apresenta ambas as caractersticas: de alto-nvel e temporizada. Por essa razo, estes dois tipos de extenso so discutidos seguidamente.

7.1

Redes de Petri de alto nvel

A caracterstica fundamental que distingue as RdP de alto nvel (RdP-AN) das RdP e que as qualifica como de alto nvel, a possibilidade de as marcas no serem iguais entre si, correspondendo a elementos de um domnio. Desta forma, as marcas podem conter muito mais informao. Esta j no se limita simples presena ou no da marca (ou marcas) num determinado lugar, podendo conter dados relativos sua caracterizao como indivduo distinto dos restantes. Tal permite uma compactao (eventualmente muito significativa) da RdP, como veremos no exemplo tpico do problema dos filsofos. Dado as marcas no serem necessariamente iguais, torna-se necessrio anotar a rede, designadamente os arcos e transies. As transies surgem como modificadores das marcas, podendo gerar marcas de domnios distintos dos das marcas presentes nos lugares de entrada. Desta forma a complexidade da rede encontra-se dividida: parte representada pela prpria estrutura da rede - tal como sucede nas RdP ordinrias - e outra parte representada pelas inscries da rede. importante notar que estas redes podem ser traduzidas para RdP de baixo nvel, visto apresentarem o mesmo poder de modelao. Numa rede de alto-nvel em que cada lugar apenas possa conter, no mximo , uma marca podemos pensar nos lugares como variveis (valores-esquerdos13). e nas marcas como valores de variveis (valores-direitos). Este tipo de redes surge como uma generalizao das RdP seguras ou binrias. Cada lugar j no corresponde necessariamente a uma varivel Booleana (presena ou ausncia de uma marca) mas pode corresponder a qualquer tipo de varivel. Se cada lugar poder conter mais do que uma marca (caso geral) podemos ver o lugar como uma estrutura de dados que contem um ou mais valores de um determinado tipo. Esta estrutura de dados geralmente vista como um multiconjunto. O multiconjunto a estrutura de dados que associada ao lugar, menos o afasta do lugar da RdP ordinria. A no existem diferenas entre as marcas pelo que no faz sentido falar em estruturas de dados associadas que devolvam diferentes valores consoante os critrios utilizados. J nas RdP-AN podemos impor variadssimos critrios resultantes das diferentes estruturas de dados que podemos associar a cada lugar. Por exemplo, alguns trabalhos consideram lugares FIFO14 ou LIFO 15 [Pezz, 94]. Outras estruturas podem ser utilizadas mas o multiconjunto , de facto, aquela que permite a generalizao natural dos lugares das RdP ordinrias e a estrutura de dados em que se baseiam os dois principais tipos de RdP-AN: as RdP coloridas e as RdP Predicado-Transio. Os arcos de sada correspondem, nessas redes, s funes de adio de dados na

Do ingls left value ou l-value, endereo de memria. O nome deriva da operao de afectao. A o endereo corresponde varivel do lado esquerdo e o valor varivel ou constante do lado direito. Por exemplo, na afectao A = B, B representa um valor-direito (em ingls: right-value ou r-value) presente na posio de memria correspondente varivel B e que ser colocado no endereo designado pela varivel A. O r-value corresponde ao valor presente no endereo de memria de uma dada varivel [Sethi, 90].
14 15

13

Do Ingls: First In First Out, estrutura em fila (Queue), primeiro a entrar o primeiro a sair. Do Ingls: Last In First Out, estrutura em pilha (Stack), ltimo a entrar o ltimo a sair. 8

estrutura e os arcos de entrada correspondem s funes de subtraco de dados da estrutura. importante notar que no existe uma correspondncia entre um tipo arco e uma funo de modificao do valor de um campo da estrutura (uma marca). Esse efeito conseguido atravs da conjugao das duas aces referidas: um arco de entrada retira a marca e um arco de sada adiciona uma nova marca. Nas RdP-AN a cada lugar associamos um domnio ou tipo. A definio deste tem, como j referido, uma parte respeitante aos dados que pode conter. Por exemplo: um dado lugar pode ser responsvel pela representao do conjunto dos livros requisitados numa biblioteca caso em que o seu tipo conter um campo para o nome do livro, outro para o autor, outro para a editora, outra para a data de requisio, etc.. Se definio do tipo adicionarmos as expresses dos arcos de entrada e de sada de todos os lugares desse tipo obteremos uma definio de tipo que contem quer a parte esttica (reserva de memria para os seus dados) quer a parte de dinmica de alterao desses dados. No exemplo apresentado uma funo possvel seria a de modificao da data de requisio do livro, a alterar sempre que o livro fosse de novo requisitado. Esta definio de um tipo corresponde ao que usualmente se denomina por tipo de dados abstracto. A definio dos tipos das variveis como tipos de dados abstractos constitui uma das caractersticas da programao orientada por objectos [ eyer, 88][Booch, 94] M tornando-a adequada para a implementao de RdP de alto-nvel. A linguagem C++ permite a definio de tipos de variveis que obedecem definio apresentada em [Meyer, 88]. O facto das marcas poderem representar variveis de um tipo de dados abstracto, permite que atravs da utilizao de marcas persistentes16 se consigam especificar lugares que se comportam como essas estruturas17. Para tal basta que o lugar contenha uma marca cujo tipo corresponda estrutura de dados pretendida para o lugar. A Figura 5 mostra a especificao de um lugar FIFO utilizando este mtodo. Para as inscries da rede, utilizou-se um pseudocdigo muito prximo da linguagem C++. Os tipos correspondem a classes (directiva Class) e os lugares so declarados utilizando a directiva Place. A maior parte do trabalho prtico e terico na rea das RdP de alto-nvel tem-se centrado ou nas RdP PredicadoTransio18 [Genrich, 86] (RdPPr-Tr), ou nas RdP coloridas19 [Jensen, 94] (RdPCol). Conforme notado em [Jensen, et al., 91], os dois modelos so muito semelhantes, sendo mais correcto v-los como dois dialectos, superficialmente diferentes, de uma mesma linguagem.

16

Numa RdP, considera-se uma marca persistente quando esta nunca sai do lugar, ou seja, para qualquer passo da rede, para cada arco de entrada existe um arco de sada que repe a marca. No caso das RdP-AN podemos considerar uma definio mais lata em que a marca pode ser modificada. Por exemplo uma marca (de alto-nvel) persistente, constituda por um identificador e uma fila de espera pode manter o identificador embora modificando o estado da sua fila de espera.
17

Estas estruturas tm de ser limitadas caso se pretenda manter a possibilidade de traduao da rede para uma RdP de baixo-nvel.
18 19

Em ingls: Predicate-transition nets ou PrT-nets. Em ingls: Coloured Petri Nets ou CP-Nets. 9

Inscries da rede: Class X; Class Fila<X>; Place A1<X>; Place A2<X>; Place R1<X>; Place R2<X>; Place LF<Fila<X>>; X x; Fila<X> fila; x

A1

R1

Adicionar lista

fila LF fila + x

fila

Remover da lista

fila - x x

A2

R2

Figura 5 - Especificao de um lugar FIFO, com base num lugar contendo um multiconjunto de marcas, numa RdP de alto-nvel.

Outra classe de RdP de alto nvel a das Redes de Petri com marcas individuais (RdPcMI) [Reisig, 92]. Como se ver, o nvel de abstraco permitido por esta classe de redes no to elevado como o das j referidas RdPCol e RdPPr-Tr. Em seguida faz-se uma breve apresentao das RdP coloridas que so as mais utilizadas. Redes de Petri Coloridas As Redes de Petri coloridas so, provavelmente, as RdP-AN que mais interesse tm levantado. O salto que se d ao passar das RdP para as RdPCol , mais do que em qualquer outro tipo de RdP de alto nvel, extremamente semelhante ao que se d ao passar da programao em linguagens Assembly para linguagens de alto-nvel como PASCAL ou C [Kernigham et al., 88]. A utilizao de estruturas de dados complexas em vez de bits tem o seu paralelo nas RdP, na utilizao de marcas complexas em substituio das marcas simples das RdP ordinrias. O, j citado, exemplo dos filsofos permite uma demonstrao do poder de compactao da rede oferecido pelas RdPCol. Em 7.2 veremos como a introduo de uma representao hierrquica nas RdP permite a ocultao de sub-redes que surgem repetidas, atravs do recurso a instncias de uma RdP que surgem na rede original como macrolugares ou macrotransies (7.2). As RdPCol tambm podem facilmente suportar uma representao hierrquica com todas as vantagens que esta apresenta, mas a sua principal vantagem reside no elevado poder de compactao da rede, resultante, no de uma representao hierrquica mas sim, do facto das marcas corresponderem a variveis de tipos cuja complexidade apenas se encontra dependente da linguagem utilizada para os definir, normalmente a mesma que utilizada para todas as inscries da rede. Na Figura 6 ilustra-se a transformao de uma RdP ordinria numa RdPCol, utilizando o bem conhecido problema dos filsofos [Ben-Ari, 82]. A transformao consiste fundamentalmente na substituio de conjuntos de lugares por um s lugar colorido, ou seja, contendo marcas coloridas. Essas marcas coloridas, permitem a representao de cada um desses lugares atravs de valores (neste caso inteiros) distintos. Esta fuso de lugares obriga necessariamente a uma fuso dos respectivos arcos. Esta conseguida associando funes aos arcos que permitam determinar quais as marcas a subtrair ou adicionar aos lugares. o que acontece com a funo Garfos() Figura 6b). de salientar que a reduo de complexidade obtida atravs da utilizao da rede colorida (Figura 6b)) ser tanto mais significativa, quanto o maior for a quantidade de filsofos. Para se obter uma representao de uma mesa com mais filsofos e 10

garfos, seria apenas necessrio alterar a marcao inicial dos lugares Pensando e Garfos disponveis e a funo Garfos. Enquanto que em a) a prpria rede cresceria, na quantidade de lugares e arcos, na razo directa do crescimento do nmero de filsofos e garfos.

Garfos disponveis
<1> <2> <3> <4> <5>

Garfos(f) Comendo f f

Garfos(f)

Tirar garfos

<1> <2> <3> <4> <5>

f Pr garfos

Pensando

a)

b)

Figura 6 O problema dos filsofos: a) utilizando uma RdP ordinria; b) utilizando uma RdPCol. Os lugares em a) apresentam coloraes distintas para evidenciar a sua fuso no lugar com idntica colorao em b).

A seleco das marcas a subtrair ou adicionar aos lugares suportada por um conjunto de variveis, tambm chamadas variveis de transio visto serem sempre utilizadas no contexto do disparo de uma transio. Como o clculo do disparo de cada transio feito em diferentes instantes, as variveis podem ser declaradas num escopo global (conhecidas portanto de todas as transies) sendo, nesse caso, utilizadas por mais do que uma transio. A necessidade de existncia de variveis advm, tal como as expresses dos arcos, do facto, das marcas no serem todas iguais. A necessidade da existncia de variveis uma das consequncias directas da existncia de marcas com valores associados. Esses valores tm de ser conhecidos durante o processo de disparo de uma transio pelo que as variveis servem de depsito das marcas escolhidas. Podem ento ser lidas com vista avaliao da guarda e da determinao dos valores das marcas a gerar. Nas RdP ordinrias o facto de todas as marcas serem iguais, implica que o nico dado importante no disparo da transio a presena ou no da quantidade de marcas necessria nos arcos de entrada. As marcas geradas so a apenas determinadas pelos pesos (RdP generalizada) dos arcos de sada. No existe a noo de valor de cada marca. Conforme referido, as variveis na RdPCol servem para guardar os valores das marcas, dos arcos de entrada, seleccionadas. O par (varivel, valor selecionado), denominar-se- vnculo20 e representar-se- por: <varivelvalor>. Por exemplo, se a varivel x, do tipo inteiro, tem o valor 3 atribudo ento o vnculo correspondente ser <x3>. Dado que as marcas no so necessariamente iguais entre si, extremamente til a possibilidade de impor restries ao disparo de uma transio com base nos valores das suas marcas. Para tal define -se uma funo Booleana que permite testar os valores das marcas nos lugares de entrada, que partida poderiam ser utilizadas no disparo de uma transio. A cada transio pode ento associar-se uma funo desse tipo denominada guarda. Para uma definio formal das RdPCol e seu comportamento dinmico recomenda-se a leitura de [Jensen, 92]. Para uma anlise formal mais detalhada de alguns aspectos, uma excelente continuao [Jensen, 94].

20

Em ingls: binding. 11

7.2

Redes de Petri hierrquicas

Uma RdP que modele um sistema no trivial, rapidamente se torna demasiado extensa para poder ser facilmente compreendida. Nestas situaes o velho princpio dividir para reinar, surge como a forma mais bvia de reduzir a complexidade e, desse modo, manter a legibilidade do modelo. A forma mais natural e intuitiva de decompor uma RdP a de considerar a existncia de sub-redes que se comportam como lugares ou como transies. Desta forma, uma RdP passa a incluir mais dois conjuntos de elementos: os macrolugares e as macrotransies, conforme se tratem de sub-redes que se comportem como lugares ou como transies, respectivamente. Por exemplo, a rede da Figura 7a) pode ser representada atravs de

Pensar

Comendo

Pensando

Comer

Garfo direito

Garfo esquerdo

uma rede hierrquica em que cada filsofo modelado por uma instncia de uma macrotransio ( Figura 7b)).
Figura 7 - Problema dos filsofos modelado por uma RdP com macrotransies. cada macrotransio ( direita na figura) representa um filsofo. A rede equivalente s da Figura 6.

Numa macrotransio ou num macrolugar, os ns (lugares ou transies) que contactam com o exterior da macro (como acontece com as transies Comer e Pensar da Figura 7b)), denominam-se portos de entrada, de sada ou de entrada-sada conforme se encontrem ligados ao exterior por arcos de entrada, sada ou ambos, respectivamente. Daqui podemos concluir que os portos de uma macrotransio so necessariamente transies, e os portos de um macrolugar so necessariamente lugares. No entanto, se definirmos dentro de uma macrotransio lugares "fantasma" de interface, estes podem ser considerados como os lugares porto da transio. Estes lugares "fantasma" no so verdadeiros lugares pois so fundidos com os verdadeiros lugares da rede que inclui a macrotransio. Este tipo de lugares utilizado nas RdPCol.

12

Tambm aqui possvel traar um paralelo com as linguagens de programao: enquanto as RdP-AN e, em particular as RdPCol, tm a sua correspondncia nas linguagens de alto-nvel, as redes hierrquicas correspondem a uma linguagem assembly que disponibilize macros21. Assim temos: Redes de Petri RdP ordinrias RdP hierrquicas RdP alto nvel Linguagens de Programao Linguagem Assembly Linguagem Assembly com macros. Linguagem de alto nvel

Quadro 3 - Redes de Petri versus linguagens de programao.

7.3

Redes de Petri coloridas hierrquicas

Embora teoricamente interessantes e potencialmente teis as RdP hierrquicas no resolvem eficientemente o problema do crescimento excessivo do nmero de ns da rede, quando se pretende modelar um sistema no trivial. Como vimos, as RdP-AN e designadamente as RdPCol, apesar de teoricamente possurem o mesmo poder de modelao das RdP ordinrias, na prtica apresentam uma muito maior capacidade de modelao do que as RdP ordinrias, mesmo considerando construes hierrquicas. Conforme j notado em [Huber et al., 90], a diferena idntica que existe entre programar utilizando linguagem assembly, e programar utilizando uma linguagem com tipos de dados estruturados.

7.4

Redes de Petri no-autnomas

As RdP denominam-se autnomas quando a sua evoluo apenas depende de condicionalismos resultantes da sua estrutura e marcao. As RdP com temporizaes associadas so um exemplo de RdP no-autnomas, dado o seu comportamento depender, tambm, de condies impostas pelas temporizaes associadas. Outra forma de redes no-autnomas resulta de considerarmos o disparo, de uma ou mais transies, dependente, no apenas da marcao dos seus lugares de entrada, mas tambm de uma condio externa associada. Esta vai permitir a sincronizao da evoluo da rede com eventos externos. Estas RdP denominam-se sincronizadas.

8. Concluso
As RdP oferecem um suporte prometedor para a modelao, anlise e simulao de sistemas a eventos discretos. O baixo-nvel do modelo seminal das RdP torna extremamente difcil a sua aplicao para sistemas no triviais. Como tal vrias RdP de alto-nvel foram sendo desenvolvidas e estudadas. Todas apresentam a vantagem de permitirem especificaes muito mais compactas tornando dessa forma possvel a sua aplicao a sistemas muito mais complexos. Outra limitao do modelo seminal, a impossibilidade de modelao do tempo. Tal necessrio para a modelao de sistemas com exigncias de tempo-real. Em resposta a esta limitao vrias forma de " RdP com tempo" foram surgindo. A decomposio hierrquica pode ser aplicada s RdP e como ainda mais til quando se utilizam RdP de alto-nvel. Por fim, referiram-se as RdP sincronizadas com eventos externos.

Poro de cdigo com um dado nome. Esse cdigo pode ser invocado multiplas vezes num mesmo programa comportando-se como um sub-programa. A invocao do cdigo (correspondente ao nome deste) substituda textualmente antes do texto ser compilado. 13

21

Alguns tipos de Redes de Petri


H, efectivamente, uma diferena notvel entre o nome da coisa e o que deveras se passa com ela. Richard P. Feynman

Existe j um nmero considervel de tipos de Redes de Petri. Por esta razo considerou-se interessante efectuar um seu levantamento que apesar de necessariamente incompleto, permitisse uma sistematizao dos tipos de Redes de Petri, e respectiva nomenclatura, que mais frequentemente surgem na literatura. O glossrio que em seguida se apresenta, fornece uma breve descrio de vrios tipos de rede indicando sempre uma ou mais referncias onde se pode encontrar a definio apresentada (e no s). Autnoma [David et al., 92: 4]: quando descreve o funcionamento de um sistema que evolui de uma forma autnoma, i.e., cujos instantes de disparo ou no so conhecidos ou no so especificados. Esta designao no realmente necessria mas permite evidenciar a distino de uma RdP com estas caractersticas, de um RdP no-autnoma. Binria [David et al., 92: 21]: O m. q. RdP segura. Capacidade finita [Murata, 89: 543]: a cada lugar est associada uma "capacidade", correspondente quantidade mxima de marcas que este possa conter. Neste tipo de redes a regra de disparo das transies contem uma condio adicional: o nmero de marcas nos lugares de sada no pode exceder as capacidades dos respectivos lugares. regra de disparo com esta condio dado o nome de regra forte de transio; sem esta condio denomina-se regra fraca de transio. Demonstra-se facilmente [Murata, 89: 543] que qualquer rede de Petri pura e de capacidade finita pode ser transformada numa rede de Petri equivalente onde se pode aplicar a regra fraca de transio. Capacidade infinita [Murata, 89: 543]: cada lugar pode conter uma quantidade ilimitada de marcas. Colorida [Murata, 89: 572]: um dos trs tipos de redes de alto-nvel, vide 0. Com arco-inibidor [Peterson, 77:247][David et al., 92: 15].: RdP contendo "arcos de inibio". Estes arcos apresentam uma semntica oposta dos arcos normais. Os arcos de inibio permitem testar a ausncia de marcas nos lugares e tornam o poder de modelao das RdP igual ao das mquinas de Turing [Peterson, 77: 247]. Com marcas individuais [Murata, 89: 572]: um dos trs tipos de redes de alto-nvel, vide 7.2. Com prioridades [David et al., 92: 17]: as transies tm prioridades de disparo, umas sobre as outras. Tal significa que em caso de conflito entre duas ou mais transies, disparar a que tiver uma prioridade mais elevada. Este tipo de redes no pode ser transformado numa RdP ordinria, dado o seu poder de modelao ser superior e idntico ao das mquinas de Turing. Podem ser modeladas, por exemplo, por RdP estendidas. Com teste-zero [David et al., 92]: O m. q. RdP com arco-inibidor. Condio-Evento [Reisig, 92: 11-22]: RdP ordinrias, em que cada lugar contem no mximo uma marca. So, portanto, RdP seguras.

14

Conservativa: a quantidade de marcas na rede, constante. Considerando RdP de baixo-nvel, isto apenas pode suceder se o nmero de arcos de entrada de cada transio for igual ao nmero de arcos de sada. Nalguns sistemas pode ser conveniente considerar que uma nica marca pode representar mais do que um recurso. A conservatividade da rede pode ento medir-se com base no nmero de recursos. Daqui resulta outra possvel definio de RdP conservativa [Zurawsky et al., 94: 572]. Se existe um vector w = [w1, w2, ..., wm], onde m o nmero de lugares e w(p) > 0 para cada lugar p P, tal que a soma pesada das marcas se mantem em todas as marcaes alcanadas partindo de uma marcao inicial M0. Contnuas [David et al., 92: 125-79]: A marcao de cada lugar no um nmero inteiro positivo, mas sim um nmero real positivo. O disparo de uma transio corresponde subtraco e adio de uma quantidade real de marcas aos lugares de entrada e de sada respectivamente. Estas redes permitem a modelao de sistemas que no podem ser modelados pelas RdP ordinrias. Escolha-assimtrica [Murata, 89: 554][David et al., 92: 8-9]: se quaisquer dois lugares tm transies de sada comuns, ento o conjunto de incidncia posterior de pelo menos um deles dever estar contido no conjunto de incidncia posterior do outro : l1, l2 L : l1 l2 l1 l2 l1 l2 [Murata, 89: 554]. O m. q. RdP simples [David et al., 92: 8-9]. Escolha-livre [Peterson, 77: 248][Murata, 89: 554]: cada arco o nico arco de sada de um lugar ou o nico arco de entrada de uma transio: l1, l2 L: l1 l2 l1 = l2 = 1. Esta restrio significa que se existe uma marca num lugar ento ela continuar nesse lugar at a sua nica transio de sada disparar ou, se existirem mltiplas transies de sada para o lugar, ser possvel escolher livremente qual das transies de sada ir disparar. Subconjunto das RdP de escolha-livre-estendida. Escolha-livre-estendida: todos os lugares que partilham transies de sada tm de possuir as mesmas transies de sada: l1, l2 L: l1 l2 l1 = l2 [Murata, 89: 554]. Subconjunto das RdP de escolha-assimtrica. Estocstica [Zurawsky et al., 94: 578][Marsan et al., 84][Murata, 89: 570]: redes temporizadas em que o tempo associado aos lugares ou transies modelado atravs de variveis aleatrias. Nestes modelos tornou-se conveno associar as temporizaes apenas s transies [Zurawsky et al., 94: 578]. Nas RdP estocsticas, as variveis aleatrias tm uma distribuio exponencial. Estendidas [Peterson, 77: 246] [Murata, 89: 546]: segundo [Peterson, 77: 246], estendidas uma designao que engloba as RdP que apresentam um poder de modelao superior ao das RdP ordinrias. So exemplos deste tipo de redes, as RdP generalizadas e as RdP com arco-inibidor. Segundo [Murata, 89: 546] a designao RdP estendidas resume-se a uma designao para RdP com arcos-inibidores22. Generalizada [Peterson, 77: 246][David et al., 92: 11]: permitida a existncia de mais do que um arco entre um lugar e uma transio ou entre uma transio e um lugar. Este tipo de rede tem o mesmo poder de modelao de uma RdP ordinria. Na sua representao grfica usual manter o desenho de apenas um arco entre os ns em causa, adicionando a inscrio de um nmero que indica a quantidade de arcos (ou peso do arco) que se pretende representar, entre os ns. O m. q. RdP lugar-transio. Grafo de estados [David et al., 92: 6]: o m. q. mquina de estados. Grafo de eventos [David, 91: 146][David et al., 92: 6] o m. q. grafo marcado ou grafo de transies.

Provavelmente por na mesma referncia ser dado o nome de RdP s RdP generalizadas de [Petersom, 77: 246]. 15

22

Grafo de transies [David, 91: 146][David et al., 92] o m. q. grafo marcado ou grafo de eventos. Grafo marcado [Peterson, 77: 247] [David et al., 92: 6] cada lugar tem exactamente um arco de entrada e um arco de sada. Um grafo marcado permite a representao de actividades paralelas, mas no permite representar decises (conflitos) [Peterson, 77: 247]. Um grafo marcado o dual do grafo de estados [David et al., 92: 6]. Hbridas [David et al., 92: 125-79]: contm lugares e transies continuos (como nas RdP contnuas) e discretos. Interpretada [Peterson, 77 : 230][Peterson, 81: 58-9][David, 91: 143][David et al., 92: 99]: rede qual se associou uma interpretao, ou significado, aos seus lugares e transies, passando por isso a corresponder a algo real que se pretende modelar. Por oposio uma rede no interpretada no apresenta qualquer significado para os seus lugares e transies, uma representao totalmente abstracta [Peterson, 77 : 230] e [Peterson, 81: 58-9]. Outro significado totalmente distinto o apresentado em [David, 91: 143] [David et al., 92: 99]. A uma rede interpretada apresenta trs caractersticas: sincronizada, temporizada-L e inclui uma parte de processamento de dados cujo estado definido por um conjunto de variveis. Este estado modificado por um conjunto de operaes que esto associadas aos lugares e determina o valor das condies (ou predicados) que esto associados com as transies. Numa RdP interpretada, uma transio dispara quando est apta, a condio verdadeira e o evento ocorre. Conforme afirmado na mesma referncia, este modelo est muito prximo do Grafcet [David et al., 92][Novais, 94], um modelo definido para modelar controladores lgicos. Livre-de-conflitos [David et al., 92]: cada lugar tem, no mximo, uma transio de sada. Lugar-Transio [Reisig, 92: 25-33][Jensen, 92: 2-8]: O m. q. RdP generalizada. k-limitada ou limitada: RdP na qual, para qualquer marcao alcanvel, nenhum lugar apresenta mais de k marcas. Mquina de estado [Peterson, 77: 247]: cada transio tem exactamente um arco de entrada e um arco de sada. Uma mquina de estado permite a representao de decises (conflitos) mas no permite representar a sincronizao de actividades paralelas. No-autnoma [David et al., 92: 17, 71-124].: uma rede que permite especificar no apenas o que acontece mas tambm quando acontece. So redes sincronizadas com eventos externos (RdP sincronizadas) e/ou cujos passos esto dependentes do tempo (RdP temporizadas). Ordinria [Murata, 89: 543]: Todos os arcos tm peso um. Em [Peterson, 77: 235] corresponde definio de Rede de Petri (sem qualquer qualificao, portanto). Predicado-Transio [Genrich, 86][Murata, 89: 572]: um dos trs tipos de redes de alto-nvel, vide 1. Pura [Murata, 89: 543].: rede que no contem auto-ciclos. Segura [David et al., 92: 21]: Caracterstica de uma RdP em que em todas as marcaes alcanveis (a partir de uma dada marcao) nenhum lugar contem mais do que uma marca. O m. q. RdP binria. Simples [David et al., 92] [Murata, 89].: cada transio afectada, no mximo, por um conflito. O m. q. RdP de escolha-assimtrica. Sincronizada [David et al., 92: ]: numa rede autnoma, uma transio pode disparar se est habilitada. Numa rede sincronizada, cada transio tem um evento associado e disparar, obrigatoriamente, se estiver habilitada quando o evento ocorrer.

16

Temporizada [Kumar et al., 94: 1500]: permite a descrio de um sistema cujo funcionamento est dependente do tempo. Existem duas formas principais de modelar o tempo numa RdP temporizada: ou este est associado aos lugares (RdP temporizada-L) ou est associado s transies ( RdP temporizada-T). Temporizada-L: vide temporizada. Temporizada-T: vide temporizada. Persistente: se para quaisquer duas transies aptas, o disparo de qualquer delas nao incapacita a outra. Todos os grafos marcados so persistentes mas o contrrio nao verdade. Reversivel [Zurawsky et al., 94: 573]: rede em que partindo de qualquer marcao posvel regressar marcao inicial. Viva: (ou, de forma equivalente, se uma dada marcao viva) se, em qualquer marcao alcanada, possvel disparar pelo menos uma transio.

Relao de incluso entre alguns tipos de RdP:

Simples Escolha-livre estendida Escolha-livre

Livre-de-conflitos

Mquinas de estado

Grafo marcado

17

Bibliografia
[Barros, 96] Barros, Joo Paulo, CpPNeTS: uma Classe de Redes de Petri de Alto-nvel Implementao de um sistema de suporte sua aplicao e anlise, dissertao apresentada na Faculdade de Cincias e Tecnologia da Universidade Nova de Lisboa, como parte dos requisitos necessrios obteno do grau de Mestre em Engenharia Informtica, Lisboa, 1996. [Bastide et al., 95] Bastide, Rmi e Palanque, Philippe, A Petri Net Based Environment for the Design of Event-Driven Interfaces, in Proceedings of the 16th International Conference on Application and Theory of Petri Nets, Giorgio de Michelis Michel Diaz (Eds.), Turin, Italy, LNCS 935, June 1995. [Ben-Ari, 82] Ben-Ari, M., Principles of Concurrent Programming, Prentice-Hall, 1982. [Booch, 94] Booch, Grady, Object-Oriented Analysis and Design with Applications, 2nd edition, The Benjamin/Cummings Publishing Company, Inc., 1994. [Cormen et al., 90] Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Introduction to Algorithms , second printing, MIT Press, 1990. [David, 91] David, Ren, Modeling of Dynamic Systems by Petri Nets, ECC 91 European Control Conference, Grenoble, France, July 2-5 1991. [David et al., 92] David, Ren e Alla, Hassane, Petri Nets and Grafcet Tools for modelling discrete event systems, Prentice Hall, 1992. [Genrich, 86] Genrich, H. J., Predicate/Transition Nets in [Jensen, et al., 91:3-43]. [Gomes, 91] Gomes, Lus Filipe dos Santos, Especificao de sistemas digitais, trabalho de sntese, submetido para a prestao de provas de aptido pedaggica e capacidade cientfica, Departamento de Informtica, Faculdade de Cincias e Tecnologia, Universidade Nova de Lisboa, Novembro 1991. [Huber et al., 90] Huber, P., Jensen, K., e Shapiro, R.M., Hierarchies in Coloured Petri Nets, in [Jensen, et al., 91:215-43]. [IEC, 92] International Electrotechnical Comission, Draft Int. Standard, Feb. 14, IEC 1131: Programmable Controllers, Part 3: Programming Languages, 1992. [Inan et al., 88] Inan, Kemal, Varaiya, Pravin, Finitely Recursive Process Models for Discrete Event Systems, IEEE Transactions on Automatic Control, Vol. 33, No. 7, July 1988. [Itmi, s.d.] Itmi, Mhamed, Designing Generalized Petri Nets, s.d.. [Jensen, 87] Jensen, Coloured Petri Nets, Advances in Petri Nets 1986, (W. Brauer, W. Reisig, G. Rozemberg Eds), Lecture Notes Computer Science 254, Berlin-Heidelberg-New York: Springer-Verlag.

18

[Jensen, 90] Jensen, K., Coloured Petri Nets: A High Level Language for System Design and Analysis, in [Jensen, et al., 91:342-417]. [Jensen, et al., 91] Jensen, K. e Rozemberg(Eds.) High-level Petri Nets theory and application, SpingerVerlag, Berlin Heidelberg, 1991. [Jensen, 92] Jensen, Kurt, Coloured Petri Nets Basic Concepts, Analysis Methods and Practical Use, Volume 1, Springer-Verlag, Berlin Heidelberg, 1992. [Jensen, 94] Jensen, Kurt, An Introduction to the Theoretical Aspects of Coloured Petri Nets, A Decade of Concurrency, Lecture Notes in Computer Science vol. 803, Springer-Verlag 1994, pp. 230-72. [Jensen, 95] Jensen, Kurt, Coloured Petri Nets Basic Concepts, Analysis Methods and Practical Use, Volume 2, Springer-Verlag, Berlin Heidelberg, 1995. [Keen et al., 93] Keen, C. D., Lakos, C. A., A Methodology for the Construction of Simulation Models using Object-Oriented Petri Nets, paper presented at the 1993 European Simulation Multiconference on Adapting Object-Oriented Development Methodologies to the Design of Discrete Event Simulation Models, 1993. Disponvel em http://www.cs.utas.edu.au/ Research/ opn.html. [Kernigham et al., 88] Kernighan, Brian W. e Ritchie, Dennis M., The C Programming Language, second edition, AT&T Bell Laboratories, Murray Hill, New Jersey, Prentice Hall, Englewood Cliffs, New Jersey, E.U.A.. [Kumar et al., 94] Kumar, Devendra e Harous, Saad, Distributed Simulation of Timed Petri Nets: Basic Problems and Their Resolution, IEEE Trransactions on Systems, Man, and Cybernetics, vol. 24, no.10, October 1994. [Levine et al., 92] Levine, John R., Manson, Tony e Brown, Doug, lex & yacc, second edition, OReilly & Associates, Inc, 1992. [Lindqvist, 90] Lindqvist, M., Parametrized Reachability Trees for Predicate/ Transition Nets in [Jensen, et al., 91:351-72]. [Magee et al., 99] Magge, Jeff, e Kramer, Jeff, Concurrency State Models and Java Programs, John Wiley & Sons, 1999. [Manduchi et al., 94] Manduchi, G., Moro, M., An Object Oriented Approach in Building an Environment for Simulation and Analysis Based on Timed Petri Nets with Multiple Execution Policies, IEEE, 1994. [Marsan et al., 84] Marsan, A. M., Balbo, G., e Conte, G., A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems, ACM Trans. Comput. Syst., vol. 2, no. 2, pp. 93-122, May 1984. [Marsan et al., 86] Marsan, A. M., Balbo, G., e Conte, G., Performance Evaluation of Multiprocessor Systems using Petri Nets. Cambridge, M.A.: MIT, 1986. [Merlin et al., 76] Merlin, P. M. e Farber, D. J., Recoverability of Communication Protocols, IEEE Transactions on Communications, vol. COMM-24. [Meyer, 88] Meyer, Bertrand, Object-oriented Software Construction, Prentice-Hall International (UK) Ltd., 1988. [Morasca et al., 91] Morasca, Sandro, Pezz, Mauro e Trubian, Marco, Timed High-Level Nets, The Journal of Real-Time Systems, vol. 3, no. 2, pp. 165-89, May 1991.

19

[Murata, 89] Murata, Tadao, Petri Nets: Properties, Analysis and Applications, Proceedings of the IEEE, Vol. 77, No. 4, April 1989. [Murata, 95] Murata, Tomohiro, Application of Petri Nets to Sequence Control Programming, in [Zhou, 95: 43-68] [Peterson, 77] Peterson, James L., Petri Nets, Computing Surveys, Vol. 9, No. 3, September 1977.

[Peterson, 81] Peterson, James L., Petri Net Theory and the Modelling of Systems, Prentice-Hall, 1981. [Pezz, 94] Pezz, Mauro, Cabernet: A Customizable Environment for the Specification and Analysis of Real-Time Systems, Dipartimento di Elettronica e Informazione, Politecnico di Milano, Piazza Leonardo da Vinci 32, 20133 Milano, Italy, ftp://ipeset4.elet.polimi.it/dist/Cabernet, June 2, 1994,. [Ramchandani, 74] Ramchandani, C., Analysis of asynchronous concurrent systems by timed Petri nets, Project MAC Technical Report MAC-TR-120, Massachusetts Institute of Technology, Cambridge MA, 1974. [Raymond et al., s.d.] Raymond, Serge & Paludetto, Mario, Universit Paul "C++ et le Paralelism pour une Methode Orientees Objects", s.d.. [Reisig, 92] Reisig, W., A Primer in Petri Net Design, Springer-Verlag, Berlin Heidelberg, 1992. [Sedgewick, 88] Sedgewick, Robert, Algorithms, second edition, Addison-Wesley Publishing Company, 1988. [Sethi, 90] Sethi, Ravi, Programming Languages Concepts and Constructs, AT&T, Addison-Wesley Publishing Company, 1990. [Schf et al., 95] Schf, Stefan, Sonnenschein, Michael e Wieting, Ralf, Efficient Simulaion of THOR Nets, in Proceedings of the 16th International Conference on Application and Theory of Petri Nets, Giorgio de Michelis Michel Diaz (Eds.), Turin, Italy, LNCS 935, June 1995. [Shukla et al., 91] Shukla, Ashish, Robbi, Anthony D., A Petri Net Simulation Tool, Conference Proccedings 1991 IEEE International Conference on Systems, Man and Cybernetics, "Decision Aiding for Complex Systems, vol. 1, IEEE, New York, NY, USA, 1991. [Silva, 85] Silva, Manuel, Las Redes de Petri en la Automtica y la Informtica, Madrid, Editorial AC, 1985. [Venkatesh et al., 95] Venkatesh, Kurapati, Zhou, MengChu, e Caudill, Reggie J., Discrete Event Control Design for Manufacturing Systems Via Ladder Logic Diagrams and Petri Nets: A Comparative Study, in [Zhou, 95], 1995. [Zuberek, 91] Zuberek, W. M., Timed Petri Nets Definitions, Properties, and Applications, Microelectron. Reliab., Vol. 31, No. 4, pp. 627-44, 1991. [Zurawsky et al., 94] Zurawsky, Richard e Zhou, MengChu, Petri Nets and Industrial Applications: A Tutorial, IEEE Transactions on Industrial Electronics, Vol. 41, No. 6, December 1994.
Sabatier/ LAAS-CNRS, Toulouse, France,

20

You might also like