controle supervisório

73
Contrôle Supervisório (Abordagem R-W) •Baseado em Teoria de Linguagens e Autômata •Modêlo não-temporizado •É possível um modelo temporizado •Abordagem com resultados em síntese de controladores

Upload: hoangtruc

Post on 09-Jan-2017

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Controle Supervisório

Contrôle Supervisório(Abordagem R-W)

•Baseado em Teoria de Linguagens e Autômata

•Modêlo não-temporizado

•É possível um modelo temporizado

•Abordagem com resultados em síntese de controladores

Page 2: Controle Supervisório

Linguagens

E = conjunto de eventos = alfabeto

Definição: Uma linguagem L, definida sobreum alfabeto E, é um conjunto de cadeias formadas de eventos em E

Exemplo:

E={α,β,γ }

L1={ε,α,αββ}

L2={Todas as possíveis cadeias com3 eventos inicadas pelo evento α}

L3={Todas as possíveis cadeias finitasiniciada pelo evento α}

Page 3: Controle Supervisório

Expressões Regulares

Concatenação: operação sobre cadeias

u = αββ; v = γβconc.: uv = αββγβ

Operações sobre linguagens: Sejam A e Bduas linguagens

a)Concatenação:AB = {w: w=uv, u ∈ A, v ∈ B}

b)Fechamento de Kleene:

A* = ∪Αn onde: A0 = {ε}An = An-1A

c)Operações usuais sobre conjuntos

n=0

Page 4: Controle Supervisório

Exemplo:

E = {α,β,γ}

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

Então:

L1L2 = {γ,αγ,αββγ}

L1*= {ε,α,αββ,αα,ααββ,αββα,αββαββ,...}

L2*= {ε,γ,γγ,γγγ,...}

L1 ∪ L2 = L1 + L2 = {ε,α,αββ,γ}

Page 5: Controle Supervisório

Convenção: se u e v são cadeias de eventosu = {u}

(u+v) = {u,v}={u} ∪ {v}u* = {ε,u,uu,uuu,...}

uv = {uv}

Expressões Regulares:

1) ∅ é uma expressão regular (conj. vazio),ε é uma expressão regular denotando {ε},e é uma expressão regular denotando {e}∀ e∈Ε;

2)Se r e s são expressões regulares então rs, r*, s*, (r+s) são expressões regulares;

3)As únicas expressões regulares são aquelasobtidas pela aplicação das regras 1 e 2 um número finito de vezes

Page 6: Controle Supervisório

Exemplo:

Seja E={α,β,γ} um alfabeto; então:

(α+β)γ∗ = {α,β,αγ,βγ,αγγ,βγγ,αγγγ,βγγγ,...}

(αβ)∗+ γ = {ε,γ,αβ,αβαβ,αβαβαβ,...}

Definição:Qualquer linguagem que possa ser descritacomo uma expressão regular é umalinguagem regular

Se L = {u1, u2,...,un} é uma linguagem finita,então L é regular pois: L = (u1+ u2+...+un)

Page 7: Controle Supervisório

Prefixo de uma cadeia:u ∈ E* é um prefixo de v ∈ E* se para algumw ∈ E*, v = uw

Prefixo Fechamento de uma Linguagem L:

L é a linguagem formada por todos os prefixosdas cadeias de L:

L = { u / uv ∈ L para algum v ∈ Ε∗}

Linguagem Prefixo Fechada:

L ⊂ E* é prefixo fechada se L =

ou seja, se v ∈ L e u é prefixo de v entãou ∈ L

L

Page 8: Controle Supervisório

Autômata de Estados Finitos

Dispositivo capaz de gerar uma linguagem deacordo com regras bem definidas.

Definição:Um automaton de estados finitos é umaquintúpla (E,X,f,x0,F) onde:

E é um alfabeto finito;X é um conjunto de estados finito;f é uma função de transição de estados,

f: X × E → Xx0 é um estado inicial, x0 ∈ X;F é um conjunto de estados finais, F ⊆ X

Page 9: Controle Supervisório

Diagramas de Transição de Estado

São grafos direcionados onde os nós representam os estados e os ramos representam os eventos

Exemplo: (E,X,f,x0,F)E = {α,β,γ} X= {x,y,z}f(x,α) = x, f(x,β) = f(x,γ) = z,f(y,α) = x, f(y,β) = f(y,γ) = y,f(z,β) = z, f(z,α) = f(z,γ) = y,

x y

z

α

γβ α

γ

α γ

β

β

Page 10: Controle Supervisório

Exemplo: (Geração de uma linguagem)

Seja E = {α,β} um alfabeto e (α+β)∗αuma linguagem regular.(α+β)∗α = {α,αα,βα,ααα,αβα,βαα,ββα,...}

Esta linguagem é gerada pelo automaton(E,X,f,xo,F) onde:E = {α,β}, X = {0,1}, xo = 0, F = {1}f(0,α) = 1 f(0,β) = 0f(1,α) = 1 f(1,β) = 0

α

β

β α

0 1

Page 11: Controle Supervisório

