2.2 Controle Supervisório
2.2.1 SED controlado considerando observação total
Considere um SED, cujo comportamento é modelado pelo par de linguagens L e Lm,
em que L = L é o conjunto de todas as sequências de eventos que o SED pode gerar e Lmé um subconjunto de L usado para representar o término de uma tarefa ou uma
ação específica que se queira destacar, sendo ambas definidas sobre um mesmo con- junto de eventos E. Pode-se dizer, então, que um autômato G = (X, E, f, Γ, x0, Xm)
modela o referido SED quando L(G) = L e Lm(G) = Lm.
De maneira semelhante, considere um autômato de especificação H (L(H) = La⊆ L(G) e Lm(H) = Lam ⊆ Lm(G)) que contenha todas as sequências desejadas
de G, mas que exclua as sequências cuja ocorrência se deseja impedir.
Assim, a formalização do problema de controle supervisório para um autômato G e uma especificação H é: obtenha um supervisor S para interagir com G através de realimentação (figura 2.14), resultando em um autômato S|G (lê-se S controlando G) com as seguintes características:
L(S|G) = La ⊂ L;
Lm(S|G) = Lam = L(S|G) ∩ Lm(G) = La∩ Lm.
Figura 2.14: Laço de controle supervisório realimentado S|G.
Como pode ser observado na figura 2.14, o paradigma de controle estabelecido pela realimentação faz com que a função de transição de G seja controlada por S, no sentido de que os eventos de G possam ser dinamicamente habilitados ou desabilitados por S. Assim, o supervisor S pode ser interpretado como uma função
cujo domínio é a linguagem gerada por G, e cuja imagem é o conjunto potência de E, isto é:
S : L(G) → 2E.
Com isso, a função dos eventos ativos da malha fechada (S|G), denotada por ΓN,
pode ser escrita como
ΓN[f (x0, s)] = S(s) ∩ Γ[f (x0, s)],
o que significa dizer que G não pode executar um evento no estado f (x0, s) se esse
evento não pertencer a S(s).
Com o entendimento desses conceitos, é possível, então, formalizar as linguagens de S|G.
Definição 2.17. (Linguagens gerada e marcada por S|G) A linguagem gerada por um autômato S|G pode ser recursivamente definida como
(i) ε ∈ L(S|G);
(ii) (s ∈ L(S|G)) e (sσ ∈ L(G)) e (σ ∈ S(s)) ⇔ sσ ∈ L(S|G). A linguagem marcada por esse mesmo autômato será definida por
Lm(S|G) := L(S|G) ∩ Lm(G).
Claramente, L(S|G) ⊆ L(G) e é prefixo-fechada por definição. Já Lm(S|G) é
composta exatamente pelas sequências marcadas de G que sobrevivem à ação de controle de S. As seguintes relações de inclusão podem, então, ser verificadas10:
∅ ⊆ Lm(S|G) ⊆ Lm(S|G) ⊆ L(S|G) ⊆ L(G).
A solução do problema de controle supervisório quando todos os eventos são controláveis e observáveis sempre existe e é relativamente simples de ser obtida. Porém, em geral, não é possível afirmar que todos os eventos são controláveis. Em outras palavras, o conjunto E do autômato G é particionado da seguinte forma:
E = Ec∪E˙ uc,
em que Ec⊆ E é o subconjunto de eventos controláveis, Euc⊆ E é o subconjunto
de eventos não-controláveis e ˙∪ denota partição, isto é, Ec∩ Euc = ∅ e Ec∪ Euc =
10Não é objetivo deste trabalho o estudo detalhado de L
m(S|G) e consequentemente de bloqueio
em S|G. Seu estudo e aplicação na teoria de Controle Supervisório podem ser encontrados na literatura ([9] e [15]).
E. Uma vez que, por definição, os eventos de Euc não podem ser desabilitados,
eles necessariamente pertencem a S(s). Com isso é possível definir que um dado supervisor S será admissível quando
Euc∩ Γ[f (x0, s)] ⊆ S(s),
o que significa dizer que S(s) não pode desabilitar eventos ativos não-controláveis. Todos os supervisores S considerados neste trabalho são admissíveis.
Considere, agora, o problema da síntese de um supervisor S admissível. Nesse caso, o objetivo é encontrar uma função de supervisão S que limite o comportamento de G ao especificado em H, com a restrição E = Ec∪E˙ uc. Porém, não existe
nenhuma garantia de existência de S, uma vez que podem existir eventos em Euc
que precisem ser desabilitados em algum momento da execução para que se obtenha a especificação H. Para tanto, é preciso primeiramente garantir a existência de S para então efetuar a sua síntese. O conceito que define essa existência é o de controlabilidade.
Definição 2.18. (Controlabilidade) Sejam K e M = M linguagens definidas so- bre um conjunto de eventos E. Seja Euc um sub-conjunto de E. Diz-se que K é
controlável em relação a M e Euc se
KEuc∩ M ⊆ K.
É possível, então, aplicar o conceito de controlabilidade no projeto de supervi- sores admissíveis utilizando o seguinte teorema.
Teorema 2.1. (Teorema da controlabilidade) Seja G = (X, E, f, Γ, x0, Xm), em que
Euc ⊆ E é o conjunto de eventos não-controláveis, e M = M = L(G). Seja a
especificação de linguagem K ⊆ M , sendo K 6= ∅. Então, existe um supervisor S, tal que L(S|G) = K se e somente se
KEuc∩ M ⊆ K.
Em palavras, o teorema da controlabilidade pode ser enunciado da seguinte forma: “Se eu não posso impedir que alguma sequência não desejável ocorra, então ela tem que fazer parte da especificação.”
Por definição, a controlabilidade é uma propriedade do fecho do prefixo de uma linguagem, ou seja, K é controlável se, e somente se, K for controlável. Note que a controlabilidade é uma propriedade independente da observação dos eventos de E.
Dentre as propriedades que a controlabilidade apresenta, é de especial impor- tância ressaltar que ela é preservada na operação de união, ou seja, se K1 e K2 são
controláveis, então K1∪ K2 também será controlável.
Exemplo 2.5. Para exemplificar o conceito de controlabilidade, considere os autô- matos G e H definidos na figura 2.15, em que E = {u, b}, M = L(G) = {ub, bu} e K = Lm(H) = {ub}. Seja Euc = {b}. Logo, no estado inicial 1, o supervi-
sor precisaria desabilitar b para que apenas u pudesse ocorrer, e assim satisfazer a especificação. Porém, como b é não-controlável, isto não é possível. Logo, diz-se que K (e também K) não é controlável em relação a M e Euc. Por outro lado, se
Euc= {u}, então o sistema torna-se controlável.
4 2 3 1 u b u b (a) Autômato G. 4 2 1 u b (b) Autômato H.
Figura 2.15: Exemplo de malha fechada formada por modelo (G) e especificação (H).
Como consequência da controlabilidade de uma linguagem K, em relação a M e Euc, é possível verificar que, quando K é controlável em relação a M e Euc, então o
supervisor S existe e é definido por:
S(s) = [Euc∩ Γ(f (x0, s))] ∪ {σ ∈ Ec: sσ ∈ K}.
Linguagem Controlável Suprema
O conceito de controlabilidade expõe a principal dificuldade associada à síntese de supervisores, que é a incapacidade de se satisfazer a especificação quando a lingua- gem especificada não for controlável em relação à linguagem gerada pela planta e aos eventos não-controláveis. Supondo que a planta a ser controlada não pode ser mo- dificada, para tornar possível a síntese de um supervisor é necessário alterar, então, a especificação, retirando as sequências que levam à violação da controlabilidade. Com isso em mente, é possível definir a classe formada por todas as sub-linguagens controláveis, como:
Cin(K) := {L ⊆ K : LEuc∩ M ⊆ L}.
A partir da classe de linguagens Cin(K) e do fato de que o objetivo é retirar
linguagem controlável suprema é obtida, por meio do supremo do conjunto Cin(K),
da seguinte forma:
K↑C := [
L∈Cin(K)
L.
A notação ↑ é usada para indicar que esta linguagem está dentro da especificação K, o que pode ser verificado pelo fato de ser resultado da união de linguagens que também são sub-conjuntos de K. Por sua vez, a notação C é utilizada para indicar o resultado de que K↑C é sempre controlável com respeito a M e Euc. Esse resultado
tem origem na preservação da controlabilidade sobre a operação de união, e sua consequente extensão para um número infinito de uniões.
2 3 0 1 b a a a c (a) Autômato G. D B C A H G b a c a a (b) Autômato H. 0 a 1 (c) Autômato K↑C.
Figura 2.16: Autômatos do exemplo 2.6.
Exemplo 2.6. Como exemplo de obtenção da linguagem controlável suprema, con- sidere os autômatos G e H definidos na figura 2.16, nos quais E = {a, b, c} e Euc= {c} e são tais que M = L(G) e K = Lm(H). Analisando o sistema, é possí-
vel observar que, embora a especificação contenha a sequência aac, a planta permite a ocorrência posterior de infinitos eventos c. Como c não pode ser desabilitado por ser não-controlável, então a propriedade de controlabilidade não é satisfeita. Visando modificar a especificação para atender a esta propriedade, é necessário remover de K todas as sequências que permitam a ocorrência continuada de c, ou seja, as sequên- cias aac, aa e aba. Com isso chega-se ao autômato da figura 2.16c que marca a
linguagem controlável suprema K↑C.