Você está na página 1de 66

UNIVERSIDADE ESTADUAL DE MONTES CLAROS

Centro de Ciências Exatas e Tecnológicas


Departamento de Ciências da Computação
Curso de Sistemas de Informação

CAETANO PEREZ CREPALDI

REDES DE PETRI E SUA APLICABILIDADE NA MODELAGEM


DE SISTEMAS COMPUTACIONAIS

MONTES CLAROS
2006
CAETANO PEREZ CREPALDI

REDES DE PETRI E SUA APLICABILIDADE NA MODELAGEM


DE SISTEMAS COMPUTACIONAIS

Projeto Orientado de Conclusão de Curso


apresentado ao Departamento de Ciências
da Computação da Universidade Estadual
de Montes Claros, como requisito parcial
para a conclusão do curso de Sistemas de
Informação, orientado pelo Prof. Msc.
Clarimundo Machado Moraes Júnior.

MONTES CLAROS
2006
CAETANO PEREZ CREPALDI

REDES DE PETRI E SUA APLICABILIDADE NA MODELAGEM


DE SISTEMAS COMPUTACIONAIS

Aprovada em 04 de dezembro de 2006.

__________________________________
Prof. Msc. Clarimundo M. Moraes Júnior
Orientador
Departamento de Ciências da Computação
Universidade Estadual de Montes Claros

__________________________________
Prof. Msc. José Expedito de Freitas
Departamento de Ciências da Computação
Universidade Estadual de Montes Claros

__________________________________
Profª Msc. Marileé Patta e Silva
Departamento de Ciências da Computação
Universidade Estadual de Montes Claros

MONTES CLAROS
2006
Dedico à minha mãe, Suely, e à minha
namorada Isabela, sem as quais seria
impossível concluir este trabalho.
AGRADECIMENTOS

Ao meu orientador Clarimundo M. Moraes Jr.


pelo seu interesse e sua paciência, à
coordenadora do curso de Sistemas de
Informação Christine Martins de Matos por
sua compreensão bem como a todos os
professores com quem tive o prazer de
conviver.
A todos os amigos feitos durante estes anos
acadêmicos, em especial a Isabela Veloso
Barros e Rodrigo Carlesso Silva.
E a todos aqueles sem os quais não chegaria
até aqui.
"A única revolução possível é dentro de
nós.”
(Mahatma Gandhi)
RESUMO

As Redes de Petri (RdP) são uma ferramenta gráfica e matemática usada na


modelagem, análise, simulação e controle de diversos tipos de sistemas. Atualmente
vêm sendo amplamente desenvolvidos estudos sobre a sua aplicabilidade em sistemas
computacionais. Este trabalho tem como objetivo apresentar os principais conceitos e
características das RdP e sua aplicabilidade na modelagem de sistemas
computacionais. Foram introduzidos os conceitos e propriedades das RdP assim como
os seus principais tipos. Foi demonstrada, ainda, através de uma aplicação prática, a
utilização das RdP na modelagem de sistemas computacionais, tomando como exemplo
uma simplificação de um sistema Cliente/Servidor. Para tanto, foi realizada uma
pesquisa bibliográfica e documental com base em fontes confiáveis e, para um melhor
entendimento, foi apresentado um modelo de RdP para o sistema proposto. Verificou-se
a eficácia e a simplicidade na utilização das RdP Ordinárias na modelagem de sistemas
computacionais. Contudo, foi observado que, dependendo do tipo de sistema a ser
modelado, é mais indicada a utilização de alguma variante do modelo original como as
RdP Coloridas ou as RdP Temporizadas.
LISTA DE FIGURAS

Figura 2.1: Rdp – Elementos Básicos .........................................................................17


Figura 2.2: RdP – Marcação Inicial .............................................................................18
Figura 2.3: RdP – Peso Associado aos Arcos (1) .......................................................19
Figura 2.4: RdP – Peso Associado aos Arcos (2) .......................................................19
Figura 2.5: RdP – Definição Formal ............................................................................21
Figura 2.6: RdP Marcada ............................................................................................22
Figura 2.7: RdP – Definição Gráfica............................................................................23
Figura 2.8: RdP Impura ...............................................................................................25
Figura 2.9: RdP – Disparo de uma transição ..............................................................26
Figura 2.10: Seqüência de Disparo .............................................................................28
Figura 2.11: Grafo de Marcações Alcançáveis............................................................30
Figura 2.12: Fusão de Lugares em Série ....................................................................39
Figura 2.13: Fusão de Transições em Paralelo...........................................................39
Figura 2.14: Fusão de Transições em Série ...............................................................39
Figura 2.15: Fusão de Lugares em Paralelo ...............................................................40
Figura 2.16: Fusão de Lugares em Malha Fechada....................................................40
Figura 2.17: Fusão de Transições em Malha Fechada ...............................................40
Figura 3.1: RdP Generalizadas ...................................................................................43
Figura 3.2: RdP com Arco Inibidor ..............................................................................46
Figura 3.3: RdP Sincronizada .....................................................................................47
Figura 3.4: RdP T-Temporizadas ................................................................................48
Figura 3.5: RdP P-Temporizadas ................................................................................49
Figura 3.6: RdP Temporal ...........................................................................................50
Figura 4.1: Ilustração do Sistema................................................................................51
Figura 4.2: CLP – Exemplo .........................................................................................52
Figura 4.3: Diagrama de Implantação .........................................................................55
Figura 4.4: Diagrama de Estado .................................................................................56
Figura 4.5: CLP – Representação Gráfica ..................................................................58
Figura 4.6: CLP – Marcação M2 ..................................................................................59
Figura 4.7: CLP – Marcação M3 ..................................................................................60
Figura 4.8: CLP – Marcação M2 ..................................................................................60
Figura 4.9: CLP – Marcação M1 ..................................................................................61
LISTA DE TABELAS

Tabela 4.1: Condições e Ações do CLP......................................................................57


Tabela 4.2: CLP - Matriz Pré.......................................................................................57
Tabela 4.3: CLP - Matriz Pós ......................................................................................58
SUMÁRIO

1. INTRODUÇÃO .................................................................................... 14

2. REDES DE PETRI............................................................................... 17

2.1. APRESENTAÇÃO......................................................................... 17
2.1.1. Elementos de uma RdP......................................................... 17
2.1.2. Evolução da Rede ................................................................. 17
2.2. CONCEITOS: FORMAL E GRÁFICO............................................ 20
2.2.1. Definição Formal ................................................................... 20
2.2.2. Rede Marcada........................................................................ 21
2.3. REPRESENTAÇÃO GRÁFICA...................................................... 22
2.4. REPRESENTAÇÃO MATRICIAL .................................................. 23
2.5. DEFINIÇÕES E REGRAS DE DISPARO ...................................... 24
2.5.1. RdP Pura ................................................................................ 24
2.5.2. Transição Sensibilizada........................................................ 25
2.5.3. Disparo de uma Transição.................................................... 26
2.5.4. Conflito e Paralelismo........................................................... 27
2.5.5. Seqüência de Disparo ........................................................... 28
2.5.6. Marcações Alcançáveis ........................................................ 29
2.6. PROPRIEDADES.......................................................................... 31
2.6.1. Propriedades Comportamentais .......................................... 31
2.6.2. Propriedades Estruturais...................................................... 33
2.7. INVARIANTES E COMPONENTES .............................................. 34
2.7.1. Invariantes de Lugar e Componentes Conservativos ........ 35
2.7.2. Invariantes de Transição e Componentes Repetitivos....... 35
2.8. TÉCNICAS DE ANÁLISE .............................................................. 35
2.8.1. Análise por Enumeração das Marcações ............................ 36
2.8.1.1. Árvore de Cobertura ......................................................... 36
2.8.1.2. Análise Através do Grafo.................................................. 37
2.8.2. Análise Estrutural.................................................................. 38
2.8.3. Análise por Redução............................................................. 38
2.8.3.1. Técnicas de Redução....................................................... 39
2.9. ASPECTOS DA MODELAGEM..................................................... 41

3. VARIAÇÕES DAS REDES DE PETRI ................................................ 42

3.1. INTRODUÇÃO .............................................................................. 42


3.2. ABREVIAÇÕES............................................................................. 43
3.2.1. RdP Generalizadas................................................................ 43
3.2.2. RdP Coloridas ....................................................................... 43
3.2.3. RdP com Capacidade Finita ................................................. 45
3.3. EXTENSÕES ................................................................................ 45
3.3.1. RdP com Arcos Inibidores.................................................... 45
3.3.2. RdP Contínuas....................................................................... 46
3.3.3. RdP Híbridas.......................................................................... 46
3.3.4. RdP Sincronizadas................................................................ 47
3.3.5. RdP T-Temporizada............................................................... 47
3.3.6. RdP P-Temporizada .............................................................. 48
3.3.7. RdP Estocástica .................................................................... 49
3.3.8. RdP Temporal ........................................................................ 49

4. MODELAGEM COM REDES DE PETRI ............................................. 51

4.1. O SISTEMA................................................................................... 51
4.1.1. Definições .............................................................................. 51
4.1.2. Características e Funcionamento dos Componentes ........ 53
4.2. MODELAGEM ............................................................................... 54
4.2.1. Diagrama de Implantação ..................................................... 54
4.2.2. Diagrama de Estado .............................................................. 55
4.2.3. RdP......................................................................................... 56
4.2.3.1. Condições e Ações ........................................................... 56
4.2.3.2. Relações ........................................................................... 57
4.2.3.3. Representação Gráfica ..................................................... 58
4.2.3.4. Evolução da Rede............................................................. 59