Pode-se considerar que um automatonreconhece uma dada linguagem

Extensão da notação:

f: X × Ε∗ → X

f(x,ue) = f(f(x,u),e)

No automaton do exemplo anterior:

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

Definição: Uma cadeia u é reconhecidapor um automaton de estados finitos(E,X,f,xo,F), se f(xo,u) = x, onde x ∈ F

Page 12: Controle Supervisório

Definição: A linguagem reconhecida por umautomaton de estados finitos (E,X,f,xo,F) éo conjunto de cadeias {u:f(xo,u) ∈ F}.Se o automaton é denotado por A, então alinguagem reconhecida por A é denotada porL(A).

Exemplo: Seja E = {α1,α2,β} um alfabeto.Uma tarefa é definida como uma sequênciade 3 eventos, iniciada por β, seguida por α1ou α2 e então β, seguida de uma sequênciaarbitrária de eventos.

Linguagem: β(α1+α2)β(α1+α2+β)∗

5 0 1

2

3

4

α1

β

α2

α1

β

α2

α2

α1

α1

α2

β

βα1

α2

β

β

α1

α2

Page 13: Controle Supervisório

Autômata de Estados FinitosNão-determinísticos

Consideremos o caso em que a ocorrênciade um evento e num estado x possa causara transição para mais de um estado (p.ex.devido a ignorância sobre o sistema quese modela).

Deveríamos ter neste caso:

f: X × Ε → 2X

Exemplo:

α

α

β0 1

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

Page 14: Controle Supervisório

Definição: Um automaton de estados finitosnão-determinístico é um quíntupla:

(E,X,f,xo,F)onde E,X,xo,F são como definidos anterior-mente, e f é uma função de transição deestado f: X × Ε → 2X

Pode-se também neste caso estender a de-finição de f, de modo que uma cadeia de eventos seja também seu argumento.

f(x,ue) = {z: z ∈ f(y,e) para algum estado y ∈ f(x,e)}

Teorema: Se L é uma linguagem geradapor algum automaton de estados finitosnão-determinístico então existe algumautomaton de estados finitos determinís-tico que gera L.

Page 15: Controle Supervisório

Exemplo: Seja (E,X,f,xo,F) o automatondo exemplo anterior. Vamos construir umatomaton determinístico (ED,XD,fD,xo

D,FD)que gere a mesma linguagem

ED = E

XD = {0,1,01, ∅} ( a cada subconjunto de X cor-responde um elemento de XD)

xoD = xo = 0; FD = {0,01}

α

ββ

α

α

β

0

01

ββ

α

α

β

0

01

βα

α

1

Page 16: Controle Supervisório

Equivalência entre Autômatade Estados Finitos e Expressões

Regulares

Teorema: (Kleene, 1950)Se uma linguagem é regular, então ela pode sergerada por algum automaton de estados finitos;e se ela é gerada por algum automaton de esta-dos finitos, então ela é regular.Questão:Como verificar se uma dada linguagem podeser representada por uma expressão regular?(existem algumas técnicas para identificação de lin-guagens não-regulares)

Exemplo:L = {ε, αβ, ααββ, αααβββ, ...}denotando: αn = ααα...αα ; tem-seL={αn βn , n = 0, 1, 2, ...}Existe um automaton que reconhece L, masque também reconhece infinitas outras cadeiasque ∉ L

Page 17: Controle Supervisório

Agregação de Estados emAutômata

Em muitos casos, não existe um único mode-lo para um sistema. É desejável obter aquelecom menor número de estados.

Para sistemas pequenos é possível reduzir onúmero de estados de um modelo utilizandológica e bom senso. Para sistemas de maiorporte pode haver explosão combinatorial.

Definição: Seja (E,X,f,xo,F) um automatonde estados finitos e seja R ⊆ X. Diz-se queo conjunto R é constituído de estados equi-valentes em relação a F se, para quaisquerx,y ∈ R, x ≠ y, e qualquer cadeia u:f(x,u) ∈ F se e somente se f(y,u) ∈ F

Page 18: Controle Supervisório

Observações:

a) se x ∈ F e y ∉ F então x e y não podem serequivalentes.

b) se f(x,e) = f(y,e) para qualquer e ∈ E (ex-ceto ε) então x e y são equivalentes.

c) a propriedade acima se mantém se, paraalguns eventos, f(x,e)=y e f(y,e)=x.

d) em geral, se R é tal que R ⊆ F ou R ∩ F = ∅, então R é constituído de esta-dos equivalentes se f(x,e) = z ∉ R implicaque f(y,e) = z, para quaisquer x,y ∈R.

e) se F = X então todos os estados são equi-valentes em relação a F.

Page 19: Controle Supervisório

Exemplo: Um automaton deve detetar a sequência de dígitos 1,2,3.

x1 x12 x123

x3 x2

12

31 2

3

1

23

1

23

1 2

3

x1 x12 x123

xo

1

3

2

1

2

3

1

231

23

Page 20: Controle Supervisório

Algoritmo para a Identificação deEstados Equivalentes:

1) Marcar (x,y) para todo x ∈ F, y ∉ F

