Você está na página 1de 372

ENG 04048

Sistemas a Eventos Discretos

Prof. Marcelo Götz

Departamento de Engenharia Elétrica


UFRGS

Apresentação da Disciplina

1
Página da Disciplina

 Moodle Institucional
 Sistemas a Eventos Discretos ENG04048

 Espaço para receber e trocar informações,


trocar arquivos, submeter trabalhos, entre
outras atividades

Programação da Disciplina

 Dividida em Três Partes:

 Redes de Petri

 Teoria dos Autômatos

 Sistemas de Supervisão
 Teoria do Controle Supervisório

 Plano de Ensino disponível no MOODLE

2
Introdução aos
Sistemas a Eventos Discretos (SED)

Sistema

 Conjunto de elementos que interagem para a


realização de uma função não realizável por
nenhuma dos elementos individuais;
(IEEE Standard Dictionary of Electrical and
Electronic Terms)

 Definição bastante geral, sistema pode ser:


 Automóvel, fábrica, amplificador, corpo humando,
etc..

3
Modelagem

 Na engenharia, analise quantitativa:


 Design;
 Controle;
 Medida de performance do sistema;
 Critérios bem definidos para comparação e avaliação;

 Para tanto, é necessário um “modelo” para o


sistema, geralmente utilizando-se modelo
matemático;

Modelagem do sistema estático

Modelo Estático

4
Modelagem do sistema dinâmicos

 Modelo Dinâmico
 Conceito de Estado:
 A saída depende da entrada atual e de informação
adicional (estado atual) para prever o futuro;

Outras Classificações

 Modelos Invariantes no Tempo x Modelos Variantes no


Tempo

 Modelos Lineares x Modelos Não-Lineares

Porém, na engenharia geralmente os casos são modelados


como sendo
Lineares; Invariantes no Tempo; e Dinâmicos

5
Exemplo: Sistema Massa-Mola

Onde:
x1 é o deslocamento da massa;
x2 é a velocidade (derivada de 1° ordem de x1)

Exemplo: Circuito RC

1 1
 , 
 

  1, 1

6
Outra Classificação

Sistemas a Eventos Discretos - SED

 Quando os estados assumem valores discretos;

 A troca de estado ocorre instantaneamente em


instantes de tempo discretos;

 Os valores dos estados seguintes podem ser calculados


diretamente a partir da entrada e dos estados
precedentes sem ter que considerar o tempo entre
estes dois instantes;

Estes são: Sistemas a Eventos Discretos - SED

7
Conceitos de SED

 Eventos
 São os instantes que causam a mudança dos estados;
 O intervalo de tempo entre os eventos pode ser
indeterminado;

 Estados
 O espaço de estados é um conjunto discreto de
valores;
 A evolução dos estados depende exclusivamente da
ocorrência dos eventos no tempo;

Comparação SED x
Sistema de variáveis de espaço contínuo

Dinâmica:
  , 

Dinâmica:
´   , 

8
Exemplos de SED (1)

 Sistemas baseados em Filas (Queueing Systems)


 Programas executando em um computador compartilhando a
CPU e outros recursos;
 Mensagens esperando para serem enviadas por um roteador;
 Pessoas esperando em filas de banco ou supermercados;
 Produtos em uma linha de manufatura;
 Sistema de tráfego aéreo ou terrestre;

Modelo Básico:

Exemplos de SED (2)

 Sistema Computacional

D1, D2, ..., Dn são “agentes” que controlam o


acesso a recursos limitados; ex.: comunicação
serial, conversor A/D, Display, Impressora, etc...

9
Exemplos de SED (3)

 Sistema de Estocagem

 A variável de estado x = valor atual dos


produtos estocados;
 x possui valores discretos {0, 1, 2, ... }

Modelagem de SED: Conceitos Básicos

10
Modelagem subsistemas

 Sistema de triagem automatizado

Sistemas Híbridos

 Subsistemas de variáveis contínuas +


Subsistema de variáveis discretas

 Exemplo: Sistema de envase, fechamento e


rotulação de garrafas:
 SED para o controle ON/OFF da esteira, da válvula
para encher, etc..
 Sistema contínuo para controlar o nível dos tanques;
a temperatura, mistura, etc..(controles P, PI, PD,
PID, ...).

11
Arquitetura Híbrida Conceitual

Principais Modelos Para SED

 Redes de Petri;
 Com e sem temporização;
 Teoria de Linguagem e Autômatos;
 base para a Teoria de Controle Supervisório – TCS;
 Cadeias de Markov;
 Teoria de Filas;
 Álgebra de Processos;
 Álgebra Max-Plus;
 Lógica Temporal e Lógica Temporal de Tempo-Real;

12
Questões para reflexão

 Como é o controle para SED ???

 Sistemas supervisórios ???

 Controladores Lógicos Programáveis ???

Bibliografia

 CASSANDRAS, C. G.; LAFORTUNE, S.; Introduction to


Discrete Event Systems. 2nd Edition. Springer

 MIYAGI, P. E.; Controle Programável: fundamentos do


controle de sistemas a eventos discretos. Editora
Blücher

 CARDOSO, J.; VALETTE, R.; Redes de Petri: Disponível


online em
http://homepages.laas.fr/robert/indexRP.html

13
14/03/2011

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Introdução à redes de Petri

1
14/03/2011

Histórico

 Criadas a partir da tese de Carl Adam Petri,


intitulada Kommunication mit Automaten
(Comunicação com autômatos) apresentada em
1962
 O objetivo era a modelagem de sistemas com
componentes concorrentes
 Primeiras aplicações em 1968, indicando como
poderiam ser aplicadas na análise e modelagem
de sistemas com componentes concorrentes

Histórico

 Forte desenvolvimento na década de 70


 Surgem as redes temporizadas
 Reconhecimento como uma das mais adequadas
ferramentas para descrição e análise da
sincronização, comunicação e fonte de
compartilhamento entre processos concorrentes
 Redes de alto nível surgem na década de 80
 Segunda versão das redes coloridas surge na
década de 90

2
14/03/2011

Histórico

 Inicio da padronização internacional em 1995


 ISO/IEC-15909
 High-level Petri Nets – Concepts, Definitions and
Graphical Notation
 High-level Petri Nets – Transfer Format
 High-level Petri Nets - Extensions

Características

 Técnica de especificação formal bem estabelecida:


Capturam relações de precedência e vínculos estruturais
de sistemas reais
 Modelagem de sistemas que tenham atividades paralelas,
concorrentes, assíncronas, não determinísticas
 Modelo matemático com representação gráfica
 Uso em diversos niveis de abstração
 Possuem bons mecanismos de análise
 Conjunto único de ferramentas para especificação,
modelagem, análise, avaliação de desempenho e
implementação

3
14/03/2011

Algumas Aplicações

 Avaliação de desempenho
 Análise e verificação formal em sistemas discretos
 Protocolos de comunicação
 Controle de sistemas de fabricação
 Concepção de software tempo real e/ou distribuído
 Sistemas de informação – (Processos de empresas)
 Sistemas de transporte, logística
 Gerenciamento de base de dados

Elementos Básicos

 Lugar: Condição, estado parcial, espera,


estoque, procedimento, conjunto de recursos
 Transição: Evento que ocorre no sistema
 Ficha: Indicador que a condição associada ao
lugar é verdadeira, existência de recurso

4
14/03/2011

Comportamento Dinâmico

 Estado do sistema é dado pela repartição de


fichas nos lugares da rede
 A ocorrência de um evento é representado pelo
disparo da transição associada
 Retira-se as fichas dos lugares de entrada
 Deposita-se fichas em cada lugar de saída

Comportamento Dinâmico

 O disparo t corresponde a um evento real


 O Estado Ei é representado na rede pela
distribuição de fichas nos lugares: Marcação Mi
 O sistema atinge o estado Ei+1 se estiver no
estado Ei e se a transição t for disparada

5
14/03/2011

Modelagem de Interações

 Processos podem evoluir em:


 Cooperação
 Competição
 Em paralelo
 Sequência
 De forma repetida

Sequência

 Sequência de um processo de fabricação:


 P1, P2, P3: Fases de operação
 t1, t2, t3: Eventos de passagem de fase
 Fichas: Correspondem a peças

6
14/03/2011

Sequência

 Trecho do itinerário de um sistema de


transporte:
 Lugares descrevem as seções
 Transições a passagem de uma seção a outra
(sensor de solo, GPS)
 Fichas representam os veículos
 Mesma rede do exemplo anterior
(Encadeamento de eventos e atividades), muda
apenas a abstração dos detalhes

Evolução assíncrona

 No exemplo anterior, dois veículos estão


simultaneamente na mesma rota em seções
diferentes
 Não há correlação entre a saída de um veículo
de uma seção e a saída do outro veículo de
outra seção
 A evolução das fichas ocorre de maneira
independente e assíncrona

7
14/03/2011

Evolução síncrona

 Procedimento de Separação:
 Fim P1: J1 é separada em J2 e J3
 J2 e J3 são criadas simultaneamente de modo
síncrono
 Na criação são dependentes, na evolução são
independentes

Evolução síncrona

 Procedimento de Montagem:
 t3 requer uma ficha em P2 e outra em P4
 O desaparecimento dessas duas fichas é síncrono e
criará uma ficha no processo seguinte
 A passagem de duas evoluções assíncronas para
uma síncrona implica em uma espera

8
14/03/2011

Caminhos Alternativos

 Após P1:
 Caminho P2-P3-P6 se ocorrer t2
 Caminho P4-P5-P6 se ocorrer t3
 Apenas uma transição pode ocorrer,
pois a ficha é retirada de P1 no disparo
 Rede não informa o mecanismo de
decisão, apenas indica que a
informação deve estar disponível

Observações

 Lugar com mais de um arco de saída: Início de


um conjunto de caminhos alternativos

 Transição com mais de um arco de saída: Início


de evoluções paralelas

9
14/03/2011

Repetição

 Após P1:
 P2-P3 um certo número de vezes enquanto a condição
que dispara t3 for verdadeira antes de excutar P4
 Não há indicação sobre a decisão de repetição ou
finalização da sequência

Alocação de Recursos

 Após P1 é necessário executar P3


 O recurso Pr deve estar disponível
 Para a modelagem correta, coloca-se o lugar P2,
indicando a espera por P3, sem isso haveria um
bloqueio do fim de P1

10
14/03/2011

Alocação de Recursos

 Cada utilização do recurso corresponde a uma


malha, que inicia com a ocupação do recurso e
termina com sua liberação
 Existem tantas malhas diferentes passando pelo
lugar Pr quantas utilizações possíveis do recurso

Alocação de Recursos

11
14/03/2011

Alocação de Recursos

 Sistema de triagem automatizado

Exemplo

 Modelar o sistema abaixo por rede de Petri


 Produto Pr1 pode ser produzido em R1 ou R2 e deve
ser armazenado antes em B1 ou B2
 Produto Pr2 pode ser produzido apenas por R2, sendo
carregado diretamente
 R1 e R2 processam apenas um produto por vez e
ficam livres ao terminar

12
14/03/2011

Exemplo

 Resposta:

Exemplo

 Modelar o mesmo sistema por uma máquina de


estados finitos global em que:
 E0: Pr1 e Pr2 esperando, reatores livres
 E1: Pr1 em B1, Pr2 esperando, reatores livres
 E2: Pr1 em B2, Pr2 esperando, reatores livres
 E3: Pr1 esperando, R2 processando Pr2, R1 livre
 E4: R1 processando Pr1, Pr2 esperando, R2 livre
 E5: R2 processando Pr1, Pr2 esperando, R1 livre
 E6: Pr1 em B2, R2 processando Pr2, R1 livre
 E7: Pr1 em B1, R2 processando Pr2, R1 livre
 E8: R1 processando Pr1, R2 processando Pr2

13
14/03/2011

Exemplo

 Resposta:

Exemplo: Comparação

 Ao modelar por uma máquina de estados a


estrutura do sistema foi perdida
 Dois arcos saindo de um nó podem representar uma
decisão sobre duas opções ou dois eventos
independentes
 Arcos de E1 (eb e eg) podem ocorrer
simultaneamente, arcos de E0 (ea e ed) não podem,
mas a representação é igual
 A rede de Petri indica na própria estrutura
quando há paralelismo ou concorrência entre
eventos

14
14/03/2011

Exercício

 Considere o itinerário de um sistema de


transporte:
 Os veículos seguem automaticamente rotas pré-
traçadas e suas localizações são conhecidas nos
pontos Ci (Contatos)
 Os comandos de parar, continuar, mudar rota são
enviados somente quando estão sobre os contatos
 Somente pode haver um veículo por seção, para
evitar colisões
 A seção aparece tracejada e tem o mesmo nome do
contato

Exercício

 Fazer a modelagem desse sistema usando redes


de Petri e considerando o seguinte itinerário:

C3

C4
C1

C2

C5

15
14/03/2011

Exercício

 Resposta:

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da


UFSC, 1997. Disponível online em
http://homepages.laas.fr/robert/indexRP.html

16
11/03/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Revisão

1
11/03/2012

Estrutura e dinâmica

t1 t1 t1

Separação

t1 t1

2
11/03/2012

Montagem

t1 t1

Caminhos alternativos

t2

t1
t1 t2

t2
t1

3
11/03/2012

Repetição

t3
t2
t2
t2
t1

t1

t3

Alocação de recursos

t2

t1 t2 t1

t3
t3

4
11/03/2012

Erros comuns

Errado Errado Errado

Apresentação Formal das


Redes de Petri

5
11/03/2012

Introdução

 Apresentação das propriedades gerais e


estruturais das redes de Petri
 Através da análise das propriedades da rede, é
possível obter informações sobre o
comportamento do sistema modelado;

 Métodos de análise destas propriedades são


apresentadas no futuro

Tipos de representações

 Um grafo com dois tipos de nós e um


comportamento dinâmico
 Um conjunto de matrizes de inteiros positivos
ou nulos cujo comportamento dinâmico é
descrito por um sistema linear
 Um sistema de regras baseado em uma
representação do conhecimento sob a forma de
condição → ação

6
11/03/2012

Tipos de representações

 As representações gráfica e matricial


diferenciam-se apenas pela forma de
representação
 O grafo é utilizado pelo projetista que pode
fazer análises, verificações e ter uma idéia
global do sistema modelado mais facilmente
 A representação matricial é utilizada
principalmente por computadores para a
verificação automática

Definições

 Rede de Petri é uma quádrula


 R = <P,T,Pre,Post>
 P é um conjunto finito de lugares de dimensão n
 T é um conjunto finito de transições de dimensão m
 Pre: P x T → ℕ é a aplicação de entrada, onde ℕ é o
conjunto de números naturais
 Post: P x T → ℕ é a aplicação de saída

7
11/03/2012

Definições

 Exemplo: Encontrar P, T, Pre, Post da rede


abaixo

Definições

 Resposta:
 P = {p1, p2, p3}
 T ={a,b,c,d}
 Pre(p2,c) = 3
 Pre(p1,b) = Pre(p2,a) = Pre(p3,d) = 1
 Post(p2,d)= 3
 Post(p1,a) = Post(p2,b) = Post(p3,c) = 1

8
11/03/2012

Definições

 Uma rede marcada N é uma dupla


 N = <R, M>
 R é uma rede de Petri
 M é a marcação inicial M: P → ℕ
 M(p) é o número de fichas no lugar p
 No exemplo anterior, M={0,3,0}

Representação por Grafo

 Associa-se a uma rede de Petri um grafo com


dois tipos de nós: Lugares e Transições
 Um arco liga um lugar p a uma transição t se e
somente se Pre(p, t) ≠ 0
 Um arco liga uma transição t a um lugar p se e
somente se Post(p, t) ≠ 0

9
11/03/2012

Representação Matricial

 Define-se uma matriz Pre e outra Post de


dimensão nxm
 n é o numero de lugares
 m é o numero de transições
 Define-se uma matriz de incidência, que fornece
o balanço das fichas após o disparo de
transições:
 C = Post - Pre
 A marcação M é representada por um vetor
coluna cuja dimensão é o número de lugares

Representação Matricial

 Exemplo: Encontrar Pre, Post, C e M da rede


abaixo

10
11/03/2012

Representação Matricial

a b c d a b c d
0 1 0 0 p1 1 0 0 0 p1
Pre = 1 0 3 0 p 2 Post = 0 1 0 3 p 2
0 0 0 1 p 3 0 0 1 0 p 3

a b c d
 1 −1 0 0  p1 0 p1
C = − 1 1 − 3 3  p 2
 M = 3 p 2
 0 0 1 − 1 p 3 0 p 3

Rede de Petri Pura

 É pura se e somente se:


 Nenhuma transição possui um mesmo lugar como
entrada e saída ao mesmo tempo

∀p ∈ P ∀t ∈ T Pre(p, t)Post(p, t) = 0

11
11/03/2012

Transição Sensibilizada

 Uma transição está habilitada se o número de


fichas em cada um dos lugares de entrada for
maior ou igual ao peso do arco que liga este
lugar à transição

∀p ∈ P, M(p) ≥ Pre(p, t) ou M ≥ Pre(., t)

 Pre(.,t): Vetor coluna da matriz Pre referente à


transição t
 M: Vetor marcação inicial

Transição Sensibilizada

 Transições a e c estão sensibilizadas

0  0  0 
M = 3 Pre(., a) = 1 Pre(., c) = 3
0 0 0

M ≥ Pre(., a) e M = Pre(., c)

12
11/03/2012

Disparo de uma transição

 Caso t seja sensibilizada por uma marcação M,


uma nova marcação M’ é obtida através do
disparo de t, tal que:
∀p ∈ P, M ' ( p) = M ( p) − Pre( p, t ) + Post ( p, t )

 A nova marcação M’ é dada por:


M ' = M − Pre(., t ) + Post (., t ) = M + C (., t )

Disparo de uma transição

 O vetor Pre(.,ti), referente à transição ti da


matriz Pre pode ser escrito como Pre[1] i:
Produto da matriz Pre pelo vetor coluna[1] i
 vetor coluna[1] i é um vetor com todos os
elementos nulos, exceto na linha i
 Podemos reescrever a equação como:

M ' = M − Pre[1]i + Post [1]i = M + C [1]i

13
11/03/2012

Disparo de uma transição

 O disparo de t é uma operação que consiste em


retirar Pre(p,t) fichas de cada lugar precedente
p e colocal Post(p,t) fichas em cada lugar
seguinte p
 O disparo representa a mudança de estado no
sistema devido ao evento t

Disparo de uma transição

 Após o disparo de a, a partir da marcação inicial


M, obtém-se a marcação M’:
1  0   1 
2 = 3 + − 1
     
0 0  0 

 A matriz C indica quantas fichas são retiradas e


colocadas em cada lugar após o disparo t
 1 −1 0 0
C = − 1 1 − 3 3 
 0 0 1 − 1

14
11/03/2012

Conflito e Paralelismo

 Conflito estrutural: Duas transições tem ao


menos um lugar de entrada em comum

∃p ∈ P, Pre( p, t1)Pre( p, t 2) ≠ 0

 Conflito efetivo: Duas transições em conflito


estrutural e sensibilizadas por uma marcação M
M ≥ Pre(., t1) e M ≥ Pre(., t 2)

Conflito e Paralelismo

 Paralelismo estrutural: Duas transições que não


possuem nenhum lugar de entrada em comum

∀p ∈ P, Pre( p, t1) Pre( p, t 2) = 0

 Paralelismo efetivo: Duas transições que são


paralelas estruturalmente e sensibilizadas por
uma marcação M:
M ≥ Pre(., t1) e M ≥ Pre(., t 2)

15
11/03/2012

Conflito e Paralelismo

 a e c estão em conflito estrutural


 Para a marcação inicial M, a e c estão em
conflito efetivo
 b e d são paralelas estruturalmente
 Para uma marcação M’, b e d são efetivamente
paralelas
1
M ' = 0
1

Sequência de Disparo

 A transição t1 está sensibilizada por


M0=[1 0 0 0] e pode disparar levando à
M1=[0 1 0 0] e após t2 pode disparar levando à
M2=[0 0 1 0]
 Essa sequência de disparo (s = t1t2), é
