Você está na página 1de 51

PMR 5237

Modelagem e Design de Sistemas


Discretos em Redes de Petri
Aula 6: Redes de Alto Nível e Redes Coloridas
Prof. José Reinaldo Silva
reinaldo@usp.br

Escola Politécnica da USP PMR5237


1
Industry Applications
Applications manufacturing

PLC's
(Abstract) Models
process industry

SDCD's

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


2
Aplicações das RdP em
processos industriais

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


3
Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


4
The dinning philosophers
problem

Cinco filósofos sentam em uma mesa e podem


alternadamente pensar ou comer. No entanto, para
esta última tarefa devem usar os utensílios ao lado
do prato (hashis) o que impede os seus vizinhos de
fazer a mesma coisa. O problema original prevê
cinco filósofos sendo que somente dois deles
conseguem passar do estado pensao para
comendo simultaneamente.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


5
Dobramento em
RdP
O"exemplo"dos"filósofos p1
f1 p2
p3
h2 h1

h3 h1
f2 f3 e5
e1
h2
e6
e2
e7
h3
e3

c3
c2
c1

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


6
O dobramento

O"exemplo"dos"filósofos
Estado pensando
f1

h2 h1

h3 R
f2 f3 e
c
u
r
s
o
s

Estado comendo

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


7
O"exemplo"dos"filósofos
f1 p2 p3

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.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


8
O dobramento
completo
f1 p
h2 h1 p2 p3

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

Escola Politécnica da USP PMR5237


9
O problema da
distinguibilidade

!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.!

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


10
..."isto"é,"

• "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"

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


11
Representação da marcação e
multisets

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."

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


12
Multisets

Seja o conjunto (base set) {a,b,c,d,e,f,g,h}.

Em teoria de conjuntos, {a, c, f} ∪ { c, f, g}={a, c, f, g}.

Já em multisets (bags),

{a, c, f} ∪ {c, f, g} = {a, c, c, f, f, g}

também descrito como 1`a + 2`c + 2`f + 1`g

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


13
De fato, o mesmo conjunto pode ser escrito como,