2) Para todo par (x,y) não marcado em 1):

2.1) Se (f(x,e),f(y,e)) está marcado paraalgum e ∈ E então:

2.1.1) Marcar (x,y)2.1.2) Marcar todos os pares não-mar

cados (w,z) na lista de (x,y). Repetir para cada (w,z) até quenenhuma marcação seja possível

2.2) Se (f(x,e),f(y,e)) não está marcadopara nenhum e ∈ E então:

2.2.1) Se f(x,e) ≠ f(y,e), então acres-centar (x,y) à lista de (f(x,e),f(y,e))

Page 21: Controle Supervisório

Geradores

Um gerador é uma quíntupla:G = (E, X, f, xo, F) onde E, X, xo, F são definidos como anterior-mente e f é uma função parcial:f: X × E → X , definida somente para algunselementos de X × E (notação: f(x,e)!).

Esta definição é mais apropriada para a des-crição de sistemas, pois algumas transiçõespodem não ser possíveis em alguns estados.

( Pode-se definir alternativamente o conjuntoΛ(x) ⊆ E, definido para todo x ∈ X, como sendo o conjunto de eventos factíveis ou habilitados)

Page 22: Controle Supervisório

Linguagem Gerada: Dado um gerador G,define-se a linguagem gerada por G, L(G):

L(G) = {u ∈ E* / f(xo,u)!}

Propriedades:

•L(G) é prefixo-fechada

•Toda linguagem prefixo-fechada é represen-tável por um gerador.

•Um automaton A é um gerador tal que L(A) = E*

•Lm(G) ⊆ L(G)

Linguagem Marcada: A liguagem marcadapor um gerador G, Lm(G) é dada por:

Lm(G) = {u ∈ E* / f(xo,u) ∈ F)

Page 23: Controle Supervisório

Exemplo: Máquina com três estados

sf

b

r

I

W D

E = { s, f, b, r}

L(G) = (sf + sbr)*(ε + s + sb)

representa o conjunto de todas as sequênciasfisicamente possíveis de ocorrer no sistema.

Lm(G) = (sf + sbr)*

representa os ciclos de trabalho realizados pe-lo sistema.

Page 24: Controle Supervisório

Acessibilidade e Co-acessibilidadede um Gerador

Estado Acessível: Um estado x ∈ X é acessí-vel se x = f(xo,u) para algum u ∈ E*.

Gerador Acessível: Um gerador é acessívelse x é acessível para todo x ∈ X.

Componente Acessível de um Gerador:

Gac = (Xac, E, fac, xo, Fac)

onde:Xac : conjunto de estados acessíveis de GFac : Xac ∩ Ffac : f/ E × Xac

Se um gerador é acessível então Gac= G

Page 25: Controle Supervisório

Gerador co-acessível (não-bloqueante):Um gerador é co-acessível se cada cadeia u ∈ L(G) pode ser completada por algumw ∈ E*, uw ∈ Lm(G).

Se u ∈ L(G), então ∃w ∈ E* / uw ∈ Lm(G)

Gerador Trim: Um gerador é trim se é aces-sível e co-acessível.

Exemplo:

α

β α

γxo x1

x2

x3

α

γ

x5

x4

β

x4 : estado não acessível;x5 : estado “não co-acessível”

Page 26: Controle Supervisório

α

β α

γxo x1

x2

x3

α

β α

γxo x1

x2

x3

α

γ

x5

Gac: Componente acessível

Gt: Gerador Trim

Propriedade: Um gerador é co-acessívelse e somente se Lm(G) = L(G)

Page 27: Controle Supervisório

Composição de GeradoresProduto Síncrono e Assíncrono

Projeção Natural: Sejam E e Ei conjuntosde eventos com E i ⊂ E. Define-se Pi: E* → Ει

∗, a projeção natural de E* em Ei

* de acordo com:

Pi(ε) = ε

Pi(e) =ε se e ∉ Ei

e se e ∈ Ei

Pi(ue) = Pi(u) Pi(e) onde u ∈ E* ; e ∈ E

A ação de Pi sobre uma cadeia é apagar oseventos que não pertencem a Ei.

Page 28: Controle Supervisório

Pode-se estender a noção de projeção natural a linguagens:

PiL = Li = {ui ∈ Ei* / ui = Piu para algum u ∈ L}

Projeção Inversa:

Pi-1Li = {u ∈ E* / Piu ∈ Li}

Produto Síncrono:Sejam L1 ⊆ E1

* e L2 ⊆ E2* (sendo possível que

E1 ∩ E2 ≠ ∅). Seja E = E1 ∪ E2. Define-se o produto síncrono L1 //s L2 ⊆ E* como:

L1 //s L2 = P1-1L1 ∩ P2

-1L2

Observa-se que u ∈ L1 //s L2 se e somente seP1(u) ∈ L1 e P2(u) ∈ L2

Page 29: Controle Supervisório

Exemplo:

E1 = {α, β}; Ε2 = {β, γ}

α

ββ

G1:

β

γ

G2:

γ

α β γ β α