disparável a partir de M0 com a seguinte
notação: tt
M 0 →
1 2
M2

16
11/03/2012

Sequência de Disparo

 Vetor característico da sequência s: Vetor onde


cada componente s(t) representa o número de
ocorrências da transição t em uma sequência de
disparo s.
 Sua dimensão é igual ao número de transições
da rede de Petri
0  1   2 1   2 a
 3      1  b
a
  → 2 
a
→ 1  → 2
b
s= 
0 0 0 0  0 c
 
M0 M1 M2 M1  0 d
aab
M 0 → M1

Sequência de Disparo

 Aplicando a equação:
M ' = M − Pre[1]i + Post[1]i = M + C [1]i

 A evolução da marcação de uma rede de Petri,


dada a marcação inicial M, para uma sequência
s=t i t j ... t l é:

M ' = ( M + C [1]i + C [1] j + ... + C [1]l )


= M + C ([1]i + [1] j + ... + [1]l )

17
11/03/2012

Sequência de Disparo

 A soma: [1]i + [1] j + ... + [1]l corresponde ao vetor


característico da sequência s, indicando quantas
vezes cada sequência foi disparada
 Têm-se então a equação fundamental da rede
de Petri:
M ' = M + Cs com M ≥ 0, s ≥ 0

 Essa equação permite determinar a evolução da


rede

Sequência de Disparo

 A representação de uma sequência através do


vetor s não considera a ordem de disparo das
transições
 Ocorre uma perda de informação a respeito da
evolução da rede
 A existência de um vetor característico s, que
leva a solução da equação fundamental, não
garante que a sequência s possa ser realmente
disparada e que exista aquele M’

18
11/03/2012

Sequência de Disparo

 Considere a rede de Petri abaixo e a matriz C


dessa rede. Descubra se a sequência s = abcd é
disparável a partir da marcação inicial

− 1 − 1 1 1 
 1 −1 0 0 
C= 
 0 1 −1 0 
 
 0 0 1 − 1

