Você está na página 1de 45

Redes de Petri

Redes de Petri

Prof. Jean-Marie Farines1


1 Departamentode Automação e Sistemas
Universidade Federal de Santa Catarina
farines@das.ufsc.br
Redes de Petri

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Bibliografia

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Bibliografia

Bibliografia

◮ Redes de Petri , Janete Cardoso e Robert Valette. Editora


da UFSC, 1997
◮ Coloured Petri Net (3 vol.), Kurt Jensen, Ed. Springer
◮ Petri Nets: Properties, Analysis and Applications, Tadao
Murata, Proceedings IEEE, 1989
◮ Petri Nets and Flexible Manufacturing, Manuel Silva,
Robert Valette, Lecture Notes 254, Ed. Springer-Verlag
◮ Petri Nets World : http:
//www.informatik.uni-hamburg.de/TGI/PetriNets/
Redes de Petri
Introdução

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Introdução

RdP: Introdução (1)

Modelo para análise de SEDs

◮ Desenvolvida por C.A. Petri (inı́cio dos 60)


◮ Ferramenta gráfica
◮ Uso em diversos nı́veis de abstração de um sistema
◮ Vários softwares desenvolvidos (análises lógica e de
desempenho, simulação, controle)
◮ Usado como modelo para programação de CLPs (GRAFCET -
norma européia)
◮ Versões não temporizada, temporizada, estocástica
Redes de Petri
Introdução

RdP: Introdução (2)

Elementos básicos:

◮ Condição, Recurso, Atividade → Lugar


◮ Evento → Transição
◮ Existência de uma condição, recurso ou atividade → Ficha
Redes de Petri
Introdução

RdP: Introdução (4)

Comportamento dinâmico:

◮ Estado → repartição das fichas nos lugares


◮ Ocorrência de evento → disparo de transição
◮ Mudança de estado →
◮ retirada de fichas dos lugares de entrada
◮ deposito de fichas nos lugares de saı́da
Redes de Petri
Definições

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Definições

RdP: Definições (1)

◮ Uma Rede de Petri é uma quádrupla R = hP, T , Pre, Posi


onde:
◮ P é um conjunto finito de lugares;
◮ T é um conjunto finito de transições;
◮ Pre: PxT → N (lugares precedentes de uma transição)
◮ Pos: PxT → N (lugares seguintes a uma transição)
◮ Rede de Petri marcada: RM = hR, Mi onde:
◮ M: P → N é a marcação inicial
Redes de Petri
Definições

RdP: Definições (2)


Exemplo:

P = {p1 , p2 , p3 } T = {a, b, c, d }
Pre(p2 , a) = Pre(p1 , b) = Pre(p3 , d ) = 1; Pre(p2 , c) = 3
Pos(p1 , a) = Pos(p2 , b) = Pos(p3 , c) = 1; Pos(p2 , d ) = 3
M(p1 ) = M(p3 ) = 0; M(p2 ) = 3
Redes de Petri
Definições

RdP: Definições (3)

Transição sensibilizada:

t está sensibilizada se ∀p ∈ P, M(p) ≥ Pre(p, t). Ou seja,


todos os lugares de entrada da transição devem conter um
número d fichas superior ou igual ao peso do arco
correspondente.

No exemplo, as transições a e c estão sensibilizadas


Redes de Petri
Definições

RdP: Definições (4)


Disparo da transição:

◮ O disparo pode ocorrer se a transição t está sensibilizada


◮ O disparo de t provoca mudança na marcação da rede

∀p ∈ P, M ′ (p) = M(p) − Pre(p, t) + Pos(p, t) ou


M ′ = M − Pre(., t) + Pos(., t)

Ou seja:
◮ retira-se de cada lugar de entrada de t, um número de
fichas igual ao peso do arco de entrada Pre(p, t), e
◮ coloca-se em cada lugar de saı́da de t, um número de
fichas igual ao peso do arco de saı́da Pos(p, t).
Redes de Petri
Definições

RdP: Definições (5)


Redes de Petri
Definições

RdP: Definições (9)


Conjunto de marcações acessı́veis:

Para uma rede R com marcação inicial M0 define-se:


◮ A(R, M0 ): o conjunto de marcações que se pode atingir
da marcação M0 através de seqüências de disparo
◮ Grafo de Acessibilidade:
◮ nós → marcações acessı́veis
◮ arcos → transições de estado
No exemplo:
Redes de Petri
Propriedades do Modelo

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Propriedades do Modelo

RdP: Propriedades (1)

Propriedades dependentes da marcação inicial M0

◮ Rede k-limitada:
◮ Um lugar p ∈ P de uma RdP é k-limitado para uma marcação
inicial M0 se,
para qualquer marcação acessı́vel M ′ , M ′ ∈ (p) ≤ k
◮ Uma RdP é k-limitada se todos seus lugares são k-limitados
(se k = 1, a Rede de Petri é binária)
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (2)

◮ Rede quase viva e viva:


◮ Uma RdP é quase viva para uma marcação inicial M0 se toda
transição t ∈ T é potencialmente sensibilizável pelo menos
uma vez:
∀t ∈ T , ∃s : M0 − st → .
◮ Uma RdP é viva para uma marcação inicial M0 se toda
transição t ∈ T permanece sempre potencialmente
sensibilizável

∀t ∈ T , ∀M ′ A(R, M0 ), ∃s : M ′ − st → .
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (3)

Rede viva Rede quase viva


Redes de Petri
Propriedades do Modelo

RdP: Propriedades (4)

◮ Rede reiniciável:
◮ Uma RdP é reiniciável para uma marcação inicial M0 se sua
marcação inicial é sempre atingı́vel

∀M ′ ∈ A(R, M0 ), ∃s : M ′ − s → M0
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (5)


Rede não reiniciável para M0 = 1 0 0 1 :
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (6)

Propriedades independentes da marcação inicial M0 ou


Propriedades Estruturais:

◮ Derivadas diretamente da estrutura da Rede de Petri


◮ Independentes da marcação inicial
◮ Propriedades: componentes conservativos de lugar e
componentes repetitivos estacionarios
◮ Invariantes de lugar: componentes conservativos +
marcação
◮ Invariantes de transição: componentes repetitivos +
marcação
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (7)

Exemplo:
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (8)

Componentes conservativos e Invariantes de lugar:

◮ Circuito p1 , p2 , a, b

M(p1 ) + M(p2 ) = M0 (p1 ) + M0 (p2 ) = 1


◮ Circuito p4 , p5 , c, d

M(p4 ) + M(p5 ) = 1
◮ Circuito p2 , p3 , p4 , a, b, c, d

M(p2 ) + M(p3 ) + 3.M(p4 ) = 3


Redes de Petri
Propriedades do Modelo

RdP: Propriedades (10)


Exemplo:

Pallets: M(p1 ) + M(p2 ) + M(p4 ) + M(p6 ) + M(p7 ) = Cte.


Robôs: M(p2 ) + M(p3 ) + M(p6 ) = Cte.
Máquinas: M(p4 ) + M(p5 ) = Cte.
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (11)


Componentes repetitivos estacionários e Invariantes de
transição

◮ Seqüência cı́clica de eventos que pode se repetir


indefinidamente; a seqüência de disparos correspondente
não modifica a marcação da rede
◮ Sub-rede a, b, p1 , p2 , p3 : componente repetitivo (a, b)
◮ Sub-rede c, d , p3 , p4 , p5 : componente repetitivo (c, d )
◮ M ′ = M + Cs : para que M ′ = M, é necessário Cs = 0
◮ Invariantes de transição: soluções s obtidas (nem todo
invariante corresponde a uma seqüência possı́vel):
 T  T
No exemplo: s1 = 1 1 0 0 ,s2 = 0 0 1 1
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (12)


Redes de Petri
Propriedades do Modelo

RdP: Propriedades (13)

Invariantes de lugar do exemplo anterior:

◮ I1 : M(p1 ) + M(p2 ) + M(p3 ) + M(p4 ) + M(p5 ) = 1


◮ I2 : M(p6 ) + M(p7 ) = 1
◮ I3 : M(p3 ) + M(p8 ) = 1
◮ I4 : M(p5 ) + M(p7 ) + M(p9 ) = 1
Redes de Petri
Propriedades do Modelo

RdP: Propriedades (14)

◮ Componentes repetitivos estacionários:


 T
◮ s1 = 1 1 1 0 0 0 0 0 ,
 T
s2 = 0 0 0 1 1 1 0 0 ,
 T
s3 = 0 0 0 0 0 0 1 1
◮ Ciclos:
a, b, c, p1 , p2 , p3 , p8
d, e, f , p1 , p4 , p5 , p9
g , h, p6 , p7 , p9
◮ Invariantes de transição: únicas seqüências disparáveis
s1 = abc, s2 = def , s3 = gh
Redes de Petri
Análise das Propriedades

Sumário

Bibliografia

Redes de Petri: Introdução


Redes de Petri
Análise das Propriedades

RdP: Análise

◮ Análise por enumeração de marcações


Verificação das propriedades de limitação, vivacidade e
reinicialização (“boas propriedades”)a partir do grafo de
marcações acessı́veis .
◮ Análise estrutural
Verificação de propriedades especı́ficas e de algumas das “boas
propriedades” a partir do calculo das componentes
conservativos e repetitivos e dos invariantes.
◮ Análise por redução
Redução do tamanho da rede, quando grafo de marcações é
muito grande e uso das análises anteriores sobre a rede
reduzida.
Redes de Petri
Análise das Propriedades

RdP: Análise

◮ Análise por enumeração de marcações:


◮ Algoritmo da árvore de cobertura:
◮ A partir de M0 , cada transição inicia um ramo
◮ O ramo é interrompido quando a marcação encontrada é igual
a outra já calculada e com os sucessores já calculados ou
estritamente superior a uma marcação do ramo que esta sendo
explorado (notação ω para a marcação estritamente superior).
◮ Propriedade de limitação da Rede:

Limitada se não houver ω na arvore de cobertura final.


Redes de Petri
Análise das Propriedades

RdP: Análise

◮ Análise por enumeração de marcações:


◮ Propriedade de reinicialização da Rede:
Grafo fortemente conexo (existe um caminho entre qualquer
par de nós):
∀Mi , Mj ∈ GA(R, M0 ), ∃s : Mi − s → Mj
◮ Propriedade de vivacidade da Rede:
Grafo fortemente conexo e todas as transições etiquetam pelo
menos um arco do grafo:
∀t ∈ T , ∃Mi , Mj ∈ GA(R, M0 ) : Mi − t → Mj
Redes de Petri
Análise das Propriedades

RdP: Análise (4)

◮ Análise por enumeração de marcações:


◮ Passos para a análise das propriedades:
◮ Verificar a limitação da rede pela arvore de cobertura;
◮ Se a rede for limitada, construir o grafo de marcações
acessı́veis;
◮ Verificar que o grafo de marcações acessı́veis é fortemente
conexo;
◮ Verificar que toda transição aparece ao menos uma vez como
etiqueta no grafo de marcações acessı́veis.
Redes de Petri
Análise das Propriedades

RdP: Análise

◮ Casos as redes componderação unitária


◮ Subclasse da Rede de Petri: Máquina de Estado
◮ Toda transição possui apenas um arco de entrada e um arco
de saı́da.
◮ Cada rede do tipo máquina de estado é um componente
conservativo.
◮ Rede do tipo máquina de estado é viva e reiniciálizavel, se
existe pelo menos uma ficha em cada componente
conservativo e se cada um destes é fortemente conexo.
Redes de Petri
Análise das Propriedades
Redes de Petri Interpretadas

Redes de Petri Interpretadas (1)

◮ Interpretar uma Rede de Petri: associar aos lugares,


transições e fichas, os elementos do sistema.
◮ Lugar: atividades, condições lógicas, procedimentos.
◮ Transição: evento, atividade ou procedimento indivisı́vel.
◮ Fichas: objetos fı́sicos, informações, estrutura de dados,
recursos.
Redes de Petri
Análise das Propriedades
Redes de Petri Interpretadas

Redes de Petri Interpretadas (2)

◮ Controle, dados e ambiente externo:


◮ Controle: Rede de Petri não-interpretada
◮ Dados: estruturas de dados e cálculos sobre estes(predicado e
ação)
◮ Ambiente externo: sensor (?) / atuador (!)
Redes de Petri
Análise das Propriedades
Redes de Petri Interpretadas

Redes de Petri Interpretadas (3)

◮ Análise:
◮ Estado da rede interpretada: marcação + estados dados
(variáveis internas e tempo)

Rede não-interpretada Rede interpretada


k-limitada para M ⇒ k-limitada para M + dados
f invariante de lugar ⇒ f invariante de lugar
viva 6= viva
reiniciável 6= reinicializavel
Redes de Petri
Análise das Propriedades
Redes de Petri Interpretadas

Redes de Petri Interpretadas (4)

◮ Modelagem:
◮ Encontrar a estrutura da rede de Petri (subjacente)
◮ Indicar os eventos que tem uma interação com o ambiente
externo
◮ Analisar a rede de Petri subjacente
◮ Simular a rede de Petri interpretada (controle e dados)
Redes de Petri
Análise das Propriedades
Redes de Petri e Representação do Tempo

Redes de Petri com Representação do Tempo (1)

◮ Redes de Petri Temporizadas:


◮ Duração θ(t) associada ao disparo da transição; as fichas
tornam-se invisı́veis durante o disparo.
◮ Duração θ(t) associada ao lugar; as fichas se tornam
indisponı́veis.
◮ Equivalência entre esses dois modelos.
Redes de Petri
Análise das Propriedades
Redes de Petri e Representação do Tempo

Redes de Petri com Representação do Tempo (2)

◮ Redes temporais:
◮ par de datas [θmin , θmax ] associado à transição

θmin : duração mı́nima da sensibilização antes do disparo θmax :


duração máxima de sensibilização
Redes de Petri
Análise das Propriedades
Redes de Petri de Alto Nı́vel

Redes de Petri de Alto Nı́vel (1)


Exemplo 1: Sistemas de Manufatura
Redes de Petri
Análise das Propriedades
Redes de Petri de Alto Nı́vel

Redes de Petri de Alto Nı́vel (2)


Exemplo 2: Leitores e escritores
Redes de Petri
Implementação

Redes de Petri: Implementação (1)

◮ Abordagem procedural:
A Rede descreve um processo seqüencial (componente
conservativo com uma ficha).
◮ Abordagem declarativa:
A Rede é vista como um Sistema de Regras de Produção
(cada transição é uma regra).
Redes de Petri
Implementação

Redes de Petri: Implementação (2)


Jogador da Rede de Petri:

Você também pode gostar