γG = sync(G1,G2):

Pode-se observar que se um evento e ∈ Ε1 ∩ E2não aparecer em um dos geradores e aparecer nooutro, sua ocorrência será impedida na composi-ção.

Page 30: Controle Supervisório

Intersecção de duas linguagens:No caso do produto síncrono em que E1 = E2o resultado é a intersecção das duas linguagenspois Pi

-1Li = Li

Em outras palavras, a intersecção de duas lin-guagens é a linguagem gerada pelo geradorque representa a ação sincronizada de doisgeradores que operam sobre o mesmo alfabeto

α α

β

β

L1 = (α + β)∗ = Ε∗

α β

L2 = (αβ)∗(ε + α)

L1 //s L2 = L2

Page 31: Controle Supervisório

Produto Assíncrono: Para duas linguagensL1 e L2 define-se o produto assíncrono (shuffleproduct) L1 // L2 como o produto síncrono pa-ra o caso especial em que L1 ∩ L2 = ∅

O produto assíncrono é a linguagem que con-siste de todas as fusões de cadeias das duas lin-guagens.

A linguagem resultante do produto assíncronopode ser vista como a linguagem gerada pelogerador G que representa a ação independentee assíncrona de dois geradores G1 e G2.Diz-se que G é o resultado da composição sín-crona de G1 e G2.

Page 32: Controle Supervisório

Exemplo: Dois usuários assíncronos eindependentes utilizando o mesmo recurso

α2 γ2

β2

I2

R2 U2

α1 γ1

β1

I1

R1 U1

I = repouso; R = requisitando recurso; U = utilizando recurso

Operação conjunta = composição assíncrona

G = G1 // G2

Estados: pares ordenados (x,y), x ∈ G1, y ∈ G2

Transições: (x,y) → (x’,y) ou (x,y) → (x,y’)

Page 33: Controle Supervisório

I1I2 R1I2 U1I2

I1R2 R1R2 U1R2

I1U2 R1U2 U1U2

α1 β1

γ1

α1 β1

γ1

α1 β1

γ1

α2

β2

γ2

α2

β2γ2

α2

β2

γ2

L(G) = todas as cadeias sobre E1 ∪ E2 que cor-respondam a caminhos no grafo iniciados em I1I2

Lm(G) = Idem, mas terminando em I1I2

G é co-acessível : Lm(G) = L(G) = L(G)

Page 34: Controle Supervisório

Controle de SED’s

Idéia central do controle de SED’s:

•Alguns dos eventos (em geral não todos) podem ser externamente habilitados oudesabilitados → ação de controle.

•O atual estado ou a sequência de eventos é acessível → medidas.

SED

Controlador

Estado ouSequênciade eventos

Controle

Page 35: Controle Supervisório

Metodologia de Análisee Síntese

1) Especificação do funcionamento emmalha aberta.

2) Especificação de restrições = funcio-namento desejado em malha fechada.

Especificações típicas:•Segurança•Vivacidade•Justiça

3) Síntese da lei de controle = satisfa-ção das especificações da maneira me-nos restritiva possível.

Page 36: Controle Supervisório

Características da abordagemproposta:

• Os tres passos anteriores podem ser re-alizados de forma sistemática (inclusivesíntese automática do controlador).

• O sistema a controlar, as especificaçõesem malha fechada e o controlador devemser representáveis por geradores finitos.

• A complexidade dos algoritmos é poli-nomial no número de estados, entretantoo número de estados cresce exponencial-mente ao se agregar sub-sistemas.

• Este fato aponta para a criação de ar-quiteturas adequadas: explorar modula-ridade, hierarquia, descentralização...

Page 37: Controle Supervisório

Para modelar a função de controle,particionamos o conjunto de eventos E:

E = Ec ∪ Eu

Ec : conjunto de eventos controláveisEu :conjunto de eventos não-controláveis

Exemplo: Máquina com 3 estadosEc = {s,r} Eu = {f,b}

Entrada de Controle:Sub-conjunto γ ⊂ E tal que Eu ⊂ γ

Se e ∈ γ então e está autorizado por γ,de outra forma e está inibido por γ.

( a condição Eu ⊂ γ indica que os eventos não-con-troláveis estão sempre autorizados)

Conjunto das entradas de controle:Γ ⊂ 2E

Page 38: Controle Supervisório

SED Controlado: SED representado porum gerador G, equipado com um conjuntode entradas de controle Γ (SEDC).

No grafo, para cada γ, pode-se representaro efeito da entrada apagando-se os eventose tais que e ∉ γ.

Este tipo de controle é dito permissivo nosentido em que os eventos inibidos não po-dem ocorrer e os habilitados não ocorremobrigatoriamente.

Exemplo: Máquina de 3 estados.Γ = {γ1, γ2, γ3, γ4}γ1 = {s, f, r, b}; γ2 = {s, f, b}γ3 = {r, f, b}; γ4 = {f, b}

Page 39: Controle Supervisório

Supervisor:Controlador que chaveia as entradas decontrole γ’, γ’’, γ’’’,... em resposta a umacadeia observada de eventos.