Sequência de Disparo

 Embora M’ seja positivo ( M '= [1 0 0 0]t ) essa


sequência não pode disparar, pois fica
bloqueada na transição a
 Seria necessário a marcação M = [2 0 0 0]t
para tornar essa sequência possível, que ainda
deveria acontecer em ordem

19
11/03/2012

Sequência de Disparo

 Dada uma marcação inicial M e uma sequência


s:
 Se M '≤ 0 não existe tal sequência
 Se M '≥ 0 não é possível afirmar se existe s
 Dada uma marcação inicial M e uma marcação
qualquer M’:
 Se s ≤ 0 não existe tal sequência
 Se s ≥ 0 não é possível afirmar se existe s

Sequência de Disparo

 Considerando todas as sequências possíveis de


uma sequência s (a partir da permutação de
disparos) pode-se dizer que a partir de uma
dada marcação, algumas podem existir e outras
não
 Utilizando a lógica linear é possível obter uma
caracterização mais precisa de uma sequência

20
11/03/2012

Conjunto de marcações acessíveis

 O conjunto de marcações acessíveis A(R,M) é o


conjunto das marcações que podem ser
atingidas a partir de uma marcação inicial
através de uma sequência de disparo:

s
A( R, M ) = {M , ∃s M 
→ M }
i i

Conjunto de marcações acessíveis

 Se esse conjunto for finito, pode ser


representado por um grafo, cujos nós são as
marcações acessíveis e os arcos indicam as
transições que permitem trocar de marcação
 Esse grafo é a máquina de estados equivalente
à rede de Petri
 Nele desaparece a noção de processo, não
sendo possível diferencial transições paralelas e
em conflito para uma dada marcação

21
11/03/2012

Conjunto de marcações acessíveis

Conjunto de marcações acessíveis

22
11/03/2012

Representação por sistema de regras

 Formado por:
 Uma base de fatos: Representa o conhecimento
disponível sobre o sistema
 Uma base de regras: Permite deduzir novos fatos
 Um mecanismos de inferência: Permite realizar novas
deduções, aplicando regras e fatos
 Se condição então ação

Representação por sistema de regras

 O mecanismo de inferência mais simples,


consiste em colocar as regras em uma lista e
percorrê-las sequêncialmente e se a regra é
verdadeira no contexto atual, é aplicada
 Pode haver um conflito de regras, quando
várias regras podem ser aplicadas no mesmo
contexto

23
11/03/2012

Representação por sistema de regras

 Esses sistemas permitem a representação de


sistemas baseados em conhecimento e obter
resultados quando não existe um algoritmo
conhecido (ex: sistemas peritos para
diagnóstico médico)
 Um sistema de regras não permite a verificação
formal
 Ao usar redes de Petri para representar esses
sistemas é possível fazer uma análise formal

Representação por sistema de regras

 A relação de redes de Petri com esses sistemas:


 O conjunto de transições da rede, com suas
condições e ações (Pre(.,t) e Post(.,t)) são a base de
regras
 A marcação corresponde à base de fatos
 O controle é dado pela estrutura da rede (Transições
paralelas e em conflito)

24
11/03/2012

Sistema de regras - Gramática

 Uma gramática é um sistema de reescrita de


palavras de um dado alfabeto
 Se G=<K,Q> a gramática da rede de Petri
 K o alfabeto cujos simbolos são os lugares p ∈ P
 Q o conjunto de regras reescritas:

t : µ ( Pre(., t )) → µ ( Post (., t ))


 µ (M ) o axioma da gramática a partir do qual novas
palavras podem ser derivadas

Sistema de regras - Gramática

*
 A aplicação µ : M → K associa uma palavra de
K* para M
 K* é o conjunto de sequências finitas de
elementos de K

25
11/03/2012

Sistema de regras - Gramática

P1
 Exemplo:
a
 Alfabeto K={p1,p2,p3}
 Conjunto de regras P2
2
b
 a : p1 → p2 
Q= 2  P3
b : p2 → p3 

2
 Para a marcação inicial: µ ( M ) = p1
 A aplicação de Q(a), leva a µ ( M ) = p1 p2

Sistema de regras - Gramática

 Uma transição t está sensibilizada por uma


marcação M se e somente se:
µ (Pre(., t )) ⊆ µ ( M )

 O disparo leva a:
µ ( M ' ) = µ ( M ) ∪ µ ( Post (., t )) / µ (Pre(., t ))

 Onde ∪ indica a concatenação de palavras


 Onde / indica a exclusão de palavras

26
11/03/2012

Sistema de regras - Gramática

2 P1
 Para µ ( M ) = p1 apenas a está
sensibilizada, pois µ (Pre(., a )) = p1 ⊆ µ ( M ) a

 Para µ ( M ) = p1 p2 apenas a está P2


2
sensibilizada, pois µ (Pre(., a )) = p1 ⊆ µ ( M ) b
2
 Para µ ( M ) = p2 apenas b está P3
2
sensibilizada, pois µ (Pre(., b)) = p2 ⊆ µ ( M )
2
 No disparo de a, com µ ( M ) = p1
µ ( M ' ) = p12 ∪ p2 / p1
µ ( M ' ) = p1 p2

Sistema de regras - Gramática

 Utilizando-se sucessivamente a equação de


disparo é possível obter o conjunto de
marcações acessíveis
 Uma sequência de disparo também pode ser
apresentada como uma palavra de um
vocabulário T*, formado a partir de um alfabeto
de transições T
 A ordem das letras dessa palavra indica a
ordem de disparo das transições na sequência s

27
11/03/2012

Exercícios

 Dada a rede abaixo, determinar:


 A representação matricial
 A representação gramatical
 A existência de conflitos e paralelismos para M=[2 0 0 0]
 O conjunto de marcações acessíveis para M=[2 0 0 0]
 O conjunto de sequências disparáveis para M=[2 0 0 0] e
M= [2 0 0 1]
t2
P2
t1
P4
P1
P3 t3

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da


UFSC, 1997. Disponível online em
http://homepages.laas.fr/robert/indexRP.html

 CASSANDRAS, C. G.; LAFORTUNE, S.; Introduction to


Discrete Event Systems. 2nd Edition. Springer

28
14/03/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Revisão

 Representações
 Gráfica, Matricial, Sistema de regras
 Conflitos e paralelismo
 Sequência de disparo
 Conjunto de marcações acessíveis

1
14/03/2012

Propriedades das redes de Petri

Propriedades conceituais

Rede K-limitada

2
14/03/2012

Lugar k-limitado

 Um lugar p é k-limitado se e somente se:


∀M '∈ A( R, M ), M' (p) ≤ k

 Se k=1, o lugar é binário


 Para M=p23
 p3 é binário
 p1 e p2 são 3-limitados

Rede marcada k-limitada

 Uma rede marcada é k-limitada se e somente se


todos os seus lugares são k-limitados
 Uma rede marcada é binária se e somente se
todos os seus lugares são binários
 Para M=p23 a rede é 3-limitada
 Para M=p2 a rede é binária

3
14/03/2012

Rede marcada k-limitada

 Nas redes binárias, os lugares representam


condições lógicas e a presença de mais de uma
ficha em um lugar significa que uma incoerência
foi introduzida no modelo
 Assim, trazem um aspecto de segurança
intrínseco ao modelo

Exemplo

 Classifique a rede abaixo quanto a limitabilidade

2
b

3 4
f g
5
c 2

4
14/03/2012

Resposta

 9-limitada

2
b

3 4
f g
5
c 2

Exemplo

 Classifique a rede abaixo quanto a limitabilidade


 a foi alterada
a

2
b

3 4
f g
5
c 2

5
14/03/2012

Resposta

 Ilimitada
 A transição a pode disparar infinitas vezes,
colocando infinitas fichas no lugar de sua saída

a a a a
a

Exemplo

 Classifique a rede abaixo quanto a limitabilidade

6
14/03/2012

Resposta

 Com M = p1, toda vez que a sequência s=ab é


disparada uma ficha é introduzida em p3
 A rede é ilimitada

Propriedades conceituais

Rede viva / quase-viva

7
14/03/2012

Transição quase viva

 Uma transição é quase viva se é possível


sensibilizá-la por uma marcação M’ do grafo de
marcações acessíveis a partir da marcação
inicial M

 Se e somente se existe uma sequência de


disparo s tal que:
s t
∃s | M 
→ M ' e M' 
→

Transição viva

 A transição deve poder ser sensibilizada a partir


de qualquer marcação M’ do grafo de
marcações acessíveis através de uma sequência
s de disparo:

st
∀M'∈ A(R, M), ∃s | M' 
→

8
14/03/2012

Exemplo

 Classifique as transições quanto à vivacidade

Resposta

 Transição d é quase viva, pois pode ser


disparada uma vez, mas depois fica bloqueada,
não sendo sensibilizada por nenhuma marcação
 Transições a,b,c,e,f são vivas, pois para
qualquer marcação acessível a partir de M é
possível encontrar uma sequência s que leva a
uma marcação que as sensibiliza

9
14/03/2012

Exemplo

 Classifique a transição g quanto à vivacidade

Resposta

 A transição g pode sempre ser disparada, até


que d seja disparada
 É portanto quase viva

10
14/03/2012

Rede marcada viva

 Uma rede marcada será viva, se e somente se


todas as suas transições são vivas
st
∀t ∈ T , ∀M '∈ A(R, M), ∃s | M' 
→
 Uma rede viva garante que nenhum bloqueio
pode ser provocado pela sua estrutura e que há
ausência de partes nunca atingidas
 A interação da rede como o seu ambiente
externo ainda pode provocar bloqueios e zonas
mortas (Ploblemas de interpretação)

Propriedades conceituais

Rede Marcada Reiniciável

11
14/03/2012

Rede marcada reiniciável

 A partir de qualquer marcação acessível é


possível encontrar uma sequência s que leve a
rede de volta à marcação inicial

s
∀M '∈ A(R, M), ∃s | M' 
→ M

Exemplo

 Classifique a rede quanto à reiniciabilidade

12
14/03/2012

Resposta

 Rede reiniciável

Exemplo

 Classifique a rede quanto à reiniciabilidade

13
14/03/2012

Resposta

 Rede não reiniciável

Exercícios

 Classifique a rede quanto à limitabilidade,


vivacidade, reiniciabilidade para:
 M=[10100]
 M=[10110]
 M=[10000]

14
14/03/2012

Resposta

 M = [10100]: Binária, viva, reiniciável


 M = [10110]: Ilimitada, viva, não reiniciável
 M = [10000]: Binária, Não viva, não reiniciável

Propriedades estruturais

15
14/03/2012

Propriedades estruturais

 Propriedades a partir da estrutura da rede e


que não dependem de sua marcação inicial
 Componentes conservativos de lugar
 Componentes repetitivos estacionários
 A partir desses elementos juntamente com as
informações sobre marcação é possível definir:
 Invariantes de lugar
 Invariantes de transição

Propriedades estruturais

Invariantes de Lugar

16
14/03/2012

Invariantes de lugar

 É quando a soma das fichas de alguns lugares


se conserva independente dos disparos

∀M ∈ A( R, M 0 ), M ( p1) + M ( p 2) = M 0 ( p1) + M 0 ( p 2)

 A forma M ( p1) + M ( p 2) = M 0 ( p1) + M 0 ( p 2) é


chamada invariante linear de lugar

Invariantes de lugar

 Na rede abaixo, a soma M(p1) + M(p2) é


sempre igual a 1:

17
14/03/2012

Invariantes de lugar

 Um invariante de lugar é uma função da


marcação dos lugares cujo valor é uma
constante que depende apenas da marcação
inicial da rede
 É uma restrição sobre os estados e as
atividades do sistema que será sempre
verificada em quaisquer que sejam as evoluções

Propriedades estruturais

Componentes conservativos

18
14/03/2012

Componentes conservativos

 O conjunto de lugares que fazem parte de uma


invariante de lugar, formam um componente
conservativo da rede
 Nessa rede:
 p1 e p2 é um componente conservativo pois M(p1)+M(p2) = 1
 p4 e p5 é um componente conservativo pois M(p4)+M(p5) = 1
 p2, p3, p4 é um componente conservativo pois
M(p2)+M(p3)+3M(p4)=3

Componentes conservativos

 Do ponto de vista gráfico, um componente


conservativo define uma sub-rede de Petri

 Uma rede de Petri é dita conservativa se todos


os lugares da rede pertencem a um
componente conservativo

19
14/03/2012

Componentes conservativos

 Vamos multiplicar a equação fundamental por fT


para obter uma soma ponderada das marcações
fTM’=fTM + fTCs
 Para tornar a equação independente das
sequências de disparo, o produto fTC deve ser
anulado
 Um componente conservativo é o conjunto de
lugares pi ∈ P correspondentes aos elementos
não nulos fi do vetor coluna f, solução da
equação: fTC = 0 com f > 0

Componentes conservativos

 Se f é a solução de FTC, então o invariante de


lugar correspondente é

f T M = f T Mo = cte, ∀M ∈ A(R, Mo)

20
14/03/2012

Exemplo

− 1 1 0 0
 1 −1 0 0 

C = − 1 1 − 3 3 
 
0 0 1 − 1
 0 0 − 1 1 

Exemplo

− 1 1 0 0
 1 −1 0 0 

C = − 1 1 − 3 3 
 
0 0 1 − 1
 0 0 − 1 1 
 Usando fTC = 0 com f>0:
f1 = [11000]T f 2 = [00011]T f 3 = [01130]T

21
14/03/2012

Exemplo

 Substituindo f1, f2 e f3 em
f T M = f T Mo ∀M ∈ A(R, Mo)
para a marcação inicial Mo = [1 0 3 0 1]T
encontra-se os invariantes de lugar:
I1 : M(p1 ) + M(p 2 ) = M 0 (p1 ) + M 0 (p 2 ) = 1
I 2 : M(p 4 ) + M(p 5 ) = M 0 (p 4 ) + M 0 (p 5 ) = 1
I3 : M(p 2 ) + M(p3 ) + 3M(p 4 ) = M 0 (p 2 ) + M 0 (p 3 ) + 3M 0 (p 4 ) = 3

Exemplo

− 1 1 0 0
 1 −1 0 0 

C = − 1 1 − 3 3 
 
0 0 1 − 1
 0 0 − 1 1 

f 1 = [11000]T f 3 = [01130]T f 5 = [-10130]T

f 2 = [00011]T f 4 = [0110 - 3]T f 6 = [-1010 - 3]T

22
14/03/2012

Exemplo

I1 : M(p1 ) + M(p 2 ) = M 0 (p1 ) + M 0 (p 2 ) = 1


I 2 : M(p 4 ) + M(p 5 ) = M 0 (p 4 ) + M 0 (p 5 ) = 1
I3 : M(p 2 ) + M(p3 ) + 3M(p 4 ) = M 0 (p 2 ) + M 0 (p3 ) + 3M 0 (p 4 ) = 3
I 4 : M(p 2 ) + M(p3 ) − 3M(p5 ) = M 0 (p 2 ) + M 0 (p3 ) − 3M 0 (p5 ) = 0
I5 : - M(p1 ) + M(p3 ) + 3M(p 4 ) = - M 0 (p1 ) + M 0 (p3 ) + 3M 0 (p 4 ) = 2
I 6 : - M(p1 ) + M(p3 ) − 3M(p5 ) = - M 0 (p1 ) + M 0 (p3 ) − 3M 0 (p5 ) = -1

Determinação de f

 O conjunto de soluções de fTC = 0 com f > 0,


formam um espaço vetorial e o que interessa é
encontrar uma base para esse espaço
 A dimensão desse espaço é dado por:
dim = n − r
 n é o número de lugares
 r é o posto (número de linhas ou colunas LI) da
matriz

23
14/03/2012

Determinação de f

 Para essa rede, a dimensão é igual a 3


 Necessita-se apenas de 3 vetores f
 Para efeitos de análise, é melhor que os
invariantes de lugar sejam todos positivos,
nesse caso a solução seria:
f 1 = [11000]T f 2 = [00011]T f 3 = [01130]T

Determinação de f

 Resolver pelo método de triangularização de


Gauss
 f inicialmente é uma matriz identidade
 As operações nas linhas de C, também são
realizadas nas colunas de f

24
14/03/2012

Determinação de f

− 1 1 0 0 1 0 0 0 0
 1 −1 0 0  0 1 0 0 0
 
C 0 = − 1 1 − 3 3  F0 = 0 0 1 0 0
   
0 0 1 − 1 0 0 0 1 0
 0 0 − 1 1  0 0 0 0 1

Determinação de f

1 − 1 0 0 − 1 1 − 1 0 0
0 0 0 0  0 1 0 0 0
 
C1 = 0 0 − 3 3  F1 =  0 0 1 0 0
   
0 0 1 − 1 0 0 0 1 0
0 0 − 1 1   0 0 0 0 1

25
14/03/2012

Determinação de f

1 0 0 − 1 − 1 0 − 1 0 1
0 1 − 1 0  0 0 0 0 1
  
C 2 = 0 3 − 3 0  F2 =  0 0 1 0 0
   
0 − 1 1 0 0 0 0 1 0
0 0 0 0   0 1 0 0 0

Determinação de f

1 0 0 − 1 − 1 0 − 1 0 1
0 1 − 1 0  0 0 0 0 1
 
C 3 = 0 0 0 0 F3 =  0 0 1 0 0
   
0 0 0 0 0 0 0 1 0
0 0 0 0   0 1 − 3 1 0

26
14/03/2012

Determinação de f

− 1 0 − 1 0 1
0 0 0 0 1

F3 =  0 0 1 0 0
 
0 0 0 1 0
 0 1 − 3 1 0

 − 1 0  1 
0 0  1 
     
f1 =  1  f 2 = 0  f 3 = 0
     
0 1 0
− 3 1 0

Determinação de f

 Esse método, pode levar a soluções em que as


invariantes de lugar são não positivas
 A seguir é apresentado um algoritmo para
utilizar com esse método para obter soluções
que levem a invariantes positivos

27
14/03/2012

Cálculo de f

 A ideia é calcular apenas as colunas da matriz F


que correspondem às n-r componentes da base
das soluções de f
 As operações efetuadas sobre as linhas de C
são memorizadas sob a forma de somas formais
em F
1 2  f1 1 2  f1 
C=   C=  
1 4 f2 0 2 f2 - f1

Cálculo de f: Passo 1

 Procurar uma coluna que possua um só termo


diferente de zero:
 Apagar a linha e a coluna associada a esta
variável
 Repetir enquanto possível

28
14/03/2012

Cálculo de f: Passo 2

 Procurar uma coluna tendo apenas um


componente não nulo com um determinado
sinal, sendo que os outros devem ser nulos ou
terem sinal contrário
 Efetuar combinações positivas de linhas de modo
a provocar o aparecimento de zeros na coluna
considerada
 Voltar ao passo 1
 Se não encontrar essa coluna, ir para 3

Cálculo de f: Passo 3

 Procurar uma coluna tendo i ≥ 2 componentes


não nulos positivos e j ≥ 2 componentes não
nulos negativos
 Anular j − 1 componentes negativos com a ajuda
dos componentes positivos
 Voltar ao passo 2 para eliminar a variável que
corresponde a um único componente negativo não
anulado
 Se nenhuma coluna corresponder a esse
critério, ir para o passo 4

29
14/03/2012

Cálculo de f: Passo 4

 Se existe uma coluna tendo todos os


componentes de mesmo sinal
 A base não possuirá apenas soluções positivas
 Eliminar essa coluna por Gauss
 Voltar ao passo 1
 Ou todas as colunas são nulas, ou a matriz não
possui mais nenhum elemento e o algoritmo
termina
 As combinações não apagadas de F fornecem
os vetores da base

Cálculo de f: Exemplo

− 1 1 0 0   f 1
 1 −1 0 0   f 2

C 0 = − 1 1 − 3 3   f 3
  
0 0 1 − 1  f 4
 0 0 − 1 1   f 5

30
14/03/2012

Cálculo de f: Exemplo

 Passo 2 na coluna 1 de C

− 1 1 0 0   f 1 0 0 0 0  f 1+ f 2
 1 −1 0 0   f 2 1 − 1 0 0   f 2 
 
C 0 = − 1 1 − 3 3   f 3 C1 = 0 0 − 3 3   f 3 + f 2
     
0 0 1 − 1  f 4 0 0 1 − 1  f 4 
 0 0 − 1 1   f 5 0 0 − 1 1   f 5 

Cálculo de f: Exemplo

 Passo 1 na coluna 1 de C

0 0 0 0  f 1+ f 2
1 − 1 0 0 0 0  f 1+ f 2
 0   f 2  0 − 3 3   f 2 + f 3
C 2 = 0 0 − 3 3   f 3 + f 2  C3 =   
   0 1 − 1  f 4 
0 0 1 − 1  f 4    
0 0 − 1 1   f 5  0 − 1 1   f 5 

31
14/03/2012

Cálculo de f: Exemplo

 Passo 2 na coluna 2 de C

0 0 0  f 1+ f 2 0 0 0  f 1+ f 2 
0 − 3 3   f 2 + f 3 0 0 0   f 2 + f 3 + 3 f 4
 
C3 =    C4 = 
0 1 − 1  f 4  0 1 − 1  f4 
     
0 − 1 1   f 5  0 0 0  f 5 + f 4 

Cálculo de f: Exemplo

 Passo 1 na coluna 2 de C

0 0 0  f 1+ f 2 
0 0 0   f 1+ f 2 
0 0   f 2 + f 3 + 3 f 4
 
C4 =  C5 = 0 0  f 2 + f 3 + 3 f 4
  
0 1 − 1  f4 
   0 0  f 4 + f 5 
0 0 0  f 5 + f 4 

32
14/03/2012

Cálculo de f: Exemplo
0 0  f 1+ f 2 
C 2 = 0 0  f 2 + f 3 + 3 f 4
  
0 0  f 4 + f 5 
 Resta apenas zeros em C e o algoritmo termina
 A base à direita descreve as manipulações nas
linhas C e colunas de F
 Substituindo fi pela coluna i de F0 obtém-se a base:
1  0 0
1  1  0
     
0 , 1  , 0
     
0 3 1 
0 0 1

Exercício

 Encontrar os componentes conservativos e os


invariantes de lugar da rede para Mo = [0101]T

− 1 1 0 
 1 −1 0 
C= 
 0 1 − 1
 
 0 −1 1 

33
14/03/2012

Resposta

 Usando fTC = 0 com f>0:


f 1 = [1100]T f 2 = [0011]T
 Substituindo f1 e f2 em
f T M = f T Mo ∀M ∈ A(R, Mo)
para a marcação inicial Mo = [0 1 0 1]T
encontra-se os invariantes de lugar:
I1 : M(p1 ) + M(p 2 ) = M0(p1 ) + M0(p 2 ) = 1
I 2 : M(p3 ) + M(p 4 ) = M0(p3 ) + M0(p 4 ) = 1

Propriedades estruturais

Invariantes de transição

34
14/03/2012

Invariante de transição

 O disparo da sequência s = cd leva de volta à


mesma marcação

 Essa sequência é um invariante de transição,


pois o disparo não modifica a marcação da rede
 O invariante de transição corresponde a uma
sequência cíclica de eventos que pode ser
repetida indefinidamente

Propriedades conceituais

Componentes repetitivos

35
14/03/2012

Componentes repetitivos

 O conjunto de transições do invariante forma


um componente repetitivo estacionário
 Usando M’ = M+Cs, para ter M’=M, Cs=0
 Toda a solução dessa equação é chamada
componente repetitivo estacionário e a
sequência s é dita invariante de transição
 Uma rede é repetitiva, se todas as transições t ∈ T
pertencem a um componente repetitivo

Componentes repetitivos

 Pode-se calcular os componentes repetitivos


estacionários da mesma forma que se encontra
os componentes conservativos, bastando
calcular a transposta de C (inverter lugares e
transições)
 A dimensão desse espaço é dado por:
dim = m − r
 m é o número de transições
 r é o posto (número de linhas ou colunas LI) da
matriz

36
14/03/2012

Exemplo

− 1 1 − 1 0 0   f 1 
 1 −1 1 0 0   f 2
T
C = C0 = 
 0 0 − 3 1 − 1  f 3
  
0 0 3 − 1 1   f 4

Exemplo

1  0 
0 0 0   f 1 + f 2  1  0 
Cx =    s1 =   s2 =  
0 0 0   f 3 + f 4  0  1 
   
0  1 

 Um componente repetitivo estacionário formado


por a e b
 Um componente repetitivo estacionário formado
por c e d
 Um invariante de transição s=ab
 Um invariante de transição s=cd

37
14/03/2012

Exercício

 Encontrar os componentes repetitivos


estacionários e os invariantes de transição da
rede para Mo = [0101]T

− 1 1 0 
 1 −1 0 
C= 
 0 1 − 1
 
 0 −1 1 

Resposta

 Usando fTCT = 0 com f>0: f = [111]T


1

 Um componente repetitivo estacionário formado


por a,b,c
 Um invariante de transição s=abc

38
14/03/2012

Exercício

 Considerando o exemplo dos reatores:


 Encontrar a matriz de incidência
 Encontrar os componentes conservativos
 Encontrar os invariantes de lugar
 Encontrar os componentes repetitivos
estacionários
 Encontrar os invariantes de transição

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da


UFSC, 1997. Disponível online em
http://homepages.laas.fr/robert/indexRP.html

 CASSANDRAS, C. G.; LAFORTUNE, S.; Introduction to


Discrete Event Systems. 2nd Edition. Springer

39
17/03/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Revisão

 Propriedades conceituais
 Limitabilidade
 Vivacidade
 Reiniciabilidade
 Propriedades estruturais
 Invariantes lineares de lugar
 Invariantes de transição
 Componentes conservativos
 Componentes repetitivos estacionários

1
17/03/2012

Análise das propriedades das redes


de Petri

Tipos de análise

 Análise por enumeração das marcações


 Análise estrutural
 Análise por redução

2
17/03/2012

Análise por enumeração de


marcações

Introdução

 Método válido apenas para redes marcadas


 Se mudar a marcação inicial é necessário fazer
uma nova análise
 Baseia-se na construção de um grafo de
marcações acessíveis
 É possível verificar todas as propriedades da
rede

3
17/03/2012

Introdução

 Se a rede é ilimitada:
s
∃M, M' ∈ A(R, M) | M 
→ M' e M' > M

 Existe uma sequência finita de disparos que


pode se repetir indefinidadamente e quando
aplicada leva sempre a uma nova marcação,
maior que a anterior

Árvore de cobertura

 Algoritmo que permite decidir se uma rede


marcada é limitada
 Basea-se na construção de uma árvore onde os
nós são a marcação da rede e os arcos as
transições
 Parte-se da marcação inicial e cada transição
sensibilizada dá origem a um ramo e o processo
se repete para as novas marcações obtidas

4
17/03/2012

Árvore de cobertura

 Um ramo termina quando é encontrada uma


marcação:
 Igual a uma outra já calculada
 Estritamente superior a uma marcação do ramo
que está sendo explorado (rede ilimitada)

Exemplo

P1 P2 [110]
a
a
P3
[001]
b

b [110]

5
17/03/2012

Exemplo 2
[1000]

t1
[0110]
t2 t2 t3
P2
P1 P4
[1010] [0011]
t1
t1
P3 t3 [0120]
t2 t3

[1020] [0021]

Exemplo 2

 Padrão da árvore:
 Cada ramo direito leva a um estado terminal
(bloqueio mortal), com uma ficha a mais em p3
 Cada ramo esquerdo se repete, mas com uma
ficha a mais em p3
 A rede é ilimitada devido ao lugar p3

6
17/03/2012

Definições do algoritmo

 Nó raiz: Corresponde a marcação inicial da rede


 Nó terminal: Um nó em que nenhuma transição
pode disparar
 Nó duplicado: Um nó idêntico à outro
considerando o caminho da raiz até esse nó

Definições do algoritmo

 Dominância de nó: Considerando x e y estados


tal que x = [x(p1 ),..., x(p n )] y = [y(p1 ),..., y(p n )] ,
x domina y (x > d y) quando:

x(p i ) ≥ y(p i ) para todos os i = 1,..., n


e
x(p i ) > y(p i ) para pelo menos um i = 1,..., n

7
17/03/2012

Definições do algoritmo

 Dominância de nó:
 No exemplo 2:

[1 0 2 0] > d [1 0 1 0]

[1 0 2 0] não domina [0 1 1 0]

Definições do algoritmo

 Simbolo w: Representa a marcação infinita de


um lugar ilimitado
 Usado para identificar uma dominância de nó na
rede
 Quando x(pi)>y(pi) trocamos o valor de x(pi) por
w
 A adição ou subtração de fichas no lugar onde a
marcação é w, não altera essa marcação
w±k = w

8
17/03/2012

Definições do algoritmo

 Simbolo w:
 Por exemplo:

[1 0 1 0] > d [1 0 0 0]

[1 0 1 0] = [1 0 w 0]

Algoritmo: Passo 1

 Inicializa a árvore
 x=x0
 Raiz = M0
 Marcar esse nó como Novo

9
17/03/2012

Algoritmo: Passo 2

 Para cada novo nó x, verifica quais transições


estão sensibilizadas f(x,tj) para todas transições
 Se nenhuma transição está sensibilizada, marcar
esse nó x como Terminal
 Se f(x,tj) é definida para alguma tj, criar um novo
nó x’= f(x,tj) e marcar esse nó como Novo

Algoritmo: Passo 3

 Para cada nó x’ criado:


 Se x(pi)=w para algum pi, então x’(pi)=w
 Se existe um nó y do caminho da raiz até o nó x
tal que x’ >d y, então x’(pi)=w para cada pi tal que
x’(pi)>y(pi)
 Caso contrário x’(pi) é obtido de f(x,tj)
 Se x’ for idêntico a outro nó do caminho da raiz
até o nó x, então marcar x’ como Duplicado

10
17/03/2012

Algoritmo: Passo 4

 Se todos os novos nós foram marcados como


duplicados ou terminais, então parar o
algoritmo, se não voltar ao passo 2

Exemplo: Passo 1
[1000]
Novo

P2 t2
P1 P4

t1
P3 t3

11
17/03/2012

Exemplo: Passos 2,3,4


[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4

t1
P3 t3

Exemplo: Passo 2
[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[1010] [0011]
t1
Novo Novo
P3 t3

12
17/03/2012

Exemplo: Passos 3,4


[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[10w0] [0011]
t1
Novo Novo
P3 t3

Exemplo: Passo 2
[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[10w0] [0011]
t1
Novo Terminal
P3 t3
t1

[0120]
Novo

13
17/03/2012

Exemplo: Passo 3,4


[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[10w0] [0011]
t1
Novo Terminal
P3 t3
t1

[01w0]
Novo

Exemplo: Passo 2,3,4


[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[10w0] [0011]
t1
Novo Terminal
P3 t3
t1

[01w0]
Novo
t2 t3

[10w0] [00w1]
Duplicado Novo

14
17/03/2012

Exemplo: Passo 2,3,4


[1000]
Novo

t1

[0110]
P2 t2 Novo
P1 P4 t2 t3

[10w0] [0011]
t1
Novo Terminal
P3 t3
t1

[01w0]
Novo
t2 t3

[10w0] [00w1]
Duplicado Terminal

Exemplo 2
[010]
Novo

15
17/03/2012

Exemplo 2
[010]
Novo

[w10]
Novo

Exemplo 2
[010]
Novo

[w10]
Novo
a s

[w10] [w01]
Duplicado Novo

16
17/03/2012

Exemplo 2
[010]
Novo

[w10]
Novo
a s

[w10] [w01]
Duplicado Novo
a c

[w01] [w10]
Duplicado Duplicado

Exercício

 Encontrar a árvore de cobertura da rede:

P1

a P2

P3
2
b

P4

17
17/03/2012

Resposta

[2200]
Novo
P1
a
a P2
[1210]
Novo
P3 a b
2
b
[0220] [1001]
Novo Novo
P4
b a

[0011] [0011]
Terminal Duplicado

Exercício 2

 Encontrar a árvore de cobertura da rede:

d
P1

P2 b a

c P3

18
17/03/2012

Resposta
[100]
Novo
b d

d [001] [1w0]
P1
Terminal Novo
b d
P2 b a

[0w1] [1w0]
c P3 Novo Duplicado
c

[0w1]
Duplicado

Resposta

 Rede ilimitada, pois apareceu w em pelo menos


um ramo
 Transição a é morta, pois não aparece como
rótulo em nenhum arco da árvore

d
P1

P2 b a

c P3

19
17/03/2012

Resposta

b
d
P1 001 100

b a d
P2
d
1w0
c P3
b

0w1
c

Outras propriedades

 A árvore de cobertura revela as propriedades da


rede quanto à limitabilidade
 Não existe algoritmo que revele as propriedades
quanto à vivacidade e reiniciabilidade
 Para verificar essas propriedades:
 Primeiro: Verificar se a rede é limitada
 Segundo: Construir o grafo de marcações
acessíveis
 Terceiro: Utilizar algoritmos de procura em grafos
para verificar essas propriedades

20
17/03/2012

Outras propriedades

 A árvore por si só, permite verificar apenas


alguns casos específicos:
 Se existir nó terminal, a rede é não viva
 Se não existir nó terminal e todos os nós finais
forem duplicados e iguais à raiz, a rede é
reiniciável

Revisão de grafos

 Grafo: conjunto V de vértices e um conjunto E


de arcos tal que cada arco de E é associado
com um par não ordenado de vértices de V
 Grafo direcionado: É um grafo em que cada
arco é associado com um par ordenado de
vértices

21
17/03/2012

Revisão de grafos

 Caminho: Sequência alternada de n+1 nós e n


arcos começando no nó x e terminando no nó y
 Caminho elementar: Um caminho de x a y que
passa uma única vez por cada nó
 Circuito: Caminho de comprimento não-nulo de
x a x que passa uma única vez por cada arco
 Circuito elementar: Ciclo de x a x passando
uma única vez por cada nó (exceto em
x0=xn=x)

Revisão de grafos

 Grafo conexo: Se para qualquer par de nós x e


y, existe um caminho de x a y

22
17/03/2012

Revisão de grafos

 Grafo fortemente conexo: Se para qualquer par


de nós x e y, existe um caminho de x a y e um
caminho de y a x

Reiniciabilidade

 A rede marcada será reiniciável se e somente se


seu grafo de marcações acessíveis for
fortemente conexo
s
∀M i , M j ∈ A(R, M), ∃s | M i 
→ Mj

 Existe um caminho (sequência s) entre qualquer


par de nós (marcações)
 O que interessa é se existe um caminho entre
qualquer marcação pertencente ao grafo e M0

23
17/03/2012

Vivacidade

 A rede marcada será viva se e somente se seu grafo de


marcações acessíveis for fortemente conexo e todas as
transições t ∈ T etiquetarem ao menos um arco do
grafo
t
∀t ∈ T ∃ M i , ∃ M j ∈ A(R, M), | M i 
→ Mj

 Se o grafo é fortemente conexo, basta verificar se todas


as transições etiquetam um arco
 Se o grafo não é conexo, a rede é viva se em cada
subgrafo fortemente conexo todas as transições
etiquetam ao menos um arco

Passos para a análise por enumeração

 1: Verificar se a rede marcada é limitada pela


construção da árvore de cobertura
 2: Se a rede marcada é limitada, construir o
grafo de marcações acessíveis
 3: Mostrar que esse grafo é fortemente conexo
 4: Verificar se toda transição aparece ao menos
uma vez como etiqueta de um arco desse grafo

24
17/03/2012

Exemplo

Exemplo

 Como o grafo não é fortemente conexo, a rede


não é reiniciável
 As transições a,b,c,e,f são vivas pois fazem
parte dos dois subgrafos fortemente conexos
 A transição d é quase viva pois não aparece em
nenhum dos subgrafos

25
17/03/2012

Exemplo 2

Exemplo

 É não reiniciável
 Todas as transições são vivas, pois fazem parte
do subgrafo fortemente conexo

26
17/03/2012

Análise estrutural

Introdução

 A análise é feita pelo cálculo dos componentes


conservativos, repetitivos estacionários e
invariantes correspondentes
 Embora nem sempre concludente (Quando ao
menos um lugar não pertence a um
componente conservativo e quando todas as
transições pertencem a algum componente
repetitivo), permite, em alguns casos, obter, de
forma mais simples e rápida, as propriedades
da rede

27
17/03/2012

Componentes conservativos

 Qualquer lugar que pertença a um componente


conservativo é limitado
 Um lugar que não pertence a um componente
conservativo pode ser limitado, assim uma rede
não conservativa pode ser limitada
 Um lugar não limitado não pertence a um
componente conservativo
 Uma rede conservativa é limitada para qualquer
marcação, já que todos os lugares são limitados

Componentes conservativos

 Uma rede para a qual existe cobertura de


componentes conservativos é limitada qualquer
que seja sua marcação inicial
 Com cobertura:
f = f1 + f2 = [11111]T f 1 = [11000]T f 2 = [00111]T

 Sem cobertura:
f = f1 + f2 = [11011]T f 1 = [11000]T f 2 = [00011]T

28
17/03/2012

Invariantes de Lugar

 A forma linear f T M = f T M o permite calcular um


limite para cada lugar
 Como os componentes de f e as marcações são
números não negativos tem-se para um p
qualquer: T
f(p)M(p) ≤ f M o

 E o seguinte limite que pode não ser atingido:


f TMo
M(p) ≤
f(p)

Exemplo

f1 = [1 1 1 1 1 0 0 0 0]
f 2 = [0 0 0 0 0 1 1 0 0]

f 3 = [0 0 1 0 0 0 0 1 0]
f 4 = [0 0 0 0 1 0 1 0 1]

29
17/03/2012

Exemplo

f = f1 + f 2 + f 3 + f 4 = [1 1 2 1 2 1 2 1 1]

 Como existe cobertura, a rede é conservativa e,


portanto, é limitada
 Com o cálculo dos invariantes de lugar, é
possível determinar o limite máximo de fichas
em cada lugar

Exemplo 2

f = f1 + f2 = [11011]T f 1 = [11000]T f 2 = [00011]T

 Não existe cobertura, mas para a marcação M0


é limitada (Grafo de marcações acessíveis)

30
17/03/2012

Componentes repetitivos

 Toda rede viva, limitada e reiniciável é repetitiva


(A recíproca é falsa)
 Se a rede não é repetitiva então ou ela é não
viva ou é ilimitada
 Uma rede repetitiva pode ser não viva

Componentes repetitivos

 Em toda rede viva e limitada para uma


marcação inicial existe uma cobertura de
componentes repetitivos estacionários
 Limitada: Existe um número finito de marcações
sensibilizando uma dada transição
 Viva: Existe sequências de comprimento finito
 Limitada e viva: Existe uma sequência repetitiva

31
17/03/2012

Invariantes de transição

 Se uma transição não pertence a um


componente repetitivo, então não pertence a
nenhuma sequência que leve novamente à
marcação inicial, pois:
 Ou a rede é ilimitada e é impossível retornar a
marcação inicial devido ao crescimento de fichas
 Ou a rede é não viva, porque essa transição leva a
um bloqueio, sendo impossível voltar à marcação
inicial

Invariantes de transição

 Se a rede é repetitiva nada é possível afirmar


sobre sua vivacidade
 Se não é repetitiva ou é não viva ou não
limitada

32
17/03/2012

Exemplo

 Para M=[0101]T é limitada, viva e reiniciável,


portanto, é repetitiva
 Para M=[1001]T é repetitiva, viva e limitada,
mas não reiniciável

Exemplo 2

 A solução para Cs = 0 é s=[000]T


 A rede é não repetitiva e, portanto, não viva ou
não limitada
 Pelo grafo de marcações acessíveis pode-se
verificar que é não limitada

33
17/03/2012

Análise através de redução

Introdução

 Quando o tamanho do conjunto de marcações


acessíveis é grande, torna-se complexo a
implementação do método por análise de
enumeração de marcações
 Pode-se aplicar regras de redução de modo que
a rede inicial e a reduzida sejam equivalentes
do ponto de vista das propriedades, tornando
possível a aplicação do método por análise de
enumeração de marcações

34
17/03/2012

Introdução

 Duas redes equivalentes não necessariamente


possuem as mesmas sequências de disparo ou
os mesmos invariantes de lugar e transição
 As duas redes possuem propriedades gerais que
podem ser verificadas em ambas
 Algumas regras que reduzem uma rede, podem
não conservar todas as propriedades

Lugar substituível

 Lugar que serve de etapa intermediária entre


duas transições ou conjuntos de transições
 O disparo das transições de entrada é condição
suficiente para poder disparar as transições de
saída
 A simplificação consiste em fazer a fusão das
transições de entrada e das transições de saída
duas a duas

35
17/03/2012

Lugar substituível

 Se ts e uma transição de saída e te uma


transição de entrada, é necessário:
∀q ∈ P, Pre(q, t s ) ≤ Post(q, t e )
 O par te ts é substituído pela transição tes :
∀q ∈ P, Pre(q, t es ) = Pre(q, t e ) e
Post(q, t es ) = Post(q, t e ) - Pre(q, t s ) + Post(q, t s )

 Eliminando assim o lugar p

Exemplo

36
17/03/2012

Exemplo 2

P1

P2
P1
b
abc

P3
P4
c

P4

Lugar substituível

 Se o lugar substituível contém fichas, é


necessário disparar a transição de saída antes
de suprimi-lo. Nesse caso a rede reduzida e a
original não são mais equivalentes do ponto de
vista de reiniciabilidade
 Se a transição de saída do lugar substituível não
possui lugares de saída, a rede reduzida e a
original não são mais equivalentes do ponto de
vista da limitabilidade

37
17/03/2012

Lugar implícito

 É um lugar redundante do ponto de vista de


sua transição de saída
 Sua marcação é combinação linear da marcação
de um conjunto de lugares E
 Em relação as suas transições de saída, não
introduz nenhuma condição a mais
 Por ser uma combinação linear, ele tem uma
relação com os componentes conservativos

Exemplo

 Mostrar que p1 é implícito P4

P2

P1 b

P3

P5

38
17/03/2012

Exemplo

 Solução para fTC=0 com f > 0:


f1 = [10011]T f 2 = [01111]T

 Considerando a possibilidade de p1 ser um lugar


implícito de p2 e p3:
f = f 2 - f1 = [-11100]T

 Aplicando fTM=fTM0: M(p1 ) = M(p 2 ) + M(p 3 )

Exemplo

 Conhecendo a marcação de p2 e p3 é possível


calcular a marcação de p1
 A única transição de saída de p1 é a transição c,
que necessita também de uma ficha em p3
 Se tiver uma ficha em p3 terá uma em p1
também
 Logo, p1 pode ser suprimido

39
17/03/2012

Exemplo

P4 P4

a a

P2 P2

P1 b b

P3 P3

c c

P5 P5

Exemplo 2

 Verificar se p1 é implícito P4

P2

P1 b

P3

P5

40
17/03/2012

Exemplo 2

 Aplicando fTM=fTM0:
M(p1 ) = M(p 2 ) + M(p 3 ) - 1

 Se o lugar p2 ou p3 tiverem uma ficha, não é


possível afirmar se p1 terá uma ficha
 A marcação da rede modifica a equação que
permite calcular a marcação do lugar implícito

Exemplo 3

 Verificar se p1 é implícito P4

P2

d P1 b

P3

P5

41
17/03/2012

Exemplo 3

 O disparo da transição d só pode ocorrer após o


disparo da transição a e antes do disparo da
transição c
 Se p1 é retirado essa condição de disparo não
existe mais, o que modifica o comportamento
da rede
 A transição d não é transição de saída nem do
lugar p2, nem do lugar p3
 Não basta que a marcação de p1 seja
combinação linear da marcação de p2 e p3

Lugar idêntico

 Lugar implícito facilmente reconhecível


 Dois lugares são idênticos se possuem as
mesmas transições de entrada e saída com os
mesmos pesos nos arcos

42
17/03/2012

Lugar implícito degenerado

 Lugar implícito facilmente reconhecível


 Quando é conectado à rede de Petri somente
por malhas elementares, sendo sua marcação
constante

Transição neutra ou identidade

 Transição que não modifica o comportamento


da rede se for retirada
 É neutra se e somente se:
Pre(., t) = Post(., t)
 É conectada à rede por malhas elementares e
seu disparo não modifica as marcações

43
17/03/2012

Transição neutra ou identidade

 Para suprimir uma transição neutra é necessário


ter certeza que ela é viva
 Caso contrário a rede reduzida pode ser viva
enquanto a original é não viva

Transição neutra ou identidade

 Para isso é necessário ter outra transição viva


na rede reduzida que garanta que a transição
suprimida t é viva na rede original, para isso
uma das seguintes condições é necessária:
 Produz uma marcação que sensibiliza t:

∃t1 | Post(., t1 ) = Pre(., t)

 Possui as mesmas condições de disparo que t:


∃t 2 | Pre(., t 2 ) = Pre(., t)

44
17/03/2012

Exemplo

 A transição t pode ser suprimida

Exemplo 2

 Verificar se a transição g pode ser suprimida

Pre(., g) = Post(., g)

45
17/03/2012

Resposta

 A transição g pode ser suprimida

Pre(., g) = Pre(., d)

Exemplo 3

 Verificar se a transição d pode ser suprimida

Pre(., d) = Post(., d)

46
17/03/2012

Resposta

 A transição d não pode ser suprimida


 Não existe uma transição que satisfaça alguma
das condições expostas anteriormente

Transições idênticas

 Duas transições são idênticas, se e somente se:


Pre(., t1 ) = Pre(., t 2 )
Post(., t1 ) = Post(., t 2 )

47
17/03/2012

Considerações sobre os métodos

Considerações sobre os métodos

 Enumeração das marcações acessíveis:


 Não é possível utilizar em situações que ocorre
uma explosão combinatória de estados
 Não é possível utilizar quando existem lugares não
limitados, como buffers
 Nessas situações não é possível mostrar que a
rede é viva ou reiniciável
 Existem situações que não é necessário ou
interessante construir o conjunto de marcações
acessíveis

48
17/03/2012

Considerações sobre os métodos

 Análise por redução:


 Em algumas situações, ao aplicar a regra do lugar
substituível, uma rede não limitada pode ser
transformada em uma rede limitada, permitindo a
análise de vivacidade e reiniciabilidade pelo
método de enumeração
 Em caso de anomalia, esse método não produz a
sequência de disparo que leva a um marcação
problema (escondendo vivacidade e limitabilidade)

Considerações sobre os métodos

 Análise estrutural:
 Fornece informações complementares
 Todo lugar que pertence a um componente conservativo
é limitado, embora possa existir lugares limitados que não
pertencem a nenhum componente conservativo
 Se uma transição não pertence a nenhum componente
repetitivo estacionário então a rede pode ser não viva ou
não limitada
 Os invariantes de lugar permitem mostrar o limite de
fichas em alguns lugares
 Os invariantes de transição fornecem condições
necessárias, mas não suficientes

49
17/03/2012

Caracterização das marcações

 Marcações acessíveis: Enumerar as marcações


de fato acessíveis a partir de M0, construindo-se
as sequências permitidas de disparo

Caracterização das marcações

 Equação fundamental: Considerar a equação


fundamental para calcular todas as marcações
positivas obtidas substituindo-se todos os
vetores positivos s>0. Alguns vetores s que são
solução correspondem a sequências que não
podem ser disparadas
 Invariantes de lugar: O conjunto de
componentes conservativos associados a uma
marcação M0 definem um outro conjunto de
marcações possíveis

50
17/03/2012

Exemplo

Exemplo

 O conjunto de marcações de fato acessíveis,


obtidas pelo grafo de marcações acessíveis,
são:

M 0 = [1 0 0 0]
T

M1 = [0 1 0 0]
T

51
17/03/2012

Exemplo

 As marcações positivas obtidas através da


equação fundamental para a marcação inicial
são:
s1 = [1 0 0 0] → M1 = [0 1 0 0]
T T

s 2 = [1 1 1 0] → M 2 = [0 0 0 1]
T T

s 3 = [λ λ λ λ ] → M 0 = [1 0 0 0]
T T

s 4 = [(λ + 1) λ λ λ ] → M1 = [0 1 0 0]
T T

Exemplo

 Esses vetores s, correspondem às sequências:


 s1=a
 s2=abc
 s3=(abcd)*
 s4=(abcd)*a
 O * indica que a sequência pode ser repetir zero, uma ou
infinitas vezes
 Correspondem ainda a todas as sequências obtidas
permutando-se a ordem das transições em s2, s3 e s4

52
17/03/2012

Exemplo

 Essa rede possui o componente conservativo


fT=[1111]
 Para a marcação M0, obtém-se o invariante
linear de lugar:
M(p1 ) + M(p 2 ) + M(p 3 ) + M(p 4 ) = 1

 As marcações que satisfazem esse invariante:


 M0=p1
 M1=p2
 M2=p3
 M3=p4

Exemplo

M 0 = [1 0 0 0] M1 = [0 1 0 0]
T T

M 0 = [1 0 0 0]
T

M1 = [0 1 0 0]
T

M 2 = [0 0 0 1]
T

M 2 = [0 0 1 0]
T
M 0 = [1 0 0 0]
T

M1 = [0 1 0 0] M 3 = [0 0 0 1]
T T

53
17/03/2012

Caracterização das marcações

 O único modo de conhecer o verdadeiro


conjunto de marcações acessíveis é o de
calcular o grafo aplicando-se sucessivamente a
equação fundamental
 Mas em numerosos casos práticos os três
conjuntos da caracterização das marcações são
idênticos, podendo-se obter informações sobre
o comportamento dinâmico da rede de modo
mais rápido e menos custoso

Casos particulares

54
17/03/2012

Casos particulares

 Redes para as quais existem resultados


particulares do ponto de vista da análise
 Rede binária e Grafcet
 Máquinas de estado
 Grafo de eventos

Rede binária e Grafcet

 Redes que corresponde a automatismos lógicos,


lugares correspondem a variáveis booleanas
 A árvore de cobertura é mais simples pois o
algoritmo pára quando um lugar tem mais de
uma ficha

55
17/03/2012

Máquinas de estado

 Redes definida da seguinte maneira:


 Toda transição possui somente um arco de entrada
 Toda transição possui somente um arco de saída
 Essa rede forma um componente conservativo que
passa por todos os lugares, sendo limitada
 Modela o conflito, mas não a concorrência nem a
sincronização
 Será viva e reiniciável se contém ao menos uma
ficha em cada componente conservativo e se existe
um caminho de cada componente conservativo aos
outros e vice-versa

Grafo de eventos

 Redes definida da seguinte maneira:


 Todo lugar possui somente um arco de entrada
 Toda lugar possui somente um arco de saída
 O grafo será limitado se para todo lugar é
possível ter uma sequência de disparo que leve
novamente a transição inicial da sequência,
passando uma vez em um dado lugar
s = t1 t 2 ...t k tal que t 1 = t k
∀(t r , t r +1 )∃p i | p i ∈ Post(t r )p i ∈ Pre(t r +1 )

56
17/03/2012

Grafo de eventos

 Para que seja vivo, é necessário que todas as


sequências s = t1t 2 ...t k tal que t 1 = t k passem uma
única vez em um dado lugar e que contenham
pelo menos uma ficha
 A rede é salva se e somente se todo lugar que
pertence a essas sequências contém somente
uma ficha

Exemplo

57
17/03/2012

Exemplo

 Circuitos:

f1 = [1 1 0 0 0 0] f 2 = [0 1 1 1 1 0]

f 3 = [0 0 0 0 1 1]

Exemplo

 Como em cada circuito existe uma ficha, a rede


é viva
 Como todos os lugares pertecem a algum
circuito, a rede é limitada
 Circuito elementar: Ciclo de x a x passando
uma única vez por cada nó (exceto em
x0=xn=x)

58
17/03/2012

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da


UFSC, 1997. Disponível online em
http://homepages.laas.fr/robert/indexRP.html

 CASSANDRAS, C. G.; LAFORTUNE, S.; Introduction to


Discrete Event Systems. 2nd Edition. Springer

 AGUIRRE, A.; BRUCIAPAGLIA, A. H.; MIYAGI, P. E.;


TAKAHASHI, R. H. C.; Enciclopédia de automática:
controle e automação, volume I. Blucher, 2007.

59
22/03/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Softwares para redes de Petri

1
22/03/2012

Softwares para redes de Petri


www.informatik.uni-hamburg.de/TGI/PetriNets

TINA – TIme petri Net Analyzer

2
22/03/2012

Características

 Analisa redes de Petri ordinárias e redes de


Petri temporais
 Apresenta um editor gráfico e outro textual
 Permite a simulação gráfica
 Informa os componentes conservativos e
repetitivos
 Analisa se a rede é limitada, viva e reiniciável
 http://homepages.laas.fr/bernard/tina/

Instalação

 Realizar o download da distribuição adequada


 Descompactar o arquivo em alguma pasta
 O executável se encontra na pasta bin:

3
22/03/2012

Execução

Rede de Petri gráfica

4
22/03/2012

Rede de Petri gráfica

Rede de Petri gráfica

5
22/03/2012

Rede de Petri gráfica

Rede de Petri gráfica

6
22/03/2012

Rede de Petri gráfica

Rede de Petri gráfica

7
22/03/2012

Rede de Petri gráfica

Exercício 1

 Modelar a rede abaixo no software TINA


 Analisar a rede em relação às propriedades
 Encontrar os componentes conservativos e
repetitivos

8
22/03/2012

Exercício 2

 Modelar a rede abaixo no software TINA


 Analisar a rede em relação às propriedades
 Encontrar os componentes conservativos e
repetitivos

Exercício 3

 Modelar a rede abaixo no software TINA


 Analisar a rede em relação às propriedades
 Encontrar os componentes conservativos e
repetitivos

9
22/03/2012

Exercício 4

 Modelar a rede abaixo no software TINA


 Analisar a rede em relação às propriedades
 Encontrar os componentes conservativos e
repetitivos

INA – Integrated Net Analyzer

10
22/03/2012

Características

 Analisa redes de Petri ordinárias, temporais e de


alto nível
 Faz a redução da rede
 Realiza análises mais avançadas em relação a
estrutura e performance da rede
 Geralmente usado com outras ferramentas
 http://www2.informatik.hu-berlin.de/~starke/ina.html

Instalação

 Realizar o download da distribuição adequada


 Descompactar o arquivo em alguma pasta
 Executar o executável

11
22/03/2012

Importar uma rede para análise

 Salvar o arquivo na mesma pasta que está o


executável INA
 Procurar salvar o arquivo como: net00.pnt

Importar uma rede para análise

 Construir a seguinte rede no TINA e exportar


para a pasta do INA com o nome net00.pnt

12
22/03/2012

Importar uma rede para análise

Importar uma rede para análise

13
22/03/2012

Simular a dinâmica da rede

Analisar a rede

14
22/03/2012

Analisar a rede

Reduzir a rede

15
22/03/2012

Reduzir a rede: Fusion

 Procura lugares e transições que possuem


exatamente as mesmas conexões

Reduzir a rede: Merging

 Junta lugares equivalentes:


 Cada lugar possui apenas uma transição de saída
com peso 1
 As transições estão ligadas aos mesmos lugares de
saída, diferentes dos lugares equivalentes

16
22/03/2012

Reduzir a rede

Histórico de execução

17
22/03/2012

Histórico de execução

Simular a dinâmica da rede

18
29/03/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Redes interpretadas

1
29/03/2012

Introdução

 Nas redes ordinárias apenas a estrutura é


representada, mas os conflitos não são
resolvidos
 Nas redes interpretadas são associadas
variáveis às transições da rede:
 Representam condições e ações existentes
 Podem indicar estado de atuadores e sensores
 Permitem modelar a interação com o ambiente
externo

Introdução

 Nas redes ordinárias uma transição é disparada


desde que seja sensibilizada
 Por exemplo, t1 pode disparar, levando a uma
marcação que t2 pode disparar, levando a uma
marcação que t1 pode disparar e assim por
diante...

2
29/03/2012

Introdução

 Considerando:
 p1: peças em espera
 p2: peça sendo torneada
 p3: máquina livre
 t1: inicio de operação
 t2: final de operação

Introdução

 No sistema real, o tempo entre o início da


operação (t1 dispara) e o final da operação (t2
dispara) corresponde à duração da operação e
é não nulo
 Há diferentes formas de representar essa
duração:
 Informação temporal
 Informação do ambiente externo

3
29/03/2012

Introdução

 Informação temporal: O tempo pode estar


implementado no modelo da rede:
 Implicitamente: Redes de Petri temporais e
temporizadas
 Explicitamente: Através de variáveis. Se M(p1)=1, t2
dispara t segundos após o disparo de t1
 O cálculo do tempo transcorrido é uma previsão, não
há nenhuma informação do sistema externo

Introdução

 Informação do ambiente externo: Informação é


fornecida pelo sistema real ou simulado
 Um sensor ou uma variável é associada à transição t2
 Para a transição disparar:
 Necessita estar sensibilizada
 A variável associada a ela deve ter o valor
verdadeiro

4
29/03/2012

Introdução

 Para uma modelagem mais fiel, é necessário


interpretar a rede, que implica em adicionar
condições adicionais de disparo
 Uma rede interpretada é uma rede não
autônoma que introduz o tempo, a interação
com o ambiente ou dados contidos na ficha
 Uma rede autônoma é aquela que os disparos
dependem apenas da estrutura da rede

Representações

 Interpretar implica em dar um sentido concreto


ao modelo matemático, associando aos lugares,
transições e fichas os elementos existentes no
sistema
 Lugares:
 Atividades de um sistema
 Estoques
 Condições lógicas
 Tarefas sendo executadas
 ...

5
29/03/2012

Representações

 Transições:
 Eventos com duração nula na escala de tempo
 Atividades ou tarefas indivisíveis ou não
interrompíveis

Representações

 Fichas:
 Objetos físicos
 Informações
 Estruturas de dados
 Estruturas de recursos
 Tais entidades são submetidas a eventos que
lhes fazem mudar de estado (passar de um
lugar a outro)

6
29/03/2012

Interações com o ambiente

 Os tratamentos realizado por um sistema


devem ser especificados durante a modelagem,
complementando as informações da estrutura
da rede
 Esses tratamentos são associados às transições
ou lugares:
 Quando associado à transição, o tratamento é
executado de maneira não interrompível
 Quando associado ao lugar, o tratamento acontece
durante todo o tempo que o lugar estiver marcado

Interações com o ambiente

 A estrutura da rede descreve os encadeamentos


dos tratamentos a serem efetuados, definindo
uma estrutura de controle do sistema modelado

7
29/03/2012

Estrutura do sistema

 Modelar um sistema que se comunique


continuamente com o ambiente externo
utilizando a rede de Petri, consiste em
estrututurá-lo em duas partes:
 Controle: Descreve todos os encadeamentos
potenciais de eventos e de atividades. É descrita pela
rede não interpretada
 Dados: Descreve as estruturas de dados e os
cálculos que são feitos sobre esses dados

Estrutura do sistema

 Os dados abrangem as informações internas,


externas e a representação do tempo
 Podem ser:
 As condições
 Os tratamentos ou ações

8
29/03/2012

Estrutura do sistema

 A interpretação da rede especifica as ligações


entre a parte de controle, dados e o ambiente
externo

Estrutura do sistema

 A interpretação exprime-se da seguinte forma:


 Associação de condições às transições
 Associação de ações às transições
 Associação de tratamento aos lugares

9
29/03/2012

Estrutura do sistema

 A rede de petri interpretada oferece uma boa


estruturação da parte de controle, mas não
existe um método para estruturar os dados
 As redes de Petri do tipo predicado-transição,
colorida e a objetos, propõem a estruturação
dos dados, a partir da noção de individualização
da ficha

Tempo explícito

 Através de variáveis booleanas aparecendo nas


condições e nas ações associadas as transições,
cujos valores dependem do tempo
 Considerando mon(θ ) uma variável booleana,
se seu valor é “0”, ela automaticamente assume
valor “1” após uma duração θ

10
29/03/2012

Tempo explícito

 Quando t1 dispara: mon(θ ) = 0


 Se t2, sensiblizada pelo disparo de t1, possui a
condição mon(θ ) = 1 :
 O intervalo de tempo entre o disparo de t1 e t2
será θ
 Isso corresponde à duração da atividade associada
ao lugar p2

Análise

 A rede de Petri descreve a parte de controle do


sistema
 A marcação fornece o estado do controle
 O estado do sistema é descrito pela marcação
associada ao estado dos dados

11
29/03/2012

Análise

 Para uma transição poder disparar, deve estar


sensibilizada na rede não interpretada, mas a
interpretação pode fazer com que essa
transição não seja disparada
 O conjunto de marcações acessíveis de uma
rede interpretada está incluído no conjunto de
marcações acessíveis antes da interpretação

Análise

 Uma transição que é viva na rede não


interpretada, pode ser não viva na rede
interpretada e algumas marcações nunca serão
alcançadas
 A limitabilidade e os invariantes de lugar se
conservam
 A vivacidade e reiniciabilidade podem ser
diferentes

12
29/03/2012

Análise

 Mesmo as redes podendo ter propriedades


diferentes, a concepção e validação de um
sistema complexo deve ser feita em etapas
 A análise de uma rede não interpretada é mais
fácil e permite a evidência de incoerências
 A complexidade de verificação de uma rede
interpretada é a mesma da prova formal de
programa

Simulação

 A rede interpretada pode ter apenas a rede


subjacente (não interpretada) analisada
 Para maiores informações, é necessário simulá-
la, testando ao menos o comportamento do
sistema para as configurações previstas

13
29/03/2012

Passos para a modelagem

 Encontrar a estrutura da rede


 Analisar a rede subjacente
 Simular a rede interpretada

Encontrar a estrutura da rede

 Consiste em encontrar a rede subjacente,


representando as atividades concorrentes,
paralelas, e em sequência
 Descrever quais os eventos associados às
transições e como representá-los, indicando
aqueles que exigem interação com o ambiente
externo

14
29/03/2012

Analisar a rede subjacente

 Verificar se possui boas propriedades


(limitabilidade, vivacidade, reiniciabilidade)
 Verificar principalmente se existe bloqueio
mortal
 Corrigir a parte estrutural e a de dados

Simular a rede interpretada

 Tentar obter o comportamento do sistema


modelado
 A simulação irá apresentar resultados apenas
sobre o conjunto de valores de entrada
escolhidos, não sendo possível simular todas as
combinações de valores de entrada

15
29/03/2012

Exemplo

 Automação de uma estação de coleta de


petróleo
 Sua função é receber o petróleo bruto proveniente
de poços vizinhos e transferir o volume produzido
para oleodutos que conduzem para estações de
armazenamento de maior capacidade

Exemplo

 Descrição:
 Tanque de armazenamento(TQ): Recebe o petróleo
continuamente através da tubulação ligada aos
poços produtores
 Quando atinge o nível alto (LSH), aciona-se uma
bomba B1 que faz a transferência do óleo a estação
central
 A bomba redundante B2 é ativada, se a B1 não for
ligada dentro de um intervalo de 2 segundos
 Quando o nível for baixo (LSL), a bomba deve ser
desligada

16
29/03/2012

Exemplo
Nome Condição Ação
Nível Alto Detectado LSH = 1
Liga B1 Start_B1
Liga B2 Start_B2
Timeout B1 monoestável (2)
Timeout B2 monoestável (2)
B1 Ligada B1 = 1
B2 Ligada B2 = 1
Nível Baixo Detectado LSL = 1
Desliga B1 Stop_B1
Desliga B2 Stop_B2
B1 Desligada B1 = 0
B2 Desligada B2 = 0

Exemplo

17
29/03/2012

Exemplo

 Após analisar a rede ordinária, devido aos


dados externos e os Timeouts, é necessário
simular o sistema e verificar as condições que
podem ocorrer devido à rede interpretada

Exercício

 Quando ocorrer bloqueio da tubulação a jusante,


a pressão na descarga vai aumentar
significamente
 Essa pressão é detectada por um pressostato PSH
 As bombas devem ser desligadas quando
PSH = 1
 Esse sinal deverá ser ignorado se ocorrer por um
tempo inferior a 30 segundos após o acionamento
da bomba (Transientes)

18
29/03/2012

Exercício

 Acrescentar essa possibilidade no modelo,


analisar a rede ordinária e simular a rede
interpretada, considerando:
 Cenário 1: PSH = 1 até as bombas serem
desligadas
 Cenário 2: PSH = 1 apenas durante o
transiente

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri: Disponível


online em
http://homepages.laas.fr/robert/indexRP.html

19
02/04/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Redes de Petri representadas no


tempo

1
02/04/2012

Introdução

 Tempo associado à estrutura da rede


 Faz parte do controle ao invés de ficar na parte
de dados
 Permite tratar problemas como os de
escalonamento e avaliação de desempenho
 Tipos de representação:
 Rede de Petri temporizada
 Rede de Petri temporal

Rede de Petri temporizada

2
02/04/2012

Tempo associado ao lugar

 Trata-se de colocar um tempo associado a


duração da atividade representada pelo lugar
 Quando a ficha chega no lugar no instante t , só
poderá deixar o mesmo após t + φ instantes

Tempo associado ao lugar

 O lugar p pode desdobrar-se na sequência


lugar-transição-lugar (p1-t’-p2), pois p1 é
substituível (redes equivalentes)
 p1 corresponde a atividade sendo executada
 t’ corresponde ao evento tempo transcorrido
 p2 corresponde a uma espera após a finalização
da atividade

3
02/04/2012

Tempo associado ao lugar

 A ficha pode estar em dois estados:


 Indisponível: Enquanto a atividade está sendo
executada a ficha não pode ser utilizada para
sensibilizar transições
 Disponível: Pode sensibilizar transições

Tempo associado ao lugar

 Sendo M d (p) o conjunto de fichas disponíveis


no lugar p, uma transição t está sensibilizada se
e somente se:

M d (p) ≥ Pre(p, t)

4
02/04/2012

Exemplo

t1

p1 d1

t2

t1 dispara

Ficha de p1 indisponível d1

Ficha de p1 disponível

t2 dispara

Exercício

 Considerando que cada transição dispara assim que


esteja sensibilizada, quanto tempo depois do disparo de
t0, t4 vai disparar?
t0

p1 d1=2
p3
t1
d3=2
p2 d2=3
t3

t2 d4=2

p5 d5=3 p4
t4

5
02/04/2012

Tempo associado à transição

 O disparo não é instantâneo e associa-se a cada


transição uma duração de disparo
 Isso representa um atraso durante o qual as
fichas utilizadas para disparar a transição não
são visíveis ou disponíveis em nenhum lugar
 No momento em que as fichas se tornam
visíveis, podem ser usadas por qualquer
transição de saída do lugar
 Isso só faz sentido se a transição é interpretada
como uma atividade não instantânea

Tempo associado à transição

 Pode-se substituir a transição por uma


sequência: transição-lugar-transição
 A primeira transição corresponde ao evento
instantâneo de início de atividade (retirada de
fichas dos lugares de entrada)

6
02/04/2012

Tempo associado à transição

 O lugar serve para memorizar a atividade como


sendo executada (fichas ficam invisíveis)
 A última transição corresponde ao evento
instantâneo de fim de atividade (fichas
colocadas nos lugares de saída)

Tempo associado à transição

 O disparo da primeira transição reserva as


fichas, que só podem ser utilizadas para o
disparo de t
 As fichas podem estar:
 Reservadas(Mr)
 Não reservadas (Mnr)
 Somente as fichas não reservadas podem
disparar transições

7
02/04/2012

Tempo associado à transição

 A marcação é dada por:

M = M r + M nr

Definição

 A rede de Petri temporizada pode associar


tempo ao lugar ou à transição, as duas
abordagens são equivalentes
 As fichas ficam indisponíveis ou reservadas
durante um certo tempo para depois
reaparecerem na marcação

8
02/04/2012

Definição

 Uma rede de Petri temporizada é um par:


Nt = < N, Θ f >
 N é uma rede de Petri <P,T,Pre,Post> com
marcação inicial M0
 Θ f é a função duração de disparo, que associa
a cada transição ou lugar um numero racional
positivo que descreve a duração do disparo ou
duração do que representa o lugar

Exemplo

 Considere que a rede é temporizada, com o


tempo associado às transições
 A cada transição ti é associado uma duração de
disparo θ i

9
02/04/2012

Exemplo

 A transição t1 é disparada no instante τ 1 , mas a


ficha somente será visível em p2 no instante
τ 1 + θ1 sensibilizando nesse momento t2
 Se a transição t4 (não temporizada) é disparada
no tempo t2, p3 é imediatamente marcado
 As transições t2 e t3 estarão em conflito após o
tempo de: max[(τ 1 + θ1 ),τ 2 ]

Rede de Petri temporal

10
02/04/2012

Introdução

 Associa-se a cada transição uma duração de


sensibilização
 O disparo é instantâneo, mas a transição deve
estar sensibilizada durante o intervalo de tempo
dado

Introdução

 Um intervalo (θ min , θ max ) é associado a cada


transição
 A duração da sensibilização deve ser maior que
θ min e menor que θ max
 A transição deve disparar antes de θ max

11
02/04/2012

Introdução

 Diferente do modelo de rede de Petri


temporizada, durante a sensibilização de uma
transição, as fichas continuam a ser vistas por
outras transições de saída do lugar que podem
disparar e deixar a transição não sensibilizada
 Pode-se associar um intervalo [a,a] a uma
transição para representar uma duração a
 Se a transição estiver sensibilizada no tempo τ ,
ela irá disparar no tempo τ + a , caso continue,
nesse instante, sensibilizada pela marcação

Definição

 Uma rede de Petri temporal é um par:

N tl = < N , θ >
 N tl é uma rede de Petri <P,T,Pre,Post> com
marcação inicial M0
 θ (t ) = [θ min (t ), θ max (t )] é a função que associa
um intervalo fechado racional a cada transição e
que descreve uma duração de sensibilização

12
02/04/2012

Exemplo

 Considere que a rede é temporal


 A cada transição ti é associado uma duração de
sensibilização dada pelo intervalo:

θ i = [θ min (ti ),θ max (ti )]

Exemplo

 Se a transição t1 disparar no instante


τ 1 , τ 1 ∈ (θ min (t1 ), θ max (t1 ))

 O lugar p2 estará marcado nesse instante


 Então a transição t2 pode disparar em τ 1 + θ 2

13
02/04/2012

Exemplo

 Se a transição t4 for disparada no instante τ 2


 A transição t3 só poderá disparar no tempo
max(τ 1 ,τ 2 ) + θ 3

Exemplo

 O conflito entre t2 e t3 existirá em função da


relação entre os instantes em que os lugares p2
e p3 estarão marcados e dos valores de θ 2 , θ 3
 Se θ 3 = 0, θ 2 ≠ 0 e τ 1 > τ 2 , p3 já poderá
disparar em τ 1 , enquanto t2 deve aguardar

14
02/04/2012

Exemplo

 Se θ 3 ≠ 0 , o conflito existe durante a


interseção dos intervalos:

(τ 1 + θ 2 ) e max(τ 1 ,τ 2 ) + θ 3

Exemplo: Mecanismo de watchdog

 Um watchdog timer é um temporizador que


reinicializa um sistema se não for reiniciado por
esse sistema antes do tempo programado
 Geralmente, o programa principal deve
periodicamente reiniciar o watchdog timer,
indicando que está em operação
 Alguma condição de erro (bloqueio mortal),
pode fazer o programa parar e não conseguir
reiniciar esse timer, sendo então reiniciado

15
02/04/2012

Exemplo: Mecanismo de watchdog

 Modelagem por uma rede temporal:


 Associa-se uma duração de sensibilização a
transição fim2
 Se após o tempo θ , a ficha ainda estiver no lugar
espera, o alarme é acionado
 Se durante esse tempo, chegar uma ficha no lugar
condição, a transição fim1 dispara

Exemplo: Mecanismo de watchdog

 Não é possível modelar esse comportamento


por uma rede temporizada:
 Um tempo associado ao lugar espera atrasaria o
disparo de fim1, mesmo se o lugar condição
tivesse uma ficha mais cedo
 Um tempo associado à transição fim2 faria com
que a ficha contida no lugar espera fosse
imediatamente reservada e que o alarme fosse
acionado após θ , mesmo se a se uma ficha
tivesse chegado durante esse tempo ao lugar
condição

16
02/04/2012

Comparação entre os dois modelos

 Rede de Petri temporal é mais geral, por


exemplo, permite a descrição de watchdogs
 Para passar de uma rede de Petri temporizada
para uma rede temporal, basta substituir a
transição t da primeira por uma sequência t1t2:

θ min (t1 ) = θ max (t1 ) = 0

θ min (t 2 ) = θ max (t 2 ) = θ(t)

Comparação entre os dois modelos

 As redes de Petri ordinárias correspondem ao


caso em que todos os intervalos de
sensibilização são iguais a:

[0, ∞]

17
02/04/2012

Considerações

 A rede será determinística caso o atraso seja


conhecido ou determinado
 Nas redes temporais a duração de sensibilização é
uma variável dentro de um intervalo, sendo que os
valores são igualmente distribuídos
 A rede será estocástica caso o atraso seja
probabilístico (Redes de Petri estocásticas)
 Nas redes estocásticas a duração de sensibilização
é uma variável com uma distribuição de
probabilidade exponencial

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da


UFSC, 1997. Disponível online em
http://homepages.laas.fr/robert/indexRP.html

 AGUIRRE, A.; BRUCIAPAGLIA, A. H.; MIYAGI, P. E.;


TAKAHASHI, R. H. C.; Enciclopédia de automática:
controle e automação, volume I. Blucher, 2007.

18
04/04/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz


Prof. Murilo Fonseca

Departamento de Engenharia Elétrica


UFRGS

Redes de Alto Nível

1
04/04/2012

Introdução

 Utilizados em sistemas com estruturas similares


 Representação de um sistema de grandes
dimensões com estruturas de alto nível
relativamente menores
 Tipos:
 Redes coloridas
 Redes predicado-transição
 Redes a objetos

Rede de Petri colorida

2
04/04/2012

Introdução

Definição

 Uma rede de Petri colorida associada a uma


marcação inicial é uma sêxtupla dada por:

N c =< P, T, C or , C sc , W, M 0 >
 P é um conjunto finito de lugares
 T é um conjunto finito de transições
 Cor é um conjunto finito de cores
 Csc é a função sub-conjunto de cores que a cada
lugar e a cada transição associa um subconjunto
de Cor (Cores possíveis para o lugar ou transição)

3
04/04/2012

Definição

N c =< P, T, C or , C sc , W, M 0 >

 W é a função de incidência (equivale a C=Post–Pre);


 M0 é a marcação inicial que associada para cada lugar e
para cor possível neste lugar um número de fichas;

Associação de cores às fichas

 Para diferenciar as fichas, são associadas cores


(números inteiros ou conjunto de etiquetas) às
fichas;
 Cada lugar possui um conjunto de cores das
fichas que podem pertencer a este lugar;
 Cada transição possui um conjunto de cores que
correspondem às diferentes maneiras de
disparar uma transição;
 Cada cor de transição, corresponde, a uma das
transições de uma rede ordinária equivalente;

4
04/04/2012

Exemplo

 Considere um sistema que possui três máquinas


M1, M2, M3.
 As peças que entram na oficina podem pertencer
a diferentes processos de fabricação, cada um
tendo uma sequência de operações.
 Considerando uma só máquina e uma só peça:

Exemplo

 Considerando três peças pertencentes a dois


processos de fabricação diferentes (Pr1 e Pr2):

Pr1: M1 – M2 – M3

Pr2: M2 – M1 – M3

5
04/04/2012

Exemplo

 Considerando três peças e três máquinas


modeladas pela rede colorida:

Exemplo

 O conjunto de cores do lugar PC é {pc1,pc2,pc3} e


representa o conjunto dos nomes das peças
 O conjunto de cores do lugar MAQ é {maq1,maq2,maq3}
e representa o conjunto dos nomes das máquinas
 O conjunto de cores do lugar US é {pc1.maq1,pc2.maq1,
pc3.maq1, pc1.maq2,...}, que correspondem as diferentes
operações de usinagem, denotadas por u11,u21,u31,u12,...
 As cores de ini e fim, são as mesmas de US

6
04/04/2012

Exemplo

 Cor = {pc1,pc2,pc3,maq1,maq2,maq3,u11,u12,...,u33}
 CSC(PC)={pc1,pc2,pc3}
 CSC(MAQ)={maq1,maq2,maq3}
 CSC(US)=CSC(ini)=CSC(fim)={u11,u12,...,u32,u33}
 ini fim
PC  − peça peça  id (uij ) = uij
W = US  id − id  com máquina (uij ) = maq j

MAQ − máquina máquina  peça(uij ) = pci

Exemplo

pc 1 pc 2 pc 3 maq1 maq2 maq3 u 11 u 12 u 13 u 21 ... u 33


1 1 1 0 0 0 0 0 0 0 ... 0
M 0 =  0 0 0 0 0 0 0 0 0 0 ... 0 
 0 0 0 1 1 1 0 0 0 0 ... 0 

Ou sob a forma de um vetor de somas formais:

 pc 1 + pc 2 + pc 3 
M 
=  0 
0 
 maq 1 + maq 2 + maq 
3

7
04/04/2012

Associação de funções aos arcos

 As etiquetas dos arcos não são números inteiros


como nas redes ordinárias;
 São funções que representam matrizes de
inteiros;
 Para cada cor de uma transição (maneira de
dispará-la) é necessário descrever quais cores
de fichas serão retiradas dos lugares de entrada
e quais cores de fichas serão colocadas nos
lugares de saída;

Associação de funções aos arcos

 A função associada ao arco tem como domínio


o produto cartesiano entre o conjunto de cores
da transição (maneira de dispará-la) e conjunto
de cores do lugar associado;
 O conjunto imagem da função Pre é o conjunto
dos inteiros positivos que descreve quantas
fichas de cada cor devem ser retiradas dos
lugares de entrada quando a transição for
disparada:
Pre(p, t) : C SC (t) x C SC (p)

8
04/04/2012

Associação de funções aos arcos

 O conjunto imagem da função Post é o conjunto


dos inteiros positivos que descreve quantas
fichas de cada cor devem ser colocadas no
lugar de saída quando a transição for
disparada:
Post(p, t) : C SC (t) x C SC (p)

Associação de funções aos arcos

 A partir das matrizes Pre e Post, define-se:


W(p, t) = Post(p, t) - Pre(p, t)

 As matrizes W, Pre e Post são matrizes de


matrizes

9
04/04/2012

Exemplo
ini fim
PC  Pre(PC, ini) Pre(PC, fim) 
 Pre(US, ini) Pre(US, fim) 
Pre = US 
MAQ Pre(MAQ, ini) Pre(MAQ, fim) 

 A função Pre(PC,ini), que etiqueta o arco que


liga o lugar PC à transição ini é dada pela
função:
Pre(PC, ini) : US x PC

 Onde:US = C SC (ini) e PC = C SC (PC)

Exemplo

 A função Pre(PC,ini) é descrita pela matriz:


u11 u12 u13 u 21 u 22 ... u 33
pc 1 1 1 1 0 0 ... 0
pc 0 0 0 1 1 ... 0 
2 
pc 3
 0 0 0 0 0 ... 1 

 Por exemplo, para que a transição dispare na


forma u11, em relação ao lugar PC, é necessário
1 ficha com cor pc1

10
04/04/2012

Associação de funções aos arcos

 A rede colorida se baseia principalmente na


notação matricial para tornar a rede mais
compacta
 Se por um lado tem-se um ganho do ponto de
vista visual, por outro, continua-se a tratar a
mesma complexidade da rede ordinária

Exemplo

 Considere o problema do jantar dos filósofos:


 Cada filósofo pode estar comendo, pensando ou
com fome;
 Eles estão sentados ao redor de uma mesa e cada
um tem um garfo e um prato de comida à frente;
 Para que possa comer, cada um precisa de dois
garfos (o seu e de seu vizinho);
 Se todos pegarem o garfo da direita ao mesmo
tempo e aguardarem a liberação do garfo da
esquerda o sistema entrará em bloqueio mortal;

11
04/04/2012

Exemplo

Filósofos
Pensando

Garfos
Pega talheres Sistema
Livres
Real

Filósofos
Comendo

Libera talheres

Exemplo

Filósofos
Pensando

f( )
Garfos
Pega talheres f( , ) Sistema
Livres
Real

Filósofos f( , , )
Comendo

Libera talheres f( , )

f( )

12
04/04/2012

Exemplo

 Cor = {f1,f2,f3,f4,f5, g1,g2,g3,g4,g5,u112,u223, u334,u445,u551}


 CSC(Filósofos pensando)={f1,f2,f3,f4,f5}
 CSC(Garfos Livres)={g1,g2,g3,g4,g5}
 CSC(Filósofos comendo)={u112,u223, u334,u445,u551}
 Pega talheres Libera talheres
FP  − filósofo filosofo 
 
W = FC  u fg esq g dir − u fg esq g dir 
GL  − garfo esq ,− garfo dir + garfo esq ,+ garfo dir 

 f1 + f 2 + f 3 + f 4 + f 5 
M =  0 
0  
 g 1 + g 2 + g 3 + g 4 + g 5


Exemplo

u112 u 223 u334 u445 u551


f1 1 0 0 0 0
f 2  0 1 0 0 0 
Pre(FP, Pega Talheres) = f 3  0 0 1 0 0
 
f 4 0 0 0 1 0
f 5  0 0 0 0 1 

13
04/04/2012

Exemplo

u112 u 223 u334 u445 u551


g 1 1 0 0 0 1
g 2  1 1 0 0 0 
Pre(GL, Pega Talheres) = g 3  0 1 1 0 0
 
g 4 0 0 1 1 0
g 5  0 0 0 1 1 

Exemplo

u112 u 223 u334 u445 u551


u 112 0 0 0 0 0 
u 0 0 0 0 0 
223  
Pre(FC, Pega Talheres) = u 334 0 0 0 0 0 
 
u 445 0 0 0 0 0 
u 551
 0 0 0 0 0 

14
04/04/2012

Exemplo

 Pre(FP, Pega Talheres) 


Pre(., Pega Talheres) =  Pre(FC, Pega Talheres) 
 
Pre(GL, Pega Talheres) 

Exemplo
u112 u 223 u 334 u 445 u551
f 1  1 0 0 0 0 
f  0 1 0 0 0 
2 
f 3
 0 0 1 0 0 
 
f 4  0 0 0 1 0 
f 5
 0 0 0 0 1 
 
u 112  0 0 0 0 0 
u  0 0 0 0 0 
223
 
Pre(., Pega Talheres) = u 334  0 0 0 0 0 
u  0 0 0 0 0 
445
 
u 551  0 0 0 0 0 
 
g 1  1 0 0 0 1 
g 2
 1 1 0 0 0 
 
g 3  0 1 1 0 0 
g  0 0 1 1 0 
4
 
g 5  0 0 0 1 1 

15
04/04/2012

Exemplo

 Encontre a matriz Post(.,Pega Talheres)


 Encontre a matriz W(.,Pega Talheres)

Resposta
u112 u 223 u 334 u 445 u551
f 1  0 0 0 0 0 
f  0 0 0 0 0 
2 
f 3
 0 0 0 0 0 
 
f 4  0 0 0 0 0 
f 5
 0 0 0 0 0 
 
u 112  1 0 0 0 0 
u  0 1 0 0 0 
223
 
Post(., Pega Talheres) = u 334  0 0 1 0 0 
u  0 0 0 1 0 
445
 
u 551  0 0 0 0 1 
 
g 1  0 0 0 0 0 
g 2
 0 0 0 0 0 
 
g 3  0 0 0 0 0 
g  0 0 0 0 0 
4
 
g 5  0 0 0 0 0 

16
04/04/2012

Exemplo
u 112 u 223 u 334 u 445 u 551
f 1  − 1 0 0 0 0 
f  0 − 1 0 0 0 
2  
f 3
 0 0 − 1 0 0 
 
f 4  0 0 0 − 1 0 
f 5
 0 0 0 0 − 1 
 
u 112  1 0 0 0 0 
u  0 1 0 0 0 
223
 
W(., Pega Talheres) = u 334  0 0 1 0 0 
u  0 0 0 1 0 
445
 
u 551  0 0 0 0 1 
 
g 1  − 1 0 0 0 − 1 
g 2
 − 1 − 1 0 0 0 
 
g 3  0 − 1 − 1 0 0 
g  0 0 − 1 − 1 0 
4
 
g 5  0 0 0 − 1 − 1 

Considerações

 Rede de Petri interpretada:


 Rede ordinária modela o controle
 A estrutura de dados evolui separadamente, de
forma paralela
 A interação entre ambas é através da
interpretação
 Rede de Petri colorida:
 Controle modelado pela rede
 Estrutura de dados modelada pela ficha

17
04/04/2012

Rede de Petri e CLPs

Conversão para linguagem Ladder

 Lógica AND:

18
04/04/2012

Conversão para linguagem Ladder

 Lógica OR:

Conversão para linguagem Ladder

 Concorrência:

19
04/04/2012

Conversão para linguagem Ladder

 Temporização:

Conversão para linguagem Ladder

 Sincronização:

20
04/04/2012

Conversão para linguagem Ladder

 Set-Reset:

Exemplo

21
04/04/2012

Exemplo

Conversão para linguagem Grafcet

 O grafcet pode ser visto como uma rede de


Petri binária
 Se a rede não for binária, basta acrescentar
lugares ou transições de forma a tornar a
mesma binária

22
04/04/2012

Bibliografia

 CARDOSO, J.; VALETTE, R.; Redes de Petri. Editora da UFSC, 1997.


Disponível online em http://homepages.laas.fr/robert/indexRP.html

 AGUIRRE, A.; BRUCIAPAGLIA, A. H.; MIYAGI, P. E.; TAKAHASHI, R.


H. C.; Enciclopédia de automática: controle e automação, volume I.
Blucher, 2007.

 MARTINS, G. M.; Redes de Petri. UFSM,2008. Disponível online em


http://www.ufsm.br/desp/geomar/dcgautomacao/RedesdePetri.pdf

 PENHA, D. O.; FREITAS, H. C.; MARTINS, C. A. P. S.; Modelagem


de sistemas computacionais usando redes de Petri: aplicação em
projeto, análise e avaliação. ERI RJ/ES,2004.

23
22/04/2012

ENG 04048
Sistemas a Eventos Discretos

Prof. Marcelo Götz

Departamento de Engenharia Elétrica


UFRGS

Introdução a Autômatos

1
22/04/2012

Características

 Comportamento modelado por uma sequência de


eventos:
e1e2e3...en

 Sem considerar os instantes de tempo das


ocorrências dos eventos;
Modelagem não temporizada

Características

 Autômatos é a maneira mais clássica de modelar


sistemas SED;
 São intuitivos e relativamente fáceis de analisar,
manipular e verificar;
 Falta porém estrutura
requer um grande espaço de estados para
modelar sistemas complexos;
 Redes de Petri possuem mais estrutura, mas é
menos poderosa para analise se comparado aos
autômatos

2
22/04/2012

Características

 Com autômatos iremos verificar 3 tipos de problemas:


 Safety (segurança): para evitar comportamentos ilegais;
 Liveness (vivacidade): para evitar “deadlock” e “livelock”;
 Diagnosis (diagnose): habilidade para detectar eventos
não observáveis;

 Estas são as verificações mais comuns no desenvolvimento


de softwares para controle de sistemas automatizados e
complexos;

Linguagens

3
22/04/2012

Alfabeto

 Um alfabeto é definido como sendo o conjunto E


finito de eventos;
 Cada evento é uma “letra” do alfabeto;

 Exemplos:
 E = {a, b, c, ..., z}
 E = {0, 1, 2, ..., 9}
 E = {0,1}
 E = {α, β, σ, ω, μ}

Cadeias (strings)

 É uma sequência finita de elementos (eventos) de um


alfabeto E;
 Também chamada de palavra (word);

 Se E = {a,b,g}, então:
 ab, ag, abg, e aaa são exemplos de cadeias;

 Se s é uma cadeia, então |s| denota o tamanho da


cadeia;

 ε é definido como sendo uma cadeia vazia (cadeia sem


eventos);

4
22/04/2012

Concatenação sobre cadeias e elementos

 Se s é uma cadeia, então:


 sε = εs = s

 Se t = αβ; u = αμ; v = ω; são cadeias, então:


 tu = αβαμ;
 uv = αμω;
 s = tuv = αβαμω;

Potências do alfabeto

   ∶ um conjunto de cadeias de mesmo tamanho k


formadas pelos elementos de E

 Se E = {a,b,g}, então:
 E0 = {ε}
 E1 = {a, b, g}
 E2 = {aa, ab, ag, ba, bb, bg, ga, gb, gg}
 E3 = {aaa, aab, aba, aga, .....}
 Particularmente:
 E* = E0 ⋃ E1 ⋃ E2 ⋃ E3 ⋃ ....

5
22/04/2012

Linguagem

 É definida como sendo o conjunto L de cadeias de


tamanho finito, formado pelas combinações dos
elementos de E ;
 Se E = {a, b, g }, então:
 L1 = {ε, a, abb }
 L2 = {todas as possíveis cadeias de tamanho 3
começando com o evento a }
 L3 = {todas as possíveis cadeias de tamanho finito que
comecem com o evento a }

Fechamento-Kleene

 O conjunto de todos as cadeias de tamanho finito


formadas pelos elementos de E, é definido com E* ,
chamado de Kleene-fechado:
 O operador * é conhecido como Fechamento-Kleene
 Se E = {a, b, c }:
 E* = {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, bb, aaa, .... } =
E0 ⋃ E1 ⋃ E2 ⋃ E3 ⋃ E4 ⋃ ....
 Assim, uma linguagem definida sobre um conjunto E
é um subconjunto de E*
 Em particular, ∅, E, e E* são linguagens;

6
22/04/2012

Terminologias sobre cadeias

 Seja tuv = s uma cadeia onde


 t, u, v ∈  ∗

 Então:
 t é chamado de prefixo de s
 u é chamado de subcadeia de s
 v é chamado de sufixo de s

Operações sobre Linguagens

 As operações usuais sobre conjuntos, como união,


intersecção, diferença e complemento são
aplicáveis sobre as linguagens;
 Linguagens são conjuntos;

 Adicionalmente serão utilizadas as operações:


 Concatenação;
 Prefixo-fechamento;
 Kleene-fechamento;

7
22/04/2012

Concatenação

 Sejam , ⊆  ∗ , então:

  ≔  ∈  ∶       ∈    ∈  

 A cadeia está em   se ela pode ser escrita como a


concatenação de uma cadeia em  com uma cadeia em ;

Prefixo-fechamento

 Seja ⊆  ∗ , então
≔  ∈  ∗ ∶ ∃ ∈  ∗  ∈

 O fechamento de prefixo de é a linguagem e consiste de


todos os prefixos de todas as cadeias em .
 No geral, ⊆
 é dito como sendo prefixo-fechado se 

8
22/04/2012

Kleene-fechamento

 Seja ⊆  ∗ , então

≔  ⋃ ⋃ ⋃ ⋃ …

 Similar ao realizado para criar E* ;

 Um elemento de ∗ é formado pela concatenação de um


número finito (mas arbitrariamente grande) de elementos de L;

Exemplo

 Seja E = {a, b, g}
 Considere
 L1 = {ε, a, abb} L2 = {g}
 Ambos L1 e L2 não são prefixo-fechamento, pois
ab ∉ L1 e ε ∉ L2 , e ainda:
 1 2 =
 1 =
 2 =
 1 2 =
 ∗ =
2
 ∗ =
1

9
22/04/2012

Exemplo

 Seja E = {a, b, g}
 Considere
 L1 = {ε, a, abb} L2 = {g}
 Ambos L1 e L2 não são prefixo-fechamento, pois
ab ∉ L1 e ε ∉ L2 , então:
 1 2 = {g, ag, abbg}
 1 = {ε, a, ab, abb}
 2 = {ε, g}
 1 2= {ε, a, abb, g, ag, abbg}
 ∗
2 = {ε, g, gg, ggg, ...}
 ∗
1 = {ε, a, abb, aa, aabb, abba, abbabb, ...}

Observações

 ε∉∅;
 {ε } é uma linguagem não vazia que contém apenas
uma cadeia vazia;
 Se L = ∅ então = ∅, e se L ≠ ∅ então
necessariamente ε ∈ ;
 ∅* = {ε } e {ε }* = {ε } ;
 ∅L = L ∅ = ∅ ;

10
22/04/2012

Representando SED por Linguagens

 O comportamento de um SED pode ser descrito por um par de


linguagens (L, Lm), sobre um alfabeto E ;
 E é definido como o conjunto de eventos que afeta o sistema
SED;
 L ⊆ E* é definido como sendo o conjunto de todos as cadeias
de eventos fisicamente possíveis de ocorrer no SED;
 São as palavras que o SED “entende”;
 Lm ⊆ E* é definido como sendo o conjunto das cadeias
marcadas:
 cadeias que representam uma tarefas completas no SED;
 Lm depende da representação dada ao problema a ser modelado;

Propriedades de L e Lm

 Para um sistema SED, temos que:


 Lm ⊆ L : O conjunto de cadeias marcadas Lm está contido
no conjunto L;
 L  : O comportamento do SED é prefixo-fechado;

 Os Autômatos são utilizados como “geradores”


destas linguagens;
 Como veremos adiante, as linguagens geradas e
marcadas serão representadas por autômatos;

11
22/04/2012

Exemplo: Sistema de envase

 Sistema composto por uma esteira para transporte


de garrafas em 3 estações:
 Encher a garrafa;
 Tampar a garrafa;
 Rotular a garrafa;

Eventos associados ao sistema

 Esteira:
  - aciona o deslocamento da garrafa na esteira;
  - indica que garrafa foi posicionada;
 Enchimento:
 ! - aciona a bomba para encher a garrafa;
 ! - indica garrafa cheia;
 Tampador:
 " - aciona a prensa par tampar a garrafa;
 " - indica garrafa tampada;
 Rotulador:
 # - aciona o rotulador;
 # - indica garrafa rotulada;

12
22/04/2012

Modelagem da Esteira

 Possíveis eventos do subsistema Esteira:


    , 

 Comportamento gerado pela esteira:


  5,  ,  ,    ,     ,      , … .

 Tarefa completa
 é considerado um ciclo completo de deslocamento da garrafa entre as
estações: aciona esteira, e após permanece em repouso;
 7  5,   ,     ,       , … 

Exercício: Robô de seleção de peças

esteira 1


esteira 2

  , ! – robô retira peça da esteira de entrada;


 , ! – robô coloca peça na esteira 1;
 8 , 8! – robô coloca peça na esteira 2;

13
22/04/2012

Bibliografia

 CASSANDRAS, C. G.; LAFORTUNE, S.; Introduction to Discrete


Event Systems. 2nd Edition. Springer

14
ENG04048
Sistemas a Eventos Discretos
Operações com Autmatos

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 1/21
Conteúdo

Introdução

Operações
Parte Acessı́vel
Parte Coacessı́vel
Operação Trim

Composição de Autômatos
Produto
Composição Paralela

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 2/21
Introdução

Operações sobre autômatos, que serão operações sobre


linguagens;

Operações que permitam combinar dois ou mais autômatos;

Permite combinar modelos de subsistemas para obtenção do


modelo completo;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 3/21
Operações

Operações unárias:
Parte Acessı́vel: retira do autômato os estados inacessı́veis;
Parte Coacessı́vel: retira do autômato os estados não coacessı́veis;
Operação Trim: realiza ambas as operações acima;

Operações de composição:
Produto de autômatos;
Composição paralela;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 4/21
Parte Acessı́vel

Um estado é acessı́vel se

∃s ∈ E ∗ | f (x0 , s) = x

A operação de deletar os estados não acessı́veis de um autômato G


é denotada por Ac(G). Formalmente:

Gac = Ac(G) := (Xac , E, fac , x0 , Xac,m ) onde


Xac = {x ∈ X : (∃s ∈ E ∗ )[f (x0 , s) = x]}
Xac,m = Xm ∩ Xac
fac = f |Xac ×E→Xac

As linguagens L e Lm não são alteradas por Ac(G);


Um autômato é dito acessı́vel quando Ac(G) = G.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 5/21
Parte Coacessı́vel - I

Um estado é coacessı́vel se

∃s ∈ E ∗ | f (x, s) ∈ Xm

A operação de deletar os estados não coacessı́veis de um autômato


G é denotada por CoAc(G). Formalmente:

Gcoac = CoAc(G) := (Xcoac , E, fcoac , x0,coac , Xm ) onde


Xcoac = {x ∈ X : (∃s ∈ E ∗ )[f (x, s) ∈ Xm ]}

x0 se x0 ∈ Xcoac
x0,coac =
indefinido outros casos
fcoac = f |Xcoac ×E→Xcoac

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 6/21
Parte Coacessı́vel - II

A operação CoAc(G) pode diminuir a linguagem L, pois o


estado deletado pode ser acessı́vel;
A operação CoAc(G) não modifica Lm ;
Se CoAc(G) = G então G é coacessı́vel e então
L(G) = Lm (G), pois sempre existe caminho de x a xm ∈ Xm ;
Ou seja, um autômato coacessı́vel é não-bloqueante.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 7/21
Operação Trim

Um autômato é dito Trim quando for acessı́vel e coacessı́vel;

Formalmente:

T rim(G) := CoAc[Ac(G)] = Ac[CoAc(G)]

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 8/21
Exemplo: Autômato G

g
1 5
a a

0 b 3 b
g a
2 6 a 4 g
b

Qual a parte acessı́vel de G?


Qual a parte coacessı́vel de G?
Qual o Trim de G?
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 9/21
Exemplo: Ac(G) e CoAc(G)

Operação Ac(G): Operação CoAc(G):

g 1
1 5
a a
a
0 b
0 b 3 b
g
g b
a g 2 6
2 4

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 10/21
Autômato G Trim

T rim(G):

1
a
0 b

g
2

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 11/21
Exercı́cio

Seja o Autômato G da figura abaixo:

a c
0 1 2
c b a
c
b
3 4 5

Quais estados não são acessı́veis e qual a parte acessı́vel?


Quais estados não são coacessı́veis e qual a parte coacessı́vel?
Qual o Trim de G?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 12/21
Composição de Autômatos - I

Caracterı́sticas:
Produto e Composição Paralela;
Ambas as operações possuem a propriedade associativa;
Estudaremos as operações entre dois autômatos, mas pela
propriedade associativa, pode ser estendido a mais autômatos;
Produto, ou Composição Sı́ncrona Completa, denotada por ×;
Composição Paralela, ou Composição Sı́ncrona,
denotada por || ;
Modela a operação conjunta de dois sistemas, que operam de
forma paralela;
Na sequência será considerado os dois autômatos:

G1 = (X1 , E1 , f1 , Γ1 , x01 , Xm1 ) e G2 = (X2 , E2 , f2 , Γ2 , x02 , Xm2 )

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 13/21
Composição de Autômatos - II

Podem ser pensadas como dois tipos de interconexão entre dois


sistemas;
Produto apenas os eventos comuns, E1 ∩ E2 , podem ser
executados, e gerar transições em G1 e G2 .
Composição Paralela além dos eventos comuns (como no
Produto), eventos privados, E1 \ E2 , e ,E2 \ E1 , também podem
ser executados;

Produto Composição Paralela


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 14/21
Produto G1 × G2

A operação de Produto entre G1 e G2 é definida como:

G1 × G2 := Ac(X1 × X2 , E1 ∪ E2 , f, Γ1×2 , (x01 , x02 ), Xm1 × Xm2 )

onde

(f1 (x1 , e), f2 (x2 , e)) se e ∈ Γ(x1 ) ∩ Γ(x2 )
f ((x1 , x2 ), e) :=
indefinido outros casos

Relação entre as linguagens L e Lm :

L(G1 × G2 ) = L(G1 ) ∩ L(G2 )


Lm (G1 × G2 ) = Lm (G1 ) ∩ Lm (G2 )

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 15/21
Algoritmo para Calculo do Produto

1 Calcular X1,2 = X1 × X2 ;
2 Calcular o estado inicial: (x01 , x02 );
3 Marcar os estados Xm,1 × Xm,2 em X1,2 ;
4 foreach estado (x1 , x2 ) ∈ X1,2 do
5 calcular o conjunto de eventos executáveis
Γ(x1 ,x2 ) = Γ1 (x1 ) ∩ Γ2 (x2 );
6 foreach evento e ∈ Γ(x1 ,x2 ) do
e
7 calcular a transição (x1 , x2 ) −→ (f1 (x1 , e), f2 (x2 , e));
8 end
9 end
10 Aplicar a operação Ac(.) no autômato produto resultante;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 16/21
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b

(x, 0) (y, 0) (z, 0)


G1 × G2 :

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21

a
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b
b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a a

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21

a
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b
b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a a b

(x, 1) a (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21

a
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b
b b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a a b a

(x, 1) a (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21

a
Exemplo para Produto

G1 :
a
b G2 :
x a y
b
b a
g a, g 0 1
a
z b
b b

(x, 0) (y, 0) (z, 0)


G1 × G2 : a a b a b

(x, 1) a (y, 1) a (z, 1)

a
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 17/21
Composição Paralela G1 || G2

A operação de Composição Paralela entre G1 e G2 é definida


como:

G1 || G2 := Ac(X1 × X2 , E1 ∪ E2 , f, Γ1||2 , (x01 , x02 ), Xm1 × Xm2 )

onde


 (f1 (x1 , e), f2 (x2 , e)) se e ∈ Γ1 (x1 ) ∩ Γ2 (x2 )
(f1 (x1 , e), x2 ) se e ∈ Γ1 (x1 ) − E2

f ((x1 , x2 ), e) :=
(x , f (x , e)) se e ∈ Γ2 (x2 ) − E1
 1 2 2


indefinido outros casos

Relação entre as linguagens L e Lm :

L(G1 || G2 ) = P1−1 [L(G1 )] ∩ P2−1 [L(G2 )]


Lm (G1 || G2 ) = P1−1 [Lm (G1 )] ∩ P2−1 [Lm (G2 )]

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 18/21
Algoritmo para Calculo da Composição Paralela

1 Calcular X1,2 = X1 × X2 ; Calcular o estado inicial: (x01 , x02 );


2 Marcar os estados Xm,1 × Xm,2 em X1,2 ;
3 foreach estado (x1 , x2 ) ∈ X1,2 do
4 calcular Γ1(x1 ,x2 ) = Γ1 (x1 ) ∩ Γ2 (x2 );
5 foreach evento e ∈ Γ1x1 ,x2 do
e
6 calcular a transição (x1 , x2 ) −→ (f1 (x1 , e), f2 (x2 , e));
7 end
8 calcular Γ2(x1 ,x2 ) = Γ1 (x1 ) − E2 ;
9 foreach evento e ∈ Γ2x1 ,x2 do
e
10 calcular a transição (x1 , x2 ) −→ (f1 (x1 , e), x2 );
11 end
12 calcular Γ3(x1 ,x2 ) = Γ2 (x2 ) − E1 ;
13 foreach evento e ∈ Γ3x1 ,x2 do
e
14 calcular a transição (x1 , x2 ) −→ (x1 , f2 (x2 , e));
15 end
16 end
17 Aplicar a operação Ac(.) no autômato da composição resultante;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 19/21
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b

(x, 0) (y, 0) (z, 0)

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g

(x, 0) (y, 0) (z, 0)

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g

(x, 0) (y, 0) (z, 0)

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS
g
ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21

a
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g
b

(x, 0) (y, 0) (z, 0)

a a

(x, 1) (y, 1) (z, 1)


Marcelo Götz, UFRGS
g
ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21

a
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g
b

(x, 0) (y, 0) (z, 0)

a a b

(x, 1) a (y, 1) (z, 1)


Marcelo Götz, UFRGS
g
ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21

a
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g
b b

(x, 0) (y, 0) g (z, 0)

a a b a

(x, 1) a (y, 1) (z, 1)


Marcelo Götz, UFRGS
g
ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21

a
Exemplo para Composição Paralela

a
b
x a y
b
b a
g a, g 0 1
a
z b
g
b b

(x, 0) (y, 0) g (z, 0)

a a b a b

(x, 1) a (y, 1) a, g (z, 1)


g
a

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 20/21
Exercı́cio: Modelagem Sistema de Manufatura

Pequeno processo de manufatura. O Evento:


a indica entrada do produto e inı́cio do processo em M1 ;
b indica fim do processo de M 1, colocando produto no Buffer;
c indica entrada do produto e inı́cio do processo em M2 ;
d indica fim do processo de M 2, colocando produto na saı́da;
B
a b c d
M1 M2

1. Modele M1 e M2 por autômatos G1 e G2 ;


2. Encontre o modelo G3 do sistema M1 M2 : G1 || G2 ;
3. Modele o Buffer de tamanho n = 1, pelo autômato R,
utilizando os eventos b e c, para evitar overflow e underflow;
4. Ache o modelo completo H do sistema, fazendo G3 || R;
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Operações com Autmatos 21/21
ENG04048
Sistemas a Eventos Discretos
Minimização do Número de Estados

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 1/11
Equivalência de Autômatos

Dois autômatos G1 e G2 são equivalentes se, e somente se:


L(G1 ) = L(G2 ) e Lm (G1 ) = Lm (G2 )
Exemplo:
G1 : G2 :

x 1 y
0, 1 0, 1
0 1 x yzw
0
z w
0, 1 0, 1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 2/11
Equivalência de Estados - I

1. Se x ∈ Xm e y ∈ / Xm , então os estados x e y nunca poderão


ser equivalentes;
2. Suponha que x e y sejam ambos de Xm ou nenhum dos dois
esteja em Xm . Neste caso x e y podem ser equivalentes. Se
f (x, e) = f (y, e) para qualquer evento e ∈ E ∪ {ε}, então x e
y são equivalentes, pois ambos irão para a mesma sequencia
de estados para qualquer cadeia aplicados a eles;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 3/11
Equivalência de Estados - II

3. A observação anterior ainda vale se f (x, e) = y e f (y, e) = x


para um ou mais eventos e, pois a função dos estados x e y
são intercambiáveis depois de e. Logicamente, para todos os
outros estados e a seguinte relação deve ser válida:
f (x, e) = f (y, e);
4. De modo geral, seja R o conjunto de estados tal que: ou
R ⊆ Xm ou R ∩ Xm = ∅. Então R consiste de estados
equivalentes se f (x, e) = z ∈
/ R implica que f (y, e) = z, para
qualquer x, y ∈ R. Ou seja, se todas as possı́veis transições
dos estados em R para estados fora de R devem ser causadas
pelo mesmo conjunto de eventos, e devem ter o mesmo
próximo estado.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 4/11
Exemplo

Autômato para reconhecer a sequencia de eventos 123:

1
1
1
x0 1 x1 2 x2 3 x3
1 3 2
2, 3 2, 3
xn1

2, 3
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 5/11
Algoritmo para Identificação de Estados Equivalentes

1 Excluir os pares (x, y) para todo x ∈ Xm , y ∈


/ Xm .
2 foreach par (x, y) não excluı́do no Passo 1 do
3 if (f (x, e), f (y, e)) estiver excluı́da para algum e ∈ E then
4 Excluir o par (x, y).
5 Excluir todos os pares (w, z) da lista de (x, y).
6 Repetir o Passo 5 para cada (w, z) até que nenhuma
exclusão seja possı́vel.
7 if (f (x, e), f (y, e)) não estiver excluı́do para nenhum e ∈ E
then
8 if f (x, e) 6= f (y, e) then
9 Adicionar (x, y) à lista de (f (x, e), f (y, e)).
10 end

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 6/11
Tabela para calculo do Algoritmo

q1
q2

... ... ... ...


qn-1 ...
qn ...
q0 q1 ... qn-2 qn-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 7/11
Exemplo Aplicado

1
x1 X 1
(x1,x0); (xn1,x1) 1
x2 X X
x0 1 x1 2 x2 3 x3
x3 X X X
xn1 X X X 1 3 2
x0 x1 x2 x3 2, 3 2, 3
xn1

2, 3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 8/11
Exemplo Aplicado - Resultado

2, 3 1
1
3 1
x0n1 1 x1 2 x2 3 x3

2
2, 3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 9/11
Exercı́cio

0 1
0 1 0
A B C D
0 1
1 0
0 1
1 1 0
E F G H
1
0

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 10/11
Exercı́cio - Resultado

0 1

0 1
AE BH C
0
1
0
1
F G
1
0

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Minimização do Número de Estados 11/11
ENG04048
Sistemas a Eventos Discretos
Expresses e Linguagens Regulares

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 1/10
Introdução I

Em SED estamos interessados em especificar tarefas por uma


sequencia de eventos;
Estas sequencias definem um par de linguagens (L e Lm );
É interesse também acharmos um autômato que represente
estas linguagens;
Sempre podemos achar um autômato para representar estas
linguagens?
Sim, porem podem haver problemas de ordem prática para tal.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 2/10
Introdução II

Por exemplo, seja a linguagem

Lm = {ε, ab, aabb, aaabbb, . . .} = {an bn : n ≥ 0}

Qual o autômato que marca esta linguagem?

Para representar esta linguagem é necessário um autômato de


estados infinitos.
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 3/10
Linguagens Regulares

Existem linguagens que não podem ser representadas por um


autômato de estados finito?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 4/10
Linguagens Regulares

Existem linguagens que não podem ser representadas por um


autômato de estados finito?
Sim, existem infinitas linguagens, e Lm = {an bn : n ≥ 0} é
um exemplo.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 4/10
Linguagens Regulares

Existem linguagens que não podem ser representadas por um


autômato de estados finito?
Sim, existem infinitas linguagens, e Lm = {an bn : n ≥ 0} é
um exemplo.

Definição
Toda linguagem que pode ser marcada por um autômato de
estados finito é dita uma linguagem regular.

Autômatos não são um modo prático para representar


linguagens do tipo não-regular;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 4/10
Propriedades da Linguagem Regular

Seja L1 e L2 duas linguagens regulares. Então as seguintes


linguagens serão também regulares:
1. L1
2. L∗1
3. Lc1 := E ∗ \ L1
4. L1 ∪ L2
5. L1 L2
6. L1 ∩ L2

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 5/10
Expressões Regulares - I

Outra maneira de escrever linguagens regulares;


São expressões compactas;

Convenções
Notação utilizada Significado Descrição
+ ∪ A união de duas cadeias.
u {u} Conjunto da cadeia u.
u∗ {u}∗ = {ε, u, uu, . . .} Fechamento-kleene de u.
(u + v) {u, v} = {u} ∪ {v} União das cadeias u e v.
uv {uv} Concatenação de u e v.

Estas são as expressões regulares.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 6/10
Expressões Regulares - II

Recursivamente, pode-se definir:

1. São expressões regulares:


a ∅ que denota um conjunto vazio;
b ε que denota o conjunto ε
c e que denota o conjunto {e}, para qualquer e ∈ E;
2. Se r e s são expressões regulares, então rs, (r + s), r ∗ , s∗ ,
também são;
3. Outras expressões regulares são formadas pela aplicação das
regras 1 e 2 um número finito de vezes.
Ordem de precedência:
1. Fechamento-kleene; 2. Concatenação; 3. União.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 7/10
Exemplos

Seja E = {a, b, g}.


1. A expressão regular (a + b)g ∗ denota a linguagem:

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 8/10
Exemplos

Seja E = {a, b, g}.


1. A expressão regular (a + b)g ∗ denota a linguagem:

L = {a, b, ag, bg, agg, bgg, aggg, bggg, . . .}

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 8/10
Exemplos

Seja E = {a, b, g}.


1. A expressão regular (a + b)g ∗ denota a linguagem:

L = {a, b, ag, bg, agg, bgg, aggg, bggg, . . .}

2. A expressão regular (ab)∗ + g denota a linguagem:

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 8/10
Exemplos

Seja E = {a, b, g}.


1. A expressão regular (a + b)g ∗ denota a linguagem:

L = {a, b, ag, bg, agg, bgg, aggg, bggg, . . .}

2. A expressão regular (ab)∗ + g denota a linguagem:

L = {ε, g, ab, abab, ababab, . . .}

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 8/10
Exercı́cios I

1. Encontre a expressão regular deste autômato:

b a
0 1
a

2. Encontre a expressão regular da linguagem que modela a


esteira do sistema de envase automático mostrado em aula.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 9/10
Exercı́cios II

3. Encontre as expressões regulares para o par de linguagens de


modelo deste sistema:

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Expresses e Linguagens Regulares 10/10
ENG04048
Sistemas a Eventos Discretos
Teoria do Controle Supervisório
Introdução

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 1/16
Conteúdo

Introdução

Analise dos Comportamentos


Comportamento Livre da Planta
Comportamento Desejado
Restringindo o Comportamento
Faixa de Linguagens

Controle Supervisório
Apresentação
Definição
Linguagens em Malha Fechada

Eventos não Controláveis

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 2/16
Introdução

Par de linguagens L e Lm para modelar o sistemas;


Autômato para representar as linguagens: G;
L = L(G) e Lm = Lm (G);
Modelagem de coordenações de controle também por
autômatos;
Combinação de todos para obtenção do autômato que
representasse o funcionamento desejado;
A operação desejada é geralmente definida em uma faixa
possı́vel de linguagens;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 3/16
Exemplo - Modelos: Planta e Restrição

Pequeno sistema de manufatura


Modelo das máquinas e restrição de controle;

B
a b c d
M1 M2

a c
R T R T
b d
b
0 1
c

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 4/16
Comportamento Livre da Planta

O comportamento livre, sem controle, da planta é:

a
RR TR
b
c c
d d
a
RT TT
b
L = L(G) e Lm = Lm (G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 5/16
Comportamento Desejado da Planta

Autômato Ha , que representa o comportamento desejado


d
RR0
a T R0
b RR1
c RT 0

a
d a
d
T R1
d TT1
a RT 1
b TT0

La é chamada de Linguagem Admissı́vel para o sistema


controlado;
La = L(Ha ) e Lam = Lm (Ha )
La ⊂ L ou L(Ha ) ⊂ L(G)
Lam ⊂ Lm ou Lm (Ha ) ⊂ Lm (G)
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 6/16
Restringindo o Comportamento

Porém o comportamento do sistema controlado pode ser mais


restritivo, para Ha′ :
d
RR0
a T R0
b RR1
c RT 0

a
d a
d
T R1 RT 1
b TT0

L′a é uma linguagem mais restritiva que La


L′a = L(Ha′ ) e L′am = Lm (Ha′ )
L′a ⊂ La ⊂ L ou L(Ha′ ) ⊂ L(Ha ) ⊂ L(G)
L′am ⊂ Lam ⊂ Lm ou Lm (Ha′ ) ⊂ Lm (Ha ) ⊂ Lm (G)
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 7/16
Máxima Restrição de Funcionamento

Provavelmente o funcionamento mais restritivo possı́vel seria Hr :


d
RR0
a T R0
b RR1
c RT 0

Lr seria a linguagem mais restritiva possı́vel;


Lr = L(Hr ) Lrm = Lm (Hr )
Lr ⊂ La ⊂ L ou L(Hr ) ⊂ L(Ha ) ⊂ L(G)
Lrm ⊂ Lam ⊂ Lm ou Lm (Hr ) ⊂ Lm (Ha ) ⊂ Lm (G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 8/16
Faixas de Linguagens

No caso geral, define-se o limite inferior e superior do


comportamento controlado desejado de um sistema SED:

Lr ⊆ La ⊆ L(G)
Ou, considerando-se o comportamento marcado:

Lrm ⊆ Lam ⊆ Lm (G)

O comportamento desejado do sistema deve ser garantido


pelo controle;
O controlador deve evitar que cadeias indesejadas de L(G)
sejam executadas;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 9/16
Controlador Supervisório

Seja G o modelo do comportamento livre da planta:


G = (X, E, f, Γ, x0 , Xm )
O comportamento desejado é atingido pela colocação do
supervisório S em malha fechada com G:

S
S(s) s

G
s representa a cadeia de eventos executada por G;
S(s) é a ação de controle;
A ação de controle age na desabilitação de eventos que G
pode executar;
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 10/16
Definindo o Supervisório

Os eventos de G são observáveis;


Dependendo da cadeia executada por G, S(s) poderá
desabilitar certos eventos para que G não execute cadeias
indesejadas;
Formalmente, para cada s ∈ L(G) gerada por G sob controle
de S define-se
S(s) ∩ Γ(f (x0 , s))
o conjunto de eventos habilitados para G no estado f (x0 , s);
S é definido como a função:

S : L(G) → 2E

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 11/16
Linguagens em Malha Fechada

O comportamento em malha fechada de S controlando G é


denotado por S/G;
S/G é um SED e portanto possui linguagens gerada e
marcada:
L(S/G) Lm (S/G)
L(S/G) é definido de forma recursiva:
1 ε ∈ L(S/G)
2 [(s ∈ L(S/G)) e (sσ ∈ L(G)) e (σ ∈ S(s))] ⇔ [sσ ∈ L(S/G)]

A Linguagem marcada Lm (S/G):

Lm (S/G) := L(S/G) ∩ Lm (G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 12/16
Relação Entre as Linguagens

A relação entre estas linguagens pode ser expressa da seguinte


forma:

∅ ⊆ Lm (S/G) ⊆ Lm (S/G) ⊆ L(S/G) ⊆ L(G)

Verificação do Bloqueio:
O sistema S/G é não-bloqueante se:

L(S/G) = Lm (S/G)

e bloqueante se:

L(S/G) 6= Lm (S/G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 13/16
Problema do Controle Supervisório

O problema do controle supervisório está em achar S tal que


o comportamento em malha fechada seja dado por:
L(S/G) e Lm (S/G)
Logicamente, este controle deve ser não-bloqueante;
O problema deve ser solucionado para um dado
comportamento desejado, e
considerando a existência de eventos que não podem ser
desabilitados;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 14/16
Eventos não Controláveis

Um evento pode ser desabilitado se for um evento controlável;


E é formado por eventos controláveis e não controláveis;
Somente eventos controláveis podem ser desabilitados por S;
Formalmente:
E = Ec ∪ Eu
Ec : Podem ser relacionados a sinais de acionamento, como por
exemplo, ligar esteira, ligar processo de enchimento, acionar o
robô para uma ação, entre outros.
Eu : Exemplos: sinais de sensores que indicam a presença de uma
peça, sinal de final da execução de um processo já acionado, ou
pode também representar eventos que indicam falha, e que não
podem ser desabilitados por segurança do sistema.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 15/16
Supervisório Permissivo

Se Eu = ∅, ou seja, E = Ec , todos eventos controláveis:


La e Lam são as linguagens procuradas para L(S/G) e
Lm (S/G);
Na existência de eventos não controláveis:
A ação de controle do Supervisório, considerando Eu :

Eu ∩ Γ(f (x0 , s)) ⊆ S(s)

La e Lam podem não ser mais apropriadas;

Como achar uma linguagem desejada que não tente desabilitar


eventos ∈ Eu ?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Introdução 16/16
ENG04048
Sistemas a Eventos Discretos
Teoria do Controle Supervisório

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 1/9
Introdução

Domı́nio da função do supervisório S: L(G)

S : L(G) → 2E

Pode-se considerar L(S/G)

S : L(S/G) → 2E

Implementação prática é inviável

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 2/9
Observações

L(S/G) e Lm (S/G) representa um SED;


Linguagens regulares: autômatos estados finitos;
Autômatos permite cálculo com outros autômatos;
Seja então
R := (Y, E, g, ΓR , y0 , Y )
o autômato que representa S;
Se algumas condições são satisfeitas, então:

L(S/G) = L(R || G)

S deve ser permissivo;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 3/9
Demonstração

Seja
Lm (S/G) = K e L(S/G) = K
Onde Lr ⊆ K ⊆ La ⊆ L(G);
e Lrm ⊆ K ⊆ Lam ⊆ Lm (G);
Se ER = EG , então R || G = R × G e:

L(R || G) = L(R) ∩ L(G)

Fazendo L(R) = K e Lm (R) = K:

L(R || G) = L(R) = K = L(S/G)

e também:

Lm (R || G) = Lm (R) = K = Lm (S/G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 4/9
Funcionamento

R gera e marca as linguagens desejadas do sistema controlado;


S(s) mapeada na estrutura de transição de R
S(s) = ΓR (g(y0 , s));
d
a a b c
RR TR RR0 T R0 RR1 RT 0

b a
c c d a
d d
a d
RT TT T R1
d TT1
a RT 1
b TT0

b c

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 5/9
Supervisório Induzido

Um autômato C também pode ser considerado um supervisório se:

L(C) = Lm (C) e C = T rim(C) e EC = EG ;


S C é o supervisor induzido por C;
S C deve ser permissivo;

L(S C /G) = L(C || G)


= L(C) ∩ L(G)
C
Lm (S /G) = Lm (C || G)
= Lm (C) ∩ Lm (G)
= L(C) ∩ Lm (G)
= L(C) ∩ L(G) ∩ Lm (G)
= L(S C /G) ∩ Lm (G)
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 6/9
Supervisório Induzido

Seja R′ onde L(R′ ) ⊇ La ;


Se L(R′ /G) = L(R′ ) ∩ L(G), onde ainda ER′ = EG ;
Então R′ pode representar S controlando G:
L(S/G) = L(R′ || G) e S(s) = ΓR′ (g′ (y0′ , s))

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 7/9
R com Estados Reduzidos

a
a, d a, d RR TR
b
b c c
0 1 d d
c a
RT TT
d b
RR0
a T R0
b RR1
c RT 0

a
d a
d
T R1
d TT1
a RT 1
b TT0

c
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 8/9
Modelagem das Especificações

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório 9/9
ENG04048
Sistemas a Eventos Discretos
Teoria do Controle Supervisório
Controle Supervisrio Monoltico

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 1/15
Introdução

Procura-se um supervisório S tal que:

Lr ⊆ L(S/G) ⊆ La ⊂ L(G) e

Lrm ⊆ Lm (S/G) ⊆ Lam ⊂ Lm (G)

Como calcular Lm (S/G) e L(S/G), considerando Eu ?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 2/15
Exemplo

Mais precisamente:

Ec = {a, c} Eu = {b, d}

d
a a b c
RR TR RR0 T R0 RR1 RT 0

b a
c c d a
d d
a d
d a b
RT TT T R1 TT1 RT 1 TT0

b c
G H = Hs || G

H pode ser o autômato R que representa o supervisório?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 3/15
Controlabilidade

Seja K = Lm (S/G) e K = L(S/G);


Existe um supervisório S tal que L(S/G) = K, se e somente se:

KEu ∩ L(G) ⊆ K

Se sim, então:

S(s) = [Eu ∩ Γ(f (x0 , s)))] ∪ {σ ∈ Ec : sσ ∈ K}

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 4/15
Linguagem Controlável

Sejam K e M = M linguagens definidas sobre E;


Seja Eu ⊆ E um conjunto de eventos não controláveis;
K é dita controlável em relação a M e Eu se:

KEu ∩ M ⊆ K
K será controlável se e somente se K for controlável;
Adicionalmente, para não haver bloqueio:

K = K ∩ Lm (G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 5/15
Problema do Controle Supervisório

Dado um sistema SED onde:


G modele o sistema sem controle, sobre o conjunto E de
eventos;
Conjunto de eventos não controláveis Eu ⊆ E;
Linguagem admissı́vel La = Lam e Lam ⊆ L( G);
Achar um supervisório S tal que:
1. K = Lm (S/G) ⊆ Lam , sendo K uma linguagem controlável;
2. Lm (S/G) seja a linguagem menos restritiva possı́vel tal que
qualquer outro supervisório S ′ seja tal que Lm (S ′ /G) ⊆ Lam
e,
Lm (S ′ /G) ⊆ Lm (S/G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 6/15
Resolução do Problema

É possı́vel mostrar que Lam contem linguagens marcadas


controláveis denotado por C(Lam );
É possı́vel mostrar que existe um componente supremo e
único, denotado por L↑Cam , que representa a máxima linguagem
controlável;
Usaremos a notação supC(Lam ) ao invés de L↑C
am ;
Solucionando supC(Lam ) obtém-se a máxima linguagem
controlável (menos restritiva), e controlável;
Como calcular supC(Lam )?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 7/15
Cálculo de supC(Lam )

O cálculo de supC(Lam ) é feito de forma iterativa, pela analise da


violação da condição de controlabilidade;
Seja K regular e marcada por H tal que:

H = (Y, E, g, ΓH , y0 , Ym ) , Lm (H) = K e L(H) = K

Visão geral da metodologia de cálculo:


1. Identificar os estados y ∈ Y de H que violam a condição de
controlabilidade;
2. Se não houver a violação de controlabilidade, terminar;
3. Atualizar H pela retirada destes estados;
4. Aplicar a operação T rim no novo H e recomeçar;
Ao final, o autômato H obtido é o autômato R que representa o
supervisório S menos restritivo possı́vel, e não bloqueante;
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 8/15
Identificação a Não-Controlabilidade

Observações:
H é construı́do por H = Hs || G;
y ∈ Y é um estado composto: (., x), onde x ∈ X;
Para uma sequencia s:
x = f (x0 , s);
(., x) = g(y0 , s)
K é controlável em relação a M se ∀ (., x) ∈ Y :

ΓH (., x) ⊇ Γ(x) ∩ Eu

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 9/15
Algoritmo para calculo de supC(Lam )

1 Seja x um estado de G, modelo da planta;


2 (., x) são os estados compostos de H = Hs || G, onde Lam = Lm (H);
3 i = 0;
4 Hi = H;
5 repeat
6 foreach (., x) ∈ Yi do
7 if ΓH (., x) ⊂ Γ(x) ∩ Eu then
8 deletar (., x) em Yi ;
9 atualizar gi em função da retirada de (., x);
10 end
11 Hi+1 = T rim(Hi );
12 i = i + 1;
13 until Hi = Hi−1 ;
14 R = Hi é o autômato que representa o supervisório S, não-bloqueante, e
ótimo;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 10/15
Exemplo - Parte I

d
a a b c
RR TR RR0 T R0 RR1 RT 0

b a
c c d a
d d
a d
d a b
RT TT T R1 TT1 RT 1 TT0

b c
G H = Hs || G

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 11/15
Exemplo - Parte I

d
a a b c
RR TR RR0 T R0 RR1 RT 0

b a
c c d a
d d
a d
d a b
RT TT T R1 TT1 RT 1 TT0

b c
G H = Hs || G

T R1 e T T 1 violam a condição de controlabilidade;


Ambos tentam desabilitar b;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 11/15
Exemplo - Parte II

d
a a b c
RR TR RR0 T R0 RR1 RT 0

b
c c d a
d d
a d
b
RT TT RT 1 TT0

b
G supC(L(H))

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 12/15
Verificação 1

d
RR0
a T R0
b RR1
c RT 0

Quais eventos estão sendo desabilitados?


Este supervisório é controlável?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 13/15
Verificação 2

a
RR TR
b a d a
c c c
d d b
a b
RT TT d
b
G R′

Quais eventos estão sendo desabilitados?


Este supervisório gera uma linguagem controlável?
Se sim, como foi obtido?

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 14/15
Exercı́cios

EXERCÍCIOS

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisrio Monoltico 15/15
ENG04048
Sistemas a Eventos Discretos
Teoria do Controle Supervisório
Controle Supervisório Modular

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 1/14
Controle Monolı́tico ou Centralizado

Problema do crescimento do número de estados;


Cálculo e entendimento de G pode requerer altos recursos
computacionais;
A implementação de S pode ser ate proibitiva;
Mas a metodologia é relativamente simples;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 2/14
Controle Modular

Uma alternativa para reduzir o esforço computacional;


Ainda exige o calculo de G completo;
Aproveita a arquitetura modular das especificações;
O controle é feito por mais de um supervisório;
Cada supervisor é menor do que seria o monolı́tico;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 3/14
Arquitetura do Controle Modular

O comportamento admissı́vel é composto em dois


comportamentos:
La = La1 ∩ La2

s S1(s)
S1
Sm(s) s
G
s S2(s)
S2

Desta arquitetura tem-se que:

Sm (s) = S1 (s) ∩ S2 (s)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 4/14
Linguagens Gerada e Marcada

Linguagens do sistema controlado:

L(Sm /G) = L((S1 ∩ S2 )/G)


= L((R1 × R2 ) × G)
= L(R1 ) ∩ L(R2 ) ∩ L(G)
= L(S1 /G) ∩ L(S2 /G)

Lm (Sm /G) = Lm ((S1 ∩ S2 )/G)


= Lm ((R1 × R2 ) × G)
= Lm (R1 ) ∩ Lm (R2 ) ∩ Lm (G)
= Lm (S1 /G) ∩ Lm (S2 /G)

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 5/14
Condição para Não-Conflito

Sejam duas linguagens, K1 e K2 ;


K1 e K2 são não-conflitantes se:

K1 ∩ K2 = (K1 ∩ K2 )

Se um prefixo for comum em K1 e K2 , então K1 e K2 devem


possuir em comum uma cadeia que contenha este prefixo;
Se K1 e K2 forem prefixo-fechado, então K1 e K2 são
não-conflitantes;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 6/14
Propriedades de supC

Sejam duas linguagens K1 e K2 ;


É possı́vel mostrar que:
1. supC(K1 ∩ K2 ) ⊆ supC(K1 ) ∩ supC(K2 )
2. Se K1 e K2 forem não-conflitantes, então
supC(K1 ∩ K2 ) = supC(K1 ) ∩ supC(K2 )
3. supC(K1 ∩ K2 ) ⊆ supC(supC(K1 ) ∩ supC(K2 ))
4. supC(K1 ∪ K2 ) ⊇ supC(K1 ) ∪ supC(K2 )

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 7/14
Problema do Controle Supervisório Modular

Fazendo:
L(Si /G) = supC(La1 )
e observando que

Sm (s) = S1 (s) ∩ S2 (s)

Então tem-se que

L(Sm /G) = supC(La1 ) ∩ supC(La2 )


= supC(La1 ∩ La2 )
= supC(La )

Desde que supC(La1 ) e supC(La2 ) sejam não-conflitantes.

OK! Mas e Lm (Sm /G) = supC(Lam ) ???

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 8/14
Condição de Não Bloqueio Modular I

O controle modular pode ser bloqueante, mesmo que:

L(Si /G) = Lm (Si /G)

Para não bloqueio individual: L(Si /G) = supC(Lam,i ),


Obtém-se:

L(Sm /G) = supC(Lam,1 ) ∩ supC(Lam,2 )

Então:

Lm (Sm /G) = L(Sm /G) ∩ Lm (G)


= supC(Lam,1 ) ∩ supC(Lam,2 ) ∩ Lm (G)
= supC(Lam,1 ) ∩ supC(Lam,2 )
⊇ supC(Lam,1 ∩ Lam,2 ) = supC(Lam )

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 9/14
Condição de Não Bloqueio Modular II

Ou seja, supC(Lam,1 ) e supC(Lam,1 ) devem ser não-conflitantes,


assim:

L(Sm /G) = supC(Lam,1 ) ∩ supC(Lam,2 )


= supC(Lam,1 ) ∩ supC(Lam,2 )
= Lm (Sm /G)

A condição de não bloqueio só pode ser calculada após o


calculo de cada supC(Lam,i );
O calculo deve ser feito utilizando-se todos os supC(Lam,i )
juntos; /
Porém ainda se ganha em redução de memória na
implementação dos supervisórios;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 10/14
Exemplo I

Considere o problema clássico de dois usuários e dois recursos


compartilhados:
a2 b2
a0 a1 b1 b0

G1 G2

a0 , b0 a1 , b1

a2 , b2 a2 , b2

Hs1 Hs2

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 11/14
Exemplo II

Os dois autômatos que representam os supervisórios para controle de La1


e La2 ;

a2 a0 b 1 b2 b2 b 1 a0 a2

R1 : a1
b1 a0
b0
R2 : b0
a0 b1
a1

b2 b0 a2 a1
a0 b1

L(R1 ) = supC(Lam1 ) L(R2 ) = supC(Lam2 )


Lm (R1 ) = supC(Lam1 ) Lm (R2 ) = supC(Lam2 )

a0 b1 ∈ (supC(Lam1 ) ∩ supC(Lam2 ))
b1 a0 ∈ (supC(Lam1 ) ∩ supC(Lam2 ))

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 12/14
Exemplo III

Porém,

/ supC(Lam1 ) ∩ supC(Lam2 )
a0 b 1 ∈
b 1 a0 ∈
/ supC(Lam1 ) ∩ supC(Lam2 )

R1 × R2 : a2 a0 b 1 b2
1 2
b1 a0
a1 b0
3 4 5

A condição de não bloqueio não é satisfeita;


Ou seja, Sm é bloqueante para este caso;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 13/14
Exercı́cio

Monolı́tico:
Calcule o supervisório ótimo monolı́tico;
Modular:
Calcule os supervisórios modulares;
Verifique a condição de não bloqueio modular;
Especificações:
B1 e B2 tem capacidade de uma peça cada;
Impedir o overflow e underflow ;

a0 a1 b0 b1 c0 c1
M1 B1 M2 B2 M3

Considere Eu = {a1 , b1 , c1 };
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular 14/14
ENG04048
Sistemas a Eventos Discretos
Teoria do Controle Supervisório
Controle Supervisório Modular Local

Marcelo Götz

Universidade Federal do Rio Grande do Sul


Departamento de Engenharia Elétrica
DELET

Semestre 2012-1

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 1/11
Controle Modular Local

É uma outra alternativa para reduzir o esforço computacional;


Apresentada em Queiroz e Cury em [1];
Não exige o calculo de G completo com no Modular
Tradicional;
Aproveita a arquitetura modular das especificações;
Introduz o conceito de Sub-Planta Local;
O controle é feito por mais de um supervisório;
Cada supervisor é menor do que seria o monolı́tico;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 2/11
Passo 1 - Subplanta assı́ncrona

Definição das subplantas G′ totalmente assı́ncronas em


termos de eventos;

Subsistema Subsistema
Local 1 Local 2
Hs1 Hs2
Subsistema G′1 = G1
Local 3
G′2 = G2
G1 G2 G3 G4 G5 G′3 = G3
G′4 = G4 || G5

Hs3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 3/11
Passo 2 - Subplanta Local

Composição paralela das subplantas assı́ncronas que


compartilham eventos da mesma especificação;

Subsistema Subsistema
Local 1 Local 2
Hs1 Hs2
Subsistema
Gl1 = G′1 || G′2
Local 3
Gl2 = G′2 || G′3
G1 G2 G3 G4 G5 Gl3 = G′2 || G′3 || G′4

Hs3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 4/11
Passo 3 - Comportamento Local

Comportamento especificado para cada subplanta;

Subsistema Subsistema
Local 1 Local 2
Hs1 Hs2
Subsistema
H1l = Hs,1 || Gl1
Local 3
H2l = Hs,2 || Gl2
G1 G2 G3 G4 G5 H3l = Hs,3 || Gl3

Hs3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 5/11
Passo 4 - Supervisório Local

Calcula-se o supervisório ótimo para cada subplanta local;

Subsistema Subsistema
Local 1 Local 2
Hs1 Hs2
Subsistema
R1 = supC(H1l )
Local 3
R2 = supC(H12 )
G1 G2 G3 G4 G5 R3 = supC(H13 )

Hs3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 6/11
Passo 5 - Teste da Modularidade

Condição para que o sistema seja não bloqueante e que tenha


mesma performance do monolı́tico;

Subsistema

supC(H1l ) || supC(H2l ) || supC(H3l ) =


Subsistema
Local 1 Local 2
Hs1 Hs2
Subsistema
Local 3

G1 G2 G3 G4 G5 supC(H1l ) || supC(H2l ) || supC(H3l )

Hs3

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 7/11
Exemplo - I

Considere o exemplo de três máquinas e dois buffers;


Eu = {a1 , b1 , c1 };

a0 a1 b0 b1 c0 c1
M1 B1 M2 B2 M3

Máquinas M1 , M2 e especificação B1 formam um subsistema;


Máquinas M2 , M3 e especificação B2 formam outro
subsistema;
Cada subsistema é igual ao sistema de duas máquinas e buffer
já estudado em aula;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 8/11
Exemplo - II

R1 : R2 :
b1 c1
a0 a1 b0 b0 b1 c0

b1 a0 c1 b0
b1 c1
a1 b1

Teste de Modularidade Local:


Testar se L(R1 || R2 ) = Lm (R1 || R2 );
Se R1 || R2 for T rim, então é modular local, e
não é bloqueante, e
tem a mesma performance do caso monolı́tico;
Supervisório monolı́tico possui 18 estados;

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 9/11
Exercı́cio

Atividades:
Calcule o supervisório ótimo monolı́tico;
Calcule os supervisórios modulares;
Calcule os supervisórios modulares locais;
Compare os resultados;
Especificações:
B1 ; B2 e B3 tem capacidade de uma peça cada;
Impedir o overflow e underflow ;

Eu = {a1 , b1 , c1 , d1 , e1 }
Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 10/11
Referências I

Max H. De Queiroz e Jose E. R. Cury.


Modular control of composed systems.
In In Proceedings of the American Control Conference, pages
4051–4055, 2000.

Marcelo Götz, UFRGS ENG04048 Sistemas a Eventos Discretos, Teoria do Controle Supervisório Controle Supervisório Modular Local 11/11

Você também pode gostar