Você está na página 1de 167

REDES DE PETRI

Conceitos – Propriedades – Modelagem e Simulação

Lindolpho Oliveira de Araújo Junior (2023)


AULA DO DIA 16/05/2023
REDES DE PETRI - HISTÓRICO

• As redes de Petri foram originalmente propostas por Carl


Adam Petri, em 1962, na Universidade de Darmstadt –
Alemanha, em sua tese de doutoramento.

http://valetterobert.free.fr/enseignement.d/livroweb101004.pdf
REDES DE PETRI - HISTÓRICO

Carl Adam Petri


http://www.ae-info.org
REDES DE PETRI - HISTÓRICO

Carl Adam Petri


Congresso em 2006
Faleceu em 2010
REDES DE PETRI - HISTÓRICO
REDES DE PETRI - HISTÓRICO
Carl Adam Petri, 1962, PhD University of Technology Darmstadt
introduz a ideia básica das redes
Início dos anos 70
primeiros artigos contribuindo para a teoria das Redes de Petri
Carl Adam Petri, 1976
aplicação por Petri do formalismo na área de química
Início dos anos 80
primeiras monografias a usarem a teoria das Redes de Petri
Reddy, 1993
primeiro artigo com aplicação das Redes de Petri em bio aplicações
Final dos anos 90
crescimento do interesse do uso de Redes de Petri para modelagem e
análise em bio networks e diversas outras áreas de SED
REDES DE PETRI - HISTÓRICO

• Formulada como um modelo


gráfico para descrever o
processamento de informações
em sistemas.
• Essas redes ao longo de vários
anos de desenvolvimento,
ganharam também um suporte
matemático importante que as
tornaram uma ferramenta
extremamente adequada para
modelagem e análise de
inúmeras aplicações.
REDES DE PETRI - HISTÓRICO
• Exemplos de aplicação em computação: Projeto de
hardware, protocolos de comunicação, compiladores e
sistemas operacionais, programação paralela e bancos de
dados, circuitos lógicos programáveis, etc...
REDES DE PETRI - HISTÓRICO
• Exemplos em outras áreas onde o modelo também tem sido
aplicado com sucesso são: Controle industrial de processos e
automação da manufatura, avaliação de desempenho,
modelagem de redes neurais, sistemas de transporte, sistemas
inteligentes, sistemas bio-inspirados, etc...
REDES DE PETRI - HISTÓRICO
• Por que é necessário um mecanismo formal de descrição?
• Quando um sistema vai ser concebido, ou quando ele já
existe e necessita ser analisado para sofrer manutenção ou
modificações.
• É comum encontrar situações onde o sistema foi descrito de
forma incompleta ou confusa, muitas vezes numa linguagem
coloquial, que permite diversas interpretações diferentes e
subjetivas para características ou funções que deveriam ter
uma única interpretação.
REDES DE PETRI - HISTÓRICO
• Por que é necessário um mecanismo formal de descrição?
• Um mecanismo formal de descrição, portanto, deve ser
capaz de auxiliar a elaboração das especificações do
sistema, evitar as ambiguidades na descrição de suas
funções, e também ser de fácil compreensão.
REDES DE PETRI - HISTÓRICO
• Por que é necessário um mecanismo formal de descrição?
• Deve-se pensar também em analisar e validar as
especificações, detectando erros e inconsistências antes
mesmo de qualquer tentativa de implementação.
• A análise de especificações de um sistema deve ser
entendida como sendo uma forma de mostrar que certas
propriedades do sistema são verdadeiras em qualquer caso,
evitando porém ter que enumerar e demonstrar todos os
casos possíveis.
REDES DE PETRI - HISTÓRICO

• Validar especificações de um sistema significa demonstrar


que, em qualquer caso e respeitadas as condições impostas
pelo meio onde o sistema irá residir, ele será capaz de
responder às exigências feitas nas especificações.
REDES DE PETRI - HISTÓRICO

• O processo de análise e validação de especificações é muito


importante, pois obriga o projetista a ir fundo em suas
considerações a respeito do projeto, eliminando
ambiguidades e incoerências
REDES DE PETRI - HISTÓRICO

• O que acaba por simplificar as etapas posteriores de


implementação e testes, gerando uma documentação final
extremamente útil, que pode inclusive conter procedimentos
operacionais e de manutenção, visando garantir as
especificações durante todo o tempo de vida útil concebido
para o sistema.
REDES DE PETRI - HISTÓRICO

• Portanto, é dentro desse contexto que as redes de Petri


devem ser examinadas.
REDES DE PETRI

• A característica mais destacável das redes de Petri é a sua


facilidade em representar paralelismo e concorrência, e
também as relações de causalidade entre as partes do
sistema.
• Isto se deve ao fato de ser uma técnica capaz de modelar o
estado do sistema em um nível maior de granularidade do
que o que é fornecido pela teoria convencional de
autômatos.
REDES DE PETRI

• O estado de uma rede de Petri é capaz de expressar variadas


condições que estejam ocorrendo simultaneamente em
diversas partes do sistema e o modelo permite descrever a
forma como estas condições afetam a transição entre
estados.
• Isto permite uma decomposição do sistema em processos
elementares e, ao mesmo tempo, permite que seja expressa
a forma como estes processos afetam uns aos outros.
• Estados Locais
REDES DE PETRI
MODELOS COMBINATÓRIOS
• As saídas do sistema, s1, s2 ... sn, são funções booleanas binárias
apenas das entradas e1, e2 ... en do mesmo.
• Ou seja: o conjunto de saídas fornecido pelo sistema num instante ti
é perfeitamente determinado conhecendo-se o conjunto das
variáveis de entrada aplicado a ele nesse instante.

• Ou genericamente: S = F [E]
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO

• Em sistemas sequênciais assíncronos, as saídas são funções


booleanas (binárias) não apenas das entradas, mas também
do estado interno do sistema sequencial.
• Estas funções podem ser definidas de duas maneiras distintas
(porém equivalentes) de acordo com a adoção do modelo
de Mealy ou de Moore para representação da máquina
sequencial.
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO
• Modelo de Moore: A função de saída é determinada pelo
estado presente e a atualização de estado (estado futuro)
depende da entrada presente e do próprio estado, ou seja:
z1 = f1 (x1, x2 ...xk)
z2 = f2 (x1, x2 ... xk) conjunto de equações de saída
zm = (x1,x2 …xk)

• Conjunto de equações de Estado:


x1 ( t + Dt ) = g1 [ x1(t), x2(t) … xk(t) ; el(t), e2(t) …en(t) ]
x2 ( t + Dt ) = g2 [ x1(t), x2(t) … xk(t); el(t), e2(t) …en(t) ]
::
xk ( t + Dt ) = gk [ x1(t), x2(t) … xk(t); el(t), e2(t) …en(t) ]
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO
• Dois grupos de equações definem completamente o
comportamento do sistema:

Z(t) = F [ x(t) ] Equações de saída


X( t + Dt ) = G [ x(t), E(t) ] Equações de Estado

• onde:
E = conjunto de entradas permitidas pelo sistema
Z = conjunto de saídas fornecidas
X = conjunto de estados internos do sistema
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO
• O modelo de Moore, onde F e G são funções da álgebra booleana binária, e (D ) representa
um elemento de memória, capaz de armazenar o estado interno do sistema durante um
certo tempo (D).
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO
• Modelo de Mealy: Neste modelo, tanto a função de saída, como a de
atualização de estado, dependem da entrada e do estado presente,
representados matematicamente como se segue:

z1 = fl [ ( x1, x2 ...xk ) ; ( e1, e2 ... en ) ]


z2 = f2 [ ( x1, x2 ...xk ) ; ( e1, e2 ...en ) ] equações de saída
::
zn = fn [ ( x1, x2 ...xk ) ; ( e1, e2 ...en ) ]