Formalmente é uma função:h: L → Γ

que associa a cada cadeia possível w ∈ Luma entrada de controle γ = h(w) ∈ Γ

Em malha fechada, após a geração de umacadeia w, o próximo evento será um ele-mento de

h(w) ∩ Λ(f(xo,w))

onde Λ(.) é a função que determina os eventos possíveis a partir de um estado

Page 40: Controle Supervisório

Um gerador G, supervisionado por um supervisor definido pela função h (siste-ma em malha fechada):

(G,h) ou h/G

Notação:

O comportamento do sistema h/G é defi-nido pela linguagem L(h/G) ⊂ L(G):

• ε ∈ L(h/G)• we ∈ L(h/G) se e somente se:

w ∈ L(h/G), we ∈ L(G), e ∈ h(w)

Linguagem gerada em malha fechada:

Propriedades:• {ε } ⊆ L(h/G) ⊆ L(G)• L(h/G) é não vazia e fechada

Page 41: Controle Supervisório

Comportamento marcado de h/G:

Lm(h/G) = L(h/G) ∩ Lm(G)

Lm(h/G) é a parte de Lm(G) que sobreviveà supervisão. Pode representar o conjuntode tarefas realizadas sob supervisão.

Propriedade:

∅ ⊆ Lm(h/G) ⊆ Lm(G)

h é não bloqueante para G se:

Lm(h/G) = L(h/G)

Notação: (quando não houver confusão)L(h/G) → LhLm(h/G) → Lmh

Page 42: Controle Supervisório

Representação por Realização de Estado

Seja T um automaton definido por:(E,Y,g,yo,Y)

Seja Φ uma função completa de Y sobreΓ = conj. das entradas de controle do su-pervisor h:

Φ: Y → Γ

Seja h um supervisor definido para umgerador G = (E,X,f,xo,F):

h:L → Γ

O par (T,Φ) realiza o supervisor h se, para cada w ∈ Lh:

γ = Φ(y) = Φ(g(yo,w)) = h(w)

Page 43: Controle Supervisório

Em outras palavras, o valor da função hpara uma certa cadeia w pode ser obtidoaplicando-se w ao automaton T, a partirde seu estado inicial, obtendo-se o esta-do y’. Em seguida, a função Φ forneceo valor de γ que corresponde a w.

O automaton T deve ter seus eventosdirigidos pelos eventos em G

Gerador G

AutomatonTΦ

eventosautorizados

y

γ

Page 44: Controle Supervisório

Realização por um SED

Representação do supervisor por outro SEDS, de modo que a ação de controle sobre Gesteja implícita na estrutura de transição de S.

• Se w ∈ L(h/G) então w ∈ L(S), we ∈ L(S) somente se e ∈ h(w)

• Se w ∈ L(h/G), we ∈ L(G), e ∈ h(w)então we ∈ L(S)

Equivalentemente:

•transições não habilitadas por h não apare-cem na estrutura de transição de S.

•transições habilitadas por h, e fisicamentepossíveis, aparecem na estrutura de transiçãode S

Page 45: Controle Supervisório

S é a máquina de estados:S = (E,Y,g,yo,Y)

•entradas: eventos ocorridos em G

•transições: de acordo com a função g

•ação de controle: uma vez no estado yS desabilita, em G, os eventos e ∉ Λ(y)

h(w) ∩ Λ(f(xo,w)) ⊆ Λ(g(yo,w)) ⊆ h(w)

G

S

eventosautorizados

γ

Page 46: Controle Supervisório

Funcionamento em malha fechada