5. CONCLUSÕES ................................................................................... 62

REFERÊNCIA BIBLIOGRÁFICA .............................................................. 64


14

1. INTRODUÇÃO

Com o objetivo de desenvolver um modelo para que máquinas de estado pudessem


se comunicar, Carl Adam Petri, então aluno de doutorado, defendeu sua tese, em
1962, com o título de Kommunikation mit Automaten (Comunicação com Autômatos).
O modelo recebeu o nome de Redes de Petri (RdP) em homenagem ao autor e
obteve como característica mais relevante a representação da concorrência.
Encontram-se atualmente variações do modelo primitivo aplicadas em diversas
áreas da ciência como biologia, engenharia, computação e economia (PENHA et al,
2004). Dentre suas diversas aplicações na computação pode-se destacar a
modelagem de sistemas de tempo real, paralelos, assíncronos e concorrentes.

Redes de Petri é um modelo matemático que possibilita uma representação gráfica


ampla proporcionando uniformidade na modelagem, análise e simulação de
sistemas a eventos discretos. Além disso, permite uma visualização simultânea da
sua estrutura e comportamento (BARROS, 1996). O mesmo autor (1996, p. 29)
afirma que “as RdP modelam dois aspectos desses sistemas, eventos e condições,
bem como, as relações entre eles”. Os eventos correspondem às transições,
representadas por barras; e as condições correspondem aos lugares, representados
por círculos, e; juntamente com as fichas, representadas por pontos nos lugares e os
arcos, representados por uma ligação entre transições e lugares e vice-versa,
possuindo uma orientação específica formam os elementos básicos de uma RdP
(MORAES JÚNIOR, 2000).

Mesmo sendo a representação gráfica uma vantagem das RdP, a característica mais
relevante do modelo é o formalismo. Este aspecto garante uma grande vantagem
sobre os outros modelos, pois, é possível obter informações precisas sobre o
comportamento do sistema modelado através da análise de suas propriedades
(CARDOSO; VALLETE, 1997).

Desde a apresentação do modelo original, chamado de RdP Ordinárias, foram


desenvolvidos vários trabalhos práticos e teóricos sobre RdP que levaram ao
15

desenvolvimento de muitas variantes do modelo tendo em vista aplicações


específicas.

Uma dessas variações são as RdP Temporizadas, utilizadas na modelagem de


sistemas que apresentam como característica a temporização. Basicamente,
consistem em atribuir um determinado retardo de tempo a uma transição, RdP T-
Temporizadas; ou a um lugar, RdP P-Temporizada (PALOMINO, 1995).

Além das RdP Temporizadas podemos citar outros modelos desenvolvidos a partir
do modelo original como as RdP Coloridas, RdP Hierárquicas, Rdp Generalizadas,
RdP com Capacidade Finita, RdP Contínuas e as RdP Estocásticas.

Diante deste contexto surgiu o seguinte problema: “Qual a vantagem da utilização de


RdP na modelagem de sistemas computacionais?”

Assim, o presente trabalho, tem como objetivo geral apresentar os principais


conceitos e características das Redes de Petri e sua aplicabilidade na modelagem
de sistemas computacionais. E como objetivos específicos tem-se:

• introduzir os conceitos e propriedades de Redes de Petri


• citar os principais tipos de Redes de Petri
• demonstrar através de uma aplicação prática a utilização das Redes de Petri
na modelagem de um exemplo de sistema Cliente/Servidor.

A aplicação de RdP na modelagem de sistemas computacionais é cada vez maior,


visto que suas inúmeras variantes são capazes de modelar sistemas com
características não raramente vistas na computação como: concorrência, conflito,
compartilhamento, controle e sincronismo. Ainda proporciona uma análise mais
simplificada ou, até, intuitiva. Além de ser um modelo capaz de representar sistemas
que envolvam comportamentos probabilísticos e temporizações.

Para elaboração deste trabalho foi realizado primeiramente um estudo com base em
pesquisa bibliográfica e documental, foram utilizados como fonte de pesquisa livros,
artigos, dissertações de mestrado e teses de doutorado bem como materiais
16

desenvolvidos para o ensino do assunto em universidades de todo o país. Todos os


materiais utilizados provêm de fontes confiáveis e seguras, eliminando assim a
possibilidade de não veracidade dos fatos apresentados nestes. Em um segundo
momento foi realizada a modelagem de um sistema computacional utilizando as RdP
com o intuito de demonstrar a funcionabilidade da mesma.

No capítulo 2 apresenta-se uma introdução dos conceitos e propriedades das Redes


de Petri Ordinárias, ou modelo original, assim como técnicas de análise das
propriedades e aspectos relacionados à sua modelagem.

No capítulo 3 são apresentados os principais tipos de Redes de Petri desenvolvidos


para aumentar o poder de representação do modelo original.

O capítulo 4 apresenta um estudo de caso com a aplicação das Redes de Petri para
modelagem e análise de um sistema computacional, tomando como exemplo uma
simplificação de um sistema Cliente/Servidor.

O capítulo 5 mostra as conclusões obtidas e algumas propostas para trabalhos


futuros.
17

2. REDES DE PETRI

2.1. APRESENTAÇÃO

2.1.1. Elementos de uma RdP

Uma RdP é composta por quatro elementos, são eles: os lugares, que representam
uma condição, uma atividade, um estado parcial, uma posição geográfica ou um
recurso; as fichas, que indicam quando a condição associada ao lugar é verdadeira;
as transições, que representam um evento que ocorre no sistema e; os arcos, que
indicam os lugares de entrada ou saída para as transições, são representados
graficamente por um círculo, por um ponto no lugar, por um retângulo e por ligações
orientadas entre um lugar e uma transição, respectivamente (PENHA et al, 2004)
(CARDOSO; VALLETE, 1997).

Os elementos descritos acima são representados graficamente como na figura 2.1:

Figura 2.1: Rdp – Elementos Básicos / PENHA et al, 2004

2.1.2. Evolução da Rede

Barros (1996) salienta que as transições são responsáveis por colocar ou retirar as
fichas dos lugares, ou seja, fazer com que o sistema passe do estado atual para o
próximo, e que os arcos ligados a cada transição indicam sobre qual lugar esta atua.
Um arco com origem em um lugar e término em uma transição (arco de entrada)
indica que a transição retira, quando ocorre o evento associado àquela transição
18

(disparo da transição), uma ficha desse lugar. E da mesma forma, um arco com
origem numa transição e fim num lugar (arco de saída), indica que a transição
coloca, quando do seu disparo, uma ficha nesse lugar. Enfim, os arcos demonstram
o sentido em que as fichas se deslocam de um lugar a outro, sempre passando por
uma transição.

Sendo assim, a ocorrência do disparo de uma transição só é possível se existirem


fichas nos lugares de entrada dessa transição.

A modelagem de um sistema através de uma RdP permite representar os estados


antes e depois de cada evento. A ficha é o elemento responsável por indicar o
estado de uma RdP num determinado instante. Então, é necessário que uma RdP
possua uma marcação inicial que pode ser representada, conforme a figura 2.2,
através da notação (PENHA et al, 2004):

• M = ( 0, 1) Sendo que o primeiro elemento representa a quantidade de


fichas no Lugar 1 e o segundo a quantidade de fichas no Lugar
2.

Figura 2.2: RdP – Marcação Inicial

As RdP possuem um aspecto muito importante na modelagem do sistema, que vem


a ser a associação de peso a cada arco. As figura 2.3 e 2.4 mostram uma RdP com
pesos associados aos arcos.
19

Figura 2.3: RdP – Peso Associado aos Arcos (1) / PENHA et al, 2004

Figura 2.4: RdP – Peso Associado aos Arcos (2) / PENHA et al, 2004

As figuras acima mostram dois estados, ou marcações, de cada um dos sistemas


representados, um inicial e outro final. Assim:

• Marcação inicial da figura 2.3: M = (1, 1, 0);


• Marcação final da figura 2.3: M = (0, 0, 2);
• Marcação inicial da figura 2.4: M = (1, 1, 0);
• Marcação final da figura 2.4: M = (0, 0, 1);
20

Existe um diferença básica entre as RdP representadas pelas figuras acima: na


figura 2.3 o arco de saída de T1 possui peso igual a 2. Este peso é o responsável por
aparecerem duas fichas em P3. Na figura 2.4 todos os arcos têm peso igual a 1, por
isso é colocada apenas uma ficha em P3. Ou seja, as marcações de saída são
baseadas nos pesos dos arcos de saída de T1 tanto para a Figura 2.3 quanto para a
figura 2.4.

2.2. CONCEITOS: FORMAL E GRÁFICO

A composição de uma RdP é definida por Palomino (1995, p. 33) como:

Um conjunto de lugares P, um conjunto de transições T, uma aplicação de


entrada I ou Pré, e uma aplicação de saída O ou Pós. As funções de
entrada e saída relacionam transições e posições. Sendo assim a estrutura
das Redes de Petri é definida por suas posições, transições, a função de
entrada I (ou Pré), e a função de saída O (ou Pós).

2.2.1. Definição Formal