• Conjunto de Equações de Estado:

x1( t + Dt ) = g1 [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]


x2( t + Dt ) = g2 [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]
::
xk( t + Dt ) = gn [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]
REDES DE PETRI
MODELO SEQUENCIAL ASSÍNCRONO
• Generalizando as equações, onde F, G são funções booleanas binárias, e E, Z, X
representam os conjuntos já mencionados anteriormente, temos:
Z(t) = F [ X(t) . E(t) ] conjunto de equações de saída
X(t + Dt ) = G [ X(t), E(t) ] conjunto de equações de estado
REDES DE PETRI
MODELO SEQUENCIAL SÍNCRONO
• Nos modelos síncronos, as interações com o sistema se dão
em intervalos de tempo bem determinados sob o comando
de um relógio externo ao circuito.
• Ou seja: Os instantes de comutação do conjunto de variáveis
de entrada e saída, e do estado, estão sempre referenciados
às variações de uma variável binária particular (denominada
relógio externo) que chamaremos R(t), e que pode ser
periódico.
REDES DE PETRI
MODELO SEQUENCIAL SÍNCRONO
• Os modelos de Moore e Mealy anteriormente definidos,
podem então ser reescritos como sendo:
A) Modelo de Moore:
Z(tn) = F [ X(tn) ] equações de saída
X (tn) + 1) = G [ X(tn), E(tn) ] equações de estado

B) Modelo de Mealy
Z (tn) = F [ X(tn), E(tn) ] equações de saída
X (tn + 1 ) = G [ X(tn),E(tn) ] equações de estado
REDES DE PETRI
MODELO SEQUENCIAL SÍNCRONO
• Onde as referências de tempo t0, tl ... tn, poderão corresponder aos instantes para
os quais o relógio externo tenha valor lógico ZERO ou UM, ou ainda poderão
corresponder apenas aos instantes de variação positiva ou negativa do sinal de
relógio (sensíveis à borda do sinal de relógio).
REDES DE PETRI
MODELO SEQUENCIAL SÍNCRONO
• No modelo seqüencial síncrono, a discretização da variável tempo é obtida pela
introdução da variável R(t), que fisicamente corresponderá a um sinal externo de
sincronismo. Este sinal (Relógio) define, em última análise, os instantes permitidos de
interação do sistema com o meio externo.
AULA DO DIA 17/05/2023
REDES DE PETRI - TAXONOMIA
• As RdP são divididas em categorias, de acordo com o seu
tipo e poder de modelagem.
• Redes de Petri Gerais ou Generalizadas.
• Tipos de Restrições: capacidades de lugares, pesos dos arcos
• RP ordinárias: multiplicidade das ligações lugares-transições e
transições-lugares é sempre <= 1.
• RdP não-reflexivas: nenhum lugar pode ser simultaneamente entrada e
saída da mesma transição.
• RdP restritas: RP gerais com as restrições das RP ordinárias e das não-
reflexivas.
REDES DE PETRI - TAXONOMIA
• Algumas variantes das RdP:
• Cassandras [2] define RdP como um grafo cujos nós são os
lugares, os retângulos são as transições e os arcos (entre
lugares e transições ou transições e lugares) podem ter pesos,
representando a multiplicidade de ligações [1].
• Para David e Alla [3], as RdP generalizadas são abreviaturas
das RdP ordinárias.
• As RdP não-reflexivas (self-loop-free) são também designadas
por puras em [2].
REDES DE PETRI - TAXONOMIA

Taxonomia: ciência ou técnica de classificação


• Abreviaturas: têm o mesmo poder de modelagem das RP gerais,
mas apresentam uma estrutura simplificada.
• Capacidade finita: não mais do que K tokens permitidos em cada
lugar – uma RP geral equivalente pode obter-se associando a cada
lugar uma estrutura do tipo da utilizada com buffers limitados, K.
• RP coloridas: existe mais do que um tipo de token e os tokens são
coloridos. São ainda acrescentadas algumas funções associadas
aos arcos, que operam sobre a “côr” dos tokens.
REDES DE PETRI - TAXONOMIA

• Extensões das RdP: Normalmente o poder de modelagem


aumenta em relação às RdP gerais, mas o poder de decisão
diminui.
• RdP estendidas [1] (poder de modelagem das Máquinas de
Turing): RdP com arcos inibidores e prioridades.
• RdP contínuas, híbridas, difusas [3] (utilizadas na modelagem
de sistemas contínuos, híbridos ou através de lógica
paraconsistente).
REDES DE PETRI - TAXONOMIA
• RdP não-autônomas [3]: utilizadas na modelagem de sistemas
cuja evolução é determinada pelo tempo e/ou eventos externos,
em oposição às RdP já apresentadas, que são autônomas:
• RdP temporizadas (tempo determinístico associado à permanência num
lugar ou ao disparo de uma transição).
• RdP estocásticas (tempo estocástico associado à permanência num lugar
ou ao disparo de uma transição). As RdP estocásticas generalizadas
permitem ainda a mistura com transições imediatas (i.e., sem tempo
associado) e interruptores aleatórios, associados às transições que
compõem um conflito.
• RdP sincronizadas (disparo de transições é sincronizado com eventos
externos).
• RdP interpretadas (disparo de transições é sincronizado com eventos
externos e validade de condições lógicas sobre variáveis internas).
REDES DE PETRI - TAXONOMIA
• Bibliografia consultada
• [1] Peterson, James L., “Petri Net Theory and the Modeling of
Systems”, PrenticeHall, 1981
• [2] Cassandras, Christos G., “Discrete Event Systems – Modeling
and Performance Analysis”, Aksen Associates, 1993
• [3] David, R., Alla, H., “Petri Nets for Modeling of Dynamic
Systems”, Automatica, 30(2), pp 175-202, 1994
REDES DE PETRI
REGRAS DE EVOLUÇÃO DINÂMICA
• Regras de Evolução
• Para compreender a forma pela qual as redes de Petri evoluem ao longo do tempo e
podem modelar o comportamento dinâmico de um sistema, será introduzido o conceito
de validação(habilitação) e disparo das transições da rede.
• Definição 1 : Uma transição genérica da rede é dita habilitada, quando todos os lugares
de entrada desta transição possuem pelo menos uma marca (a transição t1 da RdP da
figura estará habilitada se existir pelo menos uma marca em P1 e P2).
• Uma transição habilitada pode disparar, e o seu disparo provocará uma evolução na
marcação da rede.
REDES DE PETRI
REGRAS DE EVOLUÇÃO DINÂMICA
• Regras de Evolução
• Definição 2 : O disparo de uma transição habilitada se faz de
acordo com as seguintes regras:
• a) Remover uma marca de cada um dos lugares de entrada
da transição (o número de marcas removida depende do
peso do arco que liga o lugar de entrada à transição;
• b) Depositar uma marca em cada um dos lugares de saída
da transição (o número de marcas a ser depositada no lugar
de destino da transição depende do peso da mesma e da
capacidade do lugar)
REDES DE PETRI
REGRAS DE EVOLUÇÃO DINÂMICA
• Os arcos podem ser ponderados (associados a um número inteiro e
positivo – peso do arco).
• Um arco com peso W equivale a um conjunto de W-arcos em paralelo.
• Arcos representados sem ponderação equivalem ao valor unitário de W.
• O número de marcas existentes numa determinada etapa num
determinado instante, também poderá ser associado ao conjunto de
números inteiros positivos, a letra K indica o número de marcas dentro de
cada lugar da RdP no instante representado.
• O disparo de uma transição significa retirar marcas de lugares de origem
da transição e depositar marcas nos lugares de destino dessa transição,
respeitando o peso de cada arco de entrada ou de saída.
REDES DE PETRI
DISPARO DA REDE
• Seqüência de disparo de transições
• Seja S uma sequência finita de transições pertencentes ao conjunto T = {t1
t2 ... ti ....tn } de transições da rede, ou seja:

S = {ti, ti + 1 ....ti+ k}.

• S será uma sequência de transições ativáveis a partir de uma certa


marcação Mi da rede, se e somente se, existem as marcações Mi+1 , Mi + 2
.... Mi+(k + 1) e estas marcações forem alcançáveis a partir do disparo das
transições correspondentes, ou seja:
Mi
ti Mi +1
ti+1 Mi +2 - - -- Mi +k
ti+k Mi +k+1
REDES DE PETRI
DISPARO DA REDE
Exemplo: Na rede ao lado, a sequência de
transições - S = {t1, t3, t5, t6, t7, t1, t2, t4} é uma
sequência ativável/alcançável a partir de
Mo = (100000000), pois temos a seguinte
evolução das marcações:
AULA DO DIA 23/05/2023
REDES DE PETRI
• Podem ser agrupadas em duas grandes classes:
a) Ordinárias
b) Não- Ordinárias (de Alto nível)

• As redes ordinárias se caracterizam pelo tipo de suas marcas,


ou seja, suas marcas são do tipo inteiro e não negativo

• As redes de alto nível possuem marcas de tipos particulares.


REDES DE PETRI
• As redes ordinárias se subdividem em:

• Rede Binária (Condição/Evento – C/E): é a rede mais


elementar dentre todas. Essa rede só permite no máximo um
token (marca) em cada lugar, e todos os arcos possuem valor
(peso) unitário.

• Rede Place-Transition (Lugar/Transição – L/T): é o tipo de rede


que permite o acúmulo de marcas no mesmo lugar, assim
como valores não unitários para os arcos.
REDES DE PETRI
• As redes de alto nível são caracterizadas pelos tipos de suas
marcas, que não são mais elementos do tipo inteiro positivo.

• Permitem a individualização de uma marca (pertencente a


um grupo) em um mesmo lugar.

• Essa individualização pode ser realizada através de vários


artifícios, como por exemplo: cor da marca ou objetos
representando os tokens.
REDES DE PETRI

• As redes de alto nível aumentam o poder de representação


de um modelo.

• Elas permitem uma maior clareza e um maior nível de


abstração ao modelo.

• No entanto a abstração da realidade pode não ser tão trivial.


REDES DE PETRI

• Lugares podem ser marcados ou não. RdP Marcadas


possuem marcas ou marcação.
• Um lugar marcado é representado por um ou mais pontos
desenhados dentro do círculo que representa o lugar .
• Estes pontos são chamados de tokens (marcas, bastão,
fichas).
• A quantidade de tokens que um lugar possui é o que define o
seu estado local e é chamada de marcação deste lugar.
REDES DE PETRI

• O conjunto dos lugares da rede de Petri forma o conjunto das


variáveis de estado que representam o sistema modelado.
• As marcações de todos os lugares em um dado momento é
uma característica importante da rede, representando o
estado global do sistema naquele momento.
• Este estado global, composto pelos estados de cada lugar
(estados locais), é chamado de marcação da rede.
REDES DE PETRI

• Os lugares são elementos passivos e definem os estados locais


do sistema, ou condições locais.

• Os lugares que estão ligados a uma transição através de


arcos, definem quando uma transição pode ocorrer e como
o estado é modificado após a sua ocorrência.
REDES DE PETRI

• As transições, por outro lado, são elementos ativos.

• Elas representam ações que podem ocorrer e que modificam


o estado do sistema (marcação da rede).
REDES DE PETRI
• Um arco ligando um lugar a uma transição representa uma
condição que deve ser verdadeira para que aquela
transição ocorra. Chama-se a este lugar de pré-condição da
transição.

• Para cada arco que liga qualquer lugar a esta transição deve
existir pelo menos um token naquele lugar. Por que?

• Se esta condição for satisfeita, diz-se que a transição está


habilitada para ser disparada (firing).
REDES DE PETRI
• Já um arco que liga a transição a um lugar representa a condição
que se torna verdadeira após a ocorrência da transição. Este lugar
é denominado de pós-condição da transição.
• Assim, quando esta transição ocorrer, deverá ser adicionado um
token ao lugar que é sua pós-condição para cada arco que liga a
transição a este lugar.
• Os tokens existentes nas pré-condições da transição e que a
tornaram habilitada são removidos após sua ocorrência. Diz-se que
eles foram “consumidos” pela transição.
• Todo este processo que acontece quando uma transição ocorre é
chamado de disparo da transição.
REDES DE PETRI
• Quando mais de um arco liga os mesmos elementos da rede,
digamos n arcos, é convencionado representar todos por
apenas um arco, acompanhado da notação numérica (rótulo)
“n”, indicando que se trata de um arco de peso n, ou seja, que
tem o mesmo valor de n arcos.
• A tarefa de avaliar as transições habilitadas e de proceder os
seus disparos, levando a rede a passar por uma seqüência de
estados ao longo do tempo é a simulação da rede, também
chamada de “token game”, jogador de marcas.
• A simulação é uma ferramenta importante para estudo do
sistema pois, através dela, é possível compreender vários
aspectos sobre o seu comportamento.
REDES DE PETRI
• RdP representam um modelo básico para sistemas paralelos e
distribuídos.
• Adam Petri in 1962 in his PhD Thesis: “Kommunikation mit
Automaten”. A ideia básica é descrever trajetórias dinâmicas
de estado em um sistema dinâmico (com transições de
estado).

Place – Lugar/Condição

Transition – Transição/Evento
REDES DE PETRI
• Redes de Petri contém lugares e transições conectadas por
arcos orientados
• Transições representam ações; Lugares representam estados
do Sistema ou condições que necessitam ser alcançadas
antes que uma ação possa ser finalizada.

Place – Lugar/Condição

Transition – Transição/Evento
REDES DE PETRI - COMPORTAMENTO
• Lugares podem conter marcas (tokens, bastão, fichas) que se movem através
dos lugares da RdP, após o disparo (firing), e com isso executar as ações do
Sistema.

• Na RdP, a transição t pode ser disparada “fire” se existirem marcas nos lugares
s1 e s3.
• O disparo de t irá remover as marcas de s1 e s3 e depositar marcas em s2 e s4.
REDES DE PETRI

LADDER
REDES DE PETRI

LADDER
REDES DE PETRI - SIMULADORES
• Alguns Jogadores de marca disponíveis para download.
• AlPiNA ARP CoopnBuilder Cosmos CPN-AMI CPN Tools Disc Software
• Platform Epnk Fluid Survival Tool GDToolkit Geist3D GHENeSys
• GreatSPN Helena HiQPN-Tool HISIm HPSim INA Income Suite IOPT-Tools ITS
• Tools JARP Jfern JPetriNet JSARP LoLA Maria
• Mercury mist mist2 MISTA Netlab ORIS P3 PED PEP PetitPetri Petrigen Petri-lld
• Petri Net Kernel PetriSim Petruchio Platform Independent Petri Net Editor 2 PNEditor
• PNetLab PNML Framework PNSim Pntalk Poses++ Predator PROD ProM framework QPME
• Renew SEA SIPN-Editor SNAKES Snoopy SPNP StpnPlay SYROCO TAPAAL The Model-
• Checking Kit TimeNET Tina Visual Object Net ++
• VisualPetri WebSPN WINSIM Wolfgang WoPeD XRL/flower Yasper YAWL
REDES DE PETRI
• Jogadores de Marcas (VisualObjectNet ++, PIPE2) – Uso
Acadêmico

• Tipos de RdP (C/E, L/T, RdP-T, RdP-C, RdP-PT, RdP Estocástica)

