Sumário Redes de Petri (RdP) Petri Nets Armando Jorge Sousa Versão 11, 15 Dez 2005 Apresentação: notação gráfica inc. marcação Concorrência, conflito e confusão Sincronização e recursos críticos Extensões de RdP Arcos, Inibidores, Hierarquia, Cores Classificação de RdP Espaço de estados Representação Algébrica Propriedades Ferramentas Referências 1 Armando Jorge Sousa 2 Armando Jorge Sousa Áreas de Aplicação Automação de escritórios; Automação de manufactura; Avaliação de desempenho; Protocolos de comunicação; Circuitos integrados e sistemas electrónicos; Sistemas de informação; Sistemas distribuídos; Sistemas de produção. História PhD de Carl Adam Petri, 1962 Expansão teórica e aplicações (197x) 197x RdP temporizadas 198x RdP Alto Nível Coloridas, estocásticas, (muitas!), etc Normalização em ISO/IEC-15909 A designação Rede de Petri é utilizada para muitas variantes!!! 3 Armando Jorge Sousa 4 Armando Jorge Sousa 1
O que são as RdP Ferramenta de múltiplos usos: Modelização, programação,... Generalização das Máquinas de Estados Mealy, Moore, (Grafcet),... Formalismo gráfico intuitivo Fácil análise e fácil projecto Fundamento matemático Simulável, demonstrável, adequado a projecto Notação Gráfica Posição, Estado ou Lugares (etapa) Eventos, Acções ou Transições Arcos dirigidos entre os anteriores Dinâmica, eventos associados a transições Estática, acções associadas a estados (Tal como nas máquinas de Moore e no Grafcet) 5 Armando Jorge Sousa 6 Armando Jorge Sousa Exemplo básico A RdP é definida como um conjunto de Lugares, Arcos e Transições Lugares e Transições numeradas (Lugares com marcação) Exemplo básico com marcação A RdP é um grafo marcado, isto é, adiciona-se uma marcação inicial t2 Marcas, Tokens t2 Marcação desta RdP: [, ]=[2,1] 7 Armando Jorge Sousa 8 Armando Jorge Sousa 2
Disparo de Transições Disparo de Transições - Marcações susceptível de ser disparada (enabled) p4 Situação (marcação) após disparo de p4 Marcação inicial: [,,p3,p4,p5]= =[1,1,1,0,0] Marcação após disparo de : [,,p3,p4,p5]= =[0,0,0,1,1] p4 p4 p3 p5 Todos os lugares de entrada de têm token p3 p5 Consumir 1 token de cada entrada e produzir 1 token em cada saída Operação atómica! p3 p5 p3 p5 9 Armando Jorge Sousa 10 Armando Jorge Sousa Concorrência, conflito e confusão Sincronização e recursos críticos Concorrência Conflito Confusão Localidade, Concorrência, Paralelismo, Atomicidade 11 Armando Jorge Sousa...... 12 Armando Jorge Sousa 3
Exemplo Diagrama de Blocos Solução 1 GO A1 B1 A2 B2 GO BACK M1 M2 Sistema Esq Dir M1 M2 ESQ DIR BACK Objectivo: Modelar o comportamento de 2 vagões de transporte de materiais, sincronizados no início e fim do percurso Parado A1 Parado A2 GO A1 B1 m1 dir m2 dir A2 B2 B1 B2 Parado B1 Parado B2 BACK B1 A1 m1 esq m2 esq B2 A2 A1 A2 13 Armando Jorge Sousa 14 Armando Jorge Sousa Solução 2 (estilo diferente) Solução 3 (estilo modelização do problema) Vagão i parado em A Vagão i A B Sensores Vagão i parado em B Vagão i A B Sensores Vagão 2 Vagão 1 GO m1 dir m2 dir BACK m1 esq m2 esq 15 Armando Jorge Sousa 16 Armando Jorge Sousa 4
RdP Coloridas Extensões de RdP Generalizada: arcos com peso (>0) Coloridas Capacidades (nos lugares) Hierárquicas Prioridades (...) Solução para 3 vagões Obs: É possível extender a marca «colorida» para uma marca «objecto», obtendo uma RdP Orientada ao Objecto Obs: Todas estas são convertíveis nas RdP originais, isto é, não acrescentam à teoria 17 Armando Jorge Sousa 18 Armando Jorge Sousa Extensões de RdP Arcos inibidores Contínuas Híbridas (discretas + contínuas) Sincronizadas+Informadas (eventos externos) T-Temporizadas (tempos nas transições) P-Temporizadas (tempos nos lugares) Temporais ([T min, T max ] para disparar t i ) Estocásticas... Classificação de RdP Autónomas Condição-Evento Não Autónomas Interpretadas Baixo Nível Elementares Sincronizadas Lugar Transição Predicado Transição Temporizadas Alto Nível Colorias Reactivas Objecto Referência adicional: http://pages.udesc.br/~r4al/artredpe.htm 19 Armando Jorge Sousa 20 Armando Jorge Sousa 5
Necessidade do Arco Inibidor Ex 1 RdP com Arcos Inibidores 21 Armando Jorge Sousa 22 Armando Jorge Sousa Ex 2 RdP com Arcos Inibidores RdP Hierárquica Transição de Entrada (Source) Chegada de Peças ao sistema Buffer de Peças à entrada 2 Máquina Simples 2 2 Máquina Dupla (> /peça) Transições de Saída (Sink) (saída de peças do sistema) Exemplo de RdP Hierárquica por Transição de Substituição (TS) (a) RdP com hierarquia; (b) Parte a substituir; (c) RdP equivalente 23 Armando Jorge Sousa 24 Armando Jorge Sousa 6
RdP Hierárquica Exemplo Armazém Exemplo de RdP Hierárquica por Lugar de Substituição (LS) (a) RdP com hierarquia; (b) Parte a substituir; (c) RdP equivalente 25 Armando Jorge Sousa 26 Armando Jorge Sousa Ex. Armazém com Capacidade Construção do espaço de estados Várias designações/técnicas possíveis: Grafo/árvore acessibilidade Grafo de estados; grafo/árvore de ocorrências Dada uma marcação inicial, o grafo será construído tendo por base todas as sequências de disparo de transições possíveis (RdP informada!!!). Cada marcação será representada por um nó do grafo, enquanto os arcos que os interligam têm associados a(s) transição(ções) que lhes deu(deram) origem Caso o grafo seja infinito (presença de lugares não limitados) será possível construir uma árvore reduzida (árvore de cobertura)... 27 Armando Jorge Sousa 28 Armando Jorge Sousa 7
Espaço de estados Representação Algébrica 29 Armando Jorge Sousa 30 Armando Jorge Sousa Invariantes Ex. Invariantes Invariante de disparo (t-invariant): W. x = 0 A marcação resultante do conjunto de disparo é igual à marcação inicial Invariante de marcação (p-invariant): W T. Y = 0 condição que se verifica para todas as marcações alcançáveis (dão informação relativa a recursos necessários à implementação) Exemplo: marcação(p3)+marcação(p4) é constante e sempre igual a 3 31 Armando Jorge Sousa 32 Armando Jorge Sousa 8
Propriedades Que propriedades a verificar? situações de bloqueio (deadlock); reversibilidade; quais os lugares seguros, limitados e não-limitados; quais as transições vivas, quase-vivas e mortas;... Propriedades Limitada: não gera marcações infinitas ω Segura: marcação máx=1 Conservativa: Σ marcação na RdP=constante Viva: após qualquer sequência de disparos, é possivel disparar qualquer transição [dead-lock=impossível disparar qualquer transição] Estudo da alcançabilidade e da árvore de cobertura... [efectivamente alcança-se/evita-se a situação X?] Propriedades estruturais (invariantes...) 33 Armando Jorge Sousa 34 Armando Jorge Sousa Técnicas para Verificação de Propriedades Verificação de Propriedades Análise do espaço de estados (grafo/árvore) estudo de qualquer propriedade (se for possível obter) Análise estrutural (invariantes) algumas propriedades Redução de sub-modelos (técnica auxiliar) A simulação do modelo pode ser utilizada como uma técnica de validação do comportamento do modelo (não fornece, no entanto, de forma garantida, respostas sobre as propriedades do modelo) 35 Armando Jorge Sousa 36 Armando Jorge Sousa 9
Verificação de Propriedades - Reduções Ferramentas... Petri Nets World, Tools & Software: http://www.informatik.uni-hamburg.de/tgi/petrinets/tools/ 61 Ferramentas listadas + outras ferramentas web Yet Another PN editor (made in S.Ind. LEIC/FEUP 1998) Compilador de RdP para C Escolhida uma: Visual Object Net ++ 37 Armando Jorge Sousa 38 Armando Jorge Sousa Exemplo da Ferramenta Redes de Petri Referências: Timed Petri Nets, J Wang, Kluwwer Acad Du Grafcet aux réseaux de Petri - René David Intelligent Control Systems: Introd. with Examples - EBook da ebrary da biblioteca FEUP (capít. 8) http://site.ebrary.com/lib/feup/top?channelname=feup&cpage=1&f00=text&frm=smp.x&hitsperpage=10&i d=10067285&layout=document&p00=%22petri+nets%22&sch=%c2%a0%c2%a0%c2%a0%c2%a0%c 2%A0Search%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0&sortBy=score&sortOrder=desc http://www.informatik.uni-hamburg.de/tgi/petrinets/ 39 Armando Jorge Sousa 40 Armando Jorge Sousa 10