• Nenhum resultado encontrado

Introduc~ao as Redes de. Petri e Aplicac~oes. por. Paulo Romero Martins Maciel. Rafael Dueire Lins. Paulo Roberto Freire Cunha

N/A
N/A
Protected

Academic year: 2021

Share "Introduc~ao as Redes de. Petri e Aplicac~oes. por. Paulo Romero Martins Maciel. Rafael Dueire Lins. Paulo Roberto Freire Cunha"

Copied!
201
0
0

Texto

(1)
(2)

Introduc~ao as Redes de

Petri e Aplicac~oes

p or

Paulo Romero Martins Maciel

Rafael Dueire Lins

Paulo Roberto Freire Cunha

Departamento de Informatica Universidade Federal de Pernambuco

X ESCOLA DE COMPUTAC ~ AO CAMPINAS-SP, julhode1996.

(3)
(4)

Prefacio

Redes de Petri e uma tecnica de especi cac~ao formal bem estabelecida, lar-gamente difundida e adequada para a modelagem de sistemas que tenham atividades paralelas, concorrentes, assncronas e n~ao-determinsticas. Varios autores t^em mostrado a abrang^encia e a aplicabilidade das redes de Petri nas mais diversas areas, tais como: na ci^encia da computac~ao, engenharias eletr^onica e qumica, administrac~ao de empresas etc. No entanto, tem sido mais explorada na ci^encia da computac~ao e na engenharia eletr^onica, desde o estudo para a especi cac~ao de sistemas de hardware ou software, avaliac~ao de desempenho, especi cac~ao de protocolos de comunicac~ao, diagnostico de falhas e no projeto de software/hardware, entre outros.

Este texto oferece uma introduc~ao as redes de Petri e aplicac~oes. Inicial-mente, s~ao apresentados os diversos tratamentos dados as redes de Petri. De maneira uniforme, apresentamos os conceitos, propriedades e metodologias de analise e aplicac~oes. Um grande numero de exemplos de modelagem s~ao utilizados, possibilitando a percepc~ao do poder das redes de Petri e tornando o leitor apto a modelar problemas atraves desta tecnica.

Esta monogra a esta estruturada em seis captulos, tendo um captulo de introduc~ao, onde e apresentado um breve historico das redes de Petri, situando o leitor nas mais diversas areas de pesquisa em que redes de Pe-tri v^em sendo utilizadas. S~ao apresentados os conceitos basicos tais como: estrutura, grafo associado, o conceito de marcac~ao, regras de execuc~ao e al-guns exemplos para ilustrar estes conceitos. O segundo captulo inicia por apresentar os modelos basicos de redes de Petri que possibilitam a modela-gem de sistemas mais complexos. Posteriormente, e apresentado um vasto numero de exemplos, que ilustram ao leitor o poder de modelagem das redes de Petri atraves da especi cac~ao de problemas classicos e novos exemplos descritos pelos autores. O terceiro captulo discute as propriedades das

(5)

re-des de Petri, bem como diversos metodos de analise para veri cac~ao re-destas propriedades. No quarto captulo, apresentam-se algumas extens~oes as redes de Petri. Estas extens~oes elevam o poder de modelagem das redes de Petri ao da maquina de Turing. V^eem-se, neste captulo, as redes de Petri com arco inibidor, redes de Petri coloridas, redes hierarquicas e redes de Petri temporizadas determinsticas. No quinto captulo apresentamos duas apli-cac~oes das redes de Petri, na primeira tratamos da traduc~ao de programa escritos em linguagem concorrente para as redes de Petri; a segunda, apre-senta a modelagem e diagnostico de falhas em sistemas de controle industrial. No captulo das considerac~oes nais fazemos um balanco das contribuic~oes desta monogra a e apresentamos algumas linhas de pesquisas atuais. Tr^es ap^endices tambem comp~oem este trabalho. No primeiro deles e apresentada uma breve introduc~ao a teoria bag, aqui utilizada na formalizac~ao das redes de Petri. O ap^endice B revisa os aspectos mais importantes da algebra ma-tricial. Visando tornar o conteudo do material apresentado mais agradavel ao leitor, as provas dos teoremas fundamentais da teoria das redes de Petri foram omitidas dos captulos e agrupadas no ap^endice C.

Agradecimentos

Em primeiro lugar gostaramos de expressar a nossa gratid~ao as nossas famlias pelo apoio e compreens~ao durante todas as etapas do desenvolvi-mento desta monogra a.

Este trabalho foi enriquecido com os comentarios de David Simonetti Barbalho e Grzegorz Rozenberg e pela revis~ao gramatical do professor Gil-berto Medeiros.

Paulo Maciel agradece a Universidade de Pernambuco (UPE) a sua libe-rac~ao para o programa de doutoramento na UFPE com suporte nanceiro da CAPES.

Rafael Lins e Paulo Cunha s~ao nanciados pelo CNPq atraves de bolsas individuais de pesquisa.

(6)

Conteudo

1 Introduc~ao

1

1.1 Estrutura das Redes de Petri : : : : : : : : : : : : : : : : : : 6 1.1.1 Estrutura De nida em Bag : : : : : : : : : : : : : : : 6 1.1.2 Estrutura De nida em Matriz : : : : : : : : : : : : : : 9 1.1.3 Estrutura De nida por Relac~oes : : : : : : : : : : : : 10 1.2 Rede de Petri Marcada: : : : : : : : : : : : : : : : : : : : : : 12 1.3 Regras de Execuc~ao : : : : : : : : : : : : : : : : : : : : : : : 14 1.4 Matriz de Incid^encia : : : : : : : : : : : : : : : : : : : : : : : 17 1.5 Rede Pura e Self-Loop : : : : : : : : : : : : : : : : : : : : : : 18 1.6 Sequ^encias Disparaveis : : : : : : : : : : : : : : : : : : : : : : 20 1.7 Func~ao de Proximo Estado : : : : : : : : : : : : : : : : : : : 20 1.8 Equac~ao Fundamental : : : : : : : : : : : : : : : : : : : : : : 21 1.9 Grafo das Marcac~oes Acessveis : : : : : : : : : : : : : : : : : 22 1.10 Condic~oes Externas: : : : : : : : : : : : : : : : : : : : : : : : 25 1.11 Associac~ao de Rotulos a Transic~oes : : : : : : : : : : : : : : : 26 1.12 Linguagens das Redes de Petri : : : : : : : : : : : : : : : : : 27 1.13 Classes das Redes de Petri : : : : : : : : : : : : : : : : : : : : 29 1.14 Redes de Petri Ordinarias : : : : : : : : : : : : : : : : : : : : 29 1.15 Redes de Alto Nvel : : : : : : : : : : : : : : : : : : : : : : : 31

(7)

2.1 Redes Elementares : : : : : : : : : : : : : : : : : : : : : : : : 33 2.1.1 Sequenciamento : : : : : : : : : : : : : : : : : : : : : 33 2.1.2 Distribuic~ao : : : : : : : : : : : : : : : : : : : : : : : : 34 2.1.3 Junc~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : 34 2.1.4 Escolha N~ao-Determinstica : : : : : : : : : : : : : : : 35 2.1.5 Atribuic~ao : : : : : : : : : : : : : : : : : : : : : : : : : 37 2.2 Confusion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 37 2.3 Modelagem de Processos : : : : : : : : : : : : : : : : : : : : : 38 2.3.1 Processos Paralelos : : : : : : : : : : : : : : : : : : : : 38 2.3.2 Exclus~ao Mutua : : : : : : : : : : : : : : : : : : : : : 40 2.3.3 Maquinas de Estado Finito : : : : : : : : : : : : : : : 42 2.3.4 Computac~ao Data ow : : : : : : : : : : : : : : : : : : 45 2.3.5 Sistemas Pipeline : : : : : : : : : : : : : : : : : : : : : 47 2.3.6 Protocolo de Comunicac~ao : : : : : : : : : : : : : : : 49 2.3.7 Produtor=Consumidor : : : : : : : : : : : : : : : : : : 52 2.3.8 Jantar dos Filosofos : : : : : : : : : : : : : : : : : : : 54 2.3.9 Fluxo de Controle de Algoritmo : : : : : : : : : : : : 55 2.3.10 Computac~ao-Fraca : : : : : : : : : : : : : : : : : : : : 60 2.4 Subclasses das Redes de Petri : : : : : : : : : : : : : : : : : : 60 2.4.1 Redes de Petri Maquina de Estado : : : : : : : : : : : 62 2.4.2 Redes de Petri Grafo Marcado : : : : : : : : : : : : : 62 2.4.3 Redes de Petri Escolha Livre : : : : : : : : : : : : : : 63

3 Analise das Redes de Petri

67

3.1 Propriedades Comportamentais : : : : : : : : : : : : : : : : : 67 3.1.1 Alcancabilidade (Reachability) : : : : : : : : : : : : : 68 3.1.2 Limitac~ao (Boundedness) : : : : : : : : : : : : : : : : 69 3.1.3 Seguranca (Safeness): : : : : : : : : : : : : : : : : : : 70 3.1.4 Liveness : : : : : : : : : : : : : : : : : : : : : : : : : : 74

(8)

3.1.5 Cobertura (Coverability) : : : : : : : : : : : : : : : : : 76 3.1.6 Persist^encia : : : : : : : : : : : : : : : : : : : : : : : : 76 3.1.7 Reversibilidade : : : : : : : : : : : : : : : : : : : : : : 77 3.1.8 Justica (Fairness) : : : : : : : : : : : : : : : : : : : : 78 3.2 Propriedades Estruturais: : : : : : : : : : : : : : : : : : : : : 80 3.2.1 Limitac~ao Estrutural : : : : : : : : : : : : : : : : : : : 81 3.2.2 Conservac~ao: : : : : : : : : : : : : : : : : : : : : : : : 81 3.2.3 Repetitividade : : : : : : : : : : : : : : : : : : : : : : 85 3.2.4 Consist^encia : : : : : : : : : : : : : : : : : : : : : : : 86 3.3 Analise das Redes de Petri: : : : : : : : : : : : : : : : : : : : 87 3.3.1 Arvore de Cobertura : : : : : : : : : : : : : : : : : : : 87 3.3.2 Analise Sobre a EFRP : : : : : : : : : : : : : : : : : : 92 3.3.3 Invariantes de Transic~ao : : : : : : : : : : : : : : : : : 94 3.3.4 Invariantes de Lugar : : : : : : : : : : : : : : : : : : : 95 3.3.5 Invariantes por Justaposic~ao e por Concatenac~ao : : : 97 3.3.6 Regras de Reduc~ao para Analise : : : : : : : : : : : : 104 3.4 Complexidade e Decidibilidade : : : : : : : : : : : : : : : : : 108