O funcionamento de h/G pode ser repre-sentado pelo SED correspondente à com-posição síncrona de S e G (S//sG):

h/G = S//sG = {E, Y × X, θ, (yo, xo), Y × F}

onde:θ((y,x),e) = (g(y,e),f(x,e))

sendo g(y,e)! e f(x,e)!

Numa composição síncrona, somente astransições permitidas em ambos os siste-mas são habilitadas. Se o supervisor inibeuma transição, ela não ocorrerá.

Page 47: Controle Supervisório

Exemplo: Almoço de dois filósofos

F1 F2

M Cc1

m1

G1:

M Cc2

m2

G2:

CC

m2c2

MM

CM MC

c1

m1 c2

m2

m1

c1

G = G1 // G2

Ec = {c1, c2}

Eu = {m1, m2}

Objetivo de controle: evitar o estado CC

Page 48: Controle Supervisório

Consideremos o supervisor definido por:

Neste caso, é fácil ver que:

L(h/G) = ((c1m1)+(c2m2))*(ε + c1 + c2)

Lm(h/G) = ((c1m1)+(c2m2))*

h[((c1m1)+(c2m2))*c1] = {c1, m1, m2}

h[((c1m1)+(c2m2))*c2] = {c2, m1, m2}

para os outros w ∈ L(G), h(w) = {c1, c2, m1, m2}

Portanto, a especificação é atendida.

Page 49: Controle Supervisório

Representação do supervisorpor um par (T,Φ):

yo

y1 y2

c1

m1 c2

m2

c1 c2 m1c1 c2 m2

m1 m2Automaton T:

Φ(yo) = {c1, c2, m1, m2}Φ(y1) = {c1, m1, m2} = h[((c1m1)+(c2m2))*c1]Φ(y2) = {c2, m1, m2} = h[((c1m1)+(c2m2))*c2]

* = irrelevantes

Φ c 1 c 2 m 1 m 2

yo 1 1 1 1y1 1 * 0 1 1y2 0 1 * 1 1

Page 50: Controle Supervisório

CC

m2c2

MM

CM MC

c1

m1 c2

m2

m1

c1

yo

y1 y2

c1

m1c2

m2

c1 c2 m1c1 c2 m2

m1 m2

Φ c 1 c 2 m 1 m 2

yo 1 1 1 1y1 - 0 1 1y2 0 - 1 1

γ ∈ Γ e ∈ E

Funcionamento em malha fechada

Page 51: Controle Supervisório

Representação do supervisor por um SED

yo

y1 y2

c1

m1 c2

m2

S: Obs.:L(S) = L(h/G)

Sistema em malha fechada: (composiçãosíncrona)

CCyo

CMy1 MCy2

c1

m1 c2

m2

S //s G:

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

Page 52: Controle Supervisório

O exemplo anterior, embora simples, suscita algumas questões:

• É possível que algumas especificações nãopossam ser atendidas de modo completo

• Se existirem várias soluções (eventualmentetodas incompletas), qual é a melhor?(no ex., se Φ(yo) = {m1, m2} a especificação será atendida, mas os filósofos morrerão de fome)

• É possível expressar as especificações de outras maneiras, p. ex. como sequências deeventos proibidas

•Formalmente: Dado um SED G com um com-portamento L(G) (ou Lm(G)), quais são os com-portamentos K ⊂ L (ou K ⊂ Lm) que podemser obtidos pela ação de algum supervisor ?(ou seja, para os quais existe h tal que L(h/G) = K ou Lm(h/G) = K)

Page 53: Controle Supervisório

Exemplo: Almoço dos filósofos com vinho

M C Bci

mi

bi

di

Gi: (i = 1,2)

Eventos controláveis: Ec = {c1, c2}

c1

m1

c2

m2

b1d1 c2

m2m1

c1d2

b2

m2

c2d1

b1 b2

d2 c1

m1

d2

b2

d1

b1

MM

MCCM

BM MB

BC CB

BB

CC

G = G1 // G2:

Page 54: Controle Supervisório

c1

m1

c2

m2

b1d1 c2

m2m1

c1d2

b2

m2

c2d1

b1 b2

d2 c1

m1

MM

MCCM

BM MBCC

BC CB

Objetivo de controle: evitar o estado BB

G’:

Deve-se obter h tal que:

L(h/G) = L(G’) ou Lm(h/G) = Lm(G’)

Isto é impossível pois c1b1c2 deve per-tencer a L(h/G), o que levará a BC e deonde será impossível evitar b2, resultan-do que c1b1c2b2 também pertence a L(h/G).

Page 55: Controle Supervisório

Controlabilidade

Uma linguagem K ⊆ E* é dita controlável emrelação a uma linguagem L se:

KEu ∩ L ⊆ K

Notação: SEo com S ⊆ E* e Eo ⊆ E denota o conjuntode cadeias da forma qe onde q ∈ S, e ∈ Eo

Em outras palavras, se K é controlável, entãoqualquer prefixo w de uma cadeia de K, segui-do de um evento não controlável e, tal quewe ∈ L, é também prefixo de alguma cadeiade K (we ∈ K)

Ou ainda: numa linguagem controlável, umacadeia fisicamente possível (∈L) seguida deum evento não-controlável conduz a uma ca-deia de K (∈K)

Obs.: ∅, L(G) e E* são controláveis em relação a L(G)

Page 56: Controle Supervisório

Exemplo:

0 1

2

3

a bc

de

G:

L(G) = (abc + ade)* (ε + a + ab + ad)

Seja K = (abc)* ab

Então: K = (abc)* (ε + a + ab)

Se Eu = {a, b, c, d, e} e Ec = { } entãoK não é controlável em relação a L(G)

pois KEu ∩ L = (abc)*(ε + a + ab + ad)

Se Eu = {a, b, c, e} e Ec = {d } entãoK é controlável em relação a L(G)

pois KEu ∩ L = (abc)*(ε + a + ab)

Page 57: Controle Supervisório

sf

b

r

I

W D

L(G) = (sf + sbr)*(ε + s + sb)

Exemplo:

G:

Para: K = (sbr)*

K = (sbr)* (ε + s + sb)KEu ∩ L = (sbr)* (sf + sb)K não é controlável em relação a L(G)

Para: K = (sf)*

K = (sf)* (ε + s)KEu ∩ L = (sf)* (ε + sb)K não é controlável em relação a L(G)

Para: K = {sf, sb} K = {ε, s, sf, sb}KEu ∩ L = {sf, sb}K é controlável em relação a L(G)

Page 58: Controle Supervisório

No exemplo do almoço dos filósofos,tanto L(S//sG) como Lm(S//sG) são con-troláveis em relação a L(G).

c1 m1

c2m2

b1 d1 c2

m2 m1c1

d2

b2

m2

c2 d1b1 b2

d2 c1 m1

MM

MCCM

BM MBCC

BC CB

No exemplo do almoço dos filósofoscom vinho, tanto L(G’) como Lm(G’)não são controláveis em relação a L(G).

yo

y1 y2

c1

m1 c2

m2

c1 c2 m1c1 c2 m2

m1 m2

Page 59: Controle Supervisório

Objetivos da Supervisão

a) Modificar o funcionamento do SED

•Especificando-se uma linguagem-alvo prefixofechada K ⊆ L(G) que representa o comporta-mento fixicamente possível desejado sob super-visão.

•Encontrando-se (se possível) um supervisortal que o comportamento em malha fechadasatisfaça L(h/G) = K

b) Modificar o funcionamento marcado do SEDpreservando a propriedade de não-bloqueio.