Segundo Cardoso e Vallete (1997, p. 46) uma RdP é uma quádrupla

R = (P, T, Pré, Pós),


Onde:

• P = {p1, p2, ...pn} é um conjunto finito de lugares com dimensão n, n 0;


• T = {t1, t2, .... tm} é um conjunto finito de transições de dimensão m, m 0;
• Pré: PxT N é a aplicação de arcos de entrada das transições (lugares
precedentes ou incidência anterior);
• Pós: TxP N é a aplicação de arcos de saída das transições (lugares
posteriores ou incidência posterior);

• P T= os conjuntos P e T são disjuntos;


• N: é o conjunto dos números naturais.
21

Por exemplo, conforme mostrado na figura 2.5 têm-se:

• P = {p1, p2, p3};


• T = {t1, t2, t3, t4};
• Pré = { (p2, t3), (p1, t1), (p2, t4), (p3, t2)};
• Pós = { (p2, t1), (p2, t2), (p1, t3), (p3, t4)}.

Figura 2.5: RdP – Definição Formal / CARDOSO E VALLETE, 1997

2.2.2. Rede Marcada

Uma RdP marcada N é uma dupla


N = (R, Mo),
Onde:
• R é uma Rede de Petri
• Mo é a marcação inicial dada pela aplicação
M: P N

O número de fichas existentes no lugar p é representado por M(p) 0. A marcação M


de todos os lugares é representada por um vetor coluna de dimensão igual à
quantidade de lugares:
M = [m1, m2, ... mj]T

Onde:
• mj = é o número de fichas do lugar pj.
22

A marcação representa o estado do sistema descrito pela RdP num determinado


instante. O disparo de transições ocasionam uma evolução da marcação, o que
corresponde a evolução do estado da RdP.

Figura 2.6: RdP Marcada / CARDOSO E VALLETE, 1997

Sendo:

• M(p1) = 0
• M(p2) = 0
• M(p3) = 1

Então, o vetor coluna M = [0 0 1]T representa o estado da RdP mostrada na


figura 2.6.

2.3. REPRESENTAÇÃO GRÁFICA

Uma RdP pode ser vista como um grafo com dois tipos de nós: nós lugares e nós
transições; e orientado, definido por R = (P, T, Pré, Pós, M0), onde P é um conjunto
de lugares representado por círculos, T é um conjunto de transições representado
por barras, Pré é a relação de precedência aplicada sobre PxT, Pós é a relação de
poscedência aplicada sobre TxP, e M representa a marcação dos lugares através de
fichas (pontos pretos) no interior de cada lugar.

• Pré (pi, tj) > 0 Se existe um arco ligando o lugar pi a transição tj;
• Pré (pi, tj) = 0 Se não existe um arco ligando o lugar pi a transição tj;
23

• Pós (pj, ti) > 0 Se existe um arco da transição ti para o lugar pj;
• Pós (pj, ti) = 0 Se não existe um arco da transição ti para o lugar pj.

Figura 2.7: RdP – Definição Gráfica

Na RdP mostrada na figura 2.7 têm-se:

• Pré (p1, t1) = 1;


• Pré (p3, t2) = 2;
• Pré (p2, t2) = 0;
• Pós (p1, t1) = 0;
• Pós (p3, t1) = 2;
• Pós (p4, t2) = 0;
• M0 = [ 1 2 0 1 0] T.

2.4. REPRESENTAÇÃO MATRICIAL

Bressan (2002, p. 5) ressalta que “a notação matricial de Redes de Petri favorece a


análise de suas propriedades através de resultados algébricos”. É possível organizar
as informações obtidas na representação gráfica em uma matriz de incidência
anterior Pré e numa matriz de incidência posterior Pós. A partir dos valores aij = Pré
(pi, tj) que indicam o peso dos arcos que ligam os lugares de entrada pi às transições
tj é definida a matriz Pré com dimensão n x m (lugares x transições). Igualmente, a
partir dos valores bij = Pós (pi, tj) que indicam o peso dos arcos que ligam as
transições tj aos lugares de saída pi é definida a matriz Pós com dimensão n x m.
24

A matriz de incidência C = (cij) nxm é definida a partir de Pré e Pós:


C = Pós - Pré.

A RdP da figura 2.7 pode ser definida algebricamente da seguinte maneira:

A matriz de incidência C corresponde a estrutura da RdP, independente do estado.


Cada coluna corresponde a maneira como a rede vai se comportar quando do
disparo da transição associada àquela coluna (PALOMINO, 1995). Na matriz C
acima, a coluna referente à transição t1 demonstra que quando esta é disparada são
retiradas uma ficha do lugar p1, duas do lugar p2 e são colocadas 2 fichas no lugar
p3, nos demais lugares não há alteração.

2.5. DEFINIÇÕES E REGRAS DE DISPARO

2.5.1. RdP Pura

Para Marranghello (2005, p. 8) uma RdP é pura se e somente se

∀p ∈ P ∀t ∈ T Pré(p, t) Pós(p, t) = 0,

isto é, nenhuma transição possui, ao mesmo tempo, um mesmo lugar como saída e
como entrada. A figura 2.8 mostra um exemplo de RdP Pura e outro de uma RdP
Impura:
25

Figura 2.8: RdP Impura / MARRANGHELLO, 2005

Considerando a RdP Impura da figura 2.8, por exemplo, p2 é lugar de saída e


também de entrada da transição t1.

Pré(p2, t1) Pós(p2, t1) = 1

2.5.2. Transição Sensibilizada

A sensibilização de uma transição t é possível se e somente se:

∀p ∈ P, M(p) Pré(p, t).

T
Para a marcação inicial M0 = [ 1 2 0 1 0] da figura 2.7, a transição t1 está
sensibilizada e a transição t2 não está sensibilizada pois:

• Para t1:

- M(p1) = 1 e Pré(p1, t1) = 1, então M(p1) = Pré(p1, t1);


- M(p2) = 2 e Pré(p2, t1) = 1, então M(p2) > Pré(p2, t1).
• Para t2:

- M(p4) = 1 e Pré(p4, t2) = 1, então M(p4) = Pré(p4, t2);


- M(p3) = 0 e Pré(p3, t2) = 2, então M(p2) < Pré(p2, t1).
26

2.5.3. Disparo de uma Transição

O disparo de uma transição t só ocorre se esta estiver sensibilizada através de uma


marcação M. Este disparo proporciona uma nova marcação M’ tal que:

∀p ∈ P, M’(p) = M(p) - Pré(p, t) + Pós(p, t).

Para a figura 2.7, com a marcação inicial M0 = [ 1 2 0 1 0] T, após o disparo da


transição sensibilizada t1, obtêm-se a seguinte marcação M’:

M’(p1) = M(p1) - Pré(p1, t1) + Pós(p1, t1)


Sendo:

• M(p1) = 1;
• Pré(p1, t1) = 1;
• Pós(p1, t1) = 0.

Têm-se então:

M’(p1) = 1 - 1 + 0.
M’(p1) = 0.

A figura 2.9 mostra o momento após o disparo da transição t1 na RdP representada


na figura 2.7:

Figura 2.9: RdP – Disparo de uma transição


27

2.5.4. Conflito e Paralelismo

A ocorrência de conflito e paralelismo em um RdP são definidos por Cardoso e


Vallete (1997, p. 51) da seguinte forma:

O conflito pode existir na estrutura do modelo, sem, todavia poder ser


efetivado: é necessário que a marcação possibilite de fato sua ocorrência. O
mesmo ocorre com o paralelismo. Por ocorrência do conflito entende-se a
existência, num dado estado, de duas (ou mais) possibilidades, excludentes,
de evolução. Já a ocorrência do paralelismo implica que todas as atividades
poderão ser executadas ao mesmo tempo.

Para tanto, define-se os tipos de conflito e paralelismo:

• Conflito estrutural: duas transições t1 e t2 estão em conflito estrutural se e


somente se elas têm pelo menos um lugar de entrada em comum:

p ∈ P, Pré(p, t1) Pós(p, t2) > 0.

• Conflito efetivo: duas transições t1 e t2 estão em conflito efetivo para uma


marcação M se e somente se ambas estão em conflito estrutural e estão
sensibilizadas:

∀p ∈ P, M Pré(p, t1) e M Pré(p, t2).

• Paralelismo estrutural: duas transições t1 e t2 são paralelas estruturalmente


se não possuem nenhum lugar de entrada em comum:

∀p ∈ P, Pré(p, t1) Pré(p, t2) = 0.

• Paralelismo efetivo: duas transições t1 e t2 são paralelas efetivamente para


uma marcação dada M se e somente se são paralelas estruturalmente e:
28

∀p ∈ P, M Pré(p, t1) e M Pré(p, t2).

2.5.5. Seqüência de Disparo

O disparo em seqüência “s” de n transições a partir de uma marcação M0 levando a


uma marcação Mn é denominado de seqüência de disparo e tem a seguinte notação:

s = t1 t2 t3 ... tn.

Na figura 2.10 a transição t1 está sensibilizada através da marcação inicial M0 =[1 0


0] T e pode disparar, levando assim à marcação M1 = [ 0 1 0] T. Após o disparo de t1,
por sua vez a transição t2 estará sensibilizada ocasionando seu disparo em
seqüência, levando à marcação M1 = [ 0 0 1] T.

Figura 2.10: Seqüência de Disparo / CARDOSO E VALLETE, 1997