1`a + 0`b + 2`c + 0`d + 2`f + 1`g + 0`h

onde os coeficientes indicam o grau de multiplicidade de


cada elemento do conjunto de base.

A forma simplificada para especificar este conjunto consiste


em suprimir os elementos de coeficiente nulo.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


14
Operações básicas

União : Sejam dois multisets representados pelos respectivos


vetores de coeficientes sobre um conjunto de base (base set),

m= (m1, m2, …, mi, …, ms),


n= (n1, n2, …, nj, …, ns)

A união entre estes multisets é dada por,

m ∪ n = ( m1+ n1, … mi, nj, …, ms+ ns)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


15
Multiplicação por um escalar : Dado um multiset sobre um
conjunto de base S, representado pelo seu vetor de coeficientes,

m= (m1, …, mi, …, ms).

Está definida a multiplicação de m por um escalar p, resultando


no seguinte multiset,

p * m = (p m1, …, p mi, …, p ms)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


16
Relação de Ordem parcial : Dados dois multisets,
representados pelos respectivos vetores de coeficientes sobre
um conjunto de base (base set) S,

m= (m1, m2, …, mi, …, ms),


n= (n1, n2, …, nj, …, ns)

Está definida a comparação entre estes dois multisets

m ≥ n se e somente se mi ≥ ni para todo i

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


17
Cardinalidade de um multiset : Um multiset

m= (m1, m2, …, mi, …, ms),

tem cardinalidade |m|= Σ mi

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


18
Subtração : Sejam dois multisets representados pelos
respectivos vetores de coeficientes sobre um conjunto de
base (base set),

m= (m1, m2, …, mi, …, ms),


n= (n1, n2, …,ni, …, ns)

A subtração entre estes dois multisets, m - n, existe se m ≥ n


e é dada por,

m - n = (m1 - n1, …, mi - ni, …. ms - ns)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


19
Se#a#forma#de#reconhecer#simetria#for#sempre#“visual”,#como#
alegam#alguns#autores,#valeria#a#pena#optar#por#uma#
representação#em#redes#de#alto#nível?#

Tipos#de#problemas#

Redes#clássicas# Redes#de#alto#nível#

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


20
Voltando ao
Carro A
exemplo

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;$

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


21
Voltando ao
exemplo

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;$

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


22
p2 p3
p1 t1 t2

p5
p4

p6 t3
p7

p8 p9

t4
t5

p10 p11 p12

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


23
p2 p3
p1 t1 t2
a x x x x
b

Cars = {a,b} x x
Cont = c p5
p4

c
x
p6 t3
p7
c c
c

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


24
Exemplo: manobrando
linhas de trem

Escola Politécnica da USP PMR5237


25
Movimento)do)trem)T1)
)
P1)–)trem)PT1)no)ponto)a1)(Lucerne);)
P2)–)trem)T1)indo)de)Lucerne)para)Stans;)
P3)–)trem)T1)chega)em)stans)(detectado)pelo)sensor)b1))
P4)–)trem)T1)no)trecho)unificado)Stans)Engelberg)
P5)–)trem)T1)chega)em)Engelberg;)
P6)–)trem)T1)indo)de)Engelberg)para)Stans)(trecho)unificado);)
P7)–)trem)T1)chega)no)gate)1)(não)há)detecção)por)b1);)
P8)–)trem)T1)indo)de)Stans)para)Lucerne;)
)

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;)
)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


26
z z z z z z
if z=T1
then w=a1
else w=a2;
z

if z=T1
≈ ≈ ≈ z

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

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


27
Valeu a pena o dobramento?

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


28
p2 p3
p1 t1 t2
a b x x x x
de f

Cars = {a,b, d, e, f} x x
Cont = c p5
p4

c
x
p6 t3
p7
c c
c

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


29
Dobramento em
RdP
O"exemplo"dos"filósofos p1
f1 p2
p3
h2 h1

h3 h1
f2 f3 e5
e1
h2
e6
e2
e7
h3
e3

c3
c2
c1

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


30
Modelagem e
simetria
Certamente,)uma)forma)de)olhar)o)problema)é)procurar,)logo)de)início,)o)
relacionamento)entre)TODOS)os)seus)elementos)cons<tuintes,)como)feito)no)
slide)anterior.)Mas)é)possível)também)olhar)cada)um)dos)elementos)
composicionais,)especialmente)aqueles)que)apresentam)propriedades)
repte<<vas.)No)exemplo)dos)filósofos,)se)olharmos)cada)um)dos)filósofos,)
temos:))

Start%ea'ng%

thinking% ea'ng%

Right%hashi% Le1%hashi%

Return%hashis%

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


31
Você conseguria sintetizar a rede de alto nível (ou colorida)
diretamente do enunciado do problema?

Tente fazer isso, mesmo já tendo visto a solução.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


32
Voltando ao mundo dos
blocos

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.(

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


33
Descrevendo os
estados
Descritores)dos)estados:)ONTABLE(x),)ON(x,y),)CLEAR(x),)HANDEMPTY,)HOLDING(x))
)
Estado)inicial:)ONTABLE(B),)CLEAR(B),)ONTABLE(A),)ON(C,A),)CLEAR(C),)HANDEMPTY)
)
Estado)final:)ONTABLE(C),)ON(B,C),)ON(A,B),)CLEAR(A),)HANDEMPTY)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


34
Descrevendo as
ações
1.  Pickup(x),
!(robô!pega!um!bloco!x!da!mesa)!
Pré5condições:!ONTABLE(x),!CLEAR(x),!HANDEMPTY!
Pós5condição:!HOLDING(x);!
2.!Putdown(x),
(robô!deposita!bloco!x!na!mesa)!
Pré5condição:!HOLDING(x)!
Pós5condição:!ONTABLE(x),!CLEAR(x),!HANDEMPTY!
3.!Stack(x,,y),
(robô!empilha!bloco!x!sobre!o!bloco!y)!
Pré5condição:!HOLDING(x),!CLEAR(y)!
Pós5condição:!ON(x,y),!HANDEMPTY,!CLEAR(x)!
4.!Unstack(x,,y),
(robô!Ura!bloco!x!de!cima!do!bloco!y)!
Pré5condição:!ON(x,y),!CLEAR(x),!HANDEMPTY!
Pós5condição:!CLEAR(y),!HOLDING(x)!
!
Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


35
O problema (de
planejamento)

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.)
)
)

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


36
ONTABLE( PICKUP(
HOLDING(
<x>(
a( b( <x>(

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>(

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


37
As alternativas

•  Redes Coloridas (baseadas em conjuntos e na


linguagem ML)
•  Redes orientadas a objetos

•  Redes estendidas

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


38
At a time when it is increasingly
understood that programs must
withstand rigorous analysis,
particularly for systems where safety
is critical, a rigorous language
presentation is even important for
negotiators and contractors; for a
robust program written in an
insecure language is like
a house built upon sand.

Robin Milner

As redes coloridas demarcam uma fase onde se buscava


não apenas enfrentar a “explosão combinatória”, do espaço
de estados mas garantir o formalismo da modelagem.
Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


39
Portanto as redes coloridas (e de alto nível) devem ser
vistas como um convite a aumentar o nível de
abstração dos processos de modelasse em
Engenharia.

Voltando ao exercício de modelagem da lista…

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


40
Redes Coloridas (desfazendo os
mitos)
As vantagens das redes coloridas seriam:

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.**

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


41
Histórico das redes
CPN

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#

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


42
Definição informal das
CPNs

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.(

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


43
Aplicações

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'

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


44
Uso prático das redes
CPN

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$

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


45
Redes Coloridas

•  As marcas são divididas em conjuntos e separadas por tipo

•  A área de declaração do sistema contém a identidade de


cada variável assim como em declarações em ML

•  Os arcos possuem inscrições e filtros que selecionam o tipo


de marca que pode fluir por este arco.

•  O comportamento dinâmico é dado pelo conjunto : grafo,


inscrições e declaração.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


46
Redes de Petri
Linguagens Formais
Convencionais

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.

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


47
Processos
especiais

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


48
O problema do
acoplamento com
recursos

O sistema S2PR pode ainda


ser acoplado de modo que
os processos sequenciais
interferem um no outro
podendo causar atrasos e até
deadlocks devido à falta de
recursos no momento
devido.

Li, Z.W. and Zhou, M.C., “Deadlock resolution in


automated manufacturing systems: A novel Petri net
approach,” Springer, London, 2009

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


49
Introdução informal: O problema da alocação
de recursos

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.#

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


50
Fim!

Prof. José Reinaldo Silva

Escola Politécnica da USP PMR5237


51

Você também pode gostar