•Especificando-se uma linguagem-alvoK ⊆ Lm(G) que representa as tarefas que se deseja serem completáveis sob supervisão .

•Encontrando-se (se possível) um supervisor não-bloqueante tal que o comportamento em malha fechada satisfaça Lm(h/G) = K

Page 60: Controle Supervisório

L - fechamento

Def.: Sejam K e L duas linguagens comK ⊂ L ⊆ E*. A linguagem K é dita fe-chada em relação a L ou L-fechada se

K = K ∩ L

ou seja, K é L-fechada se todos os seus pre-fixos, que são palavras de L, forem palavrasde K.

Exemplo:

α β λ µ

λ α

G:

Lm(G) = {αβ, αβλµ, αλαµ }

Page 61: Controle Supervisório

K1 = {αβ} é Lm-fechada pois:

K1 ∩ Lm = {ε, α, αβ} ∩ Lm = K1

K2 = {αλαµ} é Lm-fechada pois:

K2 ∩ Lm = {ε, α, αλ, αλα, αλαµ} ∩ Lm = K2

K3 = {αβλµ} não é Lm-fechada pois:

K3 ∩ Lm = {α, αβ, αβλ, αβλµ} ∩ Lm≠ K3

Page 62: Controle Supervisório

Existência de Supervisores

Proposição: Dado um gerador G, com lingua-gem marcada Lm(G), e uma liguagem-alvoK ⊆ Lm(G), K ≠ ∅, existe um supervisor não-bloqueante h, tal que Lm(h/G) = K se e somentese K é Lm- fechada e L- controlável.

Corolário: Dados um gerador G, com linguagemgerada L(G), e uma linguagem-alvo K ⊆ L(G),existe um supervisor h, tal que L(h/G) = K, se esomente se K é prefixo-fechada e L- controlável

O problema formulado em termos de linguagemgerada pode ser visto como um caso particulardo problema anterior, no qual todos os estados daplanta são marcados.

Page 63: Controle Supervisório

Exemplo:

xo x1

x2

x3

abc

de

G:

L(G) = (abc + ade)*(ε + a + ab + ad) (é prefixo-fechada)

Lm(G) = (abc + ade)*(ab + ad)G é trim e portanto não-bloqueante (Lm = L)

Especificação em termos de linguagem gerada:

K = (abcade)*(ε + a + ab + abc + abca + abcad)

K ⊂ L(G)K é prefixo-fechada e controlável

Existe um controlador h tal que L(h/G) = K

Eu = {a, c, e}Ec = {b, d}

Page 64: Controle Supervisório