Se Mo M1 e M1 M2 , então a seqüência s = t1 t2 é disparável a partir de Mo


com a seguinte notação:

Mo M2.

Um vetor característico S de dimensão n, onde n é o número de transições


existentes, é associado à seqüência de disparo e cada elemento s(t) representa a
quantidade de vezes que a transição t foi disparada.

Para a figura 2.10 tem-se a seguinte seqüência de disparo s = t1 t2 t3, um tiro nesta
seqüência leva, da marcação inicial M0 = [ 1 0 0] T, à mesma marcação M0:
29

Então, o vetor característico do exemplo anterior é dado por:

A execução de uma RdP resulta em dois tipos de seqüência: uma seqüência de


disparo (s) e outra de marcações (M0, M1, M2, ...). A evolução de uma RdP para uma
seqüência “s” é dada, então, pela equação (PALOMINO, 1995):

M’ = M - Pré.S + Pós.S,

que, segundo a equação C = Pós - Pré, torna-se:

M’ = M + C.S com M 0es 0.

Esta equação é denominada de equação fundamental da RdP.

2.5.6. Marcações Alcançáveis

O conjunto das marcações que podem ser alcançadas através de uma seqüência de
disparo “s” a partir de uma marcação inicial é denominado de marcações
alcançáveis de uma RdP e é denotado por A(R, M):

A (R, M) = {Mi, s M Mi}


30

Este conjunto pode ser representado na forma de um grafo denotado por GA(R, M).
Se existe uma transição t sensibilizada que permite evoluir de uma marcação Mi a
uma marcação Mj então, um arco orientado, etiquetado pela transição t, liga dois nós
deste grafo: Mi e Mj.

Mi Mj.

Através deste grafo é possível extrair quantos estados e marcações podem ser
alcançados em uma RdP e, permite definir que tipo de notação pode ser utilizada
para cada uma dessas marcações. As marcações são representadas por nós e os
disparos das transições por arcos, sendo a marcação inicial o nó raiz (PALOMINO,
2001).

O conjunto de marcações alcançáveis deve ser finito, ou seja, em algum momento


uma marcação M evolui à marcação inicial M0, porém, existem situações onde as
marcações alcançadas não retornam à marcação inicial (BRESSAN, 2002).

A figura 2.11 mostra o grafo GA(R, M) para a RdP representada na figura 2.10:

Figura 2.11: Grafo de Marcações Alcançáveis / PENHA et al, 2004

Para este exemplo, a RdP possui um conjunto de marcações alcançáveis finito com
três marcações: (M0, M1, M2).
31

2.6. PROPRIEDADES

As principais propriedades relativas às RdP podem ser divididas em dois tipos: o


primeiro se refere à dinâmica da rede, ou seja, à RdP marcada (dependente de
marcação inicial). O segundo é referente à parte estrutural da rede ou RdP não
marcada (independente de marcação inicial) (BARROS, 1996) (CARDOSO;
VALLETE, 1997) (PALOMINO, 1995).

Através da análise da existência ou não de certas propriedades em uma RdP é


possível saber, por exemplo, se um sistema está livre de deadlocks, se existe a
possibilidade de uma explosão combinatória da quantidade de fichas em um
determinado lugar (ocorrência de uma ação indesejada) ou se a implementação do
sistema é viável, tanto no aspecto físico (hardware) quanto no aspecto lógico
(software).

2.6.1. Propriedades Comportamentais

Abaixo são apresentadas as principais propriedades comportamentais das RdP:

• Alcançabilidade
Se existir uma seqüência de disparos “s” que leve a uma marcação M’ a partir da
marcação inicial M0 então esta é uma marcação alcançável. Se todas as
marcações alcançáveis forem atingidas a partir da marcação inicial a RdP é dita
alcançável.

• Limitação
Considerando um número inteiro k qualquer, uma RdP é limitada se em cada um
dos lugares da rede a quantidade de fichas não ultrapassar o valor de k. Então, a
rede é dita k-limitada.
32

• Segurança
Esta propriedade complementa a propriedade Limitação. Uma RdP é dita segura
se para todas as marcações alcançáveis todos os lugares da rede possuírem no
máximo uma ficha cada um.

• Vivacidade
Indica que é possível disparar todas as transições a partir de qualquer uma das
marcações alcançável da rede. Isto é, indica a inexistência de transições mortas
e, conseqüentemente, que a RdP está livre de impasses (deadlocks). Porém, a
verificação irrestrita desta propriedade torna-se muito cara por isso, pode-se
adotar níveis para verificação da vivacidade em uma rede (MARRANGHELLO,
2005):

- Transição Viva Nível 4 (N4): Pode ser disparada ao menos uma vez,
em pelo menos uma seqüência de disparos, a partir de cada marcação
alcançável. É o nível mais restrito;

- Transição Viva Nível 3 (N3): Pode ser disparada infinitas vezes em


alguma seqüência de disparos a partir da marcação inicial;

- Transição Viva Nível 2 (N2): Pode ser disparada k vezes, para um k >
1, em uma seqüência de disparos a partir da marcação inicial;

- Transição Viva Nível 1 (N1): Pode ser disparada, em alguma


seqüência de disparos, pelo menos uma vez, a partir da marcação
inicial. É o nível menos restrito;

- Transição Viva Nível 0 (N0): Também chamada de rede morta


(impasse total). Não existe marcação alcançável, em qualquer
seqüência de disparos, que a dispare.
33

• Cobertura
Indica que para toda marcação M’, alcançável a partir da marcação inicial,
existe outra marcação M’’, com o número de fichas em cada lugar maior ou
igual ao lugar correspondente em M’’, alcançável a partir de M’.

• Persistência
Indica que, havendo mais de uma transição sensibilizada, o disparo de uma
não impede o disparo das outras.

• Reiniciabilidade
Uma RdP é dita reiniciável se, a partir de qualquer marcação acessível M’
pertencente à GA(R; M) existir uma seqüência de disparo “s” que possibilite à
rede retornar à sua marcação inicial M0.

• Justiça
Uma RdP é justa se, para duas transições quaisquer, o número de vezes que
uma é executada é finito em relação às vezes que a outra não é.

2.6.2. Propriedades Estruturais

Abaixo são apresentadas as principais propriedades estruturais das RdP:

• Limitação
Se uma RdP é limitada estruturalmente para qualquer marcação inicial.

• Conservação
Indica que o número total de marcas na RdP não se modifica de acordo com
a evolução da rede, isto é, para todas as marcações alcançáveis a partir da
marcação inicial este número permanece constante.

Uma transição é conservativa se a soma dos pesos dos seus arcos de


entrada for igual à soma dos pesos dos seus arcos de saída. Assim, quando
34

do seu disparo não haverá modificação na quantidade de fichas na rede.


Quando todas as transições de uma RdP são conservativas, diz-se que a RdP
é estritamente conservativa (MARRANGHELLO, 2005).

• Repetitividade
Se existe uma seqüência de disparos, para qualquer marcação alcançável,
em que todas as transições são disparadas infinitas vezes então, a RdP é
repetitiva. Se apenas algumas transições, em determinada seqüência de
disparos, são disparadas infinitas vezes então a RdP é parcialmente
repetitiva.

• Consistência
Uma RdP é consistente se ao executar uma seqüência de disparos “s” , a
partir de uma marcação inicial M0, for possível retornar a esta marcação
disparando pelo menos uma vez cada transição da rede.

Os dois tipos de propriedades, comportamentais e estruturais, são interligadas visto


que o aspecto dinâmico de uma RdP depende diretamente de sua estrutura
(PALOMINO, 1995), (MARRANGHELLO, 2005), (PENHA et al, 2004).

2.7. INVARIANTES E COMPONENTES

Marranghello (2005, p. 11) defini que:

Os invariantes em uma rede de petri representam os componentes


conservativos e repetitivos da rede. Há conjuntos de lugares e de transições
da rede cujo comportamento não se altera durante o seu funcionamento. A
identificação e a interpretação de cada um destes conjuntos é importante,
pois, eles refletem certas propriedades da rede que podem ser de interesse
para a análise do sistema modelado.
35

2.7.1. Invariantes de Lugar e Componentes Conservativos

Quando, em uma RdP qualquer, a partir da marcação inicial M0, é verificada que,
para toda marcação pertencente ao conjunto de marcações acessíveis, a soma de
M(pi) com M(pj) seja igual a soma de M0(pi) com M(pj). Isto é, ao ser disparada uma
transição t, tendo como entrada o lugar pi e saída o lugar pj, a quantidade de fichas
nesses lugares não se altera.

A forma linear M(pi) + M(pj) = M0(pi) + M(pj) é chamada de invariante linear de lugar,
e o conjunto desses lugares forma um componente conservativo da rede
(CARDOSO; VALLETE, 1997).

2.7.2. Invariantes de Transição e Componentes Repetitivos

Uma seqüência de disparos s qualquer que, após sua execução, não modifica a
marcação da rede é chamada de invariante de transição e corresponde a uma
seqüência cíclica.

Utilizando-se a equação fundamental, vista no item 2.5.5, é possível verificar se um


conjunto de transições do invariante, também chamado de componente repetitivo
estacionário da rede, uma vez disparado retorna à mesma marcação.

Para obter M = M’ basta verificar se o resultado do produto da matriz de incidência


