Вы находитесь на странице: 1из 54

IST / DEEC / SSC LEEC / MEEC 2002-2003

Automação
de
Processos Industriais

Sistemas de Eventos Discretos

Docentes:
Prof. Paulo Jorge Oliveira e-mail: pjcro@isr.ist.utl.pt
Eng. Alexandre Bernardino Tel: 21 8418053 ou 2053 (interno)
API P. Oliveira Pág. 1
IST / DEEC / SSC Automação de Processos Industriais

Programa da Cadeira:
Cap. 4 – Grafcet (Sequential Function Chart) [2 semanas]

...
Cap. 6 - Sistemas de Eventos Discretos [2 semanas]

Modelação de sistemas de eventos discretos. Autómatos.

Redes de Petri: estado, dinâmica e modelação.

Modelos restrictos e estendidos. Subclasses de Redes.


Cap. 7 - Análise de Sistemas de Eventos Discretos [2 semanas]


API P. Oliveira Pág. 2
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Alguns ponteiros acerca de Sistemas de Eventos Discretos


Resenha histórica: http://prosys.changwon.ac.kr/docs/petrinet/1.htm

Tutorial: http://vita.bu.edu/cgc/MIDEDS/
http://www.daimi.au.dk/PetriNets/

Analisadores, http://www.ppgia.pucpr.br/~maziero/petri/arp.html (em português)


e http://wiki.daimi.au.dk:8000/cpntools/cpntools.wiki
Simuladores: http://www.informatik.hu-berlin.de/top/pnk/download.html

Bibliografia: * Cassandras, Christos G., "Discrete Event Systems - Modeling and


PerformanceAnalysis", Aksen Associates, 1993.
* Peterson, James L., "Petri Net Theory and the Modeling of Systems",
Prentice-Hall,1981. Online em http://prosys.changwon.ac.kr/docs/petrinet/
* Petri Nets and GRAFCET: Tools for Modelling Discrete Event Systems
R. DAVID, H. ALLA, New York : PRENTICE HALL Editions, 1992
API P. Oliveira Pág. 3
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Caracterização genérica de
um sistema como as relações
de entrada/saída.

Equações de estado:
x(t ) = f ( x(t ),u(t ),t )
y(t ) = g ( x(t ),u(t ),t )
em tempo contínuo (ou em
tempo discreto)

Exemplos?

API P. Oliveira Pág. 4


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Cadeia aberta vs cadeia fechada ( utilização de retroacção)

Vantagens da retroacção?
(Revisitar aquando da supervisão de SEDs)

API P. Oliveira Pág. 5


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de cadeia fechada com retroacção

API P. Oliveira Pág. 6


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de Sistema de Eventos Discretos

Conjunto de eventos:

E={N, S, E, W}

API P. Oliveira Pág. 7


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Características dos sistemas com variáveis contínuas

1. Espaço de estados é contínuo

2. O mecanismo de transição de estado é time-driven

Características dos sistemas de Eventos Discretos

1. Espaço de estados é discreto

2. O mecanismo de transição de estado é event-driven

API P. Oliveira Pág. 8


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Taxonomia dos Sistemas

API P. Oliveira Pág. 9


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Níveis de Abstracção no estudo


de Sistemas de Eventos Discretos

Linguagens

Linguagens temporizadas

Linguagens temporizadas estocáticas

API P. Oliveira Pág. 10


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplos de Sistemas de Eventos Discretos


Filas de Espera

Fila de Espera Servidor


Chegada Partida
de De
clientes clientes

API P. Oliveira Pág. 11


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplos de Sistemas de Eventos Discretos


Sistemas Computacionais

CPU
CPU
Partida
Chegada de
de CPU processos
processos

API P. Oliveira Pág. 12


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Objectivos da Teoria de Sistemas


• Modelação e Análise
• Design e síntese
• Controlo/Supervisão
• Avaliação de desempenho e robustez
• Optimização

Áreas de aplicação de
Sistemas de Eventos Discretos
• Sistemas de filas de espera
• Sistemas Operativos e de Computadores
• Redes de Telecomunicações
• Bases de Dados
• Automação

API P. Oliveira Pág. 13


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Metodologias típicas de modelação

Autómatos
Aumento
em
capacidade
GRAFCET de
modelação
e da
Redes de Petri complexidade

API P. Oliveira Pág. 14


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Teoria de Autómatos e Linguagens

Génese na teoria da computação

Definição: Uma linguagem L, definida sobre um alfabeto E é um conjunto


de strings de comprimento finito formada por eventos de E.

Exemplos: E={α, β ,γ}

L1={ε, αα, αβ, γβα}


L2={todas as strings de comprimento 3}

Como se constrói um mecânismo que “fale” numa dada linguagem?


ou

Que linguagem “fala” este sistema?