• Análises de Propriedades das RdP (Transições habilitadas,


Conflitos Estruturais, Diagramas Temporais)

• Exemplo de Uso da Ferramenta.


AULA DO DIA 24/05/2023
REDES DE PETRI
DISPARO DA REDE
Exemplo: Na rede ao lado, a seqüência de
transições - S = {t1, t3, t5, t6, t7, t1, t2, t4} é uma
seqüência ativável a partir de Mo = (100000000),
pois temos a seguinte evolução das marcações:
REDES DE PETRI
DIAGRAMA DE MARCAÇÃO DA REDE
• Diagrama de marcações da rede
• O diagrama de marcações da rede será definido a partir do conceito de
classe de marcações alcançáveis de M0, cuja notação usada será M0.
• Trata-se de um conjunto de marcações Mi da rede, acessíveis a partir de uma
marcação inicial M0.
• Ou seja: Para as quais existe ao menos uma seqüência de disparo Si, atingível
a partir de M0, e que conduza a Mi.
Mi  M0, se somente se, existe Si tal que M0 → Si → Mi
Obs: Si pode ser uma sequência vazia e portanto, M0 С M0

• Para outra marcação inicial Mj, a classe de marcações subsequentes será


diferente.
• Existe, portanto, uma classe associada a cada marcação inicial da rede.
REDES DE PETRI
DIAGRAMA DE MARCAÇÃO DA REDE
• Diagrama de Marcações de uma rede
• É um diagrama representado através de um grafo orientado,
onde o conjunto de NÓS é chamado de M0, e o conjunto de
arcos (Mi, Mj) é definido como se segue:

• Sobre cada arco estão indicadas as transições que, quando


ativadas, provocam a mudança da marcação Mi para Mj.
• Um arco do conujnto de nós M0 conecta uma marcação Mi a
uma marcação Mj.
REDES DE PETRI
DIAGRAMA DE
MARCAÇÃO DA REDE

Exemplo de Diagrama de Marcações


EXEMPLO: O JANTAR DOS FILÓSOFOS
• São quatro filósofos sentados a beira de uma mesa de jantar.
• Existem garfos na mesa, porém um para cada filósofo.
• Os filósofos desejam comer espaguete de uma grande bacia
no centro da mesa.
• Infelizmente, o espaguete é de um tipo escorregadio e um
filósofo precisa de dois garfos para comê-lo.
• Os filósofos concordaram com o seguinte protocolo para
obter os garfos:
• Inicialmente, os filósofos pensam sobre a filosofia, quando
ficam famintos fazem o seguinte: (1) pegue o garfo
esquerdo, (2) pegue o garfo direito e comece a comer, (3)
volte os dois garfos simultaneamente e repita desde o início
• Como podemos modelar o comportamento dos filósofos?
EXEMPLO: O JANTAR DOS FILÓSOFOS
FILOSOFANDO…
• Dois filósofos vizinhos comem ao mesmo tempo?
• Os filósofos podem morrer de fome?
• Um filósofo individual pode eventualmente comer, assumindo
que ele quer comer naquele momento?
REDES DE PETRI
LUGAR - TRANSIÇÃO

• Simulação através do jogador de marcas VisualObjectNet ++

• Exemplo 1: Regras de Transição


• Exemplo 2: Compartilhamento de recursos e bloqueio
AULA SÍNCRONA DO DIA
06/06/2023
REDES DE PETRI
LUGAR - TRANSIÇÃO
• Um lugar pode conter várias marcas, que podem ser interpretados
como recursos.
• Pode haver vários arcos de entrada e saída entre um lugar e uma
transição.
• O número desses arcos é representado como o peso de um único arco.
• Uma transição é habilitada se seu local de entrada contiver pelo
menos o mesmo número de marcas correspondente ao peso
correspondente do arco de entrada.
• Quando uma transição habilitada é disparada, seus pesos de arco de
entrada são subtraídos das marcas dos lugares de entrada e os pesos
dos arco de saída são adicionados aos lugares de saída.
REDES DE PETRI
LUGAR - TRANSIÇÃO
a) Lugar.
b) Transição.
c) Arco ligando um lugar a uma
transição.
d) Arco ligando uma transição
a um lugar

Obs.: Uma RdP é um grafo


bipartido
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
• O modelo das redes de Petri pode ser descrito de formas
variadas.
• Existe uma abordagem que define as RdP em termos da
teoria de bag (extensão de conjunto que aceita repetição de
elementos),
• Outra abordagem as define em termos de álgebra matricial
• Uma terceira se baseia no conceito de relações.
• Utilizaremos a representação matricial.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
• Uma rede de Petri é uma 4-tupla
• R = (P, T, I, O)
• Onde,
• P é o conjunto finito de lugares;
• T é o conjunto finito de transições;
• I : P x T → N é a matriz de entrada (ou de pré-condições);
• O : P x T → N é a matriz de saída (ou de pós-condições).
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO

• As matrizes de entrada e de saída contêm, em cada


elemento aij, o peso do arco que liga o lugar pi à transição tj,
se existir um arco, ou zero, caso não exista nenhum arco entre
pi e tj.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO

• Os arcos presentes na matriz de entrada (I) são aqueles que


partem do lugar e apontam para a transição correspondente,
ou seja, são aqueles que entram nas transições.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO

• Os arcos na matriz de saída (O) são aqueles que partem da


transição e apontam para o lugar, ou seja, saem das
transições.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
• A RdP ao lado modela a comunicação entre dois
servidores.
• Quando o servidor A está pronto para enviar uma
mensagem, um token é colocado no lugar
“pronto_para_enviar”.
• A transição “envia_msg” é então habilitada.
• O disparo desta transição gera um token para o lugar
“transmissão”, indicando que a transmissão de uma
mensagem está ocorrendo.
• O lugar “pronto_para_receber” indica que o servidor B
está esperando a chegada de uma mensagem.
• Quando este lugar e o lugar “transmissão” possuirem um
token cada, a transição “recebe_msg” será habilitada.
• O disparo desta transição consumirá o token colocado
no lugar “transmissão”, indicando que a mensagem foi
recebida e a transmissão foi concluída.
• Um token do lugar “pronto_para_receber” também é
retirado e depois do disparo é colocado de volta,
liberando o servidor B para a recepção de uma nova
mensagem.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
A estrutura correspondente à rede do
exemplo anterior é representada
formalmente como a seguir:

• R = (P, T, I, O)
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
• Para representar a marcação da rede pode-se utilizar uma definição
em termos de função ou em termos vetoriais.
• Ao ser utilizada a representação matricial para redes de Petri, se torna
mais coerente a utilização da representação vetorial de marcação,
conforme a seguinte definição:
Seja P o conjunto de lugares de uma rede R, o vetor marcação M é definido como:
M = ( m(p1), m(p2), ..., m(pn) )
Onde,
pi  P;
n = quantidade de lugares (P);
m(pi)  N, corresponde à marcação do lugar pi.

• A associação de uma rede (estrutura) a uma marcação é chamada


de rede marcada.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
Uma rede de Petri marcada é um par RM = (R, Mo)

Onde,
R é uma rede de Petri tal que R = (P, T, I, O);
Mo é o vetor marcação que representa a marcação inicial da
rede.
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO

A marcação da rede apresentada