sobre o vetor S é igual a zero (CARDOSO; VALLETE, 1997).

2.8. TÉCNICAS DE ANÁLISE

Existem três grupos de metodologias de análise criadas para determinar se uma


RdP possui ou não determinadas características (CARDOSO; VALLETE, 1997)
(PALOMINO, 1995). São eles:
36

• Por Enumeração das Marcações: É dinâmica e simula a execução da RdP a


partir da marcação inicial e é realizada utilizando-se o grafo das marcações
alcançáveis;

• Estrutural: Depende apenas da topologia da rede (independente de


marcação), portanto é estática. É baseada na equação fundamental das RdP;

• Por Redução: É utilizado para se reduzir o tamanho da rede, eliminado-se


lugares e transições que não alteram as propriedades da rede para
posteriormente aplicar um dos dois métodos citados acima.

2.8.1. Análise por Enumeração das Marcações

Este método serve apenas para uma determinada marcação inicial, portanto, para
outra marcação inicial em uma mesma RdP é necessário a construção de um novo
grafo.

Este método garante que, se é possível construir o grafo, então todas as


propriedades podem ser encontradas e é baseado essencialmente na enumeração
de todas as marcações alcançáveis. Como já foi visto anteriormente, o grafo das
marcações alcançáveis só pode ser construído se a quantidade de marcações
alcançáveis da rede for finita, isto é, se a RdP for k-limitada. Existe um algoritmo
baseado na construção da árvore de cobertura da rede para determinar se uma RdP
é k-limitada.

2.8.1.1. Árvore de Cobertura

Este algoritmo cria um novo ramo para cada transição sensibilizada através da
marcação inicial. As marcações obtidas com esses disparos são calculadas dando
inicio a um novo processo para cada uma dessas marcações.
37

Caso seja encontrada, na construção de um novo ramo, uma marcação igual a outra
já calculada e para a qual todos os ramos sucessores já foram ou serão calculados,
o processo é então interrompido. O mesmo acontece se for encontrada uma
marcação estritamente superior a uma marcação do ramo que está sendo explorado,
neste é interrompida, também, a exploração da árvore, pois a rede pode não ser
limitada.

A notação ω é utilizada para descrever o valor de M’(p) que torna a marcação


estritamente superior, ou seja, o lugar onde aparece a letra ω possui uma
quantidade infinita de fichas. (CARDOSO; VALLETE, 1997).

Antes de se efetuarem os cálculos é construído um novo grafo de marcações


alcançáveis possuindo dois tipos de nós: o nó raiz (referente à M0) e o nó fronteira
(referente à marcação alcançada). Este último se transformará em um dos três tipos
de nós a seguir: terminal, não sensibiliza nenhuma transição; duplicado, já existente
no grafo e interno, qualquer nó entre um nó terminal ou duplicado e a raiz.

2.8.1.2. Análise Através do Grafo

Em Palomino (2001, p. 41) as seguintes conclusões podem ser obtidas através do


grafo de alcançabilidade sobre as propriedades das RdP:

a) Sempre que não aparecer o “ω” no grafo de marcações alcançáveis a RdP é


limitada. Deste modo a árvore de cobertura permite identificar todas as
marcações a partir da marcação inicial. E simetricamente, sempre que
aparecer o “ω” em qualquer nó do grafo a RdP é ilimitada;

b) Sempre que existir uma marcação (nó do grafo) qualquer que não sensibilize
nenhuma transição (nó terminal), é sinal que após vários disparos de
transições a rede não evoluirá mais, entrando em deadlock;
38

c) Se não existir nenhum nó terminal e todos os nós duplicados forem iguais à


raiz então a RdP é reinicializável;

d) Se não existir nós duplicados então a RdP é viva.

Porém, mesmo com a possibilidade de verificação destas propriedades através do


grafo este método torna-se caro e trabalhoso para redes muito grandes.

2.8.2. Análise Estrutural

Ainda em Palomino (2001) é definido que este tipo de análise utiliza a matriz de
incidência das RdP, vista no item 2.4, para verificação das propriedades estáticas da
rede e é restrita às RdP puras.

a) Uma RdP é limitada, se para todos os lugares da rede, estes lugares fazem
parte de um algum invariante de lugar;

b) Se cada um dos lugares da rede pertencer a pelo menos um invariante de


transição então a RdP é dita viva;

c) Se existir invariantes de transição a RdP é reversível;

2.8.3. Análise por Redução

Quando o sistema que se deseja modelar leva a construção de uma rede


extremamente grande e complexa, fica impossível fazer a análise de suas
propriedades através do grafo de marcações alcançáveis ou pelo método dos
invariantes. Visando diminuir esta complexidade surgiu o método de análise por
redução, que consiste basicamente em reduzir o tamanho modelo para obter um
modelo mais simples que apresente as mesmas características e propriedades da
rede original.
39

2.8.3.1. Técnicas de Redução

Em Marranghello (2005, p. 16) são citadas as seis técnicas de redução, dentre


inúmeras, mais simples. Estas técnicas conseguem garantir a preservação das
propriedades de vivacidade, limitação e segurança. São elas:

1) Fusão de lugares em série (Figura 2.12):

Figura 2.12: Fusão de Lugares em Série / MARRANGHELLO, 2005

2) Fusão de transições em paralelo (Figura 2.13):

Figura 2.13: Fusão de Transições em Paralelo / MARRANGHELLO, 2005

3) Fusão de transições em série (Figura 2.14):

Figura 2.14: Fusão de Transições em Série / MARRANGHELLO, 2005


40

4) Fusão de lugares em paralelo (Figura 2.15):

Figura 2.15: Fusão de Lugares em Paralelo / MARRANGHELLO, 2005

5) Eliminação de lugares em malha fechada (Figura 2.16):

Figura 2.16: Fusão de Lugares em Malha Fechada / MARRANGHELLO, 2005

6) Eliminação de transições em malha fechada (Figura 2.17):

Figura 2.17: Fusão de Transições em Malha Fechada / MARRANGHELLO, 2005

Marranghello (2005, p. 16) ainda afirma que “os métodos de redução não permitem
por si só, a análise das propriedades da rede. Eles são transformações aplicadas a
determinada rede para simplificá-la”. Após alcançar uma rede mais simplificada,
através da técnica de redução, é necessário aplicar à rede uma das técnicas vistas
anteriormente como a análise por enumeração das marcações ou a análise
estrutural.
41

2.9. ASPECTOS DA MODELAGEM

Utilizar RdP na modelagem de um sistema é, necessariamente criar uma


interpretação da rede. Essa interpretação faz a ligação entre o modelo abstrato com
o sistema concreto a ser modelado.

As RdP permitem a modelagem e visualização dos diversos conceitos e relações


existentes no sistema proposto, entre eles: paralelismo, partilha de recursos,
sincronização, concorrência, memorização, limitação de recursos e leitura
(BARROS, 1996).

Antes mesmo de iniciar o processo de modelagem é preciso conhecer o sistema,


realizando uma análise completa para entender o funcionamento de todas as partes
e mais, definir se todo o sistema ou apenas parte dele deve ser modelado. Penha et
al (2004, p. 17) ainda coloca que “o não conhecimento do sistema pode produzir um
modelo que não reflete a realidade e, portanto, não verifica e não valida o sistema
em análise”.

Definir as condições (lugares) e as ações (transições), criar uma matriz de entrada e


uma de saída (representando as relações entre os lugares e as transições),
representar graficamente uma RdP para cada transição e depois reuní-las em uma
RdP completa que represente o sistema modelado e, definir sua marcação inicial
são etapas básicas para a modelagem utilizando as Redes de Petri.
42

3. VARIAÇÕES DAS REDES DE PETRI

3.1. INTRODUÇÃO

Conforme explicitado por Palomino (1995, p. 65), as RdP Ordinárias, apresentadas


no capítulo anterior:

Possuem baixo poder de modelagem por representarem apenas relações de


causa e efeito entre os eventos e as condições. A sua utilização é
restringida, portanto, a diversos tipos de sistemas pertencentes a classe de
sistemas (dinâmicos) de eventos discretos, onde sincronização externa e o
tempo não intervêm.

Ainda exposto por Barros (1996, p. 39) que “o modelo original da RdP falha na
representação de duas importantes características: aspectos funcionais complexos,
tais como condições que determinam o fluxo de controle, e os aspectos de
temporização”.

No intuito de resolver tais limitações foram desenvolvidos, a partir do modelo


original, variações das RdP Ordinárias, também chamadas de primitivas ou
autônomas. Normalmente as RdP são dividas em três classes principais:

• RdP Ordinárias: suas principais características são a) todos os arcos têm


peso igual a 1; b) só existe um tipo de ficha; c) a capacidade dos lugares é
infinita e; d) não envolve tempo.

• Abreviações: sua principal característica é que as propriedades das RdP


Ordinárias, apesar de algumas adaptações, são mantidas. São
representações mais simplificadas, mas com o mesmo poder de modelagem
das RdP. E têm por objetivo facilitar a representação gráfica.

• Extensões: Têm por objetivo aumentar o poder de representação do modelo


original, com isso suas regras de funcionamento sofreram alterações mais
profundas.
43

3.2. ABREVIAÇÕES

Dentro da classe das abreviações estão inseridas as RdP Generalizadas, as RdP


Coloridas e as RdP com Capacidade Finita.

3.2.1. RdP Generalizadas