API P. Oliveira Pág. 15
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Propriedades de linguagens

Kleene-closure E*: conjunto de todas as strings de


comprimento finito de E, incluindo o
elemento vazio ε.

Concatenação:
{ *
La Lb := s ∈ E : s = sa sb , sa ∈ La , sb ∈ Lb }
Prefix-closure:

{ *
L := s ∈ E : ∃t∈E * st ∈ L }
API P. Oliveira Pág. 16
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Teoria de Autómatos e Linguagens


Definição: Um autómato determinístico finito é um 5-tuplo

(E, X, f, x0 ,F)

onde:
E - alfabeto finito ou eventos possíveis

X - conjunto finito de estados

f - função de transição de estado f: X x E ->X

x0 - estado inicial x0 ⊂ X

F - conjunto de estados finais F⊂E


ou estados marcados

API P. Oliveira Pág. 17


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de um autómato

(E, X, f, x0 ,F)

E = {α, β ,γ}

X = {x, y, z}

x0 = x

F = {x, z}

f(x, α) = x f(x, β) = z f(x, γ) = z


f(y, α) = x f(y, β) = y f(y, γ) = y
f(z, α) = y f(z, β) = z f(z, γ) = y

API P. Oliveira Pág. 18


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de um autómato estocástico

(E, X, f, x0 ,F)

E = {α, β}

X = {0, 1}

x0 = 0

F = {0}

f(0, α) = {0, 1} f(0, β) = {}


f(1, α) = {} f(1, β) = 0

API P. Oliveira Pág. 19


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Dada a linguagem

G=(E, X, f, x0 ,F)

Linguagem Gerada

L(G) := {s ∈ Ε∗ : f(x0,s) é definida}

Linguagem Marcada

Lm(G) := {s ∈ Ε∗ : f(x0,s) ∈ F}

API P. Oliveira Pág. 20


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de Linguagem Marcada por um Autómato:

b a
a
0 1
b

Lm(G) := {a, aa, ba, aaa, baa, bba, …}

Ou seja: todas as strings com eventos a e b, seguidas de um a.

API P. Oliveira Pág. 21


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Equivalência entre Autómatos:

Os autómatos G1 e G2 são equivalentes se

L(G1) = L(G2)

Lm(G1) = Lm (G2)

API P. Oliveira Pág. 22


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de um autómato:

Objectivo :Pretende-se validar uma sequência de eventos

API P. Oliveira Pág. 23


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Inter-blocagem

Exemplo:
Como se encontram
os deadlocks e os
g
1
a
5 livelocks?
a
0 b 3
g b
a
2 4 Metodologias para análise
O estado 5 é um deadlock,
de Sistemas de Eventos
os estados 3 e 4 constituem Discretos
um livelock.

API P. Oliveira Pág. 24


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Bloqueamento:

em geral verifica-se que

Lm (G ) ⊆ Lm (G ) ⊆ L(G )

Um autómato G está bloqueado se

Lm (G ) ⊂ L(G )
e não está bloqueado quando

Lm (G ) = L(G )
API P. Oliveira Pág. 25
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Bloqueamento: Lm (G ) = {ab, abgab, abgabgab,...}


ε , a, ab, ag , aa, aab,
Exemplo: L(G ) =  
abg , aaba, abga,... 
1 g 5
a a (Lm (G ) ⊂ L(G ))
0 b 3
b
g a
4
Lm (G ) = {ε }
2

O estado 5 é um deadlock,
os estados 3 e 4 constituem
Lm (G ) ≠ L(G )
um livelock.

API P. Oliveira Pág. 26


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Forma alternativa de detecção de bloqueamentos:

Exemplo:

g 0
1 5 ε a
a a 0
b 1
0 3 g a b
g b
a 5 3 2
2 4 b g
4 0
O estado 5 é um deadlock, a
os estados 3 e 4 constituem
3
um livelock.

API P. Oliveira Pág. 27


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Temporizados

API P. Oliveira Pág. 28


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri
Desenvolvidas por Carl Adam Petri na sua tese de doutoramento em 1962.

Definição: Uma rede de Petri marcada é um 5-tuplo

(P, T, A, w, x0)

onde:
P - conjunto de lugares

T - conjunto de transições

A - conjunto de arcos A ⊂ (P x T) ∪(T x P)

w - função de peso w: A → Ν

x0 - marcação inicial x0 : P → Ν
API P. Oliveira Pág. 29
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de Rede de Petri

(P, T, A, w, x0)
P={p1, p2, p3, p4, p5}

T={t1, t2, t3, t4}

A={(p1, t1), (t1, p2), (t1, p3), (p2, t2), (p3, t3),
(t2, p4), (t3, p5), (p4, t4), (p5, t4), (t4, p1)}