4 Extens~oes as Redes de Petri

111

4.1 Rede de Petri com Arco Inibidor : : : : : : : : : : : : : : : : 111 4.2 Rede de Petri Colorida : : : : : : : : : : : : : : : : : : : : : : 113 4.3 Redes Hierarquicas : : : : : : : : : : : : : : : : : : : : : : : : 121 4.4 Rede de Petri Temporizada Determinstica: : : : : : : : : : : 125

5 Aplicac~oes

131

5.1 Traduc~ao OCCAM-Redes de Petri : : : : : : : : : : : : : : : 132 5.1.1 Modelagem dos Processos Primitivos : : : : : : : : : : 133 5.1.2 Modelagem dos Combinadores : : : : : : : : : : : : : 137 5.2 Diagnostico de Falhas em Sistemas de Controle Industrial : : 148 5.2.1 As Especi cac~oes Funcionais : : : : : : : : : : : : : : 150

(9)

5.2.2 As Func~oes de Estado e Excitac~ao : : : : : : : : : : : 150 5.2.3 As Regras Operacionais : : : : : : : : : : : : : : : : : 152 5.2.4 Obtenc~ao das Redes de Petri : : : : : : : : : : : : : : 152 5.2.5 Um Exemplo : : : : : : : : : : : : : : : : : : : : : : : 153 5.2.6 Metodo para Obtenc~ao das Regras Operacionais : : : 154 5.2.7 Modelagem e Validac~ao : : : : : : : : : : : : : : : : : 158 5.2.8 Elemento de Falha de Vetor Sintoma : : : : : : : : : : 159 5.3 Algumas Considerac~oes : : : : : : : : : : : : : : : : : : : : : 165

6 Considerac~oes Finais

167

A Teoria Bag

179

B Algebra Matricial

181

(10)

Lista de Figuras

1.1 Elementos Basicos : : : : : : : : : : : : : : : : : : : : : : : : 3 1.2 Grafo : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 1.3 Arcos Valorados : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.4 Perodos do Dia : : : : : : : : : : : : : : : : : : : : : : : : : : 4 1.5 Linha de Produc~ao : : : : : : : : : : : : : : : : : : : : : : : : 5 1.6 Redes Marcadas R1e R2 : : : : : : : : : : : : : : : : : : : : : 13 1.7 Disparo de Transic~oes : : : : : : : : : : : : : : : : : : : : : : 15 1.8 Rede R1Marcada : : : : : : : : : : : : : : : : : : : : : : : : : 16