É uma RdP onde pesos, inteiros positivos, são associados aos arcos. Ou seja, para
um arco, com peso igual a três, que liga um lugar p a uma transição t significa que: o
disparo de t só pode ocorrer se p possuir no mínimo três fichas, então são retiradas
as três fichas de p.

A figura 3.1 mostra um exemplo de RdP Generalizada, onde o arco p1 t1 tem peso
igual a três e o arco t1 p2 tem peso igual a um (quando o peso for igual o mesmo é
omitido). A transição t1 está sensibilizada pois, a lugar p1 possui exatamente o
número de fichas necessárias para dispará-la (três). Quando do disparo de t1 as três
fichas serão retiradas de p1 e será colocada apenas uma ficha em p2.

Figura 3.1: RdP Generalizadas

3.2.2. RdP Coloridas

Utilizada em sistemas mais complexos onde, é necessário, por exemplo, diferenciar


processos semelhantes. Se utilizadas as RdP Ordinárias, onde as fichas são
indiferenciadas, pode-se obter uma descrição mais compacta porém com falha na
transmissão de informação ou um modelo pouco prático, ou pelo seu tamanho ou
pela quantidade excessiva de interações. Seria necessário então uma estrutura fora
da rede que permitisse tratar certos dados do sistema.
44

Vários trabalhos forma desenvolvidos no sentido de superar esta dificuldade, os


modelos propostos são chamados de Redes de Petri de Alto Nível (RdPAN).
Compõem as RdPAN as RdP Predicado/Transição, as RdP Coloridas e as RdP a
Objetos (CARDOSO; VALLETE, 1997) (PALOMINO, 1995).

Em Barros (1996, p. 39):

A característica fundamental que distingue as RdP de alto nível (RdP-AN)


das RdP e que as qualifica como de alto nível, é a possibilidade de as
marcas não serem iguais entre si, correspondendo a elementos de um
domínio. Desta forma, as marcas podem conter muito mais informação. Esta
já não se limita à simples presença ou não da marca (ou marcas) num
determinado lugar, podendo conter dados relativos à sua caracterização
como indivíduo distinto dos restantes.

A associação de cores, que podem ser números inteiros ou um conjunto de


etiquetas, às fichas tem o objetivo de diferenciá-las. Aos lugares são associadas
cores que correspondem às cores das fichas que podem pertencer ao lugar, e às
transições é associado um conjunto de cores que corresponde às diferentes formas
de disparo (CARDOSO; VALLETE, 1997).

As RdP Coloridas (RdPCol) introduzem o conceito de representação hierárquica nas


RdP, permitindo que sub-redes repetidas sejam ocultadas. Apesar das vantagens
obtidas com a representação hierárquica, o aspecto mais relevante é seu poder de
compactação da rede resultante do fato de que as fichas correspondem a variáveis
cuja complexidade encontra-se somente na linguagem utilizada.

Esta associação consiste basicamente no agrupamento de um conjunto de lugares


num só lugar com cores que correspondentes às fichas que poderão pertencer a ele.
A junção dos lugares obriga o agrupamento dos arcos, este por sua vez, conseguido
através da associação de funções que possibilitam definir as marcas a ser retiradas
ou coladas em determinado lugar (BARROS, 1996).
45

3.2.3. RdP com Capacidade Finita

Sua principal característica é a limitação de fichas por lugar, isso é, a cada lugar é
associado um valor correspondente à quantidade de fichas que possam estar
presentes dentro do lugar.

3.3. EXTENSÕES

As chamadas extensões das RdP podem ser divididas em três classes:

• As extensões com poder de representação de máquinas turing (RdP com


arcos inibidores e RdPs prioritárias);

• As extensões que permitem a modelagem de RdPs híbridas e RdPs


contínuas e;

• As extensões correspondentes a modelos que descrevem o funcionamento de


sistemas cuja evolução vai depender de eventos externos e/ou tempo (RdP
sincronizada, RdP temporizada e RdPs estocásticas), onde as propriedades
de das RdP Ordinária nem sempre são mantidas.

3.3.1. RdP com Arcos Inibidores

As RdP com arcos inibidores, também chamadas de RdP Estendidas, foi criada para
dar solução ao problema de priorização, encontrado quando duas transições estão
em conflito.

Um arco inibidor liga um lugar p a uma transição t e é representado com um circulo


na extremidade final. Indica que a transição t pode disparar mesmo se não houver
nenhuma ficha em p, assim é retirada um ficha de cada lugar de entrada, exceto de
p, de t e colocada uma ficha em cada lugar de saída de t.
46

Um exemplo de uma RdP com arco inibidor é mostrado na figura 3.2.

Figura 3.2: RdP com Arco Inibidor

3.3.2. RdP Contínuas

Diferencia-se da RdP Ordinárias pelo tipo de marcação, que passa a ser feita com
números reais positivos e não mais por números inteiros positivos. Os disparos das
transições ocorrem de forma contínua e para diferenciá-la mais facilmente das RdP
Ordinárias, normalmente, os lugares são representados por dois círculos. Já as
transições e os arcos mantêm suas respectivas representações.
São utilizadas em sistemas cuja modelagem não pode ser realizada com RdP
Ordinária ou quando o número de marcações de uma RdP Ordinária se torna
extremamente alto (PALOMINO, 1995).

3.3.3. RdP Híbridas

É uma RdP constituída de lugares e transições discretos e lugares e transições


contínuos. São utilizadas em sistemas onde ocorre um fluxo contínuo (parte
contínua, modelada através das RdP Contínuas) e este fluxo, em algum momento,
precisa ser interrompido (parte discreta, modelada, por exemplo, através das RdP
Ordinárias).
47

3.3.4. RdP Sincronizadas

Em uma das RdP apresentadas até agora possível saber qual transição será
disparada pelo simples fato de estar sensibilizada ou não mas não se sabe quando
isso irá ocorrer. Nas RdP Sincronizadas são associados às transições eventos
externos, que habilitam o disparo de uma transição, desde que esta esteja
sensibilizada pela fichas. A figura 3.3 mostra um exemplo de modelagem com RdP
Sincronizada.

Figura 3.3: RdP Sincronizada

3.3.5. RdP T-Temporizada

Foi apresentada, em 1973, por Ranchandani em sua tese de Doutorado. O principio


básico deste tipo de rede é a associação de um único parâmetro temporal a cada
transição, representando assim a duração da sua sensibilização. Este parâmetro é o
tempo, depois de disparada a transição, de retardo da disponibilização da ficha no
lugar de saída da transição.

Porém, Cardoso e Vallete (1997, p. 147) afirmam que “esta associação de tempo à
transição só tem sentido se a transição é interpretada como uma atividade e não
como um evento instantâneo”, já que existe um retardo no disparo da transição.

A figura 3.4 mostra a substituição de uma transição por uma seqüência transição-
lugar-transição. Neste exemplo a transição t’1 corresponde ao início da atividade, o
48

lugar p’ a atividade sendo executada, com duração igual a Tempo, e a transição t’’1
o fim da atividade.

Figura 3.4: RdP T-Temporizadas / CARDOSO E VALLETE, 1997

3.3.6. RdP P-Temporizada

Diferentemente do que acontece nas RdP T-Temporizadas, aqui o período é


associado ao lugar e não à transição. Este período determina o tempo gasto para se
executar a atividade representada pelo lugar.

Para um melhor entendimento, é possível se desdobrar o lugar em lugar-transição-


lugar, como mostrado na figura 3.5 a seguir:
49

Figura 3.5: RdP P-Temporizadas / CARDOSO E VALLETE, 1997

Sendo p1 a atividade com duração igual a Tempo então, p’1 é a atividade sendo
executada, t’ é a indicação de que Tempo chegou ao fim e p’’1 a eventual espera
para outras atividades (CARDOSO; VALLETE, 1997).

3.3.7. RdP Estocástica

Existem sistemas em que o tempo para se realizar uma determinada tarefa é


constante, sendo facilmente representado por uma RdP temporizada, já que
associa-se um período de tempo fixo a cada transição ou lugar da rede. Mas existem
sistemas onde a duração de execução de certa tarefa pode variar, nestes casos são
utilizadas as RdP Estocásticas. São associados tempos randômicos aos disparos de
cada transição, onde o tempo é normalmente distribuído seguindo uma lei
exponencial.

3.3.8. RdP Temporal

É associado a cada transição um intervalo de tempo (tempo min, tempo max). Diferente
do que ocorre nas RdP T-Temporizadas, o disparo da transição é instantâneo mas,
para se concretizar, a transição deve estar sensibilizada por um período de no
mínimo igual a tempo min, e no máximo igual a tempo Max.
50

A figura 3.6 mostra o exemplo apresentado na figura 3.3, agora utilizando o modelo
de RdP Temporal. Neste exemplo uma impressora mantém seu status como “livre”
(lugar p1) por um período de 10 segundos ou até algum documento ser enviado para
impressão (entre 0 e 10 segundos). Havendo ou não solicitação de impressão, a
impressora muda seu status para “ocupada” (lugar p2) e o mantém por 10 segundos
(tempo médio de impressão), voltando logo após este período ao status de “livre” e
recomeçando o processo.

Figura 3.6: RdP Temporal


51

4. MODELAGEM COM REDES DE PETRI

4.1. O SISTEMA

Trata-se de uma simplificação de um sistema Cliente/Servidor composto por um