w(p1, t1)=1, w(t1, p2)=1, w(t1, p3)=1, w(p2, t2)=1


w(p3, t3)=2, w(t2, p4)=1, w(t3, p5)=1, w(p4, t4)=3
w(p5, t4)=1, w(t4, p1)=1

x0 = {1, 0, 0, 2, 0}

API P. Oliveira Pág. 30


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri
Regras a observar:

• Um arco pode ligar lugares a transições;

• Um arco pode ligar transições a lugares.

• Um lugar pode não ter nenhuma transição de


entrada (fonte);

• Uma lugar pode não ter nenhuma transição de


saída (sorvedouro).

• O mesmo se passa em relação à ausência de lugares


de entrada e de saída nas transições.

API P. Oliveira Pág. 31


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de Rede de Petri Representação Gráfica

(P, T, A, w, x0) p1

P={p1, p2, p3, p4, p5}


t1
T={t1, t2, t3, t4}
p2 p3
A={(p1, t1), (t1, p2), (t1, p3), (p2, t2), (p3, t3),
(t2, p4), (t3, p5), (p4, t4), (p5, t4), (t4, p1)} 2
t2 t3
w(p1, t1)=1, w(t1, p2)=1, w(t1, p3)=1, w(p2, t2)=1
w(p3, t3)=2, w(t2, p4)=1, w(t3, p5)=1, w(p4, t4)=3 p4 p5
w(p5, t4)=1, w(t4, p1)=1
3
t4
x0 = {1, 0, 0, 2, 0}

API P. Oliveira Pág. 32


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Definição alternativa de uma rede de Petri

Uma rede de Petri marcada é um 5-tuplo

(P, T, I, O, µ0)
onde:
P - conjunto de lugares

T - conjunto de transições

I - função de entrada das transições I: P → T∞

O - função de saída das transições O: T → P∞

µ0 - marcação inicial µ0 : P → Ν

API P. Oliveira Pág. 33


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Exemplo de Rede de Petri e sua Representação Gráfica


Definição alternativa
p1
(P, T, I, O, µ0)

P={p1, p2, p3, p4, p5}


t1

T={t1, t2, t3, t4} p2 p3

I(t1)={p1} O(t1)={p2 , p3} 2


I(t2)={p2} O(t2)={p4}
t2 t3
I(t3)={p3, p3} O(t3)={p5}
I(t4)={p4, p4, p4, p5} O(t4)={p1} p4 p5

3
µ0 = {1, 0, 0, 2, 0} t4

API P. Oliveira Pág. 34


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri

A marcaçao de todos os lugares


de uma rede basta para caracterizar p1
o estado da mesma.
t1

p2 p3
O conjunto de todas as marcações 3
t2
possíveis de uma Rede de Petri
constituí o espaço de estados.

Como evolui o estado de uma rede de Petri?

API P. Oliveira Pág. 35


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Dinâmica das Redes de Petri

Uma transição tj ∈ Τ está permitida (enabled) se:

∀pi ∈ P : µ ( pi ) ≥ # ( pi , I (t j ))
Uma transição tj ∈ Τ permitida pode disparar (fire),
resultando uma nova marcação:

µ ′( pi ) = µ ( pi ) − # ( pi , I ( t j )) + # ( pi ,O( t j ))

API P. Oliveira Pág. 36


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Redes de Petri
Exemplo de funcionamento . p1
de uma rede de Petri

Marcação inicial:
t1

µ0 = {1, 0, 1, 2, 0}
p2 . ... p 3

Este sistema de eventos 2


t2 t3
discretos encontra-se
bloqueado.
p4 ..... .p 5

Tem um deadlock!
3
t4
API P. Oliveira Pág. 37
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri: Condições e Eventos


Condições:
a) O servidor está à espera.
b) Chegou uma tarefa e aguarda processamento
c) O servidor está a processar a tarefa
d) A tarefa está completa

Eventos
1) Chegada de tarefa
2) Servidor começa processamento
3) Servidor termina processamento
4) A tarefa é entregue
Evento Pre-condições Pos-condições
1 - b
2 a,b c
3 c d,a
4 d -
API P. Oliveira Pág. 38
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri: Condições e Eventos


Evento Pre-condições Pos-condições
1 - b
2 a,b c
3 c d,a
4 d -
Chegada Início de Fim de Tarefa é
de tarefa processamento processamento entregue

Tarefa aguarda Tarefa em Tarefa está


processamento processamento completa

Servidor
aguarda
API P. Oliveira Pág. 39
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri
Mecanismos de modelação
Concorrência Conflito

t1

t1

t2
t2

API P. Oliveira Pág. 40


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri
Mecanismos de modelação

Exclusão Mútua Produtor/Consumidor

t1 t2
m produzir consumir
Secção Secção B
crítica crítica