1.9 Transic~ao Fonte (Source) antes e apos o Disparo : : : : : : : 17 1.10 Transic~ao de Absorc~ao (\Sink") antes e apos o Disparo: : : : 17 1.11 Transformac~ao de uma Rede Impura em Pura : : : : : : : : 19 1.12 Rede N1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22

1.13 Grafo das Marcac~oes Acessveis : : : : : : : : : : : : : : : : : 23 1.14 Grafo das Marcac~oes Acessveis In nito : : : : : : : : : : : : 24 1.15 Condic~oes Externas Associadas as Transic~oes : : : : : : : : : 26 1.16 Rede Etiquetada : : : : : : : : : : : : : : : : : : : : : : : : : 27 1.17 Rede Rotulada : : : : : : : : : : : : : : : : : : : : : : : : : : 28 1.18 Rede Binaria e n~ao-Ponderada : : : : : : : : : : : : : : : : : 30 2.1 Sequenciamento : : : : : : : : : : : : : : : : : : : : : : : : : : 34 2.2 Distribuic~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34 2.3 Junc~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35

(11)

2.4 Escolha N~ao-Determinstica : : : : : : : : : : : : : : : : : : : 36 2.5 Con ito Estrutural e Efetivo : : : : : : : : : : : : : : : : : : 36 2.6 Atribuic~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 37 2.7 Confusion Simetrica e Assimetrica : : : : : : : : : : : : : : : 38 2.8 Atividades Paralelas : : : : : : : : : : : : : : : : : : : : : : : 40 2.9 Exclus~ao Mutua : : : : : : : : : : : : : : : : : : : : : : : : : 41 2.10 Interface usando Lugares : : : : : : : : : : : : : : : : : : : : 43 2.11 Maquina de Estado - Detector de Sequ^encia : : : : : : : : : : 44 2.12 Detector de Sequ^encia : : : : : : : : : : : : : : : : : : : : : : 45 2.13 Computac~ao Data ow : : : : : : : : : : : : : : : : : : : : : : 46 2.14 Unidades Funcionais em Pipeline : : : : : : : : : : : : : : : : 48 2.15 Pipeline : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 48 2.16 Comunicac~ao entre Processos com Reconhecimento e por Bu er 50 2.17 Comunicac~ao entre Processos : : : : : : : : : : : : : : : : : : 50 2.18 Protocolo de Comunicac~ao: : : : : : : : : : : : : : : : : : : : 51 2.19 Produtor/Consumidor : : : : : : : : : : : : : : : : : : : : : : 52 2.20 Produtor/Consumidor com Bu er Limitado : : : : : : : : : : 53 2.21 O Jantar dos Filosofos : : : : : : : : : : : : : : : : : : : : : : 55 2.22 Computac~ao Simples : : : : : : : : : : : : : : : : : : : : : : : 56 2.23 Fus~ao dos Lugares : : : : : : : : : : : : : : : : : : : : : : : : 57 2.24 If a then B else C : : : : : : : : : : : : : : : : : : : : : : : : : 57 2.25 While a do B : : : : : : : : : : : : : : : : : : : : : : : : : : : 58 2.26 For a n do B : : : : : : : : : : : : : : : : : : : : : : : : : : : 59 2.27 Computac~ao-Fraca da Adic~ao : : : : : : : : : : : : : : : : : : 61 2.28 Computac~ao-Fraca da Multiplicac~ao : : : : : : : : : : : : : : 61 2.29 Subclasse Maquina de Estado : : : : : : : : : : : : : : : : : : 63 2.30 Subclasse Grafo de Eventos : : : : : : : : : : : : : : : : : : : 64 2.31 Subclasse Escolha Livre : : : : : : : : : : : : : : : : : : : : : 65

(12)

3.1 Rede N : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 69 3.2 Rede Limitada (Bounded) : : : : : : : : : : : : : : : : : : : : 70 3.3 Rede Segura (Safe) : : : : : : : : : : : : : : : : : : : : : : : 71 3.4 Transformac~ao de Rede N~ao-Segura(Unsafe) em Segura(Safe) 72 3.5 Rede N~ao-Segura : : : : : : : : : : : : : : : : : : : : : : : : : 73 3.6 Rede Segura : : : : : : : : : : : : : : : : : : : : : : : : : : : 73 3.7 Redes Live e Non-Live : : : : : : : : : : : : : : : : : : : : : : 74 3.8 Nveis de Liveness : : : : : : : : : : : : : : : : : : : : : : : : 75 3.9 Persist^encia : : : : : : : : : : : : : : : : : : : : : : : : : : : : 77 3.10 Reversibilidade : : : : : : : : : : : : : : : : : : : : : : : : : : 79 3.11 Bounded Fairness : : : : : : : : : : : : : : : : : : : : : : : : 79 3.12 Fairness Incondicional : : : : : : : : : : : : : : : : : : : : : 80 3.13 Estritamente Conservativa : : : : : : : : : : : : : : : : : : : : 82 3.14 Conservac~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : 83 3.15 Rede n~ao Conservativa : : : : : : : : : : : : : : : : : : : : : : 84 3.16 Repetitividade : : : : : : : : : : : : : : : : : : : : : : : : : : 85 3.17 Arvore de Cobertura : : : : : : : : : : : : : : : : : : : : : : : 88 3.18 Grafo de Cobertura: : : : : : : : : : : : : : : : : : : : : : : : 89 3.19 Arvore de Cobertura - Veri cac~ao de Propriedades : : : : : : 90 3.20 Grafo de Cobertura - Veri cac~ao de Propriedades : : : : : : : 90 3.21 Problemas com a Alcancabilidade : : : : : : : : : : : : : : : 91 3.22 Problemas com Liveness : : : : : : : : : : : : : : : : : : : : 91 3.23 Alcancabilidade de uma Marcac~ao : : : : : : : : : : : : : : : 93 3.24 N~ao-Alcancabilidade : : : : : : : : : : : : : : : : : : : : : : : 94 3.25 Fus~ao de Elementos : : : : : : : : : : : : : : : : : : : : : : : 98 3.26 Sub-redes R1eR2 : : : : : : : : : : : : : : : : : : : : : : : : : 101

3.27 Rede R : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102 3.28 Reduc~oes - Fus~ao de Lugares Serie : : : : : : : : : : : : : : : 105 3.29 Reduc~oes - Fus~ao de Transic~oes Serie : : : : : : : : : : : : : : 106

(13)

3.30 Reduc~oes - Fus~ao de Lugares Paralelos : : : : : : : : : : : : : 106 3.31 Reduc~oes - Fus~ao de Transic~oes Paralelas : : : : : : : : : : : 107 3.32 Reduc~oes - Eliminac~ao de Self-loop : : : : : : : : : : : : : : : 107 4.1 Teste de Zero Marcas em Lugares Limitados : : : : : : : : : : 112 4.2 Teste de Zero Marcas: : : : : : : : : : : : : : : : : : : : : : : 113 4.3 Redes Coloridas - Estudos Iniciais : : : : : : : : : : : : : : : 114 4.4 Modelo da Linha de Manufatura Usando Redes Ordinarias : : 115 4.5 Modelo da Linha de Manufatura Usando Redes Coloridas : : 117 4.6 Jantar dos Filosofos - Modelo com Redes Place/Transition : : 118 4.7 Jantar dos Filosofos - Modelo com Redes Coloridas : : : : : : 119 4.8 Superpagina : : : : : : : : : : : : : : : : : : : : : : : : : : : : 122 4.9 Subpagina : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 123 4.10 Superpagina - Aquisic~ao e Transfer^encia de Informac~oes : : : 124 4.11 Subpaginas - Aquisic~ao e Transfer^encia de Informac~oes : : : : 124 4.12 Transic~ao com Disparo At^omico : : : : : : : : : : : : : : : : 126 4.13 Marcac~ao Habilitando Duas Transic~oes : : : : : : : : : : : : : 127 4.14 Sistema de Contagem : : : : : : : : : : : : : : : : : : : : : : 128 4.15 Relogio : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128 4.16 Modelo : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 129 5.1 Atribuic~ao : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134 5.2 Input : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134 5.3 Output : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135 5.4 Skip : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 136 5.5 Stop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 137 5.6 Sequence: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 138 5.7 Conditional : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139 5.8 Loop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 140 5.9 Parallel : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141

(14)

5.10 Alternation : : : : : : : : : : : : : : : : : : : : : : : : : : : : 142 5.11 Alternation - Regulador de Fluxo : : : : : : : : : : : : : : : : 144 5.12 Rede dos Processos Comunicantes : : : : : : : : : : : : : : : 146 5.13 Processo P1 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147

5.14 Processo P3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147

5.15 Pagina K3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 148

5.16 Processo P4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 149

5.17 Pagina K5 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 149

5.18 Sistema de Controle Sequencial : : : : : : : : : : : : : : : : : 150 5.19 Linha de Produc~ao de Bebidas : : : : : : : : : : : : : : : : : 154 5.20 Diagrama Eletrico : : : : : : : : : : : : : : : : : : : : : : : : 154 5.21 Modelos Elementares : : : : : : : : : : : : : : : : : : : : : : : 159 5.22 Modelo Global : : : : : : : : : : : : : : : : : : : : : : : : : : 160 5.23 Estado S0 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163 5.24 Estado Se : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163 5.25 Sintoma : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 164 5.26 Desabilitac~ao de l3 : : : : : : : : : : : : : : : : : : : : : : : : 165

(15)

Introduc~ao

A teoria inicial das redes de Petri foi apresentada na tese de doutoramento Kommunikation mit Automaten do Dr. C. A. Petri em 1962 na faculdade de Matematica e Fsica da Universidade de Darmstadt na ent~ao Alemanha Ocidental. O trabalho de Petri atraiu a atenc~ao de A.W Holt que, em conjunto com outros pesquisadores, desenvolveu muito da teoria, notac~ao e representac~ao das redes de Petri. De 1970 a 1975, o grupo de estrutura da computac~ao do MIT foi o mais ativo na na conduc~ao da pesquisa sobre redes de Petri. Em 1975, houve uma Confer^encia sobre redes de Petri, no entanto n~ao houve publicac~ao dos anais [19]. Em 1979, pesquisadores de varios pases europeus reuniram-se em Hamburgo para um curso avancado sobre a Teoria Geral das Redes de Processos e Sistemas [54]. Seguiram-se diversos outros trabalhos propondo alterac~oes ao modelo original, tais como redes com arco inibidor, e redes temporizadas determinsticas e estocasticas. Hoje em dia, redes de Petri e considerada uma tecnica para especi cac~ao de sistemas concorrentes consolidada. Grupos de pesquisa em todo o mundo t^em redes de Petri como tema, desenvolvendo estudos sobre seus aspectos teoricos e suas aplicac~oes.

Diversas tecnicas de modelagem matematica de sistemas em diversas areas da ci^encia t^em sido propostas. Barroca e McDermid [50] apresenta a seguinte classi cac~ao:

1. Tecnicas Baseadas em Modelos:

Fornece uma descric~ao abstrata explcita sobre estados e operac~oes que transformam os estados, no entanto n~ao oferece meios explcitos para

(16)

especi car concorr^encia. Ex.: Z [55].

2. Tecnicas Baseadas em Algebra de Processos.

Estas tecnicas fornecem meios explcitos para especi car concorr^encia. O comportamento dos processos e representado atraves de comuni-cac~oes observaveis. Ex.: CCS [49], CSP [56] e LOTOS [57, 86]. 3. Tecnicas Baseadas em Logica.

Uma grande variedade de tecnicas baseadas em logica tem sido pro-postas, onde se analisam as relac~oes causais e aspectos relacionados a temporizac~ao. Ex.: Logica Modal de Ac~oes [58].

4. Tecnicas Baseadas em Redes.

Estas tecnicas modelam concorr^encia, atravesde mecanismos implcitos de uxo de tokens na rede. Este uxo e controlado por condic~oes que habilitam a realizac~ao de tarefas (eventos). Ex.: redes de Petri. Redes de Petri e uma tecnica de especi cac~ao de sistemas que possibilita uma representac~ao matematica e possui mecanismos de analise poderosos, que permitem a veri cac~ao de propriedades e a veri cac~ao da corretude do sistema especi cado. Usando-se redes de Petri pode-se modelar sistemas paralelos, concorrentes, assncronos e n~ao-determinsticos [3]. Algumas a-bordagens matematicas t^em sido propostas; entre estas uma que trata as redes de Petri sob o ponto de vista da algebra matricial [1, 2], outra con-forme a teoria bag [4] e uma terceira baseada em relac~oes. Neste trabalho, de niremos e apresentaremos os principais conceitos das redes de Petri sob esses pontos de vista, mostrando quando cada um desses tratamentos e mais conveniente. Neste trabalho, apresentamos um grande numero de mode-los de problemas classicos, bem como modelagem, propriedades, metodos de analise uteis na veri cac~ao dessas propriedades e extens~oes as redes de Petri. A representac~ao gra ca das redes de Petri(ver gura 1.2) tem se mos-trado muito util, pois permite a visualizac~ao dos processos e a comunicac~ao entre eles. As redes de Petri s~ao formadas por dois tipos de componentes: um ativo denominado de transic~ao e outro passivo denominado lugar. Os lugares correspondem as variaveis de estado e as transic~oes as ac~oes (even-tos) realizadas pelo sistemas. A realizac~ao de uma ac~ao esta associada a algumas prcondic~oes (condic~ao de alguma variaveis de estado), ou seja, e-xiste uma relac~ao entre os lugares e as transic~oes, que possibilita a realizac~ao de uma ac~ao. De forma semelhante, apos a realizac~ao de uma ac~ao, alguns

(17)

lugares ter~ao suas informac~oes alteradas (pos-condic~oes). Gra camente, os lugares s~ao representados por crculos e as transic~oes por tracos ou barras (ver gura 1.1).

Lugar :

Transicao : ou

Figura 1.1: Elementos Basicos

Estes dois elementos s~ao os vertices do grafo associado as redes de Petri. Os vertices s~ao interligados por arcos dirigidos. Os arcos que interligam lugares as transic~oes correspondem a relac~ao entre as condic~oes verdadeiras, que em um dado momento, possibilitam a execuc~ao das ac~oes, enquanto os arcos que interligam transic~oes aos lugares representam a relac~ao entre as ac~oes e as condic~oes que se tornam verdadeiras com a execuc~ao das ac~oes.

Lugar transicao Lugar p t p 0 0 1 Figura 1.2: Grafo

Os vertices de uma grafo associada a uma rede de Petri podem ser in-terligados por multiplos arcos. Por exemplo, um lugar pode ser conectado a uma transic~ao atraves de diversos arcos ou vice-versa. Por conveni^encia, podemos substituir os multiplos arcos por um unico arco valorado, onde o numeral associado ao arco corresponde ao numero de arcos que interligam os vertices (ver gura 1.3).

Exemplo 1

Ilustramos os conceitos informalmente apresentados descrevendo o ci-clo repetitivo dos turnos (perodos) de um dia. Dividamos o dia em tr^es

(18)

3 2 p p p t p t p p 0 1 2 0 1 2

Figura 1.3: Arcos Valorados

perodos: manh~a, tarde e noite, ou seja, ha tr^es condic~oes. A transic~ao de uma dessas condic~oes para uma outra, por exemplo - amanhecer (noite !

manh~a), s~ao os eventos. O modelo que representa o ciclo operacional des-se sistema e formado pelas tr^es condic~oes, repredes-sentadas por tr^es variaveis de estado (lugares), e por tr^es eventos (transic~oes): amanhecer, entardecer e anoitecer. Para representar a situac~ao atual, ou seja, em que condic~ao encontra-se o sistema modelado, usamos uma marca grafada (um ponto) no lugar que corresponde a essa situac~ao, por exemplo: a condic~ao atual e ma-nh~a. Na gura 1.4.a temos o modelo que representa este sistema e a sua situac~ao atual. manha tarde noite amanhecer anoitecer entardecer manha tarde noite amanhecer anoitecer entardecer

Figura 1.4: Perodos do Dia

Nesse modelo, temos a condic~ao atual representada pela marca no lugar manh~a. Estando nesta condic~ao o unico evento que podera ocorrer e entarde-cer, que e representado pela transic~ao de mesmo nome. Na ocorr^encia desse

(19)

evento, teremos uma nova situac~ao atual, ou seja: tarde, que e representada gra camente, na gura 1.4.b, por uma marca no lugar tarde.

Exemplo 2

A seguir, apresentamos um outro modelo em redes de Petri que repre-senta algumas das tarefas de uma linha de montagem. Neste modelo, des-crevemos o empacotamento e envio ao setor de expedic~ao de conjuntos de parafusose porcas, contudo, n~ao representamos as tarefas da manufatura dos parafusos e porcas. Este sistema forma conjuntos de tr^es parafusos e tr^es porcas. Um novo conjunto so podera ser empacotado quando o conjunto atualmente produzido for enviado a fase seguinte do processo. Apos os pa-cotes (conjuntos) serem formados, estes s~ao enviados ao setor de expedic~ao. A gura 1.5 apresenta o modelo que representa esta linha de montagem.

3 3 Parafusos Porcas Deposito Monta Pacote Pacote Envia Pacote Maquina

Figura 1.5: Linha de Produc~ao

Apos a manufatura dos parafusos, estes s~ao depositados no lugar Para-fusos. De forma semelhante, as porcas s~ao armazenadas no lugar Porcas. A transic~ao Monta Pacote, que representa a tarefa de formac~ao dos conjun-tos (porcas e parafusos), so estara apta a ser disparada quando houver no mnimo tr^es parafusos e tr^es porcas nos lugares Parafusos e Porcas, respec-tivamente. Sendo satisfeita esta condic~ao, o disparo de Monta Pacote retira tr^es marcas do lugar Parafusos e tr^es marcas do lugar Porcas e deposita uma marca no lugar Pacote, que indica a montagem de um conjunto. Tendo sido produzido um pacote (marca no lugar Pacote), e possvel colocarmos este

(20)

pacote no deposito de sada da sec~ao (disparando-se Envia Pacote), para que esteja disponvel ao setor de expedic~ao. O pacote, ao ser colocado no deposito, possibilita a Maquina montar um outro conjunto, desde que haja parafusos e porcas su cientes, nos respectivos depositos de entrada.

A seguir, s~ao apresentados os conceitos basicos das redes de Petri, sua estrutura, o grafo associado, o conceitos de marcac~ao e suas regras de exe-cuc~ao. S~ao apresentados, ainda, exemplos de modelagem de aplicac~oes; no entanto, exemplos mais elaborados ser~ao descritos no proximo captulo e no captulo 5.

1.1 Estrutura das Redes de Petri

Nesta sec~ao, ser~ao apresentadas tr^es de nic~oes formais para as redes de Petri. Uma sobre o ponto de vista da teoria bag [4], que apresenta mapeamentos das transic~oes para os bags de lugares. Um bag e uma generalizac~ao do conceito de conjunto que admite a repetic~ao de elementos. Uma introduc~ao sumaria a teoria bag e apresentada no ap^endice 1. Uma segunda de nic~ao usa a notac~ao matricial [1]. E a terceira, de ne as redes de Petri atraves de relac~oes e pesos associados a estas relac~oes [5].

1.1.1 Estrutura De nida em

Bag

A estrutura das redes de Petri, segundo a teoria bag [4] e composta por cinco partes: o conjunto de lugares

P

, o conjunto de transic~oes

T

, o bag de entrada

I

, o bag de sada

O

e a capacidade associada a cada lugar. Para cada transic~ao existe uma func~ao de entrada, que e um mapeamento de uma transic~ao tj em um bag de lugaresItj. De forma semelhante, as func~oes de

sada mapeiam uma transic~aotj em um bag de lugaresOtj. Para denotarmos

conjuntos, utilizamos -f g e para os bags - [ ].

De nic~ao 1.1.1

-

Estrutura das Redes de Petri em bag

: de ne-se a estrutura de uma rede de Petri

R

, como uma quntupla R= (P;T;I;O;K), onde P = fp

1;p2;:::;pn

g e um conjunto nito n~ao-vazio de lugares, T = ft

1;t2;:::;tm

g e um conjunto nito n~ao-vazio de transic~oes. I :T ! P 1 e

um conjunto de bags que representa o mapeamento de transic~oes para lugares de entrada. O :T ! P

1 e um conjunto de bags que representa o

mapea-mento de transic~oes para lugares de sada. K :P NS

(21)

das capacidade associadas a cada lugar, podendo assumir um valor in nito.

Exemplo 1.1

A rede dos perodos do dia (ver gura 1.4) e formada por tr^es lugares e tr^es transic~oes, que representam respectivamente as variaveis de estados e as ac~oes realizadas pelo sistema. As pre-condic~oes para a realizac~ao das ac~oes s~ao representadas pelos bags I(ti), ou seja, para que o Amanhecer

possa acontecer, e necessario que a condic~aoNoiteseja verdadeira, dado que

I(Amanhecer) =fNoiteg. Os lugares que s~ao pos-condic~oes das transic~oes

ti s~ao representados pelos bags O(ti). A transic~ao Amanhecer tem como

lugar de sadaO(Amanhecer) =fManha~g.

RPeriodos do Dia= (P;T;I;O;K)

onde

o conjunto de lugares P e

P =fManh~a;Tarde;Noiteg,

o conjunto de transic~oes T e

T =fAmanhecer;Entardecer;Anoitecerg,

o conjunto de bags de entrada I e

I =f I(Amanhecer) = [Noite]; I(Entardecer) = [Manh~a];

I(Anoitecer) = [Tarde]; g;

o conjunto de bags de sada O e

O=f O(Amanhecer) = [Manha~]; O(Entardecer) = [Tarde];

O(Anoitecer) = [Noite] g;

e o conjunto de capacidades dos lugares k e

k=fkManh ~

a= 1;ktarde= 1;kNoite= 1g.

No exemplo acima, n~ao esta caracterizada a necessidade do uso da teoria bag, pois nenhuma transic~ao tem como entrada ou sada mais de um lugar.

(22)

Exemplo 2.1

A rede do exemplo Linha de Produc~ao(ver gura 1.5) possui estrutura que faz uso da teoria bag:

RLinha de Produc ~

ao= (P;T;I;O;K)

onde

o conjunto de lugares P e

P =fParafusos;Porcas;Pacote; Maquina, Depositog,

o conjunto de transic~oes T e

T =fMontaPacote;EnviaPacoteg,

o conjunto de bags de entrada I e

I =f I(MontaPacote); I(EnviaPacote) g;

I(MontaPacote) = [ Parafusos; Parafusos; Parafusos;

Porcas; Porcas; Porcas; Maquina ]; I(EnviaPacote) = [ Pacote ];

o conjunto de bags de sada O e:

O=fO(MontaPacote);O(EnviaPacote)

O(MontaPacote) = [Pacote]; O(EnviaPacote) = [Maquina;Dep osito ];

e o conjunto de capacidades dos lugares k e:

K=fkParafusos =!;kPorcas =!;kPacotes= 1;

kMaquina= 1;kDeposito =! g.

Observe-se que os bags de entrada da transic~ao Monta Pacote possui tr^es elementos Parafusos e tr^es elementos Porcas.

(23)

1.1.2 Estrutura De nida em Matriz

Devido aos resultados existentes nos estudos da algebra matricial, as redes de Petri utilizam este ferramental para a formalizac~ao de sua teoria, possi-bilitando a analise de propriedades comportamentais e estrutrais, que ser~ao adequadamente apresentadas no captulo 3.

Segundo o ponto de vista matricial, a estrutura das redes de Petri e re-presentada por uma quntupla formada pelo conjunto de lugares, o conjunto de transic~oes, a matriz de entrada das transic~oes, a matriz de sada das transic~oes e a capacidade de cada lugar, formalmente representado a seguir:

De nic~ao 1.1.2

-

Estrutura das Redes de Petri em Matrizes

: a es-trutura de uma rede e uma quntupla R= (P;T;I;O;K), onde P e um con-junto nito de lugares. T e um concon-junto nito de transic~oes. I :PT !IN

e a matriz de pre-condic~oes. O: P T ! IN e a matriz de pos-condic~oes.

K e o vetor das capacidades associadas aos lugares (K :P !IN S

f!g).

Se o conjunto de lugares ou o conjunto de transic~oes e vazio, a rede e dita degenerada.

Exemplo 1.2

Aqui apresentamos a estrutura da rede do exemplo perodos do dia, se-gundo a representac~ao matricial. O conjunto de lugares e transic~oes s~ao representados respectivamente por P e T. As matrizes I e O representam as pre-condic~oes e as pos-condic~oes, respectivamente, de todas as transic~oes das rede. A coluna Amanhecer da matriz I mostra que o lugar Noite e pre-condic~ao de Amanhecer. De forma semelhante, observamos na coluna

Amanhecer da matriz O que o lugar Manh~a e pos-condic~ao da transic~ao

Amanhecer. Estas duas matrizes representam a estrutura do modelo.

I =

Amanhecer Entardecer Anoitecer

0 1 0 0 0 1 1 0 0 Manha~ Tarde Noite O=

Amanhecer Entardecer Anoitecer

1 0 0 0 1 0 0 0 1 Manh~a Tarde Noite

(24)

Exemplo 2.2

Apresentamos as matrizes de entrada (I) e de sada (O) do exemplo da montagem de conjunto de parafusos.Observamos a coluna Monta Pacote, na qual temos representados os lugares de entrada desta transic~ao pelos respectivos pesos dos arcos, por exemplo, o arco que liga o lugar parafuso a esta transic~ao tem peso tr^es, sendo representado no componenteI(0;0) = 3.

I = MontaPacote EviaPacote 3 0 3 0 0 1 1 0 0 0 Parafusos Porcas Pacotes Maquinas Depositos O= MontaPacote EnviaPacote 0 0 0 0 1 0 0 1 0 1 Parafusos Porcas Pacotes Maquinas Depositos

1.1.3 Estrutura De nida por Relac~oes

E possvel de nirmos a estrutura das redes de Petri usando relac~oes [19]. A estrutura e formada por uma quntupla (P, T, A, V, K), composta pelo conjunto de lugares P, o conjunto de transic~oes T, o conjunto dos arcos que interligam lugares as transic~oes ou transic~oes aos lugares, a valorac~ao ou peso dos arcos representada por V e o conjunto das capacidades dos lugares K. Formalmente esta de nic~ao e apresentada a seguir:

De nic~ao 1.1.3

-

Estrutura das Redes de Petri por Relac~oes

: de ne-se a estrutura das redes de Petri por uma quntupla (P;T;A;V;K), onde T e o conjunto de transic~oes, P o conjunto de lugares, A o conjunto de arcos e V o conjunto de valorac~oes dos arcos. Os elementos de A s~ao arcos que conectam transic~oes a lugares ou lugares a transic~oes (A(P T)

S

(T

(25)

Comos vimos na de nic~ao acima, podemos dividir os elementos de A em dois sub-conjuntos - o conjunto das entradas as transic~oes e de sada das transic~oes,I =f(pi;tj)g e O=f(tj;pi)g, respectivamente.

Exemplo 1.3

A estrutura da rede de Petri do exemplo perodos do dia e da linha de produc~ao de parafusos e

RPeriodos do Dia= (P;T;I;O;K), onde

o conjunto de lugares P e:

P =f Manh~a;Tarde;Noiteg,

o conjunto de transic~oes T e

T =fAmanhecer;Entardecer;Anoitecerg,

o conjunto de arcos A e

A=f (Manha;Entardecer~ ); (Entardecer;Tarde);

(Tarde;Anoitecer); (Anoitecer;Noite);

(Noite;Amanhecer); (Amanhecer;Manh~a) g;

o conjunto de valorac~oes dos arcos V e

V =f1;1;1;1;1;1g

e o conjunto de capacidades dos lugares k e

k=fkManh ~ a= 1;kTarde= 1;kNoite= 1g.

Exemplo 2.3

RLinha de Produc ~ ao= (P;T;I;O;K), onde o conjunto de lugares P e

(26)

o conjunto de transic~oes T e

T =fMontaPacote;EnviaPacoteg;

o conjunto de arcos A e

A=f (Parafusos;MontaPacote); (Porcas;MontaPacote);

(Maquina;MontaPacote); (MontaPacote;Pacote);

(Pacote;EnviaPacote); (EnviaPacote;Maquina);

(EnviaPacote;Deposito) g;

o conjunto de valorac~oes dos arcos V e

V =f3;3;1;1;1;1g

e o conjunto de capacidades dos lugares k e

K =fkParafusos =!;kPorcas=!;kPacote = 1;kM 

aquina = 1;kDeposito=

!g:

Neste trabalho, tratamos as redes de Petri segundo o ponto de vista matricial e, quando conveniente, atraves do estudo dos bags, pois para mo-delos de grandes dimens~oes, as matrizes n~ao possibilitam uma representac~ao compacta, dado a sua esparcidade caracterstica.

1.2 Rede de Petri Marcada

Uma marca (tambem denominada cha ou token) e um conceito primitivo em redes de Petri, tal qual lugar e transic~ao. As marcas s~ao informac~oes atribudas aos lugares. O numero e a distribuic~ao de marcas nos lugares correspondem a marcac~ao (estado) da rede em um determinado momento. Nesta sec~ao apresentamos a de nic~ao formal de marcac~ao, assim como a de nic~ao de uma rede de Petri marcada.

De nic~ao 1.2.1

-

Marcac~ao

: sejaP o conjunto de lugares de uma rede R. De ne-se formalmente marcac~ao como uma func~ao que mapeia o conjunto de lugares

P

a inteiros n~ao-negativos M :P N.

(27)

Uma outra de nic~ao da marcac~ao das redes de Petri pode ser apresentada na forma vetorial.

De nic~ao 1.2.2

-

Vetor Marcac~ao

: sejaP o conjunto de lugares de uma rede R. A marcac~ao pode ser de nida como um vetor M = (M(p1); ...,

M(pn)), onde n= #P, para todopi2P tal que M(pi)2IN.

Em geral, a presenca de marcas em um lugar pode ser interpretada como a presenca de um recurso de um determinado tipo. Vale ressaltar, que o conjunto e a distribuic~ao de marcas em uma rede e a marcac~ao desta rede e esta representa o estado do modelo. Gra camente, as marcas s~ao represen-tadas por pontos colocados no interior dos lugares. E possvel designarmos o numero de marcas atraves de um numeral no interior dos lugares. Na gura 1.6 apresentamos as redes marcadas R1 e R2, cujos vetores marcac~ao

inicial s~ao representados respectivamente pelos vetoresMR1 0 e M R2 0 . p p p p p t t t t 1 2 3 4 5 1 2 4 2 2 Rede R1 p p p p p t t t t 1 2 2 4 5 1 2 3 4 Rede R2 3

Figura 1.6: Redes MarcadasR1 e R2

MR1 0 = 1 0 1 0 1 p1 p2 p3 p4 p

(28)

MR2 0 = 1 0 0 0 0 p1 p2 p3 p4 p5

Uma rede de Petri marcada pode ser de nida por uma dupla formada pela estrutura da rede (R) e uma marcac~ao inicial (M0) associada a rede. A

seguir apresentamos a de nic~ao formal das redes de Petri marcadas.

De nic~ao 1.2.3

-

Rede Marcada

: de ne-se uma rede de Petri marcada pela dupla RM = (R;M0), onde R e a estrutura da rede e M0 a marcac~ao

inicial.

O comportamento dos sistemas pode ser descrito em func~ao dos seus esta-dos e suas alterac~oes. Para simular o comportamento din^amico esta-dos sistemas a marcac~ao da rede de Petri e modi cada, a cada ac~ao realizada (transic~ao disparada), segundo algumas regras de execuc~ao. Estas regras s~ao apresen-tadas na sec~ao seguinte.

1.3 Regras de Execuc~ao

O disparo de transic~oes (execuc~ao das ac~oes) e controlado pelo numero e distribuic~ao de marcas nos lugares. Uma transic~ao t esta habilitada se, e somente se, todos os lugares de entrada (pi 2 P) de t t^em marcac~ao

M(pi)  I(pi;t). Denota-se a habilitac~ao de uma transic~ao t para uma

marcac~ao M' por -M0[t >. Vale ressaltar que a marcac~ao habilita o disparo

de uma transic~ao, contudo n~ao obriga o seu disparo (n~ao-determinismo). No exemplo da linha de produc~ao, a exist^encia de parafusos e porcas n~ao obriga a montagem dos conjuntos [8]. Disparando-se uma transic~ao t, retira-se um numero de marcas, igual ao peso do arco de entrada, de todos os lugares de entrada pi de t, e s~ao criadas marcas nos lugares de sada. O numero de

marcas criadas em cada lugar de sada da transic~ao t e igual ao peso do arco de sada. Denota-se a acessibilidade da marcac~ao M00 a partir de M0 pelo

(29)

p p p p p t t t t 1 2 4 5 1 2 3 4 Rede R2 3

Figura 1.7: Disparo de Transic~oes

A seguir, mostramos a alterac~ao da marcac~ao inicial M0 = (1;0;0;0;0)

da rede marcada R2, apresentada na sec~ao anterior, devido ao disparo da

transic~aot1. Se M0[tj > M 0, ent~ao M0(p) =M 0(p) I(p;tj) +O(p;tj); 8p2P x y u w z = 1 0 0 0 0 1 0 0 0 0 + 0 1 1 0 0 p1 p2 p3 p4 p5 MR0 2 = 0 1 1 0 0 p1 p2 p3 p4 p5

O disparo da transic~ao t1 altera a marcac~ao, retirando uma marca do

(30)

M0 pode ser obtida subtraindo-se o vetor marcac~ao atual M

0 pela coluna

correspondente a transic~ao disparada da matriz de entrada (I) e somando-se a coluna correspondente a transic~ao disparada da matriz de sada (O), conforme mostrado na gura 1.7. Formalmente, apresentamos as regras de execuc~ao das redes de Petri a seguir:

De nic~ao 1.3.1

-

Transic~ao Disparavel

: uma transic~ao t e disparavel para uma marcac~ao M (M[t > ) se, e somente se, M(p)I(p;t) para todo

pi 2 P. Se t e disparavel para uma marcac~ao M

0, ent~ao com o disparo de

t obtem-se uma nova marcac~ao M0 (M[t > M0), tal que: M0(p) = M(p)

I(p;t)+O(p;t), para todo p2P. p p p p t t t t 2 3 4 5 1 2 4 2 2 Rede R 1 3 p1

Figura 1.8: RedeR1 Marcada

Apresentamos na gura 1.8 as marcac~oes acessveis, da redeR1, atraves

dos disparos das transic~oes t1 e t3. A marcac~ao inicial M0 = (1;0;1;0;2)

habilita o disparo das transic~oes t1 e t3. Com o disparo de t1 obtemos a

marcac~ao M1 = (0;1;1;0;0); contudo, ao dispararmos, a partir de M0, a

transic~aot3, atingimos a marcac~aoM2 = (1;0;0;1;1).

A seguir, apresentamos dois casos particulares de con gurac~ao, que t^em regras de disparo distintas da apresentada. O primeiro caso, corresponde a transic~oes que n~ao possuem lugares de entrada. Estas transic~oes s~ao de-nominadas transic~oes fonte (source). A outra situac~ao especial, e aquela que apresenta transic~oes sem lugares de sada. Uma transic~ao sem lugar de sada e chamada de transic~ao de absorc~ao (sink). Uma transic~ao fonte esta sempre habilitada (ver gura 1.9) e o disparo de uma transic~ao de absorc~ao

(31)

consome marcas nos lugares de entrada, porem n~ao cria outros recursos (ver gura 1.10). A seguir de nimos formalmente as transic~oes de absorc~ao e fonte.

source t0 source t0

Figura 1.9: Transic~ao Fonte (Source) antes e apos o Disparo

De nic~ao 1.3.2

-

Transic~ao Source

: a transic~aotie de nida como

\Sour-ce" se, e somente se, I(p;t) = 0, para todop2P.

sink t

0 sink t0

Figura 1.10: Transic~ao de Absorc~ao (\Sink") antes e apos o Disparo

De nic~ao 1.3.3

-

Transic~ao Sink

: a transic~aoti e de nida como sink se,

e somente se, O(p;t) = 0, para todo p2P.

1.4 Matriz de Incid^encia

Utilizando-se a representac~ao matricial, a estrutura das redes de Petri e representada pelo conjunto de lugares, conjunto de transic~oes, matriz de en-trada e matriz de sada. Essas matrizes expressam as interconex~oes entre lugares e transic~oes dos modelos, dado que a matriz de entrada apresenta os lugares de entrada (pre-condic~oes) e a matriz de sada os lugares de sada (pos-condic~oes) das transic~oes, assim como a valorac~ao destas interconex~oes

(32)

(arcos). Quando uma transic~ao t dispara, a diferenca entre as marcac~oesM1

e M0 e igual a diferenca dada por O(p;t) I(p;t);para todo lugar p 2 P.

Denomina-se C = O I a matriz de incid^encia, dado que esta fornece a incid^encia de arcos de entrada e sada em cada transic~ao dos modelos. Esta matriz representa a estrutura dos sistemas modelados. A seguir, apresenta-mos a de nic~ao da matriz de incid^encia.

De nic~ao 1.4.1

-

Matriz de Incid^encia

: seja a redeR= (P;T;I;O;K), onde P e o conjunto de lugares, T o conjunto de transic~oes, I a matriz de entrada, O a matriz de sada e K a capacidade dos lugares. A matriz de incid^encia C das redes de Petri representa a relac~ao P T ! Z de nida

por: 8p2P; 8t2TjC(p;t) =O(p;t) I(p;t).

Embora a estrutura da rede seja representada pelas matrizes de entrada e sada e, consequentemente, pela matriz de incid^encia, em alguns casos a matriz de incid^encia n~ao possibilita a representac~ao desta estrutura comple-tamente.

1.5 Rede Pura e

Self-Loop

Os conceitos de self-loop e de rede pura s~ao de particular import^ancia, dado que a matriz de incid^encia de redes impuras n~ao representa a estrutura da rede.

Um par (pi;tj) formado por um lugarpie uma transic~aotj e denominado

self-loop, se pi e, ao mesmo tempo, pre-condic~ao e pos condic~ao de tj. Uma

rede de Petri e dita pura se n~ao tem self-loops.

De nic~ao 1.5.1

-

Rede Pura

: uma redeRk e dita pura se, e somente se,

n~ao contem nenhum self-loop, ou seja, I(pj;ti)O(pj;ti) = 0, para todos

ti2T; e pj 2P.

Uma rede com self-loops (impura) pode ser transformada (re nada) em uma rede pura atraves da introduc~ao de pares dummy. O par dummy cor-responde a um par formado por um lugar e uma transic~ao que re nam um self-loop. Este re namento pode ser observado na gura 1.11, onde temos a substituic~ao do arco de entrada do lugarp1 (I(p1) =t1) pelo par dummy

(33)

t p t t p p 1 1 1 2 2 1 p 3 p 3 Par dummy

Figura 1.11: Transformac~ao de uma Rede Impura em Pura

entrada da transic~ao t2. A transic~ao t2 e ent~ao associada como entrada do

lugar p1. t1 0 1 : p1 p3 : t1 t2 1 1 1 1 1 0 : 0 p1 p2 p3 :

Como mostrado anteriormente, a matriz de incid^encia e a representac~ao compacta das matrizes de pre e pos-condic~oes (I e O), ou seja, a matriz de incid^encia representa a estrutura do modelo. No entanto, observamos que u-ma rede impura (redes com self-loop) possui lugares que s~ao entrada e sada de uma mesma transic~ao. A estrutura dessas redes n~ao e completamen-te representada pela matriz de incid^encia, muito embora o comportamento do modelo continue sendo representado adequadamente pelas regras de exe-cuc~ao.

(34)

1.6 Sequ^encias Disparaveis

Se uma transic~ao t1 esta habilitada para uma marcac~ao M e uma segunda

transic~ao t2 esta habilitada para a marcac~ao M1, obtida apos o disparo de

t1, dizemos que a sequ^encia sq = t1;t2 esta habilitada para M. Ou seja, se

M[t1 > M1 e M1[t2 > M2 ent~aoM[t1;t2> M2. Desta forma, designamos o

disparo de uma sequ^encia sq2T porM[sq > M 0.

De nic~ao 1.6.1

-

Sequ^encias Disparaveis

: a sequ^encia sq esta habili-tada, possibilitando a obtenc~ao de uma marcac~ao M00, (M[sq > M00) se, e

somente se, ocorre um dos casos abaixo:

 sq=, onde e a sequ^encia vazia, tal que M

00=M;  sq=sq

0t, ondesq e uma sequ^encia de transic~oest

2T e existeM 0 tal

que M[sq0> M0 eM0[t > M00.

SeM[sq > M00, diz-se que sq e uma sequ^encia disparavel para M.

1.7 Func~ao de Proximo Estado

Seja R uma rede marcada e M uma marcac~ao que habilita uma transic~aotj,

denominamos func~ao de proximo estado aquela que possibilita a obtenc~ao de uma nova marcac~aoM0com o disparo de uma transic~aot

j da rede R, ou

seja, setj estiver habilitada temos (M;tj) =M0.

De nic~ao 1.7.1

-

Func~ao de Proximo Estado

: a func~ao de proximo es-tado de uma redeR= (P;T;I;O;M;K)e de nida se, e somente se,M(pi)

I(pi;tj), para todopi 2P. Sendo esta condic~ao satisfeita,(M;tj) =M 0(:

INn T ! INn), onde M 0(p

i) = M(pi) I(pi;tj) + O(pi;tj), para todo

pi 2P e n= #P.

E conveniente estender a de nic~ao de func~ao de proximo estado para mapear a marcac~ao e uma sequ^encia de transic~oes sq em uma nova marcac~ao. Tenhamos uma uma sequ^encia de transic~oest1;t2;t3;:::;tk e uma marcac~ao

M. A marcac~aoM =(M;t1;t2;t3;:::;tk) e resultado do disparo da transic~ao

t1, seguido de t2 e assim por diante ate o disparo detk, desde que o disparo

de cada uma dessas transic~oes gere uma marcac~ao que habilite a transic~ao seguinte.

(35)

De nic~ao 1.7.2

-

Func~ao de Proximo Estado Estendida

: a func~ao de proximo estado estendida para uma marcac~ao M e uma sequ^encia sq de transic~oes disparaveis ti de nida por: (M;tj;sq) = (((M;tj);sq) e

(M;) =M.

1.8 Equac~ao Fundamental

A equac~ao fundamental das redes de Petri (equac~ao de estados ou de mar-cac~oes) descreve o comportamento das redes, bem como possibilita a analise de propriedades comportamentais e estruturais que ser~ao apresentadas no captulo 3.

Como visto na sec~ao anterior, o disparo de uma transic~aot0, habilitada

por uma marcac~ao M0, gera uma nova marcac~ao M1(M0[t0 > M1). Esta

alterac~ao pode ser representada atraves da func~ao de proximo estadoM1=

(M0;t0).

M1habilita a transic~aot1e que disparada, habilitara uma nova transic~ao.

Se apos o disparo de uma sequ^encia de transic~oes sq = t0;t1;:::;tk

obtiver-mos uma marcac~ao M, podeobtiver-mos representar esse fato atraves da func~ao de proximo estado, ou sejaM =(M0;sq) =(M0;t0;t1;:::;tk).

Segundo a abordagem matricial das redes de Petri, uma transic~ao tj e

representada por um vetors(tj) com dimens~ao igual ao numero de transic~oes

da rede, onde todos os componentes desse vetor s~ao zero, exceto o j-esimo componente que tem valor unitario (s(tj)). Portanto,

M0

(p) =M0(p) I(p;tj) +O(p;tj);

8pi 2P:

pode ser representado por

M0

(p) =M0(p) I:s(tj)

T+O:s(tj)T =M

0(p) + (O I):s(tj)

T; 8pi2P

Representando as matrizes de pre e pos-condic~oes (I e O) atraves da matriz de incid^encia C (C=O I), temos:

M(p)0

=M0(p) +C:s(tj)

T; 8pi2P

(36)

Aplicando a sequ^encia de transic~oes sq na equac~ao acima, obtemos: M0(p j) =(M0(pj);sq) =M0(pj)+C:[s(t0) T+ s(t 1) T+:::+s(tk)T]; 8pi 2P:] O vetor [s(t0) T+s(t 1)

T+:::+s(tk)T] e denominado vetor caracterstico ou

vetor de Parikh, e e representado pors.

De nic~ao 1.8.1

-

Vetor Caracterstico

: o vetor caractersticos de uma rede R= (P;T;I;O;K) e um vetor de dimens~ao igual a #T, onde os com-ponentes deste vetor representam o numero de disparos de cada transic~ao.

A equac~ao M0(p) = M

0(p) + C:s;

8pi 2 P e denominada Equac~ao

Fundamental das Redes de Petri ou equac~ao de estados.

1.9 Grafo das Marcac~oes Acessveis

O grafo de marcac~oes acessveis e uma representac~ao gra ca do conjunto das marcac~oes que podem ser alcancadas para uma dada rede de Petri. O disparo de uma transic~ao modi ca a marcac~ao, conforme a marcac~ao atual e a estrutura da rede. Essas marcac~oes obtidas apos os disparos das transic~oes s~ao as marcac~oes acessveis de uma rede para uma determinada marcac~ao inicial. Na gura 1.12, apresentamos uma rede marcada (N1= (R1;M0)).

p p p p t t t t 2 3 4 5 1 2 4 2 2 3 p 1 Figura 1.12: RedeN1

O vetorMk representa a k-esima marcac~ao da rede R1( Mk = (m(p1);

m(p2); m(p3);m(p4);m(p5)) eA(R;M0) = fM

0;M1;M2;M3

go conjunto das

(37)

M0= (1;0;1;0;3))

M1= (0;1;1;0;1))

M2= (0;1;0;1;0))

M3= (1;0;0;1;2))

Constroi-se o grafo das marcac~oes acessveis atraves da veri cac~ao e dis-paro das transic~oes disparaveis para uma dada marcac~ao inicial e repetindo-se esrepetindo-se processo para as marcac~oes obtidas com esrepetindo-ses disparos. Os vertices desse grafo s~ao as marcac~oes e os arcos que interconectam esses vertices representam o disparo de cada transic~ao.

M M M 0 1 M 3 2 t 1 2 t t3 t4 t 3 t4 t t 1 2

Figura 1.13: Grafo das Marcac~oes Acessveis

Na rede marcada da gura 1.12, podemos disparar a transic~ao t1 e a

transic~aot3. O disparo det1 leva a rede para a marcac~aoM1 e o disparo de

t3para a marcac~aoM3. Na marcac~aoM1podemos disparart2et3. O disparo

det2 retorna a marcac~ao inicial da rede. O disparo det3, a partir deM1faz

com que a rede atinja a marcac~aoM2. Na marcac~aoM2, as transic~oest2et4

est~ao habilitadas. Disparando-set4 retorna-se a marcac~aoM1 e

disparando-se t2 atinge-se M3. Em M3 e possvel retornar-se a marcac~ao M2, pelo

disparo de t1 ou a marcac~ao inicial pelo disparo det4.

De nic~ao 1.9.1

-

Conjunto das Marcac~oes Acessveis

: seja uma rede marcadaN = (R;M0); de ne-se conjunto das marcac~oes acessveisA(R;M0)

pelo conjunto de marcac~oes obtidas a partir de uma marcac~ao inicialM0pelo

(38)

A(R;M0) =

fMi 2 INmg, tal que existe uma sequ^encia de transic~oes sq,

que M0[sq > Mi, onde m = #P e Mi so e alcancavel se, e somente se,

Mi 2A(R;M):

Na gura 1.13, apresentamos o grafo das marcac~oes acessveis (GA) da rede R1. O grafo das marcac~oes acessveis pode ser de nido por uma dupla

GA(R;M0) = (Mi;a

(i;j)), onde Mi

2 A(R;M

0) s~ao os vertices do grafo e

a(i;j) os arcos. Os arcos representam a alterac~ao da marcac~ao pelo disparo

das transic~oes. Apresentamos, a seguir, a de nic~ao do grafo das marcac~oes acessveis (grafo de acessibilidade) a estas marcac~oes:

De nic~ao 1.9.2

-

Grafo das Marcac~oes Acessveis

: seja uma rede mar-cadaN = (R;M0); de ne-se grafo das marcac~oes acessveis GA, por um par

GA(R;M0) = (Mi;a

(i;j)), onde Mi

2 A(R;M

0) s~ao os vertices do grafo e

a(i;j) os arcos. Os arcos representam M

0[> M00 se, e somente se, existe uma

transic~ao t tal queM0[t > M00 (mudanca de marcac~ao).

p p p t t t 0 1 2 0 1 2 M M M M 0 1 2 3 t t t 0 1 2 t t t t 0 2 0 1 ... ... ... ... (a) (b)

Figura 1.14: Grafo das Marcac~oes Acessveis In nito

O vetor Mk = (m(p0);m(p1);m(p2)) representa o vetor marcac~ao da

rede da gura 1.14, ou seja, o primeiro componente desse vetor representa a marcac~ao do lugar p0 para a k-esima marcac~ao. O segundo componente

representa a marcac~ao do lugar p1 e o terceiro componente, a marcac~ao do

(39)

M0 = (1;0;0))

M1 = (0;1;1))

M2 = (1;0;1))

M3 = (1;1;0))

Para a rede da gura 1.12, observamos que o numero de marcac~oes a-cessveis e nito, portanto e possvel representar, atraves do grafo de mar-cac~oes acessveis, todas as marmar-cac~oes obtidas com os disparos das transic~oes. No entanto, um grande numero de modelos pode ter um numero in nito de marcac~oes, o que torna impossvel a representac~ao dessas marcac~oes nesse grafo. Para exempli car esta situac~oes observemos a rede da gura 1.14.a. A marcac~ao inicial desta rede (M0 =

f1;0;0g) habilita o disparo da

tran-sic~ao t0, alterando a marcac~ao da rede para M1 =

f0;1;1g. A marcac~ao

M1 possibilita tanto o disparo de t1 quanto o disparo de t2. Observe que,

tanto disparando a transic~ao t1 quanto disparando t2, teremos uma nova

marca no lugar p0, o que possibilita o disparo de t0, de tal forma que

te-remos um acumulo de marcas nos lugares da rede e consequentemente um numero in nito de marcac~oes. Nesse caso, a rede pode sempre atingir um estado diferente dos ja alcancados, fazendo com que o grafo das marcac~oes acessveis seja in nito, impossibilitando a representac~ao gra ca de todas as marcac~oes acessveis ( gura 1.14.b) do modelo. No captulo 3, apresentamos duas representac~oes gra cas que s~ao utilizadas para representar, nitamente, um numero in nito de marcac~oes.

1.10 Condic~oes Externas

Como ja apresentado, as transic~oes de uma rede de Petri representam as ac~oes. A execuc~ao de uma ac~ao pelo sistema, pode n~ao depender de nenhu-ma condic~ao externa ao sistenenhu-ma (entrada), contudo e possvel que a execuc~ao de uma ac~ao pelo sistema dependa n~ao so de condic~oes internas (marcas em lugares), como tambem de condic~oes externas ao sistema modelado. Pa-ra possibilitar esta necessidade de representac~ao, podemos associar estas condic~oes as transic~oes, ou seja, para que ocorra o disparo da transic~ao e necessario que tambem a condic~ao externa associada a transic~ao seja ver-dadeira. A gura 1.15 mostra uma rede onde temos associadas condic~oes externas as transic~oest e t .

(40)

e ( ) ne ( ) t0 p 0 t 1 p1 t2 t 3 p 2

Figura 1.15: Condic~oes Externas Associadas as Transic~oes

Imaginemos as atividades de um programador, que, apos encerrar a co-di cac~ao de um programa, compila os modulos fontes separadamente e pos-teriormente efetua a ligac~ao dos modulos obtidos. A rede da gura 1.15 apresenta abstratamente parte desse processo. Uma marca no lugar p0

in-dica que ha um programa disponvel, permitindo, portanto, que ele seja compilado (disparo de t1). As transic~oes t2 e t3 est~ao associadas as

con-dic~oes externas, (e) e (ne). Estas concon-dic~oes indicam se houve erro ou n~ao no processo de compilac~ao. Caso ocorra algum erro na compilac~ao, a tran-sic~ao t3 esta impossibilitada de disparo e a transic~ao t2 pode ser disparada

(possibilita uma nova compilac~ao, pois uma marca sera depositada no lugar

p0). Quando n~ao ocorrer nenhum erro na compilac~ao, e possvel disparart3,

possibilitando a execuc~ao das ac~oes subsequentes.

1.11 Associac~ao de Rotulos a Transic~oes

Em algumas oportunidades, no processo de modelagem de sistemas, dese-jamos n~ao tomar conhecimento ou mesmo confundir ocorr^encias de ac~oes (disparo de transic~oes). Para tal, rotulamos transic~oes distintas com o mes-mo nome, podendo inclusive usar-se, a ac~ao vazia.

Devemos de nir um alfabeto P

e associa-lo a rede. Realizamos esta associac~ao atraves da rotulac~ao de transic~oes da rede com smbolos de P

.

De nic~ao 1.11.1

-

Func~ao de Nomeac~ao

: seja uma uma rede R =

(P;T;I;O;K) e um alfabeto . A func~ao  : T !  e de nida como

(41)

Na gura 1.16 apresentamos uma rede onde todas as transic~oes est~ao rotuladas (etiquetadas). p p p p 0 1 2 3 a b c

Figura 1.16: Rede Etiquetada

Nesta rede temos as transic~oes rotuladas as ac~oes do tipo a, b, c e a ac~ao vazia . Uma transic~ao rotulada como uma ac~ao vazia, ou seja (tj) = 

n~ao aparece em qualquer sequ^encia de transic~oes disparadas.

Para que n~ao haja confus~ao entre condic~oes e rotulos nas transic~oes, adotaremos a convenc~ao de grafar as condic~oes sempre entre par^enteses.

1.12 Linguagens das Redes de Petri

As redes de Petri possibilitam a especi cac~ao, modelagem e veri cac~ao de propriedades de sistemas. Como ja observamos, as transic~oes modelam as ac~oes, a ocorr^encia de uma ac~ao e representada pelo disparo de uma transic~ao e as sequ^encias de ac~oes s~ao modeladas por sequ^encias de transic~oes. Essas sequ^encias de transic~oes s~ao extremamente importantes quando desejamos observar a equival^encia entre modelos. Duas redes s~ao ditas equivalentes se todas as sequ^encias de transic~oes fornecidas s~ao iguais. O conjunto de strings(sequ^encias de transic~oes) gerados por todas as possveis sequ^encias de disparo de nem uma linguagem formal denominada Linguagem da rede de Petri.

(42)

de estados nitos, desenvolveu-se a teoria das linguagens das redes de Petri. Na sec~ao anterior, apresentamos a rotulac~ao (nomeac~ao) de transic~oes das redes de Petri a partir de um alfabeto .

A gura 1.17 apresenta uma rede que tem suas transic~oes rotuladas con-forme o alfabeto  =fa;bg. Observe-se contudo, que uma transic~ao e

rotu-lada como ac~ao vazia (), que corresponde ao string vazio , e obviamente n~ao tem in u^encia na linguagem gerada.

a p b

p p

0

1

2

Figura 1.17: Rede Rotulada

Ainda na rede da gura 1.17, a transic~ao rotulada com a pode ser dispa-rada um numero in nito de vezes e o lugarp1acumula um numero de marcas

exatamente igual ao numero de disparo desta transic~ao. No entanto, quando dispararmos a transic~ao rotulada com uma ac~ao vazia, a transic~ao rotulada com a e impedida de ser disparada, pois a marca do lugarp0e consumida. O

disparo da transic~ao rotulada comdeposita uma marca no lugar p2, o que

habilita a transic~ao rotulada com b. Essa transic~ao podera ser disparada o mesmo numero de vezes que foi disparada a transic~ao rotulada com o smbolo a. A linguagem gerada pela rede da gura e L(R;M0) =a

nbn; n0. Um

trabalho mais detalhado sobre este tema pode ser encontrado em [4]. E importante salientar que a expressividade da rede de Petri supera o formalismo das gramaticas livre de contexto limitadas e express~oes regulares, uma vez que, face a inexist^encia de mecanismos de contagem (memoria) nes-ses formalismos, a linguagem L(R;M0) =a

nbn; n0 n~ao pode ser

expres-sa diretamente, tendo-se que recorrer ao artifcio de representar a linguagem como sendo L= (ab)n, impondo-se a gerac~ao casada dos smbolos.

(43)

1.13 Classes das Redes de Petri

Algumas classes de problemas t^em caractersticas que devem ser explicitadas ou mesmo representadas de forma mais compacta, na especi cac~ao. Apre-sentamos algumas dessas classes de problemas, bem como apontamos para algumas extens~oes as redes de Petri que os solucionam.

Em algumas fases do processo de desenvolvimento de um sistema, neces-sitamos representar o sistema em evoluc~ao com um maior ou menor deta-lhamento, de maneira compacta. Dependendo das dimens~oes do sistema, o modelo representativo pode ter dimens~oes n~ao praticas e n~ao elucidativas. Em outra fase do desenvolvimento pode ser necessario o esclarecimento de determinados aspectos, que em fases anteriores n~ao se faziam necessarios. Tendo em vista esses aspectos, a literatura fornece diferentes classi cac~oes para as redes de Petri.

 Redes de Petri Ordinarias:

RdPs Binarias ou Condic~ao-Evento Redes de Petri Place-Transition

RdPs N~ao-Ponderadas RdPs Ponderadas

 Redes de Petri N~ao-Ordinarias ou de Alto Nivel:

RdPs Predicado-Evento RdPs Coloridas

RdPs Hierarquicas

Aqui seguimos a classi cac~ao apresentada em [1], embora existam outras classi cac~oes na literatura.

1.14 Redes de Petri Ordinarias

As redes de Petri ordinarias caracterizam-se pelo tipo de suas marcas. Nessas classes de rede, o tipo das marcas e inteiro n~ao negativo, enquanto as redes de Petri n~ao-ordinarias possuem marcas de tipos particulares.

(44)

A classe binaria (condic~ao/evento) representa as redes mais simples entre todas as classes. Nessa classe, os lugares podem conter no maximo uma cha e todos os arcos t^em peso unitario. A gura 1.18.a apresenta uma rede dessa classe.

Nas redes Place-Transition os lugares podem acumular marcas, assim co-mo os arcos podem ser valorados. Alguns autores, contudo, fazem distinc~ao entre as redes em que os arcos t^em valores difrentes de um e as redes com arcos de peso igual a um.

As redes de Petri n~ao-ponderadas s~ao uma classe em que os lugares po-dem ter mais do que uma marca e a valorac~ao dos arcos e unitaria. A gura 1.18.a apresenta uma rede binaria, que descreve um processo que po-de utilizar dois recursos (r1;r2) e uma rede n~ao ponderada ( gura 1.18.b)

que representa o mesmo processo, de forma mais compacta, com apenas um lugar representando os recursos. O numero de marcas no lugar r indica a quantidade de recursos. p p p r r t t t 1 2 0 1 2 0 1 2 p p p r t t 0 1 2 0 1 2 t (a) (b)

Figura 1.18: Rede Binaria e n~ao-Ponderada

Nas redes ponderadas, os pesos dos arcos n~ao est~ao limitados a 1. Nessa classe de rede podemos ter arcos multiplos, que podem ser representados por um unico arco e associado a este, uma valorac~ao. A rede R1 da gura 1.12

(45)

1.15 Redes de Alto Nvel

As redes n~ao-ordinarias s~ao caracterizadas pelos tipos de suas marcas que n~ao s~ao mais elementos do tipo inteiro positivo. Nessas classes de redes, as marcas s~ao diferenciadas com par^ametros de cor, que permite a indivi-dualizac~ao da marca (a especi cac~ao de um objeto por sua cor) ou mesmo a marca representada n~ao por um unico objeto mas por um conjunto de objetos. Essas classes de redes ser~ao estudadas no captulo 4.

Todas as classes de redes que apresentamos t^em o mesmo poder de com-putacional, no entanto algumas dessas classes possibilitam um mais alto ou mais baixo nvel de abstrac~ao dos modelos. Dependendo da aplicac~ao ou mesmo do estagio de desenvolvimento, faz sentido a escolha de uma deter-minada classe de rede para a modelagem do problema. No entanto, nenhuma destas classes possibilita o teste a zero (testar se um lugar n~ao tem marca) de lugares com capacidade ilimitada (k=1). No captulo 4 apresentamos

algumas extens~oes as redes de Petri, que possibilitam esse teste e fornecem meios para a especi cac~ao de outras propriedades dos sistemas computacio-nais, tais como tempo e prioridade. As extens~oes aqui elucidadas s~ao as redes de Petri com arco inibidor, redes de Petri temporizadas determinsticas, es-tocasticas e com prioridades. Infelizmente, essas extens~oes reduzem o poder de decis~ao das redes de Petri. Alguns trabalhos investigam o uso de sub-classes de redes de Petri que possibilitem aumentar o poder de decis~ao, sem contudo reduzir em demasia o seu poder de modelagem.

No captulo seguinte, apresentamos a modelagem com redes de Petri, descrevendo uma serie de problemas classicos, que possibilitam a percepc~ao do poder de modelagem das redes de Petri.

(46)
(47)

Modelagem com Redes de

Petri e Sub-Classes

Este captulo apresenta inicialmente algumas redes basicas e essenciais para a modelagem de sistemas em geral [2]. Redes a partir das quais, torna-se possvel a modelagem de sistemas mais complexos [18, 17, 16, 12, 10, 46] em func~ao destas construc~oes elementares. Posteriormente, apresentamos uma serie de exemplos classicos, onde s~ao apresentados os seus modelos. Estes exemplos t^em aspectos importantes a serem observados, e a sua modelagem [25] serve tambem como um exerccio para uma posterior especi cac~ao de sistemas mais complexos.

2.1 Redes Elementares

As redes elementares [4] [2] s~ao utilizadas como blocos basicos que possibi-litam a especi cac~ao de aplicac~oes mais complexas. Nesta sec~ao veremos o modelo de sequenciamento, distribuic~ao, junc~ao, escolha n~ao-determinstica e atribuic~ao.

2.1.1 Sequenciamento

O sequenciamento e uma rede que representa a execuc~ao de ac~ao, desde que uma condic~ao seja verdadeira. Apos a execuc~ao desta ac~ao temos uma nova condic~ao que podera possibilitar a execuc~ao de uma nova ac~ao [2].

(48)

Na gura 2.1 apresentamos este modelo. Uma marca no lugar p0 habilita a

transic~aot0e com o disparo desta transic~aoe estabelecida uma nova condic~ao

(p1 e marcado). Esta nova condic~ao pode permitir o disparo de uma outra

transic~ao que esteja asociada ao lugarp1.

t

p p

0 0 1

Figura 2.1: Sequenciamento

2.1.2 Distribuic~ao

A rede que representa a distribuic~ao e apresentada na gura 2.2. Esta rede possibilita a criac~ao de processos paralelos a partir de um processo pai [2]. Nesta rede o disparo da transic~aot0, retira uma marca do lugar p0 e coloca

uma marca nos lugares p1 e p2. Estas novas condic~oes estabelecidas,

permi-tem a execuc~ao de outras tarefas paralelamente, ou seja, p1 e pre-condic~ao

para a execuc~ao de uma tarefa e p2 pre-condic~ao para a execuc~ao de uma

outra tarefa. t p p p 0 1 2 0 Figura 2.2: Distribuic~ao

2.1.3 Junc~ao

A rede que modela o sincronismo ou junc~ao e apresentada na gura 2.3. Esta rede possibilita a sincronizac~ao entre processos. Este modelo tem

(49)

fundamental import^ancia, pois na modelagem de atividades concorrentes frequentemente e necessaria a sincronizac~ao entre tarefas. Esta rede recom-bina duas tarefas, pemitindo que, por exemplo, um processo continue sua execuc~ao apenas apos o termino de outros processos espec cos [2].

t p p p 0 1 0 2 Figura 2.3: Junc~ao

O disparo da transic~ao t0 so e possvel quando existir uma cha nos

lugares p0 e p1. Esta condic~ao sendo satifeita, e possvel disparar-se t0.

Efetuando-se o disparo, retira-se uma cha dos lugares p0 e p1 e coloca-se

uma cha no lugar p2. Esta nova condic~ao estabelecida pode possibilitar a

execuc~ao de outras ac~oes do sistema.

2.1.4 Escolha N~ao-Determinstica

Nesta sec~ao apresentamos uma rede elementar que dependendo da aplicac~ao, e denominada con ito, escolha ou decis~ao. De niremos tambem os conceitos de con ito estrutural e con ito efetivo [2].

A rede elementar da gura 2.4 representa a escolha n~ao-determinstica do disparo de transic~oes. Neste modelo, o disparo de uma transic~ao inabilita o disparo da outra transic~ao.

Alguns autores, no entanto, enfatizam uma distinc~ao entre o que deno-minam con ito (escolha, decis~ao) estrutural e con ito efetivo.

De nic~ao 2.1.1

-

Con ito Estrutural

: duas transic~oes t0 et1 est~ao em

con ito estrutural se, e somente se, t^em um lugar p comum como entrada, ou seja 8p2P I(p;t 0) I(p;t 1) 6 = 0; 8p2P.

Na gura 2.5.a mostramos as transic~oes t1 e t2 em con ito estrutural.

(50)

t t p p p 0 0 1 1 2

Figura 2.4: Escolha N~ao-Determinstica

t t p p p 0 1 3 0 1 t t p p p 0 1 3 0 1 (b) (a)

Referências

Documentos relacionados

Assim, além de suas cinco dimensões não poderem ser mensuradas simultaneamente, já que fazem mais ou menos sentido dependendo do momento da mensuração, seu nível de

Em todos os disparos de transições, os timers de todas as transições são descartadas (restart) Nenhum histórico do passado é mantido Na nova marcação, um novo valor para o timer é

Chora Peito Chora Joao Bosco e Vinicius 000 / 001.. Chão De Giz Camila e

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

(a) deve terminar com return 0 para indicar que não ocorreu um erro (b) deve terminar com return 0 para indicar que ocorreu um erro (c) não pode conter a instrução return. As fases

O problema da tutela das minorias nas sociedades por quotas e anónimas fechadas 7.1 Inexistência de um direito geral de/à exoneração por justa causa no texto do CSC 7.2

Se vocˆe escreve um programa servidor usando a API de sockets e executa ele, mesmo sem ter nenhum cliente. conectado, a porta utilizada pelo servidor tem que aparecer na sa´ıda

Dadas as características dos condomínios empresariais e as nuances principais do processo de produção do território mostradas, é possível apontar como estas formas