Cliente, um Servidor e um Controlador Lógico Programável (CLP). A figura 4.1 faz
uma ilustração do sistema.

Figura 4.1: Ilustração do Sistema

4.1.1. Definições

Algumas definições fazem-se relevantes para a modelagem do sistema com RdP. A


seguir seguem as definições de Cliente, de Servidor e de Controlador Lógico
Programável:

Cliente: máquina que solicita informações contidas no Servidor ou serviços


oferecidos por este. Normalmente é uma máquina menos poderosa se comparada
ao Servidor, isso porque os aplicativos que rodam nela não exigem tanto poder de
processamento.
52

Servidor: máquina na rede responsável por atender às solicitações do(s) Cliente(s).


Necessita de uma máquina mais poderosa pois, é no Servidor que são executados
os aplicativos mais pesados, tais como banco de dados.

CLP: máquina especializada, baseada em microprocessamento para realizar


funções de controle de vários tipos e níveis de complexidade. É dividido em grupos,
de acordo com a sua capacidade de processamento de um determinado número de
Entradas e/ou Saídas. É o controlador indicado para lidar com sistemas a eventos
discretos, ou seja, com processos em que as variáveis assumem valores zero ou um
(variáveis digitais). Também lida com variáveis analógicas, estas definidas por
intervalos de valores de corrente ou tensão elétrica, por exemplo. É utilizado,
principalmente, nas áreas de controle de processos, aplicado em industrias de
produção continua, ou de automação industrial, aplicado em linhas de montagem.
Comunica-se com os outros componentes da rede por canais seriais. Com isto pode
ser supervisionado por computadores formando sistemas de controle integrados.
Softwares de supervisão controlam redes de Controladores Lógicos Programáveis. A
figura 4.2 mostra um exemplo de um CLP (ALBUQUERQUE FILHO, 2005).

Figura 4.2: CLP – Exemplo / Site da Moeller - Brasil


53

4.1.2. Características e Funcionamento dos Componentes

O CLP possui n entradas analógicas, n entrada digitais, n saídas analógicas e n


saídas digitais e permite ao usuário configurar um tipo de onda específico para cada
entrada analógica. As opções são: onda quadrada, onda senoidal, onda triangular ou
valor constante. Os valores das ondas devem estar entre 4 e 20 mA.

As saídas analógicas e digitais podem ser manipuladas pelo usuário via teclado, que
terá as seguintes opções: incrementar e decrementar cada saída analógica e setar e
ressetar cada saída digital. Os valores, para cada entrada e saída, analógica e
digital, são mostrados na tela do CLP a cada 1 segundo.

O Servidor é o intermediário da comunicação entre o Cliente e o CLP e provê os


seguintes serviços para o Cliente:

• leitura de um bloco contínuo de variáveis digitais sob demanda, entradas e/ou


saídas;
• leitura de um bloco contínuo de variáveis analógicas sob demanda, entradas
e/ou saídas;
• escrita de saídas digitais sob demanda;
• escrita de saídas analógicas sob demanda;
• assinatura de um grupo de variáveis analógicas, dado o período em segundos
(default de um segundo);
• assinatura de um grupo de variáveis discretas por exceção (unsolicited
messages).

O Cliente possui como opções os serviços providos pelo Servidor já destacados


acima. A comunicação entre os elementos do sistema é realizada da seguinte
maneira: o CLP se comunica com o Servidor através de comunicação entre
processos e o Servidor se comunica com o Cliente sobre TCP/IP.

Ao serem executados os processos CLP e Servidor estes se comunicam


internamente através de um sub-processo onde o Servidor recebe os dados a cada
54

segundo. Outro sub-processo do Servidor aguarda a solicitação de conexão do


Cliente e, quando esta for verdadeira, trata as possíveis solicitações feitas pelo
Cliente como leitura ou alteração dos dados.

As solicitações do Cliente são tratadas da seguinte maneira pelo Servidor:

• leitura de um bloco contínuo de variáveis digitais/analógicas sob demanda,


entradas e/ou saídas: O Servidor encaminha os dados, já enviados pelo CLP,
ao Cliente uma única vez;
• escrita de saídas digitais/analógicas sob demanda: O Servidor solicita ao CLP
a alteração destes dados;
• assinatura de um grupo de variáveis analógicas: Obedecendo ao período
definido pelo Cliente quanto ao envio dos dados, a cada intervalo de tempo o
Servidor encaminha os dados ao Cliente;
• assinatura de um grupo de variáveis digitais: Sempre que o Servidor receber
dados novos do CLP (o que ocorre a cada segundo) ele encaminha ao
Cliente.

No CLP existem dois sub-processos, um é responsável por enviar os dados e outro


por realizar as alterações solicitadas pelo Servidor.

4.2. MODELAGEM

Antes da apresentação do modelo utilizando RdP, será apresentada uma


modelagem convencional do sistema afim de torná-lo mais familiar.

4.2.1. Diagrama de Implantação

Este tipo de diagrama é utilizado em sistemas distribuídos pelo fato de possibilitar a


representação tanto da topologia da rede quanto dos processos executados por
cada máquina desta rede. Cada máquina na rede é denominada nó e é
55

representada por um cubo, sua relação com os processos executados internamente


é de dependência (ANQUETIL, 2002).

A figura 4.3 mostra o diagrama de implantação para o sistema proposto:

Figura 4.3: Diagrama de Implantação

4.2.2. Diagrama de Estado

O diagrama de estado permite a representação do comportamento de um elemento


do sistema. Os estados possíveis do sistema são representados por retângulos que
contêm sua descrição e os eventos (transições) são representados por arcos
orientados etiquetados com sua descrição (ANQUETIL, 2002).

Foi escolhido para exemplificação o diagrama de estado devido sua linguagem ser
muito semelhante às RdP. Isso possibilitará uma comparação entre os dois tipos de
modelagem.

No exemplo a seguir será apresentado com mais detalhe apenas o comportamento


do CLP. A figura 4.4 mostra o diagrama de estado do CLP.
56

Figura 4.4: Diagrama de Estado

Através da figura 4.4 acima é possível concluir que o diagrama de estado é bastante
eficiente na representação dos estados do sistema, contudo, apenas em seu o
aspecto estático sem considerar a dinâmica do sistema.

4.2.3. RdP

Será apresentada nesta seção, a exemplo da seção anterior, apenas a modelagem


do CLP.

4.2.3.1. Condições e Ações

Com as características do sistema bem definidas o primeiro passo a ser dado é a


definição das condições e das ações, lugares e transições respectivamente,
pertinentes à modelagem com as RdP. A tabela 4.1 a seguir mostra a lista de
condições e ações do CLP:
57

CLP
CONDIÇÕES
P1 = PARADO
P2 = EXECUTANDO
P3 = DADOS LIVRES
P4 = LENDO DADOS E EXIBINDO NO MONITOR
P5 = ENVIANDO DADOS AO SERVIDOR
P6 = ALTERANDO DADOS ANALÓGICOS/DIGITAIS
AÇÕES
T1 = INICIAR
T2 = FINALIZAR
T3 = LER DADOS
T4 = ENVIAR DADOS AO SERVIDOR
T5 = ENCERRAR LEITURA E LIBERAR DADOS
T6 = ALTERAR DADOS
T7 = ENCERRAR ESCRITA E LIBERAR DADOS
Tabela 4.1: Condições e Ações do CLP

4.2.3.2. Relações

Após a definição das condições e das ações é preciso relacioná-las de modo a


facilitar o entendimento do sistema antes mesmo da representação gráfica. A tabela
4.2 mostra a relação das transições com seus respectivos lugares de entrada do
componente CLP, definida anteriormente como matriz de entrada Pré:

T1 T2 T3 T4 T5 T6 T7
P1 1 0 0 0 0 0 0
P2 0 1 0 0 0 0 0
P3 0 1 1 0 0 1 0
P4 0 0 0 1 0 0 0
P5 0 0 0 0 1 0 0
P6 0 0 0 0 0 0 1
Tabela 4.2: CLP - Matriz Pré

A tabela 4.3 mostra a relação das transições com seus respectivos lugares de saída
do componente CLP, definida anteriormente como matriz de saída Pós:
58

T1 T2 T3 T4 T5 T6 T7
P1 0 1 0 0 0 0 0
P2 1 0 0 0 0 0 0
P3 1 0 0 0 1 0 1
P4 0 0 1 0 0 0 0
P5 0 0 0 1 0 0 0
P6 0 0 0 0 0 1 0
Tabela 4.3: CLP - Matriz Pós

4.2.3.3. Representação Gráfica

Nesta seção será apresentada a representação gráfica do componente CLP.

Um das principais vantagens das RdP é a sua representação gráfica pois, possibilita
uma análise visual simples dos estados do sistema quanto à sua dinâmica, ou seja,
é possível acompanhar a evolução do sistema através do modelo.

A figura 4.5 mostra a RdP do CLP para a marcação inicial M1 = [ 1, 0, 0, 0, 0, 0], esta
marcação indica que o sistema está parado e que, apenas a transição t1 está
sensibilizada:

Figura 4.5: CLP – Representação Gráfica


59

4.2.3.4. Evolução da Rede

Para demonstração da representação dinâmica alcançada pelas RdP será


apresentada nesta seção a possível seqüência de disparo s = t1 t6 t7 t2 obtida a partir
da marcação inicial M1.

