Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelagem e Design de Sistemas Discretos em Redes de Petri
Modelagem e Design de Sistemas Discretos em Redes de Petri
PLC's
(Abstract) Models
process industry
SDCD's
h3 h1
f2 f3 e5
e1
h2
e6
e2
e7
h3
e3
c3
c2
c1
O"exemplo"dos"filósofos
Estado pensando
f1
h2 h1
h3 R
f2 f3 e
c
u
r
s
o
s
Estado comendo
h2 h1
p1 p2 p3 p2 p1
p3
h3
f2 f3 h1 h3 e5
e1
h2 h1
h2 h2 e6
h3
e2 h3 h3
h3 h1 e7
e3 h1 h2
p3
p2 p1
p1 p2
p3
p1
O colapso dos lugares leva à necessidade de se
distinguir as marcas, tanto as que representam os
filósofos quanto as que representam os recursos,
isto é, os hashis.
f2
h3
f3
x x
r
P={p1, p2, p3}
H={h1, h2, h3} l(x) l(x)
U=P ∪ H e1 h3 e2
r(x) r(x)
l:P→H
pi → hi x
r:P→H x
p1 → h2
p2 → h3 p1
p3→ h1
c
Prof. José Reinaldo Silva
!Como!vimos!anteriormente!com!o!problema!dos!
filósofos,!a!introdução!da!dis9nguibilidade!das!marcas!
(dobramento)!não!afeta!as!propriedades!principais!das!
redes.!
• "preserva"a"dualidade"
• "preserva"o"conceito"de"localidade"
• "preserva"o"principio"da"concorrência"
• "preserva"o"principio"da"representação"gráfica"
• "preserva"o"princípio"da"representação"algébrica"
Não"saímos"do"domínio"das"redes"de"Petri"
p 3
p1
p2 p3
x x w(i)
r
e1
h2
i
l(x) l(x)
r(x) h3 e2
r(x)
h1
A"dis&nguibilidade"das"marcas"
x nos"leva"à"introdução"de"
x estruturas"especiais"no"lugar"das"
marcas,"chamadas"mul&sets."
Já em multisets (bags),
Tipos#de#problemas#
Redes#clássicas# Redes#de#alto#nível#
Controle
p1=$carro$A:$preparando.se$para$começar;$
p2=$carro$A:$esperando$o$sinal$de$largada;$
p3=$carro$A:$correndo;$
p4=$sinal$de$pron9dão$do$carro$A$enviado;$
p5=$sinal$de$largada$para$o$carro$A$enviado;$
p6=$operador:$esperando$sinal$de$pron9dão$dos$pilotos;$
p7=$operador:$sinal$de$largada$enviado;$ Carro B t1$=$carro$A:$envia$sinal$de$pron9dão$
p8=$sinal$de$pron9dão$do$carro$B$enviado;$ t2$=$$carro$A:$acelera$$
p9=$sinal$de$largada$para$o$carro$B$enviado;$ t3$=$$operador:$manda$sinal$de$largada$
p10=$carro$B:$preparando.se$para$começar;$ t4$=$carro$B:$envia$sinal$de$pron9dão$
p11=$carro$B:$esperando$o$sinal$de$largada;$ t5$=$$carro$B:$acelera$
p12=$carro$B:$correndo;$
p1=$carro$A:$preparando.se$para$começar;$
p2=$carro$A:$esperando$o$sinal$de$largada;$
p3=$carro$A:$correndo;$
p4=$sinal$de$pron9dão$do$carro$A$enviado;$
p5=$sinal$de$largada$para$o$carro$A$enviado;$
p6=$operador:$esperando$sinal$de$pron9dão$dos$pilotos;$
p7=$operador:$sinal$de$largada$enviado;$ t1$=$carro$A:$envia$sinal$de$pron9dão$
p8=$sinal$de$pron9dão$do$carro$B$enviado;$ t2$=$$carro$A:$acelera$$
p9=$sinal$de$largada$para$o$carro$B$enviado;$ t3$=$$operador:$manda$sinal$de$largada$
p10=$carro$B:$preparando.se$para$começar;$ t4$=$carro$B:$envia$sinal$de$pron9dão$
p11=$carro$B:$esperando$o$sinal$de$largada;$ t5$=$$carro$B:$acelera$
p12=$carro$B:$correndo;$
p5
p4
p6 t3
p7
p8 p9
t4
t5
Cars = {a,b} x x
Cont = c p5
p4
c
x
p6 t3
p7
c c
c
Movimento)do)trem)T2)
)
P9)–)trem)T2)no)ponto)C)(Engelberg);)
P10)–)trem)T2)indo)de)Engelberg)para)Stans;)
P11)–)trem)T2)chega)em)Stans)(não)detectado)pelo)sensor)b2))
P12)–)trem)T2)indo)de)Stans)para)Sarnen;)
P13)–)trem)T2)chega)em)Sarnen;)
P14)–)trem)T2)indo)de)Sarnen)para)Stans);)
P15)–)trem)T2)chega)no)gate)1)(Stans))(detectado)pelo)sensor)b2);)
P16)–)trem)T2)indo)de)Stans)para)Engelberg;)
)
T1 then w=a1 T2
else w=a2 and x=T2
x x
≈
Train = {T1, T2}
op_sign = {a1, a2}
gate = {0, 1} a1
y
x x
≈ x x
≈ x
≈
x, z in Train
w, y in op_sign
z
z
Cars = {a,b, d, e, f} x x
Cont = c p5
p4
c
x
p6 t3
p7
c c
c
h3 h1
f2 f3 e5
e1
h2
e6
e2
e7
h3
e3
c3
c2
c1
Start%ea'ng%
thinking% ea'ng%
Right%hashi% Le1%hashi%
Return%hashis%
Imagine(um(mundo(hipoté0co(composto(de(
blocos(tridimensionais(iden0ficados(por(
letras(maiúsculas(e(um(robô(manipulador(
que(só(consegue(pegar(um(bloco(de(cada(vez.(
Outra(regra(importante(é(que(este(robô(só(
pode(pegar(um(bloco(se(este(for(o(primeiro(
da(pilha,(isto(é,(não(existe(nenhum(outro(
bloco(sobre(ele.((
Com(estas(regras(pretendeDse(fazer(um(plano(
de(ações(para(que(o(robô(transforme(o(
estado(inicial(mostrado(na(figura(no(estado(
final.(
Problema)já)está)modelado)e)com)uma)representação)já)definida)para)
especificação)de)estados,)e)uma)série)de)ações)que)modificam)estes)estados.)Estes)
estados)atuam)sobre)um)conjunto)de)blocos)individualizados)(dis@nguíveis).)
Portanto)a)modelagem)deste)@po)de)problema)é)direta)e)deve)ser)feita)com)
vantagem)usando)a)HLPN)(comparado)a)fazer)a)rede)clássica)primeiro).)
)
A)modelagem)do)problema)fica)assim)bem)simples.)
)
)
Blk:={a,b,c}(
R:=({r}( <x>(
<x>(
<x>(
PUTDOWN(
OnB:(Blk(X(Blk( r(
STACK(
CLEAR(
( <y>( <x>(
x,y:(Blk( b(c( <x>(
( <x,y>(
<x>( r( r( ON(
UNSTACK( <x,y>(
(c,a)(
<y>( HANDEMPTY(
r(
<x>(
• Redes estendidas
Robin Milner
1. Explorar*as*simetrias*com*o*obje3vo*de*reduzir*o*tamanho*da*rede.*
Falha:*o*grafo*é*reduzido*mas*a*informação*para*para*as*inscrições*a*
complexidade*da*representação*não*se*altera*significa3vamente*
*
2.*Ter*uma*representação*abstrata*para*a*rede*clássica.*
*
Falha:*verdade*em*princípio,*mas*ter*que*reduzir*a*representação*para*
rede*clássica*cada*vez*que*deseja*fazer*análise*de*propriedades*
pode*não*ser*exatamente*uma*vantagem.*
*
3.*Aumentar*o*poder*de*expressão*da*representação*baseada*em*
redes.*
*
Falha:**simplesmente*não*é*verdade.**
As#redes#coloridas#surgiram#nos#anos#80#conjugando#a#representação# #
das#redes#de#Petri#com#o#Standard#ML,#que#representa#=pos#e#cores.#
#
No#final#dos#anos#80#e#princípio#dos#anos#90#surgiu#o#ambiente#Dsign#CPN#
proposto#pelo#mesmo#grupo#de#Ahus,# #(Kurt#Jensen).##
A#idéia#é#simplesmente#ter#um#formalismo#mais#abstrato#
Kurt(Jensen(
Coloured(Petri(Nets((CP/nets(or(CPNs)(is(a(graphical(
language(for(construc8ng(models(of(concurrent(systems(
and(analyzing(their(proper8es.(CP/nets(is(a(discrete/event(
modeling(language(combining(Petri(Nets(and(the(
func8onal(programming(language(CPN(ML(which(is(based(
on(Standard(ML.(
Aplicações+Típicas+ Novas+Aplicações+
Protocolo'de'Comunicação' Sistemas'de'workflow'
' '
Redes'de'Dados' Sitemas'de'manufatura'
' '
Algorítmos'Distribuídos' Sistemas'mul?@agente'
' '
Sistemas'Embarcados' Processos'de'negócio'
'
Análise'de'Requisitos'
Como$no$caso$das$redes$clássicas$o$uso$prá1co$das$redes$CPN$está$
associado$a$Simulação$do$modelo,$e$portanto$ao$estudo$de$cenários$
específicos$e$ao$processo$de$evolução$das$marcas.$$
$
Temos$portanto$o$mesmo$problema$de$desenvolver$métodos$
alterna1vos$de$análise$baseados$nas$propriedades$da$rede$e$fugir$do$
problema$da$a1ngibilidade.$
Novos-métodos---------------- Verificação$e$Model$checking$
Definição+de+Tipos+
Sincronização+de+ Manipulação+
processos++ Sintaxe
concorrentes
Kurt%Jensen,%An%Introduc0on%to%the%Prac0cal%Use%of%Coloured%Petri%
Nets,%Lect.%Notes%in%Comp.%Science%1492,%1998.
Na#indústria#automo.va#moderna#é#
comum#se#ter#vários#processos#ou#linhas#
de#montagem#e#nestes#um#ou#mais#.pos#
de#automóvel#sendo#montados#em#
pipeline.#Isso#traz#um#problema,#que#é#
ter#o#.po#certo#de#insumo#ou#recurso#no#
tempo#correto,#para#a#matriz#correta.#
#
Um#problema#similar#e#igualmente#
importante#é#ter#processos#homogêneos#
mas#compar.lhando#o#mesmo#centro#de#
recursos.#