Síntese do Supervisor:Devemos obter um supervisor S de modoque: L(S//sG) = L(S) ∩ L(G) = K

Uma solução possível é tal que L(S) = K

a b c a d

eS:

(abcade)*

(⋅)*a(⋅)*ab(⋅)*abc(⋅)*abca(⋅)*abcad

h a b c d e11

11

11

1

11

111

1

0

111111

0

1

-

--

-

-

--

-

Esta é uma representação de qualquer su-pervisor da forma:

Contudo esta solução não é mínima nonúmero de estados.

Page 65: Controle Supervisório

Outra solução é o supervisor a seguir:

yo y1

a

a

d,e b,c

onde:L(S) = [(d + e)*a (b + c)*a]*[ε + (d + e)* +

+ (d + e)*a + (d + e)*a (b + c)*]

e L(S) //s L(G) = L(S) ∩ L(G) = K

O SED acima é uma representação do su-pervisor:

(abcade)*(ε + abca + abcad)

(abcade)*(a + ab + abc)

h a b c d e

1

1 1 1 1

1 1 10

0

A composição síncrona deste supervisor comG resultará num gerador semelhante ao super-visor obtido anteriormente (que gera K).

Page 66: Controle Supervisório

Especificação em termos de linguagemmarcada:

K’ = (abcade)*(ab + abcad) ⊂ Lm(G)

K’ não é prefixo-fechada pois:

K’ = (abcade)*(e + a + ab + abc ++ abca + abcad) ≠ K’

mas: K’ ∩ Lm(G) = KK’ é controlável

Portanto existe h, não-bloqueante tal que:Lm(h/G) = K’

O supervisor solução deve poder ser represen-tado por um SED, S, tal que L(S //s G) = K’

Tem-se que K’ = K (do exemplo anterior) eportanto as soluções anteriores são soluçõespara este problema.

Page 67: Controle Supervisório

Máxima Linguagem Controlável(Supervisor Minimamente Restritivo)

A condição de controlabilidade da linguagem K, especificada para o comportamento em ma-lha fechada, é necessária para existência de umsupervisor.

Questão: se K não for controlável, existealguma solução satisfatória ?

Provar-se-á que existe uma aproximação deK, contida em K, chamada de máxima lin-guagem controlável e que é única (notação:K↑)

Sob certas condições, esta linguagem satisfa-rá também os requisitos de fechamento da pro-posição anterior, garantindo a existência de umsupervisor. Este supervisor será chamado desupervisor minimamente restritivo ou ótimo.

Page 68: Controle Supervisório

Existência da máxima linguagemcontrolável

Sejam L(G) (gerada por um SEDC G) eK ⊆ E* (especificação em malha fechada).

C(K) = {J ⊆ K / J é controlável em rela-ção a G: JEu ∩ L(G) ⊆ J}

Proposição: C(K) é não-vazio e é fechadoem relação à operação de união de conjuntos.Em particular, C(K) contém um elementosupremo único denotado por sup C(K) ou K↑

Proposição: Seja K ⊆ Lm(G) uma linguagemLm-fechada (K = K ∩ Lm). Então sup C(K) éLm-fechada.

Page 69: Controle Supervisório

Proposição: Seja K ⊂ L(G) uma linguagemprefixo-fechada (K = K). Então sup C(K) é fechada.

Corolário: Seja G um SED não-bloqueantecom funcionamento L(G) e funcionamentomarcado Lm(G). Tem-se:

• Se K ⊂ L, K ≠ ∅ e K = K, existe um super-visor h tal que L(h/G) = sup C(K) .

• Se K ⊂ Lm, K ≠ ∅ e K = K ∩ Lm, existe umsupervisor h tal que Lm(h/G) = sup C(K) .

Obs.: Os supervisores acima geram um com-portamento em malha fechada dentro das es-pecificações descritas por K da maneira me-nos restritiva possível. Neste sentido são ótimos.

Page 70: Controle Supervisório

Síntese da Máxima LinguagemControlável supC(K)

Sejam:K: uma linguagem regularG: um SED com comportamentos L(G) e Lm(G)S: um gerador trim tal que Lm(S) = K⊂ L(G)

Algoritmo 1:

1) Obter G’, um gerador trim t.q. L(G’) = Lm(G’)= L(G) (basta marcar todos os estados de G);

2) Construir Co = G’// S; fazer i=0;(Observe-se que:Lm(Co) = Lm(G’) ∩ Lm(S) = L(G) ∩ Lm(S) = K)

3) Identificar os maus estados de Ci; são os es-tados (x,y) tais que: Eu(G’)(x) ⊄ Eu(Ci)(x,y);

4) Obter Ci’ eliminando os maus estados de Ci eas transições a eles associadas. Fazer Ci+1 = trim Ci’

5) Se Ci+1 = Ci , parar pois sup C(K) = Lm(Ci);senão fazer i = i+1 e voltar ao passo 3.

Page 71: Controle Supervisório

Algoritmo 2:

1) e 2) Como no algoritmo anterior;

3) Identificar os maus estados de Ci comoem 3) do algoritmo anterior. Se não houvermaus estados, ir para o passo 7);

4) Construir Ci’ apagando-se as transiçõesque correspondam a eventos controláveisem Ci;

5) Determinar outros maus estados, identi-ficando-os como sendo aqueles que tem umcaminho de transições em Ci’ que conduz apelo menos um mau estado já identificado;

6) Modificar Ci, apagando-se todos os mausestados identificados em 3) e 5), e as transi-ções a eles associadas; fazer Ci+1 = trim Ci;

7) Se Ci+1 = Ci , parar pois sup C(K) = Lm(Ci);senão fazer i = i+1 e voltar ao passo 3.

Page 72: Controle Supervisório

Exemplo: Linguagem K não prefixo fechada

α1

α2

β β β

βxo

x1 x2 x3 x4

x5x6

γ

α1

α2

β β β

βyo

y1 y2 y3 y4

y5y6γ

G:

Seja K = α1 + α1βββ(ε + β) + α2γ∗

O gerador S pode ser:

S:

A solução é sup C(K) = α2γ∗

Page 73: Controle Supervisório

Exemplo: Linguagem K prefixo fechada

xo x1 x2

a,b

c u

a a

G:

Eu = {u}; L(G) = (a + b)*ca*ua*

K = (ab)*(acu + c)a*

Pode-se escolher S:

yo y1 y2 y3

a

bc

c u aS:

Lm(S) = L(S) = K

Solução: sup C(K) = (ab)*acua*