API P. Oliveira Pág. 41


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Redes de Petri
Mecanismos de modelação

Produtor/Consumidor limitado Leitores/Escritores

s t

produzir consumir n
B
n ler n escrever
n
n
B'

API P. Oliveira Pág. 42


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Exemplo de um sistema modelado com Redes de Petri
t9

Uma máquina automática de


venda de refrigerantes aceita
p2 t4
t1
p4
apenas moedas de 50$00 e
100$00 e vende 2 tipos de t5
t7

refrigerantes: refrigerante A, p1

t2
t3

que custa 150$00 e refrigerante t6


p5
B, que custa 200$00. p3

Assuma que na modelação da


máquina são omitidas as tran- t8

sições relativas à devolução de p1: máquina com zero escudos


moedas. t1: introdução de moeda de 50 escudos;
t8: saída de refrigerante do tipo B.

API P. Oliveira Pág. 43


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Extensões às Redes de Petri


Interruptores (Switches) [Baer 1973]

f f

e e

f f

e e

É possível implementar com redes normais.

API P. Oliveira Pág. 44


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Extensões às Redes de Petri


Arcos Inibidores

equivamentes a

Redes com Prioridades

Será possível implementar com redes normais?

Testes a zero...

Testes a infinito...
API P. Oliveira Pág. 45
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Extensões às Redes de Petri


P-Temporizadas

Chegada Início de Fim de Tarefa é


de tarefa processamento processamento entregue

Tarefa aguarda Tarefa em Tarefa está


processamento processamento completa

Servidor
aguarda

API P. Oliveira Pág. 46


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Extensões às Redes de Petri


T-Temporizadas

Chegada Início de Fim de Tarefa é


de tarefa processamento processamento entregue

Tarefa aguarda Tarefa em Tarefa está


processamento processamento completa

Servidor
aguarda

API P. Oliveira Pág. 47


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Extensões às Redes de Petri


Redes estocásticas

Interruptor estocástico Transições com temporização


descrita por variavél aleatória
com distribuição conhecida
q0 q1 q2 µ0

q0+q1+ q2 =1

API P. Oliveira Pág. 48


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Subclasses das Redes de Petri

Máquinas de Estados:

São redes de Petri onde cada transição


tem exactamente 1 arco de entrada
e um arco de saída.

Grafos Marcados

São redes de Petri onde um lugar


é entrada para uma transição e saída
de uma transição.

API P. Oliveira Pág. 49


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Exemplo de SED:
Sistema de manufactura composto
por 2 máquinas (M1 e M2) e um
manipulador (R) que retira uma peça
acabada de maquinar em M1e a trans-
M1 M2
porta para M2.

Não há buffers em nenhuma máquina,


pelo que se uma peça chegar a M1 e R

esta estiver ocupada a peça será rejeitada.

Se o manipulador chegar a M2 e esta


estiver a processar uma peça, o manipu-
lador tem de esperar.

Tempos de maquinação: M1=0.5s; M2=1.5s; RM1 → M2=0.2s; RM2 → M1=0.1s;


API P. Oliveira Pág. 50
IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Exemplo de SED (cont.):
Estados de M1 M2
M1 x1
M2 x2
R x3
R

Chegada de peças:

1 em { 0.1, 0.7 , 1.1, 1.6 , 2.5 }


a( t ) = 
0 em todos os outros ins tan tes

x1={Idle, Busy, Waiting}


x2={Idle, Busy}
x3={Idle, Carrying, Returning}

API P. Oliveira Pág. 51


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Exemplo de SED (cont.):
Definição de eventos:

a1 - carregar peça em M1

d1 - fim de processamento em M1
M1 M2

r1 - carregar manipulador

r2 - descarregar manipulador R

e carregar M2

d2 - fim de processamento em M2

r3 - manipulador na base

API P. Oliveira Pág. 52


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


a1

t x1
1 2 3 4
d1 W
B
I
1 2 3 4 t 1 2 3 4 t
r1
x2

1 2 3 4 t
B
r2
I
1 2 3 4 t
1 2 3 4 t
x3
r3
R
C
1 2 3 4 t I
d2 1 2 3 4 t

1 2 3 4 t

API P. Oliveira Pág. 53


IST / DEEC / SSC Cap. 6 – Sistemas de Eventos Discretos

Sistemas de Eventos Discretos Não Temporizados


Exemplo de SED (cont.): M1 R M2
peça

. . .
Eventos nova
a1- carregar peça em M1
Idle Idle Idle
d1- fim de processamento em M1
r1- carregar manipulador rejeita
r2 - descarregar manipulador peça r1 r2
e carregar M2 Carrying
d2- fim de processamento em M2 Busy Busy
r3- manipulador na base
d1 d2

Waiting
M1 M2

Returning
R

r3

API P. Oliveira Pág. 54