ao lado é caracterizada pelo vetor
abaixo:
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO
• Regras formais que regem o comportamento dinâmico de
uma rede.
• Considere para as definições anteriores para uma rede de
Petri dada por:
R = (P, T, I, O)
Uma transição t está habilitada (ou é disparável) em uma
marcação M sse:
Para todo p  P, m(p) ≥ I(p, t)
Denota-se a habilitação desta transição na marcação M por:
M [t >
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO
• Uma transição que não possui nenhum lugar como pré-
condição sempre satisfará esta condição e, portanto, sempre
estará habilitada.
• Este tipo de transição é chamada de transição fonte (ou
source).
• Uma transição habilitada pode ser disparada, mas este
evento não é obrigatório.
• O disparo de uma transição ocorre de forma não-
determinística.
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO
• A definição formal do disparo de uma transição é dada por:
O disparo de uma transição t em uma marcação M altera esta
marcação, gerando uma nova marcação M’ tal que:

m'(p) = m(p) – I(p, t) + O(p, t), para todo p  P

Esta equação corresponde ao processo de remoção de tokens de lugares que são


précondições da transição (por isso a subtração do elemento da matriz de entrada) e
a adição de tokens aos lugares que são pós-condiçãões da transição disparada
(adição do elemento da matriz de saída).

• Quando o disparo de uma transição t em uma certa marcação M gera


uma marcação M’, denota-se isto por
M [t > M’
RDP: LUGAR – TRANSIÇÃO
MODELO MATEMÁTICO
• Para o exemplo de comunicação
entre servidores, observa-se que
quando ocorre o disparo da
transição “envia_msg”, do ponto de
vista matemático.
• O disparo desta transição irá levar a
rede da marcação M para uma
o

marcação M.
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO

• Transições que não possuem nenhum lugar como


pós-condição, quando disparadas, apenas
consomem marcas dos seus lugares de entrada.
• Tais transições recebem o nome de transições de
absorção (ou sink) [Murata89].
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO
• Tipos de disparo de uma RdP
• Existe uma semântica de disparo na qual todas as transições
habilitadas são disparadas ao mesmo tempo.
• Esta regra de disparo é chamada de semântica de passo
[Reisig85].
• Cada disparo de um conjunto de transições é chamado de
disparo de um passo.
• No caso de transições em conflito, o conflito precisa ser
resolvido antes do disparo, fazendo com que apenas uma
das transições dispare, desabilitando a(s) conflitante(s).
RDP: LUGAR – TRANSIÇÃO
COMPORTAMENTO DINÂMICO
• As definições dadas até o momento constituem os aspectos
fundamentais que regem a estrutura e o comportamento das
redes de Petri.
• Foram apresentados apenas os conceitos referentes à rede de
Petri Place/Transition.
• Estes conceitos são essenciais e formam a base sobre a qual os
outros modelos foram construídos.
• A teoria, entretanto, apresenta outros pontos que serão
importantes para a compreensão dos modelos mais complexos
e de aspectos relevantes relativos à questão da simulação.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• A partir das matrizes que definem a rede de Petri e das
equações que regem o seu comportamento, diversas
propriedades podem ser obtidas.
• Na verdade, isto é o que torna as redes de Petri uma técnica
poderosa: possibilidade de análise matemática sobre os
modelos.
• Uma estrutura que auxilia o estudo de uma rede de Petri é a
sua matriz de incidência, que é a diferença entre as matrizes
de saída (pós-condições) e entrada (pré-condições).
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Sejam I e O as matrizes de entrada e saída, respectivamente, de uma
rede de Petri, a matriz de incidência desta rede é dada por:
C=O–I
• Esta matriz é útil no cálculo de diversas propriedades da rede porque
representa a estrutura da rede de forma compacta.
• Mas para que isso seja verdadeiro é preciso que a rede não contenha
self-loops [Murata89].
• Um self-loop é um par (p, t) de lugar e transição onde este lugar é ao
mesmo tempo pré-condição e pós-condição da transição.
• Uma rede que contenha self-loops é dita impura e sua matriz de
inicidência não representa completamente a estrutura da rede.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Uma rede R = (P, T, I, O) é pura se, e somente se,

I(p, t) . O(p, t) = 0, para todo (p,t)  P x T

• Essa definição corresponde a dizer que a rede é pura quando


não possui self-loops.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Uma rede impura pode ser refinada
de forma que se torne uma rede pura
através da inserção de pares dummies
[Maciel96].
• Um par dummy é composto por um
lugar e uma transição ligados por um
arco que são inseridos entre a
transição e o lugar que pertencem a
um self-loop, de maneira que o
comportamento da rede seja mantido
a) Exemplo de self-loop
mas o self-loop seja eliminado. b) Refinamento por par dummy (fictício)
• A Figura ao lado demonstra um self-
loop e um refinamento através de um
par dummy que elimina o selfloop.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• É extremamente importante obter informações sobre que estados a rede pode
alcançar e quais transições precisam ser disparadas para que aqueles estados
possam ser alcançados.
• Assim, os conceitos de seqüências disparáveis e alcançabilidade são
extremamente importantes.
• Digamos que, em um certo estado, uma transição t1 esteja habilitada. Se esta
transição for disparada, levará o sistema a um novo estado em que uma outra
transição t2 pode estar habilitada.
• Quando isto ocorre, pode-se dizer que a seqüência t1;t2 estava habilitada no
primeiro estado.
• Assim, uma seqüência de transições  = t1;t2 está habilitada se M [t1 > M’ e M’
[t2 > M’’.
• Denota-se então o disparo desta seqüência por M [ > M’’.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Uma seqüência  é uma seqüência disparável para uma
marcação M, levando a rede para uma marcação
M’’ (M [s > M’’) se, e somente se,ocorrer um dos casos:
a)  é a seqüência vazia, tal que M [ > M’’ M’’ = M;
b)  = ’;t, tal que M [ > M’ e M’ [t > M’’

• A partir disto, pode-se definir a alcançabilidade de uma


marcação como:
Uma marcação M’ é alcançável a partir de uma outra marcação M se, e
somente se, existe  tal que M [ > M’.

• Se existir uma transição t na rede, tal que M [t > M’, diz-se que
M’ é diretamente alcançável a partir de M.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• No estudo de redes de Petri é preciso, em diversos casos, gerar
um grafo conhecido como Grafo de Alcançabilidade
(Reachability Graph) ou Grafo das Marcações Acessíveis da
rede.
• É um grafo que possui como nós o conjunto de todas as
marcações alcançáveis a partir de uma marcação inicial.
• Um arco conecta um nó M a qualquer outro nó M’ quando a
marcação M’ é diretamente alcançável a partir da marcação
M.
• Estes arcos correspondem ao disparo de transições que levam
a rede de cada marcação à outra.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Exemplo de Grafo de Alcançabilidade
AULA DO DIA 07/06/2023
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES

• Em uma certa marcação, pode acontecer de duas transições


estarem habilitadas de uma forma tal que o disparo de
qualquer uma delas leve a uma marcação na qual a outra
não está mais habilitada.
• Isto ocorre quando os tokens (marcas) consumidos pela
transição que disparou eram os mesmos que habilitavam a
outra transição.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES

• Diz-se, nesse caso, que as transições envolvidas se encontram


em conflito efetivo (o conflito estrutural, é a definição dada
ao caso em que duas transições compartilham um lugar
como pré-condição).
• Esta é uma situação que merece atenção, pois pode implicar
em fatos importantes relativos ao sistema modelado.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Algumas discussões surgem quando a questão do conflito é
abordada.
• Em alguns casos, as pré-condições das transições podem
possuir mais tokens (marcas) do que aqueles necessários para
que as transições sejam disparadas.
• Pode-se dizer que estas transições estão habilitadas “mais de
uma vez” ou que o grau de habilitação delas é maior que um.
• Dessa forma, o disparo de uma transição não irá
necessariamente impedir que a outra transição seja
disparada logo em seguida.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Esta é uma situação que merece atenção pois existem duas
definições para o conflito efetivo.
• Segundo [Ajmone95], a definição de conflito efetivo engloba
também este caso, afirmando que há conflito sempre que o
disparo de uma transição diminui o grau de habilitação de
outra.
• Em outra definição, apresentada em [Maciel96], a situação
de conflito efetivo é apenas aquela em que uma das
transições deixa de estar habilitada na marcação seguinte.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Exemplo: mostra um caso em que as duas definições
anteriores discordam quanto a tratar-se ou não de um
conflito efetivo.
• Por outro lado, a definição de [Ajmone95] afirma que o
conflito efetivo ocorre quando o grau de habilitação da
transição é diminuído pelo disparo de outra. Isto é
verdadeiro para t1em relação ao disparo de t2.
• Logo, há conflito (embora o mesmo não seja verdadeiro
para t2 em relação ao disparo de t1. A esta situação
[Ajmone95] dá o nome de conflito assimétrico).
• A existência de duas definições homônimas mas
referindo-se a situações diferentes na teoria das redes de
Petri torna necessário indicar qual a definição escolhida,
uma vez que a menção ao termo “conflito efetivo” não é
suficiente.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• A seguir estão formalizadas as definições de grau de habilitação e conflito efetivo.
• Elas foram adaptadas a partir de [Ajmone95] de forma a manter a notação
matricial para as redes de Petri.
• Chama-se grau de habilitação (enabling degree) de uma transição a função
ED : T x (P → N)→ N tal que:

• Para todo t  T, dada a marcação M,


• ED(t, M) = k se, e somente se,
• Para todo p I (p, t) > 0, m(p) ≥ k . I(p, t) e
• Para todo p I (p, t) > 0 : m(p) < (k + 1) . I(p, t).

• Denota-se então por ED(t, M) o grau da habilitação de t na marcação M.


RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Duas transições t1 e t2 se encontram em conflito efetivo numa marcação
M se, e somente se,
M [t1 > M’ e
ED(t2, M) > ED(t2, M’)

• O que significa que, sempre que o disparo de uma transição diminui o


grau de habilitação de uma outra, estas transições estão em conflito
efetivo.
• Há um caso especial de conflito que é de interesse particular, chamado
de conflito de escolha livre (free-choice).
• Duas transições estão em conflito de escolha livre se estão em conflito
efetivo simétrico (qualquer uma delas que seja disparada irá causar
diminuição no grau de habilitação da outra) e se são habilitadas pelas
mesmas pré-condições.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Duas transições t1 e t2 estão em conflito de escolha livre
numa marcação M se, e somente se, todas as condições
forem satisfeitas:

Para todo p  P, I(p, t1) = I(p, t2);


M [t1 > M’ e ED(t2, M) > ED(t2, M’); e
M [t2 > M’’ e ED(t1, M) > ED(t1, M’’)
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Existem duas sub-classes das redes de Petri Primeira
que são definidas a partir de variações do
conceito de escolha livre.
• A primeira é chamada de rede de Petri
escolha livre, e é aquela em que, se um lugar
fizer parte da pré-condição de várias
transições, este lugar será a única pré-
condição destas transições.
• A segunda sub-classe é chamada de rede de
Petri escolha livre estendida, e é aquela em
que, se dois lugares fizerem parte das pré- Segunda
condições de uma mesma transição, então o
ED do conjunto de transições para as quais
estes lugares são pré-condições deve ser
igual.
RDP: LUGAR – TRANSIÇÃO
CONCEITOS COMPLEMENTARES
• Um aspecto de relevante importância é
quanto aos pesos dos arcos que ligam os
lugares e as transições conflitantes.
• Para manter a semântica da escolha livre
nas duas sub-classes apresentadas, os pesos
dos arcos que ligam cada uma das
transições a um mesmo lugar devem
sempre ser iguais, caso (a).
• O motivo disto é que, uma vez que os pesos
sejam diferentes, as pré-condições não
serão mais as mesmas, levando as
transições a estarem habilitadas em
momentos diferentes.
a) b)
• O caso (b) demonstra uma situação falsa
de escolha livre, pois os pesos são
diferentes.
AULA DO DIA 13/06/2023
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Sequenciamento: é a rede que representa a execução de
uma ação, desde que uma determinada condição seja
satisfeita.
• Após a execução dessa ação, pode-se ter outra ação, desde
que satisfeita outra determinada condição.
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Rede com sequência não disparável:

• A sequência s=abcd não é disparável,


a partir de M0.

• M0 = [1,0,0,0]’ marcação inicial


RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES

• Distribuição: é a rede elementar utilizada na


criação de processos paralelos a partir de um
processo pai.
• Os processos filhos são criados através da
distribuição dos tokens (marcas) encontrados no
processo (lugar) pai.
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Junção: é a rede que modela a sincronização entre atividades
concorrentes.
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Caminhos Alternativos: um lugar com mais do
que um caminho de saída, como P1,
corresponde ao início de um caminho
alternativo.
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Repetição:
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES
• Partilhamento
(ou compartilhamento) de Recursos:
(Competição)
RDP: LUGAR – TRANSIÇÃO
REDES ELEMENTARES

• Escolha Não-Determinística: corresponde a uma rede que ao


se disparar uma transição, inabilita-se a outra.

• Entretanto, não existe possibilidade de escolha.

• O fator não-determinístico dessa rede gera uma situação


chamada de conflito [MAC96].
RDP: TEMPORIZADAS
• A descrição original das redes de Petri, correspondente à que
foi apresentado para as RdP (L/T), não faz nenhuma
consideração sobre a duração que leva uma determinada
ação para ser executada no sistema.

• Todas as transições entre estados ocorrem instantaneamente.

• Devido a esta característica, as RdP originalmente não eram


capazes de fornecer nenhuma informação relacionada ao
desempenho do sistema estudado.
RDP: TEMPORIZADAS

• Nos primeiros anos após a publicação da tese de Petri,


surgiram diversas questões quanto à aplicação desta técnica
sob um outro ponto de vista, no qual os aspectos
relacionados ao comportamento do sistema ao longo do
tempo pudessem ser avaliados.

• Para que isto fosse possível, era necessário criar uma forma de
representar os tempos despendidos pelo sistema na
realização de suas atividades.
RDP: TEMPORIZADAS

• As primeiras propostas de RdP com consideração de tempo


surgiram em 1973 e em 1976 , e foram aplicadas pelos seus
autores na modelagem de uma arquitetura de computadores
(no trabalho de Noe & Nutt) e de protocolos de
comunicação (Merlin & Faber).

• Outros trabalhos surgiram ao longo dos anos, cada um


propondo um modelo que melhor se enquadrasse às
necessidades de sua aplicação [Ajmone95].
RDP: TEMPORIZADAS

• Atualmente existe um conjunto relativamente amplo de


definições para RdP temporizadas, que podem ser utilizadas
dependendo da aplicação ou do suporte da ferramenta
escolhida pelo projetista.
RDP: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES

• À primeira vista, pode parecer fácil relacionar tempo ao


disparo de transições.

• Poder-se-ia, por exemplo, simplesmente adicionar uma


notação a cada transição, informando quanto tempo é
despendido pelo sistema na ocorrência (disparo) daquela
transição.
RDP: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES

• Exemplo RdP Temporizada (VisualObjectNet ++)

• Exemplo RdP Temporizada (PIPE2)


AULA DO DIA 14/06/2023
RDP: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES

• Quando uma certa transição disparasse, apenas se somaria o


tempo despendido por ela a uma contagem de tempo total.

• Entretanto, quando observamos o processo de forma mais


detalhada são levantadas diversas dúvidas.
RDP: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES
• Digamos que numa certa marcação uma
transição chamada “muda_chave”,
representando a mudança de chave em alguma
máquina hipotética, esteja habilitada.
• Sabemos que quando a chave for modificada
nesta máquina, o sistema demorará 3 segundos
para mudar efetivamente de estado.
• A Figura ao lado exemplifica esta situação.
• Observe que a transição nesta figura é
representada por uma caixa sem preenchimento. Transição muda chave na
máquina hipotética
• Esta é a representação comumente utilizada para
indicar que trata-se de uma transição
temporizada.
RDP: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES

Passos: a) início do disparo; b) Marcas foram removidas do lugar de entrada; Marcas são adicionadas no
lugar de saída
• Para executar a ação de mudar a chave com a duração de 3 segundos, poderíamos iniciar o disparo
da transição no instante 0 segundo, removendo todos os tokens dos lugares que lhe são pré-condição,
esperar um período de 3 segundos e, então, concluir o disparo no instante 3 segundos, adicionando os
tokens às suas pós-condições.
• A Figura mostra a execução desses três passos.
• Este modelo é bastante simples e é utilizado na prática em diversas situações.
• Mas nem sempre é possível representar o tempo desta forma.
RDP-T: TEMPORIZADAS
RELACIONANDO TEMPO E TRANSIÇÕES
• Se continuássemos pensando em outros exemplos, encontraríamos
diversas outras situações em que as escolhas para o mecanismo de
funcionamento da RdP com tempos associados a transições teriam
grande impacto na sua representatividade.
• Situações em que duas transições disparam simultaneamente, em que
o grau de habilitação de uma transição é maior que um, dentre outras.
• Também é essencial que a RdP temporizada não perca a
representatividade do sistema modelado quando a utilizamos sem
considerar o tempo.
• Garantindo-se isto, as técnicas disponíveis para a análise de RdP Petri
Place/Transition continuam podendo ser utilizadas para analisar o
sistema modelado por RdP temporizadas.
RDP-T: TEMPORIZADAS
CONCEITOS
• Estruturalmente, a única diferença entre uma RdP
temporizada e a RdP Place/Transition é a notação de tempo
associada às transições.
• Grandes diferenças, entretanto, surgem na dinâmica de
execução da rede.
RDP-T: TEMPORIZADAS
CONCEITOS
• O comportamento dinâmico da rede de Petri temporizada RdP-T será
definido pelas regras escolhidas para o disparo das transições.
• A primeira opção que temos é quanto à política de disparo a ser
adotada. Existem duas possibilidades [Tavares06]:
• Disparo em três fases: O tempo é consumido durante o disparo, ou seja,
os tokens são removidos das pré-condições no instante em que a
transição é habilitada. Após isso um intervalo de tempo é decorrido,
correspondendo ao tempo associado à transição. Em seguida são
adicionados os tokens às pós-condições.
• Disparo atômico: O disparo é instantâneo, entretanto, quando a
transição é habilitada, os tokens permanecem nos lugares das pré-
condições pelo tempo de execução associado à tarefa. Só após esse
tempo o disparo pode ocorrer.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Uma rede de Petri temporizada é uma 5-tupla

R = (P, T, I, O, C)

Onde,
P é o conjunto finito de lugares;
T é o conjunto finito de transições;
I : P x T → N é a matriz de entrada (ou de pré-condições);
O : P x T → N é a matriz de saída (ou de pós-condições);
C : T → N x N é uma função que associa a cada transição um
intervalo de tempo (min, max), tal que min >= 0 e max >= min.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Os instantes indicados por min e max são relativos ao
momento em que a transição foi habilitada.
• Por exemplo, um intervalo (1, 3) indica que a transição só
poderá disparar após transcorrida 1 unidade de tempo a
partir de sua habilitação e deve ser disparada no máximo até
3 unidades de tempo após sua habilitação.
AULA DO DIA 20/06/2023
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Deve ainda ser considerada a memória histórica mantida
pela rede sobre os tempos passados nas transições.
• A política de memória define o que acontece quando uma
mudança de estado ocorre na rede.
• Três alternativas podem ser levadas em consideração:
1. Reamostragem (Resampling).
• Após o disparo de uma transição todos os temporizadores são
reiniciados.
• Os tempos de habilitação de todas as transições voltam a ser zero,
nenhuma memória do passado é mantida.
RDP-T: TEMPORIZADAS
MODELO FORMAL
2. Memória de Habilitação (Enabling Memory).
• Após o disparo de uma transição, todas as transições que estavam
habilitadas na marcação anterior e que permanecem habilitadas
na nova marcação mantém os valores de seus temporizadores.
• A rede mantém a memória de quanto tempo cada transição
permaneceu habilitada desde a última vez em que elas foram
habilitadas.
• Apenas quando uma transição é desabilitada na nova marcação
ou quando esta é disparada é que o seu tempo é perdido.
• Os tempos de habilitação são mantidos por variáveis de memória
de habilitação associadas a cada transição.
RDP-T: TEMPORIZADAS
MODELO FORMAL
3. Memória de Idade (Age Memory).
• Os tempos não são reinicializados quando uma transição é
desabilitada.
• Ou seja, se uma transição que estava habilitada perder a
habilitação em uma certa marcação, o seu temporizador é
mantido com o mesmo valor e continuará a contagem assim
que a transição for habilitada novamente em uma
marcação futura.
• É associada uma variável de memória de idade a cada
transição para manter estes valores.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• A memória dos tempos de transições, junto com a marcação
da rede e os estados de habilitação das transições formam o
estado global da rede temporizada.
• Alguns simuladores de RdP-T utilizam a abordagem de
memória de habilitação.
• Para representar as variáveis de memória, é definido um vetor
memória de habilitação.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Seja T = { t1, t2, ..., tn } o conjunto de transições de uma rede
de Petri temporizada, o vetor memória de habilitação é dado
por:
• H = ( h(t1), h(t2), ..., h(tn) )
• Onde,
• h(ti)  N é a variável de memória de habilitação da transição
ti;
• Se ti  T não estiver habilitada, h(ti) = 0.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• A definição de memória de habilitação
utilizada aqui considera que os
temporizadores são incrementados ao
longo do tempo e não decrementados.
• Note que, uma vez que o estado de
habilitação de uma transição também faz
parte do estado global da rede, pode-se
manter todas as transições em um único
vetor de memória sem a possibilidade de
equívoco quanto ao seu estado. Transição com grau
de habilitação = 3
• Transições não-habilitadas simplesmente
têm tempo de habilitação igual a zero.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Diferentes semânticas podem ser adotadas para tratar a
situação anterior:
• Servidor Único (Single-Server Semantics). Os tokens são
processados de forma serial. Após o primeiro disparo, o
temporizador é reiniciado como se a transição tivesse sido
habilitada novamente.
• Assim, se o retardo associado à transição for de um tempo
fixo t, e o grau de habilitação da transição for n, então será
necessário n x t unidades de tempo para que todos os tokens
sejam consumidos pela transição.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Diferentes semânticas podem ser adotadas para tratar a
situação anterior:
• Servidores Infinitos (Infinite-Server Semantics). Para cada
conjunto de tokens habilitando a transição, um novo
temporizador é criado para processar o retardo do disparo.
Assim, uma transição com grau de habilitação igual a dois
terá dois temporizadores correndo em paralelo. Se o grau de
habilitação for n, haverá n temporizadores.
• A transição irá disparar sempre que um destes temporizadores
atingir o tempo limite e o disparo não afeta os contadores dos
temporizadores restantes.
RDP-T: TEMPORIZADAS
MODELO FORMAL
• Diferentes semânticas podem ser adotadas para tratar a situação
anterior:
• Servidores Múltiplos (Multiple-Server Semantics). É semelhante à
semântica de servidores infinitos, mas aqui existe um limite para a
quantidade de temporizadores executando em paralelo.
• Se o grau de habilitação da transição for menor ou igual a um certo
limite k, então k temporizadores podem executar em paralelo.
• Se o grau de habilitação for aumentado além de k, não será criado
nenhum novo temporizador para processar o tempo para o novo
disparo até que o grau de habilitação tenha diminuído abaixo de k
(após o disparo de alguma transição).
AULA DO DIA 21/06/2023
RDP-T: TEMPORIZADAS
CONFLITOS
• Em redes não-temporizadas, a escolha de qual transição irá
disparar é não-determinística.
• Entretanto, quando adicionamos tempo às transições, a
resolução do conflito pode se tornar dependente dos retardos
associados às transições.
• A transição de menor tempo de retardo é a que irá disparar
neste caso, desabilitando as transições conflitantes.
• Quando o conflito é entre transições imediatas, a resolução de
conflito pode ser determinística, utilizando-se uma política de
prioridade ou de forma não-determinística, obedecendo a
alguma distribuição de probabilidade (estocástico).
RDP-T: TEMPORIZADAS
CONFLITOS
• A seguir, é apresentado um exemplo para ilustrar uma rede de Petri temporizada.
• Neste exemplo será utilizado o modo de disparo atômico, a política de memória
de habilitação e a semântica de servidor único, conforme ocorre na
implementação do simulador.
• O exemplo ilustra uma parte de uma linha de produção.
• Os processos A e B produzem partes de um produto, que são reunidas pelo
processo final C.
• O processo A representa um processo de etiquetagem de embalagens, que é
automatizado.
• O processo B representa uma tarefa manual, na qual funcionários verificam a
qualidade do produto antes deste ser embalado.
• A transição “reune_materiais” é a entrada para o processo C, que reúne a
embalagem proveniente do processo A ao produto proveniente do processo B.
RDP-T: TEMPORIZADAS
CONFLITOS
RDP-T: TEMPORIZADAS
CONFLITOS
RDP-T: TEMPORIZADAS
CONFLITOS
• Através da simulação de redes de Petri temporizadas, é
possível verificar situações envolvendo tempo associado à
execução de ações em sistemas e diversas outras que não
poderiam ser verificadas com a utilização de redes
Legar/Transição (Place/Transition).
• Este tipo de estudo é realizado na área de Análise de
Desempenho, na qual as redes de Petri têm sido aplicadas
com enorme sucesso.
RDP-C: COLORIDA

• As redes de Petri coloridas surgiram da necessidade em


representar sistemas muito grandes e complexos, que são
encontrados em aplicações industriais reais.

• Utilizando-se redes de Petri ordinárias, o tamanho destes


sistemas se tornava um grande complicador para sua
modelagem e estudo [Maciel96][Jensen94].
RDP-C: COLORIDA

• A idéia por traz das redes de Petri coloridas é unir a


capacidade de representar sincronização e concorrência
das redes de Petri com o poder expressivo das linguagens de
programação.

• Através dessa união, sistemas cujo estudo anteriormente era


impraticável tornaram-se passíveis de estudo.
RDP-C: COLORIDA
• Uma rede de Petri colorida é uma rede de Petri na qual os
tokens (marcas) possuem um tipo e um valor associados,
permitindo que eles possam ser diferenciados entre si.
• Desta forma, um lugar na rede de Petri passou a representar
não apenas uma certa condição, mas toda uma classe de
situações que podem se apresentar de diferentes formas, de
acordo com os valores dos tokens presentes em sua
marcação.
• Estes valores são então utilizados em expressões que são
calculadas durante a avaliação de transições, bem como
durante o disparo destas.
RDP-C: COLORIDA

• No início, a diferenciação dos tokens (marcas) era feita por


cores, daí o nome de rede de Petri colorida.

• Atualmente são utilizadas tipos de dados estruturados,


permitindo que operações bastante complexas sejam
representadas na RdP-C.
RDP-C: COLORIDA
• As redes de Petri coloridas são compostas por três partes:
a) estrutura;
b) declarações;
c) inscrições.

• A estrutura da rede colorida corresponde à estrutura de uma rede de


Petri ordinária (Place/Transition), sendo formada pelos lugares, transições
e arcos.
• Cada lugar possui um tipo de dado associado.
• Esse tipo indica o conjunto de valores que os tokens (marcas) contidos
neste lugar podem representar.
• O tipo de um lugar também é chamado de seu conjunto de cores (color
set).
RDP-C: COLORIDA
• As declarações definem os tipos e as variáveis que serão
utilizados na rede.
• Esta definição é dada utilizando-se uma linguagem
matemática ou de programação.
• As inscrições são anotações associadas aos elementos da
rede.
• Os tipos de inscrições são diferentes para lugares, transições e
arcos:
RDP-C: COLORIDA
• Inscrições de lugares. Os lugares possuem três tipos de
inscrições: nome, tipo e expressão de inicialização.

• O nome não possui valor semântico, sendo apenas um elemento que


facilita a sua identificação.
• O tipo indica o conjunto de possíveis valores associado ao lugar. O lugar
só poderá conter tokens (marcas) com valores deste tipo.
• A expressão de inicialização, por sua vez, é uma expressão escrita na
linguagem de representação adotada. Esta expressão indica a
marcação inicial a ser atribuída ao lugar.
RDP-C: COLORIDA
• Inscrições de transições. As transições possuem dois tipos de
inscrições: nome, que também não possui significado formal,
e expressão guarda.

• O papel da expressão guarda será compreendido nas discussões


posteriores.
RDP-C: COLORIDA
• Inscrições de arcos. Os arcos possuem como inscrição
apenas uma expressão.

• Essa expressão substitui o peso que existia nas redes anteriores. Seu papel
é semelhante: indica o conjunto de tokens (marcas) que devem ser
retirados ou adicionados aos lugares adjacentes à este arco no caso do
disparo da transição.

• Como agora os tokens (marcas) armazenam valores, torna-se necessário


o uso de uma expressão mais complexa.
RDP-C: COLORIDA
• Exemplo de RdP colorida simples.
• As declarações são comumente escritas dentro de uma caixa
de texto posicionada próximo à rede.
• Para facilitar a visualização, as inscrições são escritas de forma
diferenciada. Aquelas que representam nomes são escritas
utilizando-se fonte uniformemente espaçada (como a
tipografia das máquinas datilográficas mecânicas).
• Para os lugares, os tipos são escritos em itálico e as expressões
de inicialização são sublinhadas.
• As expressões guarda das transições ficam entre colchetes.
Observe que as transições são representadas por retângulos
não-preenchidos (c).
• As expressões dos arcos não recebem formatação especial.
• A inscrição “1´3” da inicialização do lugar rotulado por “Nome”
representa um bag que contém um único elemento de valor 3.
RDP-C: COLORIDA
• O comportamento dinâmico da rede de Petri colorida
mantém o mesmo princípio original das redes de Petri,
mas é bem mais complexo.
• As expressões dos arcos não possuem variáveis. São
apenas expressões constantes.
• Nas redes coloridas, entretando, este é o tipo menos
comum de expressão. Em geral, o conjunto de arcos
que entram ou saem de uma transição compartilham
variáveis livres entre si e suas expressões são definidas
em função destas.
• No momento da avaliação de uma transição, as
variáveis livres das expressões precisam ser associadas
a valores.
• Essa associação é chamada de ligação (binding) de
variáveis
RDP-C: COLORIDA
COMPARANDO RDP-(L/T) X RDP-(C)

RDP-C: COLORIDA
• RdP-C com variáveis livres nas expressões dos arcos.
RDP-C: COLORIDA
• Jantar dos Filósofos representado por RdP-C.
RDP-C: COLORIDA
• Jantar dos Filósofos Implementado em CPN-Tools.
RDP-ESTOCÁTICA
OBRIGADO!

“Não é que eu procure falar difícil,


mas é que as coisas tem nome.”

(João Guimarães Rosa)

Você também pode gostar