Redes de Petri (RdP)
Petri Nets
Armando Jorge Miranda de Sousa
Sumário
● 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
Á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 !!!
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)
Exemplo básico
● A RdP é um conjunto de Lugares, Arcos e Transições
● Lugares e Transições numeradas
p1 p2
t1
t2
Exemplo básico com marcação
● A RdP é um grafo marcado, isto é, adiciona-se uma marcação inicial
p1 p2
t1
t2
Marcas, Tokens Marcação desta RdP:
[p1 p2]=[2,1]
Disparo de Transições
● t1 susceptível de ser disparada
p2
p5
t1
p1
p3
p4
p2
p5
t1
p1
p3
p4
● Situação (marcação)após disparo de t1
Todos os lugares de entrada de t1 têm token
“Consumir” 1 token de cada entrada e “produzir” 1 “token” para cada saída
Operação atómica!
Concorrência, conflito e confusão
Localidade, Concorrência, Paralelismo, Atomicidade
Sincronização e recursos críticos
... ...
Solução 1
m1dir
m2dir
m1esq
m2esq
ParadoA1
A2Parado
GO BACK
ParadoB1
A1èB1
A2èB2B2
Parado
B1èA1
B2èA2
B1
B2
A1
A2
Solução 2 (estilo diferente)
m1dir
m2dir
m1esq
m2esq
GO BACK
Vag
ão 2
Vag
ão 1
Vagão i parado em A
Vagão i parado em B
Vagão i AèB
Vagão i AèB
Sens
ores
Sens
ores
Solução 3 (estilo modelização do problema)
Extensões de RdP
● Generalizada: arcos com peso (>0)
● Coloridas
● Capacidades (nos lugares)
● Hierárquicas
● Prioridades (...) Obs:Todas estas são convertíveisnas RdP originais, isto é, não acrescentam à teoria
● 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 ([Tmin , Tmax] para disparar ti)
● Estocásticas● ...
Extensões de RdP
Referência adicional: http://pages.udesc.br/~r4al/ARTREDPE.HTM
Necessidade do Arco Inibidor
Ex 2 RdP com Arcos Inibidores
2
Buffer de Peças à entrada
Máquina Dupla
(> �/peça)
MáquinaSimples
Tr. de Entrada (Source)
Tr. de Saída (Sink)
Chegada de Peças
Saída de Peças
2
2
Exemplo Armazém 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)...
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): WT . 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)
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...)
● 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)
Técnicas para Verificação de Propriedades
Verificação de Propriedades
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 ++
Exemplo da Ferramenta