Upload
debora-diniz-de-melo
View
165
Download
4
Embed Size (px)
Citation preview
Redes de Petri
Classificação
Níveis de Abstração
Fundamental
Intermediário
Alto Nível
Modelo Representativo
Sistemas elementares
Redes condição evento
Redes Lugar/Transição
Redes Coloridas
2
Redes de Petri
Família de técnicas de descrição formal
Introduzidas por Carl A. Petri, na Universidade de Darmstadt, 1962 –Alemanha
Kommunikation mit Automaten
3
Redes de Petri
Áreas de AplicaçãoConcorrência
Arquitetura de Computadores
Protocolo de Redes
Sistemas Operacionais
Sistemas de Produção
Sistemas Digitais
Hardware/Software Co‐design
Engenharia de Software
Sistemas de Tempo Real
Modelagem e Avaliação de Desempenho
Diagnóstico de Falhas
Controle de Tráfego
Workflow
Administração
Química
etc.
4
Representação gráfica
Elementos gráficos Estrutura da Rede
5
Lugar
Transição
Arco
p1 p2t1
Representação gráfica
Múltiplos arcos Pesos indicando a multiplicidade
6
p1
t1
p3
p2 p1
t1
p3
p2
3
2
Transicão montaocorre
Transicão monta
habilitada
Exemplo I
Embalar 2 buchas e 2 parafusos em uma embalagem de plástico
parafusos
2
2
embalagem
buchas
embaladeira livre
depósito desaída
despachaembaladeiraocupadamonta
2 embalagens;
6 parafusos;
6 buchas;
Embaladeira está livre;
Transicão despachahabilitada
Transicão despachaocorre
Nenhuma transicão pode ocorrer a partir de agora
Exemplo II
Reação química para produzir uma molécula de água
Reaçãoquímica
O2
H2O2
H2
2
Reacão quimicahabilitada
Abstracão!!!
Rede Lugar/TransiçãoN = (P, T, F, W, M0)
P = {p0, p1, ⋅ ⋅ ⋅, pn}, conjunto finito de lugares T = {t0, t1, ⋅ ⋅ ⋅, tm}, conjunto finito de transições F: A ⊆ (P × T) ∪ (T × P), conjunto finito de arcosW: F → N, funcão peso do arco (multiplicidade)M0: P → N, marcação inicial P ∩ T = ∅ e P ∪ T ≠ ∅
•t ={p ∈ P | (p, t) ∈ F), conjunto de lugares de entradat• ={p ∈ P | (t, p) ∈ F), conjunto de lugares de saída•p ={t ∈ T | (t, p) ∈ F), conjunto de transições de entradap• ={t ∈ T | (p, t) ∈ F), conjunto de transições de saída
Rede Lugar/Transição
N = (P, T, F, W, M0)P = {p0, p1, ⋅⋅⋅, pn}: lugares T = {t0, t1, ⋅⋅⋅, tn}: transições F: A ⊆ (P × T) ∪ (T × P): arcos
W: F → N: funcão peso
M0: P → N: marcação inicial
10
p1 2
2
p0
p2
p3
p5t1p4t0
P = {p0, p1, p2, p3, p4, p5}T = {t0, t1}
F = {(p0, t0),(p1, t0),(p2, t0),(p3, t0),(p4, t1),(t0, p4),(t1 ,p3),(t1, p5)}
W(p0, t0) = 1 W(t0, p4 ) = 1
W(p1, t0) = 2 W(t1, p3 ) = 1
W(p2, t0) = 2 W(t1, p5 ) = 1
W(p3, t0) = 1
W(p4, t1) = 1
M0(p0 ) = 2 M0(p3 ) = 1
M0(p1 ) = 2 M0(p4 ) = 0
M0(p2 ) = 3 M0(p5 ) = 0
ou simplesmente M0 (P) = [2, 2, 3, 1, 0, 0]
Redes Lugar/Transição
N = (P, T, I, O, M0)P = {p0, ⋅⋅⋅, pn}, conjunto finito e não vazio de lugares T = {t0, ⋅⋅⋅, tm}, conjunto finito e não vazio transições I: T→ P ∞, conjunto de entrada
O: T→ P∞, conjunto de saída
M0: P→ N, marcação inicial
P∩ T = ∅ e P∪T ≠ ∅
11
P = {p0, p1, p2, p3, p4, p5, p6}
T = {t0, t1, t2, t3, t4, t5}
M0 = [1, 0, 0, 1, 0, 0, 1]
Matrizes I e 0
12
0 0 1 0 0 01 0 0 0 0 00 1 1 0 0 0
O = 0 0 0 0 0 10 0 0 1 0 00 0 0 0 1 00 1 0 0 0 1
t0 t3
t2
t1 t4
t41 0 0 0 0 00 1 0 0 0 00 0 1 0 0 0
I = 0 0 0 1 0 00 0 0 0 1 00 0 0 0 0 11 0 0 1 0 0
p0
p1
p2
p3
p4
p5
p6
Regra de disparo (ocorrência)
13
t0 t3
t2
t1 t4
t4
p0
p1
p2
p3
p4
p5
p6
(M(p0) = 1) ≥ (w(p0,t0) = 1)
M’(p1) = M(p1) + w(t0,p1) ‐ w(p1,t0)1 = 0 + 1 ‐ 0
M’(p0) = M(p0) ‐ w(p0,t0) + w(t0,p0)0 = 1 ‐ 1 + 0
1. A transição tj está habilitada sse∀ pi ∈ P, M(pi) ≥ w(pi, tj)
2. Uma transição habilitada pode ou não ocorrer
3. Se a transição tj ocorrer, então:∀ pi ∈ I(tj) ∧ ∀ ps ∈ 0(tj)• M’(pi) = M(pi) ‐ w(pi,tj) + w(tj,pi)
• M’(ps) = M(ps) + w(tj,ps) ‐ w(ps,tj)
Redes de Petri
Transição sorvedouro Transição fonte
14
t0
p0 t0
p0t0
p0 t0
p0
Antes daocorrência
Depois daocorrência
Antes daocorrência
Depois daocorrência
Rede de Petri pura
Uma Rede de Petri R=(P,T,I,O,) é pura se e somente se:I(pj,ti) × O(pj,ti) = ∅,
∀ ti∈T, ∀pj∈P
Não há auto‐laços
15
Caso haja: adiciona‐se um par (transição e lugar) sem função (dummy) para elimina‐lo
p1
p0
t0
p2
P2’
t1
par semfunção
p1
p0
t0 p2
Auto‐laço
Modelos básicos
16
Seqüenciamento
Distribuição
Junção
Escolha
Conflito estrutural
N = (P,T,I,O), t1, t2 ∈ T estão em conflito estrutural sse ∃ p ∈ P tal que I(p,t1) × I(p,t2) ≠ 0
17
t1 t2
p
Conflito efetivoN=(P,T,I,O,M0), se t1, t2 ∈ T estão em conflito efetivo para M se estão em conflito estrutual e M[t1>, M[t2> e M(p) < I(p,t1) + I(p,t2)
18
t1 t2
p
Confusão
Simétrica Assimétrica
19
t0 t2t1
p0 p1
t0
t2
t1
p0 p1
p2
t0 e t2 são concorrentes e estão em conflito com t1. A ocorrência de t1 impossibilita o ocorrência de t0 e t2
t0 e t2 são concorrentes, mas se t2 ocorre primeiro, t0 e t1 estarão em conflito efetivo
Controle de fluxo
Computação simples
20
Seqüenciamento
função
Chamada de função
21
Processos paralelos
22
M0
M2 M3
M5
M1
M4
M0
M5
M1
M4
s0={t0}
s1={t1,t2}
s2={t3}
Grafo de alcançabilidade Grafo de passos
p0
p1
p3
p5
p4
p2
t0
t1
t3
t2
t0
t2
t2
t1
t1
t3
Exclusão mútua
23
t0 t3
t2
t1 t4
t5
p0
p1
p2
p3
p4
p5
p6
Computação por fluxo de dados
24
a t0
b
a
a t3 a=0
t2 a≠0
t4 (a‐b)/a t5 2(a‐b)/a
t1a‐b
Comunicação
Síncrona Assíncrona
25
t0
p0
p2
p1
t0
p0
P`1
p4
t2
p2
p3
Comunicação síncrona com reconhecimento
26
t0
p0
p1
p6
t2
p3
p4
t1
p2
t3
p5
p7
buffer
ConsumidorProdutor
Produtor/Consumidor (buffer ilimitado)
27
t0
p0
p1 p4
t2
p2
p3
t1 t3
produziuum item
pronto paraconsumir
pronto paraproduzir
consumiuum item
contador(c=3)
buffer
ConsumidorProdutor
Produtor/Consumidor (buffer limitado)
28
t0
p0
p1
p4
t2
p2
p3
t1 t3
produziuum item
pronto paraconsumir
pronto paraproduzir
consumiuum item
p5
desabilitada(não produz)
Jantar dos filósofos
garfo 1garfo 2
comendo
Decartes
pensando
garfo 3
comendo
pensando
Aristótelescomendo
pensando
Demócrito
Abordagem de modelagem
Top‐downRefinamento
Botton‐upComposição
HíbridaRefinamento e Composição
30
Refinamento
31
p0
p1
p2 p6
p3
p5
p4
p423
p421
p424
p422
t424
t422 t423
t421
t2
t3 p42
p41
t41
t42
t5
t4
t1
t0
Composição
32
p0
p1
p6
p3
p5
t3
t5
t4
t1
t0
p0
p2
p5
p4
t2
t3
t0
Fusão
Sincronização
p2
Propriedades
Análise: baseada em algorítmos que não objetivam a verificação de uma determinada propriedade. Ao contrário, são algorítmos mais genéricos que fornecem informações sobre diversas propriedades e seus resultados podem ser utlizados como base para algorítmos de verificação.
Mesmo que a resposta seja sim ou não, não há prioridade de um sim sobre o nãoTambém são usadas para responder questões do tipo: Quais são os conjuntos de lugares cujo somatório de marcas permanece constante?
33
Propriedades
Comportamentais
Estruturais
34
Propriedades comportamentais
Alcançabilidade (Reachability)Indica a possibilidade de se atingir uma determinada marcação pelo ocorrência de um número finito de transições, a partir de uma marcação inicial
Marcação alcançávelSeja Mi[tj>Mk e Mk[th>Ml então Mi[tj th>Ml. Por recorrência designamos a ocorrência de uma seqüência σ ∈ T* por M[σ>M’. Dizemos que M’ é alcançável a partir de M. O conjunto de todas as possíveis marcações alcançáveis de a partir de M0 na Rede (N, M0) é denotado por
R(N,M0)={M’ ∈ℵm| M0[σ >M’}, m = #P
35
Alcançabilidade
36
p0
t4
t3t1
t0
p1
p2
t2 p3
M’=[0,0,0,1] é acessível a partir de M0?
M0=[1,0,0,0]
M1=[0,1,0,0]
M2=[0,0,1,0]
M3=[0,0,0,1]Sim, pela ocorrência de δ’= t0t1t3
t3
t1
t0
Alcançabilidade
37
p0
t4
t3t1
t0
p1
p2
t2 p3
M’=[0,0,0,1] é acessível a partir de M0?
M0=[1,0,0,0]
M2=[0,0,1,0]
M3=[0,0,0,1]
Sim, pela ocorrência de δ’= t0t1t3 ou de δ’’= t2t3
t3
t2
ImpasseDefine a impossibilidade da ocorrência de qualquer transição da rede
38
p0
p1
p2
p3
p4
p5
p6
Impasse
t3
t1
t0
t4
t5t2p7
Grafo de alcançabilidade
Seja uma Rede de Petri marcada (N,M0)
R(N,M0)=(V,A) define o grafo de alcançabilidade (Reachability Graph)
V é o conjunto de vértices definido pelo conjunto de marcações alcançáveis
A ⊆ V×T×V é uma relação definindo associações entre marcações alcaçáveis
39
Grafo de alcançabilidade
40
t0 t3
t2
t1 t4
t5
p0
p1
p2
p3
p4
p5
p6
M0
M5M1
M6
M4
M2
M3 M7
t2
t4M0 = [1001001]M1 = [0101000]M2 = [0011001]M3 = [0010100]M4 = [0010011]M5 = [1000100]M6 = [1000011]M7 = [0100010]
t0 t3
t1 t4
t5
t0t5
t1 t2t5
t2
t3
R(N,M0) = {M0, M1, M2, M3,M4, M5, M6, M7}
Vivacidade
Transição potencialmente disparávelUma transição tj é potencialmente disparável em uma dada marcação M0 se:
∃M’ ∈ R(N,M0) | M’[tj>
Rede vivaUma Rede (N,M0) é dita viva se:∃ σ ∈ T* | ti ∈ σ, M’[σ >, ∀M’ ∈ R(M0), ∀ti ∈ T
41
Vivacidade
Vivacidade é mais forte do que ausência de impasses
42
p0M0
M1
M2
M3
p1 p2
p3 p4
t0
t1
t2 t4
t3
t0
t1 t4
t3
Sem impassesNão viva
Vivacidade
Vivacidade é muito restritiva e computacionalmente cara para provarUma transição t pode ser classificada em níveis de vivacidade
N0‐viva (morta): se σ ∈ L(R,M0) | t ∈ σ, ou seja, M ∈ R(M0) | M[t>N1‐viva (potencialmente disparável): se t pode ocorrer pelo menos uma vez em alguma seqüência de disparo σ ∈ L(R,M0)N2‐viva: se dado qualquer inteiro positivo k, t pode ocorrer pelo menos k vezes em alguma seqüência σ ∈ L(R,M0)N3‐viva: se t aparece um número infinito de vezes em alguma seqüência σ ∈ L(R,M0)N4‐viva ou simplesmente viva: se t é N1‐viva ∀M ∈ R(N,M0)
43
Cobertura
Cobertura de uma marcação: seja a marcação M’ em uma Rede (N,M0). M’ é dita coberta se:
∃M’’∈ R(N,M0) | M’’(pi)≥M’(pi) ∀pi ∈ P
44
Recorrência e reversibilidade
Reversibilidade: inicialmente uma Rede é dita reversível se para cada marcação Mi no conjunto das marcações acessíveis a marcação inicial pode ser novamente alcançada
Estado recorrente: seja uma marcação Mk ∈R(N,M0). Mk é denominado um estado recorrente se Mi [>Mk, ∀Mi ∈ R(N,M0)Reversibilidade: uma Rede (N,M0) é reversível se ∃Mk , tal que Mi [> Mk, ∀Mi ∈ R(N,M0)
45
Reversibilidade
46
t0
t1
t2
t3
p0
p1
p2
p3
Reversível
Reversibilidade
47
t0
t1t2
t3
p0
p1
p2 p3
Reversível
t4
Reversibilidade
48
Irreversível
t0 p4
t1
t2
p0
p1
p2
p3
t3
Persistência
Uma Rede é dita persistente se para qualquer par de transições t1 e t2 a ocorrência de uma não desabilita a outra
Seja uma Rede (N,M0). N é dita persistente se para todo par (t1,t2) ∈ T2 | ∃Mk [t1> e Mk [t2> ⇒Mk [ti>M’, M’[t2> e vice‐versa. Onde Mk, M’∈ R(N,M0)
49
PersistênciaTodo grafo‐marcado é persistente. Nem toda Rede persistente é uma grafo‐marcado
50
Persistentes
Grafo marcado Não é grafo marcado
t0
p0
p1
t1
p3
p2
p4
t2
t3
t0
p0
p1
t1
p3
p2
p4
t2
t3
Conservação
Está relacionada ao somatório de marcas a medida que as transições ocorrem
Rede Conservativa: seja uma Rede (N,M0) tal que M∈ R(N,M0) é uma marcação alcançável e W=(w1,...,wn), onde n=#P. N é dita conservativa se:
∑pi ∈ P Wi ×M(pi) = ∑pi ∈ P Wi ×M0(pi), ∀M∈ R(N,M0)
51
Conservação
52
t1 t3
t2 t4
p0
p2
p4
p1
p3
3
3
2
22
2
W1 = [3,0,1,0,0]W2 = [0,2,0,1,0]W3 = [0,0,4,3,6]W4 = [3,2,5,4,6]
∑pi∈P W4×m(pi) = 17, ∀pi ∈ P
(3 × 1) + (2 × 1) + (5 × 0) + (4 × 0) + (6 × 2) = 17(3 × 0) + (2 × 1) + (5 × 3) + (4 × 0) + (6 × 0) = 17(3 × 1) + (2 × 0) + (5 × 0) + (4 × 2) + (6 × 1) = 17
Propriedades estruturais
São propriedades inerentes a estrutura da Rede
Não dependem da marcação do modelo
Limitação Estrutural
Conservação Estrutural
Repetitividade
Consistência
53
Limitação estrutural
Seja uma Rede R = (P, T, I, O) e M0 uma marcação inicial. R é definida como estruturalmente limitada se R é limitada para qualquer M0
TeoremaUma Rede R = (P, T, I, O) é estruturalmente limitada sse ∃W tal que W.C ≤ 0, onde |W| = #P e ωi > 0
54
Limitação estrutural
Seja uma Rede R = (P, T, I, O) e M0 uma marcação inicial. R é definida como estruturalmente limitada se R é limitada para qualquer M0
55
2
Conservação estrutural
Seja uma Rede R = (P, T, I, O). R é definida como estruturalmente conservativa se R é conservativa para qualquer M0
TeoremaUma Rede R = (P, T, I, O) é estruturalmente conservativa sse ∃W tal que W.C = 0, onde |W| = P e ωi > 0
56
Conservação estrutural
57
SP1 = {p0, p1} SP2 = {p3, p4}
p0
p2
p4p1
p3
t0 t1 t2 t3
Rede não é estruturalmenteconservativa
Conservação estrutural parcial
Seja uma Rede R=(P,T,I,O) e M0 uma marcação inicial. R é definida como estruturalmente parcialmente conservativa se R tem algum componente conservativo para qualquer M0
TeoremaUma Rede R = (P, T, I, O) é estruturalmente parcialmente conservativa sse ∃W≠0 tal que W.C = 0, onde |W| = P e ωi ≥ 0.
58
Conservação estrutural parcial
59
SP1 = {p0, p1} SP2 = {p3, p4}
p0
p2
p4p1
p3
t0 t1 t2 t3
Rede é parcialmenteestruturalmente conservativa
Repetitividade
Seja uma Rede R = (P, T, I, O). R é definida como repetitiva se ∃M0 tal que M0[s>M’, onde M’≥M0e S>0, com si > 0
TeoremaUma Rede R = (P, T, I, O) é repetitiva sse ∃ S tal que C.S ≥ 0, onde |S| = T e si>0
60
Repetitividade
61
p0
t0
p1 p2
t1 t2
p3
t3
p4
t4
p0
t0
p1 p2
t2
p3
t1
t3
repetitiva
não repetitiva
Repetitividade parcial
Seja uma Rede R = (P,T,I,O). R é definida como parcialmente repetitiva se ∃M0 tal que M0 [s>M’, em que M’ ≥M0 e S ≠ 0, com si ≥ 0Teorema
Uma Rede R = (P,T,I,O) é repetitiva sse ∃ S≠0 tal que C.S ≥ 0, onde |S| = T e si ≥ 0
62
Repetitividade parcial
63
p0
t0
p1 p2
t2
p3
t1
t3
parcialmente repetitiva
Consistência
Seja uma Rede R = (P,T,I,O). R é definida como consistente se ∃M0 tal que M0 [s>M’, onde M’=M0 e S > 0, com si > 0
TeoremaUma Rede R = (P,T,I,O) é consistente sse ∃ S tal que C.S = 0, onde |S| = T e si > 0
64
Consistência
65
p0
t0
p1 p2
t2
t3t1
consistente
Consistência parcial
Seja uma Rede R = (P,T,I,O). R é definida como parcialmente consistente se ∃M0 tal que M0[s>M’, onde M’= M0 e S ≠ 0, onde si ≥ 0Teorema
Uma Rede R = (P,T,I,O) é parcialmente consistente sse ∃ S ≠ 0 tal que C.S = 0, onde |S| = T e si ≥ 0
66
Consistência parcial
67
p0
t0
p1 p2
t2
p3
t1
t3
parcialmente consistente
Reduções
Análise por transformações
Análise de Redes grandes dimensões não é um problema trivial
Reduções são utilizadas para análise
68
Fusão de lugares em série
Seja N = (P,T,I,O,M0) é uma Rede e ti ∈T uma transição, O(pj) = I(pk)=[ti]. N pode ser transformada em N’=(P’,T’,I’,O’,M0’) pela fusão dos lugares pj e pk e eliminação de ti. O lugar pj/k∈ P’ representa os lugares fundidos, onde I(pj/k)= I(pj) e O(pj/k)=O(pk)
69
pj
ti
pk
pj
Fusão de transições em série
Seja N = (P,T,I,O,M0) é uma Rede e pi∈P uma transição, O(tj)=I(tk)=[pi]. N pode ser transformada em N’=(P’,T’,I’,O’,M0’) pela fusão das transições tj e tk e eliminação de pi. A transição tj/k ∈T’ representa as transições fundidas, onde I(tj/k)= I(tj) e O(tj/k)=O(tk)
70
tj
pi
tk
tj/k
Fusão de lugares em paralelo
Seja N=(P,T,I,O,M0) é uma Rede e pi,ph∈P lugares, I(pi)=I(ph)=[tj] e O(pi)=O(ph)=[tk]. N pode ser transformada em N’=(P’,T’,I’,O’,M0’) pela fusão dos lugares pi e ph. O lugar pi/h∈P’ representa os lugares fundidos, onde I(pi/h)= I(pi)= I(ph)= e O(pi)=O(ph)
71
tj
pi
tk
ph
tj
pj/h
tk
Fusão de transições em paralelo
Seja N=(P,T,I,O,M0) é uma Rede e ti,th∈T transições, I(ti)= I(th)=[pj] e O(ti)= O(th)=[pk]. N pode ser transformada em N’=(P’,T’,I’,O’,M’0) pela fusão das transições ti e th. A transição ti/h∈T’ representa as transições fundidas, onde I(ti/h)=I(ti)=I(th) e O(ti/h)=O(ti)=O(th)
72
pj
tj/k
pk
pj
ti
pk
th
Eliminação de auto‐laços
Seja N=(P,T,I,O,M0) uma Rede e ei ∈ P∪T um elemento. Se ei ∈ P, M(ei)≥#O(ei). Se I(ei)=O(ei) então N pode ser transformada em N’=(P’,T’,I’,O’,M’0) pela eliminação de ei
73
ti pj pj
tjtjpi
Extensões às redes de Petri
Extensões para considerar tempo
Extensões para aumentar o poder de modelagem
Outras
74
Redes temporizadas
75
Extensõestemporizadas
Token‐timed Transition‐timed Place‐timed
Stochastic PN Time PN Timed PN
Redes de alto nível
As redes Predicado/Transição foram as primeiras redes de alto nível (Pr/T‐nets)
As PrT‐nets foram desenvolvidas por HartmannGenrich e Kurt Lautenbach, 1979
76
Redes Lugar/Transição
77
Prod
Envia
Enviaprodutor
ProdEnvia
Enviaprodutor
Rec
RecCons
Rec
Rec
Cons
consumidor
consumidor
Estrutura da rede repetida
78
Prod
Envia
Enviaprodutor
ProdEnvia
Enviaprodutor
Rec
RecCons
Rec
Rec
Cons
consumidor
consumidor
Redes Predicado/Transição
79
produtor consumidor
Prod Envia Rec Cons
p p
pp
c c
cc
(p,c) (p,c)
D={azul,laranja,verde,vermelho}var c,p: D
Cada ficha carrega um valor de dadosÉ colorida!!!
Possíveis corres para as fichasD, D×D, D×D×D, etc.
Redes de Petri de alto nível
A definição das redes Pr/T foi o primeiro passo em direção às redes de alto‐nível como são conhecidas hoje
Fichas podem ser distinguidas umas das outras e portanto são ditas coloridas
Transições podem ocorrer de diversas maneiras dependendo da cor das fichas de entrada disponíveis
Expressões de arcos e guardas podem ser utilizadas para especificar condições para habilitação e os efeitos das ocorrências
80
Redes de Petri Coloridas (CPN)
81
produtor consumidor
Prod Envia Rec Cons
p p
pp
c c
cc
(p,c) (p,c)
colset Prod = {vermelho, azul}colset Cons = {verde, rosa}colset pacotes = product Prod * Cons
Prod
Prod Cons
Cons
Pacote
Especificação mais precisa das cores das fichas
var p : Prodvar c : Cons
Conjuntos de Cores (Tipos)
Tipos de dados (colour sets) são utilizados para especificar diferentes tipos de fichas que podem estar nos diferentes lugaresTipos podem ser arbitrariamente complexos:
Atômicos (inteiros, cadeias de caracteres, binários e enumerações)Estruturados (produtos, registros, uniões, listas, e subconjuntos)
O uso de tipos permite construir descrições mais legíveis utilizados mnemônicos para nomes de tipos, como:
PROD, CONS, pacotesPodemos também obter descrições mais “corretas”
Verificação automática de tipos para expressões de arcos
82
Descrições Hierárquicas (módulos)
83
produtor consumidor
Prod Envia Rec Cons
p p
pp
c c
cc
(p,c) (p,c)Prod
Prod Cons
Cons
Pacote
HSconsumidor
Visão abstrata
84
HS produtor Buffer
pacotes
Transição deSubstituição
Refere‐se à sub‐rede(módulo)
Interface(socket place)
Usado paratrocar fichas entre
as sub‐redes
Módulo produtor
85
produtor
BufferProd Envia
p p
pp
(p,c)Prod
Prod
Pacote
Out
InterfacePorta de saída
Usado paraexportar fichaspara o restoda rede
Módulo consumidor
86
consumidor
Buffer
Pacote
In
InterfacePorta de entrada
Usado paraimportar fichas
do restoda rede
Rec Cons
c c
cc
(p,c)
Cons
Cons
Descrições hierárquicas
Módulos são utilizados para estruturas descrições grandes e complexas
Módulos permitem esconder detalhes que não devem ser considerados em um determinado nível de abstração
Módulos possuem interfaces bem definidas, que consiste de lugares socket e port, através dos quais módulos trocam fichas com o ambiente
Módulos podem ser reusados
87
Célula de manufatura
88
Rota iRota j
Pi
Pj
máquina 1
máquina 2
máquina 3
robô 1
robô 2robô 3
Depósito deentrada da
célula
Depósito desaída dacélula
Depósito deentrada da
máquina
Depósito desaída damáquina
Recurso deprodução da
máquina
Abordagem estruturada
89
Transporte entre células
90
Transporte dentro das células
91
Recursos das máquinas
92
Quatro células
93
Transporte entre células
Transporte dentro das células
Recursos de produção
Fazendo a fusãode lugares etransições
Nem todos osarcos estãoRepresentados!
E no caso deexistirem maiscélulas?
“Modelo” CPN
94
Mais informações sobre CP‐nets
http://www.daimi.au.dk/CPnets/
Introdução às CP‐nets, incluindo exemplos detalhados
Manuais dos conjuntos de ferramentas Design/CPN e CPN Tools
Um lista com mais de 50 aplicações industriais
Detalhes sobre os três livros sobre CPN
95
O que mais?
Outras extensões:Redes de Petri nebulosas
Redes de Petri orientadas a objetos
Redes de Petri algébricas
http://www.daimi.au.dk/PetriNets/
Análise algébrica e estruturalInvariantes
Equação de estados
96