A figura 4.6 representa a marcação alcançável M2 = [ 0, 1, 1, 0, 0, 0], a partir de M1,


após o disparo de t1, ou seja, a ação “Iniciar” será executada com isso será retirada
a ficha de p1 (“Parado”) e serão coladas uma ficha em p2 (“Executando”) e outra em
p3 (“Dados Livres”).

Figura 4.6: CLP – Marcação M2

Após o disparo de t1 as transições t2 (“Encerrar”), t3 (“Ler e Exibir Dados”) e t6


(“Alterar Dados”) ficarão sensibilizadas podendo ser disparadas. Porém, seguindo a
seqüência s será t6 a transição a ser disparada neste momento.

A figura 4.7 representa a marcação alcançável M3 = [ 0, 1, 0, 0, 0, 1], a partir de M2,


após o disparo de t6. Neste caso, a ação “Alterar Dados” será disparada promovendo
a retirada da ficha de p3 (“Dados Livres”) e colocada uma ficha em p6 (“Alterando
Dados”). Nota-se que, apesar do disparo de t6 a ficha de não foi retirada p2.
60

Figura 4.7: CLP – Marcação M3

Após o disparo de t6 a única transição sensibilizada será t7 (“Encerrar Alteração e


Liberar Dados”) e será esta a ser disparada de acordo com a seqüência s. Nota-se
que as transições t2 e t3 antes sensibilizadas, agora não estão.

A figura 4.8 representa a marcação alcançável M2 = [ 0, 1, 1, 0, 0, 0], a partir de M3,


após o disparo de t7. A ação “Encerrar Alteração Liberar Dados” é disparada, como
conseqüência é retirada a ficha de p6 e colocada uma ficha em p3 (“Dados Livres”). A
ficha de p2 continua no seu lugar indicando que o sistema está “Executando”.

Figura 4.8: CLP – Marcação M2

Agora as transições t2, t3 e t6 estão sensibilizadas podendo, qualquer uma, ser


disparada, porém, conforme s será t2 a disparar.

A figura 4.9 representa a marcação alcançável M1 = [ 1, 0, 0, 0, 0, 0], a partir de M2,


após o disparo de t2. O disparo de t2 indica que será executada a ação “Finalizar”,
61

sendo assim serão retiradas as fichas de p2 e p3 e será colocada uma ficha em p1


(“Parado”) retornando ao estado inicial do sistema.

Figura 4.9: CLP – Marcação M1


62

5. CONCLUSÕES

O crescente uso das RdP na modelagem, análise, simulação e controle de sistemas


computacionais vem sendo bastante discutido em estudos recentes (BARROS,
1996) (BRESSAN, 2002) (PENHA et al, 2004). Argumentos como facilidade e
eficácia reforçam a importância da utilização das RdP na modelagem de sistemas
complexos com características de paralelismo, alocação de recursos, sincronização,
atividades cíclicas e restrições temporais.

Diante disto, o presente trabalho teve como objetivo apresentar os principais


conceitos e características das Redes de Petri e sua aplicabilidade na modelagem
de sistemas computacionais. Foram introduzidos os conceitos e as propriedades das
RdP tendo como base todo o formalismo matemático necessário e foram
apresentados, ainda, os principais tipos de RdP. E, por fim, foi demonstrada, através
de uma aplicação prática, a utilização das Redes de Petri na modelagem de um
sistema computacional, tomando como exemplo uma simplificação de um sistema
Cliente/Servidor.

A modelagem feita neste trabalho, apesar de não ter sido realizada para o sistema
todo, mostra a sua eficácia, principalmente no acompanhamento dinâmico do
subsistema escolhido. Vale ressaltar que o acompanhamento da dinâmica do
sistema através de um modelo compacto não é possível em boa parte das
ferramentas tradicionais.

O entendimento da ferramenta exigiu um certo conhecimento matemático prévio, o


que muitas vezes pode desencorajar a sua utilização.

Como sugestão para trabalhos futuros podem ser citados:

• a complementação do modelo apresentado, com a modelagem do sistema


completo (CLP, Cliente e Servidor) e o escalonamento do mesmo através de
um escalonador de RdP;
63

• a utilização de RdP associadas ao tempo no modelo, o que é particularmente


interessante neste caso;

• a utilização de uma RdP Colorida que pode facilitar a modelagem do sistema


pois, partes do sistema (Cliente e o Servidor) possuem estados semelhantes
e com isso consegue-se compactar a modelagem sem perda de
generalização.
64

REFERÊNCIA BIBLIOGRÁFICA

ABNT, Associação Brasileira de Normas Técnicas. Disponível em:


<http://www.abnt.org.br/>. Acessado em: 15/09/2006 às 14:44h.

ALBUQUERQUE FILHO, B. M. de; SIVINO FILHO, I. F. V.; BARROS, P. T. da S. L.


de. Controle de Processo de Trefilação Utilizando CLP e Inversor de Freqüência.
2005, 52 p.. Monografia (Graduação em Engenharia Elétrica) – Escola Politécnica de
Pernambuco, Recife, Brasil, 2005. Disponível em:
<http://dee.upe.poli.br/monografias/mono004.pdf>. Acessado em: 15/09/2006 às
20:41h.

ANQUETIL, N.. Desenvolvimento de Software Orientado a Objetos. 2002, 87 p..


(Desenvolvimento de material didático ou instrucional - Apostila e Páginas Web).
Disponível em:
<http://www.ucb.br/ucbtic/mgcti/paginapessoalprof/Nicolas/Disciplinas/UML/uml.pdf>.
Acessado em 15/09/2006 às 20:04h.

BARROS, J. P. M. P. R. e. CpPNeTS: uma Classe de Redes de Petri de Auto-


Nível – Implementação de um sistema de suporte à sua aplicação e análise.
1996, 221 p.. Dissertação (Mestrado em Engenharia Informática) – Faculdade de
Ciências e Tecnologia, Universidade Nova de Lisboa, Lisboa, Portugal, 1996.
Disponível em <http://www.estig.ipbeja.pt/~jpb/BarrosTeseDeMestrado.pdf>.
Acessado em: 11/09/2006 às 21:31h.

BRESSAN, G.. Modelagem e Simulação de Redes de Computadores. 2002, 26 p.


. (Desenvolvimento de material didático ou instrucional - Apostila e Páginas Web).
Disponível em <http://www.larc.usp.br/conteudo/universo/pcs012/modsim05.pdf>.
Acessado em: 11/09/2006 às 21:00h.

CARDOSO, J. e VALETTE, R.. Redes de Petri. Florianópolis: Ed. da UFSC. 1997.


212 p..
65

MARRANGHELLO, N.. Redes de Petri: Conceitos e Aplicações. 2005, 33 p..


(Desenvolvimento de material didático ou instrucional - Apostila). Disponível em:
<http://www.dcce.ibilce.unesp.br/~norian/cursos/mds/ApostilaRdP-CA.pdf/>.
Acessado em 17/09/2006 às 22:34h.

MARRANGHELLO, N.. Redes de Petri: Propriedades e Análise. 2005, 21 p..


(Desenvolvimento de material didático ou instrucional - Apostila). Disponível em:
<http://www.dcce.ibilce.unesp.br/~norian/cursos/mds/ApostilaRdP-PA.pdf/>.
Acessado em: 17/09/2006 às 21:57h.

MAZZOLA, V. B.. Apostila de INE 5374 – Métodos Formais para Concepção de


Sistemas (Suporte de Curso), 2006. Disponível em:
<http://toulouse.inf.ufsc.br/~mazzola/ine5374/material/mf2.zip>. Acessado em:
20/10/2006 às 19:21h.

MORAES JUNIOR, C. M.. Escalonamento de Sistemas de Produção Híbridos


usando uma Rede de Petri P-temporal T-temporizada com Mecanismo de
Retrocesso Inteligente. 2000, 141 p. . Dissertação (Mestrado em Automação e
Controle) – Universidade Federal de Uberlândia, Uberlândia, Brasil, 2000.

PALOMINO, R. C.,. Uma Abordagem para a Modelagem, Análise e Controle de


Sistemas de Produção Utilizando Redes de Petri. 1995. Dissertação (Mestrado
em Engenharia da Produção) – Universidade Federal de Santa Catarina,
Florianópolis, Brasil, 1995. Disponível em:
<http://www.eps.ufsc.br/disserta/palomino/indice/>. Acessado em: 11/09/2006 às
21:03h.

PALOMINO, R. C.. Um Modelo Para O Planejamento E A Programação Da


Produção Em Ambientes Job Shop: Baseado Em Redes De Petri. 2001, 151 p..
Tese (Doutorado em Engenharia da Produção) – Universidade Federal de Santa
Catarina, Florianópolis, Brasil, 2001. Disponível em:
<http://teses.eps.ufsc.br/defesa/pdf/1786.pdf >. Acessado em: 12/09/2006 às
19:44h.
66

PENHA, D. O.; FREITAS, H. C.; MARTINS, C. A. P. S. . Modelagem de Sistemas


Computacionais usando Redes de Petri: aplicação em projeto, análise e
avaliação. Anais da IV Escola Regional de Informática RJ/ES. 2004, 40 p..
Disponível em :<http://www.sbc.org.br/bibliotecadigital/download.php?paper=33>.
Acessado em: 11/09/2006 às 22:32h.

Você também pode gostar