SciELO - Scientific Electronic Library Online

 
vol.15 issue3State feedback fuzzy-model-based control for Markovian jump nonlinear systemsAnálise de simplificação na modelagem dinâmica aplicada a robôs quadrúpedes author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

Share


Sba: Controle & Automação Sociedade Brasileira de Automatica

Print version ISSN 0103-1759

Sba Controle & Automação vol.15 no.3 Campinas July/Sept. 2004

https://doi.org/10.1590/S0103-17592004000300005 

Controle supervisório hierárquico modular por agregação de estados

 

 

César R. C. Torrico; José E. R. Cury

Departamento de Automação e Sistemas, Universidade Federal de Santa Catarina, Caixa Postal 470 Campus Trindade, CTC, 88.040-000 Florianópolis, SC, Brasil - Fax: (55)(48)331-9934, torrico@das.ufsc.br, cury@das.ufsc.br

 

 


RESUMO

Este artigo apresenta um modelo para controle hierárquico modular de sistemas a eventos discretos baseado no controle hierárquico por agregação de estados e no controle modular clássico. Apresenta-se uma combinação das arquiteturas mencionadas, e são dadas condições necessárias e suficientes para que supervisores projetados individualmente sobre a planta quando atuando conjuntamente levem a uma solução consistente e não bloqueante.

Palavras-chave: Sistemas a Eventos Discretos, Controle Supervisório, Controle Hierárquico, Controle Modular


ABSTRACT

This paper presents a model for the hierarchical modular control of discrete event systems based on state aggregation and classical modular control. A combination of the mentioned architectures is presented, and necessary and sufficient conditions are given such that the supervisor's components designed individually when acting jointly over the plant lead to a nonblocking and consistent solution.

Keywords: Discrete Event Systems, Supervisory Control, Hierarchical Control, Modular Control.


 

 

1 INTRODUÇÃO

Em muitas áreas de aplicação, a complexidade dos processos incrementaram enormemente durante as ultimas décadas. Isto principalmente porque a integração entre as componentes dos processos cresce constantemente para permitir que os recursos sejam usados com mais eficiência. Os controles hierárquico e modular são uma opção para manipular problemas complexos através respectivamente da decomposição vertical e horizontal do problema em sub-problemas menores, para depois montar as suas soluções numa estrutura hierárquica e modular.

O formalismo sobre controle hierárquico de Sistemas a Eventos Discretos (SEDs) foi introduzido por Zhong e Wonham (1990) formulado para especificações prefixo fechadas dentro do contexto de Ramadge e Wonham (1989). Na seqüencia foi estendido por Wong e Wonham (1996) permitindo a formulação do problema para linguagens com marcação. De outro ponto de vista, Caines e Hubbard desenvolveram uma abordagem para controle hierárquico por agregação de estados. Em Torrico e Cury, 2002 foi introduzido um novo formalismo para o controle hierárquico de sistemas a eventos discretos envolvendo as abordagens mencionadas anteriormente em parceria com o novo modelo generalizado proposto em (Cury et al., 2001; Cury et al., 2004) para o controle de SEDs com estruturas de controle avançadas e marcação dinâmica associada. Em todas estas abordagens sobre controle hierárquico propõe-se uma hierarquia de dois níveis, um nível associado ao operador e um outro nível associado ao gerente.

O controle modular de SEDs foi inicialmente proposto por Wonham e Ramadge (1988). A síntese modular permite que problemas complexos possam ser decompostos em módulos mais simples. Enquanto supervisores são projetados para serem não bloqueantes (em relação à planta) quando operam individualmente, não está garantida que as suas combinações não serão bloqueantes. Por isto é necessário verificar que a síntese dos componentes seja não conflitante.

Neste trabalho propõe-se uma combinação da arquitetura de controle hierárquico e modular envolvendo as abordagens desenvolvidas em (Torrico e Cury, 2002) e (Wonham e Ramadge,1988). À decomposição hierárquica (decomposição vertical) proposta em (Torrico e Cury, 2002), adiciona-se a decomposição modular (decomposição horizontal) de (Wonham e Ramadge,1988). O objetivo deste trabalho é propor uma arquitetura hierárquica modular baseada na agregação de estados, tal que, esta arquitetura permita um comportamento consistente entre os níveis de hierarquia e que a ação conjunta de vários controladores gerencias implementados no baixo nível sejam não bloqueantes.

O artigo está organizado como segue. A seção 2 introduz os conceitos e resultados principais sobre controle por agregação de estados; a seção 3 introduz o problema de controle hierárquico modular e apresenta uma solução a este problema; finalmente a seção 4 ilustra a metodologia proposta através de um exemplo de uma linha de transferência.

 

2 CONTROLE HIERÁRQUICO POR AGREGAÇÃO DE ESTADOS

Nesta seção, resume-se os principais conceitos e resultados sobre controle hierárquico por agregação de estados apresentados em (Torrico e Cury, 2002).

Propõe-se uma arquitetura de dois níveis de hierarquia, operacional e agregado. No nível operacional, o autômato da planta é dado por uma quíntupla, G = (S, X, d, q0, Qm), onde S é o conjunto finito de eventos, consistindo de eventos não-controláveis (Su) e eventos controláveis (Sc), i.e. S = Su È Sc, X é o conjunto finito de estados, d: X × S ® X é a função de transição de estados (em geral uma função parcialmente definida), q0 Î X é o estado inicial e Qm Í X é o conjunto de estados marcados.

Uma partição do conjunto de estados X, denominada partição p, tem a característica a seguir: p = {X1, X2, ..., XN} com È Xi = X , Xi ¹ Æ e Xi Ç Xj = Æ para i ¹ j.

Dado um autômato G definido sobre S, um conjunto de eventos relevantes SA Ì S, e uma partição p = {Xi : xj,xk Î Xi « xj, xk Î X Ù$s Î (S- SA)*, d(xj,s) = xk}, define-se autômato agregado à quádrupla GA = (SA, p, dA, ), onde SA é o conjunto de eventos, p é o conjunto finito de estados obtido após a partição de X, dA : p × SA ® p é a função de transição parcial de estados tal que dA(Xi, s) = Xj se ($x Î Xi , $y Î Xj : d(x,s) = y ), e Î p é o estado inicial, tal que q0 Î .

O autômato agregado como definido anteriormente mostra unicamente eventos relevantes. Na figura 1 apresentam-se autômatos G e GA, mostrando como os estados originais foram agregados dentro de blocos-p.

 

 

Dado um autômato G e o autômato agregado correspondente GA, definimos o mapeamento canônico Q: L(G) ® L(GA) , como Q(e) = e e

para s Î S* e s Î S.

O mapeamento canônico é estendido naturalmente para linguagens como Q: 2S* ® Ï, Q(K) = { Q(s) : s Î K }

Seja LA = Q(L(G)) o mapeamento para o nível agregado de uma linguagem L(G) e seja L(GA) a linguagem gerada pelo autômato agregado. Nota-se que LA é diferente de L(GA) uma vez que algumas cadeias de L(GA) são impossíveis de serem obtidas através do mapeamento das cadeias de baixo nível. Pode-se mostrar que LA Í L(GA).

Para obter um autômato agregado com boas propriedades, previamente é necessário tratar o problema de não determinismo que pode aparecer em GA. Seja o autômato agregado GA, a seguir consideram-se as duas situações possíveis de ocorrer:

(a) GA é propriamente não determinista, isto é, existe Xi, Xj, Xk Î p e s Î SA, tal que, dA(Xi,s) = {Xj, Xk}, com Xj ¹ Xk. Na figura 1, as saídas do bloco X2 com o evento s ilustra um exemplo deste caso.

(b) Existe Xi, Xj Î p e s Î SA tal que d(Xi, s) = Xj, e tal que, existe x, y Î Xi e z,w Î Xj, z ¹ = w, com d(x,s) = z e d(y,s) = w. Na figura 1, as saídas do bloco X1 com o evento m ilustra um exemplo deste caso.

Considera-se também o caso (b) como não determinismo porque as continuações após aquelas transições afetadas não necessariamente serão iguais.

A principio o não determinismo será eliminado renomeando os eventos s Î S, que geram não determinismo, em eventos s, s¢, s¢¢, ¼ que irão a aumentar os alfabetos S e SA. Por exemplo, o não determinismo da agregação ilustrada na figura 1, eliminou-se renomeando o evento m que sai do bloco X1 em m, m¢, e o evento s que sai do bloco X2 em s, s¢. Este refinamento em GA permite eliminar qualquer ambigüidade no modelo agregado.

A estrutura de controle para GA é construída dependente de cada bloco Xi Î p e de cada estado de entrada no bloco xj Î Xi como em (Torrico e Cury, 2002). Consideram-se estados de entrada de um bloco Xi, denotado por I(Xi), aqueles estados que são atingidos por eventos em SA.

A estrutura de controle do modelo agregado é definida como um mapeamento G: (p,X) ® , a qual associa a cada bloco Xi Î p entrando por xj Î I(Xi) um conjunto de padrões de controle

onde (g, #) Î Gij é um padrão de controle válido em Xi entrando por xj com,

1. g Ì SA sendo um conjunto de eventos habilitados após Xi;

2. # = M sendo um atributo de marcação significando que a cadeia atual executada em L(GA) é considerada uma tarefa do sistema; e

3. # = N significando que a cadeia atual executada em L(GA) não é considerada uma tarefa do sistema.

Em (Torrico e Cury, 2002) mostra-se que o conjunto de padrões de controle Gij Î G satisfaz os seguintes requerimentos, para todo Xi Î p e xj Î Xi,

Não obstante, a estrutura de controle G como definida depende de Xi Î p e xj Î I(Xi). Uma vez que a informação do estado de entrada não poderá ser vista no autômato do nível agregado, propõe-se a representação de um autômato agregado com estruturas de controle dependentes do estado, denotado por .

Para poder representar o autômato agregado com estruturas de controle dependentes do estado, é necessário refinar este, fazendo uma divisão de cada bloco para cada estado de entrada que tenha um conjunto de estruturas de controle diferente, garantindo desta forma uma única estrutura para cada bloco. O número de estados do autômato resultante , no pior caso será igual ao somatório de todos os estados de entrada de todos os blocos. Como exemplo, na figura 2, apresenta-se um autômato G com uma agregação dada e logo abaixo, mostra-se o autômato resultante do refinamento da agregação original tal que as estruturas de controle sejam dependentes do estado, isto é, as estruturas de controle para o bloco X1 entrando pelo estado 2 e pelo estado 3 são diferentes (G1,2 ¹ G1,3) e conseqüentemente o bloco X1 é refinado em e .

 

 

A partir daqui será referido como GA, assim como o conjunto de padrões de controle associados a um novo estado Xi de GA será referido como Gi.

O supervisor para o modelo agregado, SA é definido como um mapeamento, SA : p ® ×{M, N}. Para um dado Xi Î p, o supervisor seleciona um padrão de controle SA(Xi) = (g, #) Î Gi, tal que em malha fechada, o conjunto de eventos ativos após Xi 1 é reduzido a g Ç SA (Xi), e a cadeia que chega em Xi é considerada marcada se # = M e não marcada se # = N.

O comportamento do sistema em malha fechada SA/GA é representado por um par de linguagens, uma linguagem prefixo fechada L(SA/GA) e uma linguagem marcada Lm (SA/GA), tal que Lm (SA/GA) Í L(SA/GA) Í L(GA). A linguagem prefixo fechada L(SA/GA) é definida recursivamente como:

e a linguagem marcada Lm (SA/GA) como

O comportamento em malha fechada L(SA/GA) é uma linguagem prefixo fechada e contem cadeias em L(GA) permitidas por SA sob supervisão, e o comportamento marcado em malha fechada Lm(SA/GA) contem as cadeias em L(SA/GA) onde o supervisor escolheu o padrão de controle com atributo de marcação "M". Em geral Í L(SA/GA), e o supervisor é dito ser não bloqueante se = L(SA/GA). O comportamento em malha fechada pode ser representado por um gerador T onde L(T) = L(SA/GA) e Lm(T) = Lm (SA/GA).

De modo a propor uma solução para o problema de controle supervisório do modelo agregado é introduzido o conceito de G-compatibilidade (Cury et al., 2004) como segue.

Definição 1 G-compatibilidade: A linguagem K Í L(GA) é G-compatível em relação a L(GA) se, e somente se, K = Æ ou;

onde dA(, s) = Xi e SL(s) representa o conjunto ativo de eventos em L após s.

Em (Cury et al., 2004) mostra-se que a G-compatibilidade de uma linguagem é condição necessária e suficiente para existência de um supervisor não bloqueante que a implemente em malha fechada.

Caso uma linguagem K a qual especifica o comportamento desejado não seja G-compatível, em (Cury et al., 2004) mostra-se que existe uma aproximação de K que é única e ótima, no sentido de ser minimamente restritiva. No caso regular, apresenta-se um algoritmo para o cálculo desta aproximação.

 

3 O CONTROLE HIERÁRQUICO MODULAR

O controle hierárquico modular refere-se à decomposição do problema seja horizontal como verticalmente. Nesta seção apresenta-se o caso da decomposição vertical em dois níveis de hierarquia e a decomposição horizontal em vários níveis onde cada nível está associado a uma especificação.

3.1 O problema de controle hierárquico modular

Considera-se uma planta G, um modelo abstrato GA, dois controladores , i = 1,2 para GA, um controlador S para G, e um operador de conjunção (), conectados tal como mostrado na Figura 3. G é a planta a ser controlada no mundo real por um operador S, enquanto que GA é uma abstração de G obtida pela agregação de seus estados que será controlada pela ação conjunta de dois gerentes , i = 1,2. A planta G informa ao nível agregado somente alguns eventos considerados relevantes (s Î SA), atualizando o modelo GA, mas também informa ao operador S a ocorrência de qualquer evento l Î S. A cada ocorrência de um evento s Î SA, cada gerente , i = 1,2 envia um comando comi ao operador de conjunção que processa os dois comandos comi, i = 1,2 e os sintetiza num único comando com a ser implementado pelo operador S. O operador S recebe duas informações, o comando com do operador de conjunção e a ocorrência de eventos l Î S gerados pela planta G, e com estes dados envia uma entrada de controle Con para a planta G. A entrada de controle resulta ser uma entrada de controle virtual, uma vez que o comportamento de GA é determinado totalmente pelo comportamento de G.

 

 

Sejam Lm e L linguagens definidas sobre um alfabeto S com L = , onde L e Lm representam respectivamente as linguagens gerada e marcada de uma planta G. GA representa o modelo abstraido de G obtido pela agregação dos seus estados como em (Torrico e Cury, 2002). SA é o alfabeto de eventos para GA, onde SA Í S.

Deseja-se que para duas especificações realizáveis de alto nível a arquitetura proposta possua um comportamento consistente. Assim para i = 1,2, sejam Í L(GA) especificações sobre GA. A máxima linguagem G-compatível sobre L(GA) para a especificação será sup (, L(GA)) Í Í L(GA) (Cury et al., 2004). Define-se a modularidade hierárquica, como a propriedade verificada quando para dois supervisores do nível gerencial e , tais que, Lm(/GA) = sup (, L(GA)), i = 1,2, Q(Lm(S / G)) = sup ( Ç , L(GA)) com = L(S/G). Esta condição indica que a imagem da ação do supervisor S sobre a planta G será igual à implementação monolítica no alto nível, ou seja, aquela que seria obtida resolvendo-se o problema de síntese de controle para a especificação Ç . O problema de controle é obter condições necessárias e suficientes para modularidade hierárquica.

3.2 Modelo para controle hierárquico modular

Nesta seção serão detalhados o papel do operador de conjunção e o supervisor S.

O operador de conjunção é um elemento que se encarrega de processar os comandos com1 e com2 vindos de e respectivamente e traduzir num comando com.

Funcionamento do operador de conjunção.-

Na implementação on-line o operador de conjunção terá a seguinte função:

Para cada bloco atingido Xi Î p de GA.

• Se com1 = (g1,N) Î Gi e com2 = (g2,#) Î Gi, para # = M,N, então, com = ([g1 Ç g2],N) se com Î Gi, senão com = indefinido!

• Se com1 = (g1,M) Î Gi e com2 = (g2,M) Î Gi, então, com = ([g1 Ç g2],M) se com Î Gi, senão com = indefinido!

A implementação conjunta de e no baixo nível é realizada pelo supervisor S que interpreta o comando com como no caso do controle hierárquico por agregação de estados apresentado em (Torrico e Cury, 2002) no qual se tem um único supervisor no nível agregado.

Para o caso geral em que se tenha mais de dois supervisores, o funcionamento do operador de conjunção será da forma seguinte: Sejam P supervisores,

• Se com1 = (g1,N) Î Gi, e comk = (gk,#) Î Gi para k = 2,..., P e # = M,N, então, com = ([g1 Ç g2 Ç ... gP],N) se com Î Gi, senão com = indefinido!

• Se comk = (gk, M) Î Gi, para k = 1,2,..., P, então, com = ([g1 Ç g2 Ç ... gP],M) se com Î Gi, senão com = indefinido!

Observa-se que para um funcionamento adequado do supervisor S, o comando com deverá sempre existir dentro da estrutura de controle ativa. Caso não exista então não existe um supervisor S consistente, no sentido de processar o comando de entrada com. O exemplo a seguir ilustra esta situação.

Exemplo 1 Considera-se a planta mostrada na figura 4(a); na figura 4(b) apresenta-se o correspondente modelo agregado com estruturas de controle dependentes do estado.

 


 

Para as especificações e do alto nível apresentadas na figura 5 observa-se que as mesmas são G-compatíveis. Portanto estes autômatos podem ser usados como supervisores , , tais que Lm(/GA) = e Lm(/GA) = . Observa-se que as linguagens realizáveis no nível agregado são modulares, isto é, Ç = .

 

 

Neste caso, quando o sistema alcança o bloco X1, envia a entrada de controle com1 = ({b},M) e a entrada de controle com2 = ({c}, M). Para um comportamento consistente teria que existir a entrada de controle (Æ,M), permitindo desabilitar os eventos b e c simultaneamente, o que não ocorre no caso considerado.

No exemplo anterior também é mostrado que a condição de modularidade de linguagens realizáveis no nível agregado, não é suficiente para garantir uma realização não bloqueante.

Para garantir a existência do supervisor S, o teorema a seguir apresenta as condições para que isto seja possível.

Teorema 1 Dados dois supervisores e tais que Lm(/GA) = , Lm(/GA) = , com Ç = . A G-compatibilidade de Ç é condição necessária e suficiente para a modularidade hierárquica.

Prova: ® (Somente se)

Sejam e duas linguagens tais que Lm(/GA) = e Lm(/GA) = . Por hipótese Ç =

Para qualquer s Î L(/GA) tal que dA(, s) = Xi Î p, sejam com1 = (g1, #1) Î Gi e com2 = (g2, #2) Î Gi, entradas de controle aplicadas pelos supervisores e respectivamente.

Por G-compatibilidade de Ç , para qualquer bloco Xi Î p atingido em GA, existe uma entrada de controle no alto nível (g, #) Î Gi, esta entrada de controle pode ser interpretada como a ação de um supervisor equivalente tal que Lm(/GA) = Ç , que garante uma realização controlável e não bloqueante no baixo nível, seja Lm(S/G) a implementação de Ç no baixo nível, segundo o Teorema 5.2 em (Torrico, 2003) Q(Lm(S/G)) = Ç

¬(Se)

Pelo Teorema 5.3 em (Torrico, 2003), q(Lm(S/G)) é G-compatível.

O teorema anterior garante que para cada cadeia de eventos da intersecção Ç no alto nível existe uma entrada de controle que permite uma realização não bloqueante no baixo nível.

Existem condições suficientes para modularidade hierárquica em que o teste da G compatibilidade não será necessário. Para provar estas condições, previamente são necessárias algumas definições as quais são apresentadas a seguir.

Definição 2 (Fechamento de conjunção das estruturas de controle de GA)

A estrutura de controle de GA é dita ser fechada para a conjunção se

Para o exemplo da agregação mostrada na Figura 6, observa-se que as estruturas de controle não satisfazem a condição de fechamento de conjunção, pois:

({a, b},M), ({b,c}, M), Î Gi, entretanto ({b}, M) Ï Gi

 

 

Dados dois supervisores e tal que Lm(/GA) = e Lm(/GA) = , o fechamento para conjunção não garante o não bloqueio da ação conjunta de ambos supervisores, conforme mostra o contra-exemplo a seguir:

Exemplo 2 Seja a planta mostrada na figura 7(a); na figura 7(b) apresenta-se o correspondente modelo agregado com estruturas de controle dependentes do estado.

 


 

Para as especificações e do alto nível apresentadas na figura 8(a), na figura 8(b) apresentam-se os autômatos das respectivas máxima linguagem G-compatível. Observa-se que as estruturas de controle são fechadas para conjunção, então para cada cadeia no nível agregado observada por e existe um comando com resultante da conjunção entre com1 e com2 que permite a evolução do sistema.

 


 

No caso, quando o sistema alcançar o bloco X2, envia a entrada de controle com1 = ({b,c},N) e a entrada de controle com2 = ({b,d}, N), como resultado da conjunção tem-se que com = ({b},N) desabilitando os eventos c e d; então observa-se que o sistema no nível agregado ficará bloqueado entre os estados X1 e X2 sem poder completar nenhuma tarefa, correspondendo no baixo nível a um bloqueio nos estados 2 e 3.

O fechamento para conjunção das estruturas de controle não garante o não bloqueio, mesmo que a intersecção entre as linguagens realizáveis do nível agregado seja G-compatível. O exemplo a seguir ilustra este caso.

Exemplo 3 Considera-se a agregação da Figura 9.

 

 

Para as mesmas especificações E1 e E2 do alto nível apresentadas na figura 8(a), neste caso os autômatos das respectivas máximas linguagens G-compatíveis resultam iguais aos da figura 8(b). Ao contrário do exemplo anterior (Exemplo 2), verifica-se que a intersecção entre as máximas linguagens G-compatíveis é G-compatível, mas isto não implica que estas linguagens serão modulares, isto é, Ç ¹ . Portanto acontece o mesmo problema que no exemplo anterior.

O teorema a seguir garante que, dado um modelo abstrato com estruturas de controle fechada para conjunção, a intersecção de duas especificações realizáveis e modulares no alto nível é G-compatível.

Teorema 2 Dados dois supervisores e tais que Lm(/GA) = , Lm(/GA) = , com Ç = . O fechamento de conjunção das estruturas de controle do nível gerencial implica que Ç é G-compatível.

Prova: Sejam , Í L(GA) duas linguagens quaisquer de alto nível, tais que sup (, L(GA)) = e sup (, L(GA)) = . Por hipótese Ç =

Denota-se L( /GA) como a implementação conjunta dos supervisores do alto nível. Para qualquer s Î L(/GA) tal que dA(,s) = Xi Î p , sejam, com1 = (g1, #1) Î Gi e com2 = (g2, #2) Î Gi, entradas de controle aplicadas pelos supervisores de alto nível. Por fechamento para conjunção das estruturas de controle $ com = (g3, #3) Î Gi, tal que g3 = g1 Ç g2 e #3 = M se #1 = M e #2 = M, outro caso #3 = N.

Então o comando com pode ser interpretado como a ação de um supervisor equivalente tal que Lm(/GA) = Lm( /GA) = sup (, L(GA)) Ç sup (,L(GA)).

Seja s Î Ç ; obviamente s Î e s Î , portanto $(g1, M), (g2,M) tais que gj Ç = para j = 1,2. Tem-se g1 Ç g2 Ç = Ç = = = . Pelo fechamento para conjunção (g1 Ç g2, M) Î G(s).

Seja agora s Î - e s Î ; pode-se facilmente deduzir que s Î Ç e s Ï Ç , ou seja, s Î Ç - Ç = - Ç . Nesse caso $(g1, N), (g2,#) tais que gj Ç = para j = 1,2. Pelo fechamento para conjunção (g1 Ç g2, N) Î G(s). Raciocínio similar para s Î - e s Î permite concluir que Ç é G-compatível. Portanto, Ç Í sup ( Ç , L(GA)).

Para a inclusão reversa usamos o fato que sup é monótono i.e., se E Í E¢, sup (E,L)) Í sup (E¢,L). Como Ç Í , isto implica que sup ( Ç , L(GA)) Í , similarmente sup ( Ç , L(GA)) Í ). Assim, Ç Ê sup ( Ç , L(GA)).

Portanto Ç = sup ( Ç , L(GA)).

Decorrente deste teorema, o corolário a seguir garante que, dado um modelo abstrato com estruturas de controle fechada para conjunção, duas especificações realizáveis e modulares no alto nível poderão ser implementadas no baixo nível sem nenhum conflito ou perda de otimalidade.

Corolário 3 Dados dois supervisores e tais que Lm(/GA) = , Lm( /GA) = , com Ç = . O fechamento de conjunção das estruturas de controle do nível gerencial é condição suficiente para que a modularidade hierárquica seja satisfeita.

Prova: Pelo teorema 2 sabe-se que Ç é G-compatível, então é possível uma implementação Lm(S/G) realizável e não bloqueante no baixo nível, segundo o Teorema 5.2 em (Torrico, 2003)q (Lm(S/G)) = sup ( Ç , L(GA))

Os resultados obtidos serão exemplificados na seção a seguir.

 

4 EXEMPLO DE APLICAÇÃO

Esta abordagem será ilustrada pelo desenvolvimento de vários supervisores hierárquicos para uma linha de transferência apresentada por Wonham (1998) no controle hierárquico tradicional. A linha de transferência consiste de duas máquinas M1 e M2 mais uma unidade de teste TU ligadas por dois buffers B1 e B2 na seqüencia M1, B1, M2, B2, TU como mostrado na Fig. 10. A peça testada por TU pode ser aceita ou rejeitada; se for aceita, esta é liberada do sistema; senão volta para o buffer B1 para re-processamento por M2

 

 

Os modelos dos componentes do sistema são mostrados na Fig. 11(a).

 

 

Os eventos controláveis 1 e 3 indicam o início de operação das máquinas M1 e M2, respectivamente, e os eventos não controláveis 2 e 4 indicam o fim de operação das mesmas. O início da unidade de teste é representado pelo evento controlável 5 e os sinais de decisão de "aceito'' ou "rejeitado'' são representados pelos eventos 60 e 81 respectivamente. Caso a peça seja aceita pela unidade de teste, esta é enviada para fora do sistema (evento 62), caso contrário retorna para o buffer B1 (evento 82). Considera-se os buffers de capacidade unitária. Na Fig. 11(b) mostra-se a especificação para não overflow e não underflow dos buffers. A Fig. 12 apresenta o modelo de uma solução a este problema, e esta é adotada como planta G para tratar do problema de controle hierárquico modular.

 

 

No alto nível, a preocupação dos gerentes atribui-se ao controle da relação entre peças de entrada e peças aceitas ou recusadas. Portanto, considera-se como eventos relevantes os eventos relacionados com este fato (1, 60, 81). Com estes dados constrói-se uma agregação e o resultado conjuntamente com os padrões de controle são mostrados na Fig. 12. Observa-se que o bloco X0 apresenta um não determinismo, motivo pelo qual o evento que produz não determinismo, 1 é instanciado em 1¢ e 1¢¢.

Observa-se que o bloco X0 do autômato agregado (Fig. 12) apresenta conjuntos de estruturas de controle diferentes para os dois estados de entrada 0 e 7 (G0,0 ¹ G0,7), motivo pelo qual o bloco X0 é dividido em dois, um associado a G0,0 e outro a G0,7, representado pelos estados Y0 e Y2 na Fig. 13. Já o bloco X1, para todas as entradas, apresenta um mesmo conjunto de estruturas de controle (G1,1 = G1,1 = G1,6), sendo mantido tal como está. Na Fig. 13, X1 está representado por Y1.

 

 

Pode-se observar que as estruturas de controle de são fechadas para conjunção.

De modo a ilustrar a condição de modularidade hierárquica consideram-se duas especificações para o sistema (Fig 14). A primeira especificação (E1) indica que, toda vez que uma mesma peça for recusada duas vezes seguidas pela unidade de teste, o sistema deve parar. A segunda especificação (E2) indica que se duas peças contíguas que entraram no sistema forem recusadas pela unidade de teste mesmo que seja só por uma vez, então uma parada do sistema é também forçada.

 

 

Continuando, obtém-se as linguagens alvo e aplica-se o Algoritmo para síntese da máxima linguagem G-compatível apresentado para sistemas com estruturas de controle dependentes do estado em (Cury et al., 2004). Os resultado são mostrados na Fig. 15.

 

 

Sejam sup (E1 || L()) = e sup (E2 || L()) = , pode ser verificada a modularidade de alto nível, i.e. Ç = , conseqüentemente é possível uma implementação realizável e não bloqueante no baixo nível. A seguir mostra-se uma parte da implementação no baixo nível resultante da ação conjunta de ambos supervisores de alto nível.

 

 

A função do operador de conjunção será interpretar as entradas de controle vindos de ambos supervisores e e traduzir num comando único. Para o caso do exemplo, no bloco Z5 (Bloco Y2 atingido em ) da implementação, o supervisor aplica a entrada de controle ({},M) e o supervisor aplica a entrada de controle ({1¢,1"},M), finalmente o operador de conjunção traduz as duas entradas e manda como resposta a entrada de controle ({},M).

 

5 DISCUSSÃO

O controle hierárquico modular foi aplicado com sucesso ao modelo proposto. Neste modelo a condição de fechamento para conjunção das estruturas de controle e a modularidade de alto nível garantem a existência de um supervisor equivalente à ação conjunta de dois supervisores no alto nível, permitindo assim um comportamento consistente entre os níveis de hierarquia e uma implementação não bloqueante no baixo nível. A abordagem proposta combina os ganhos obtidos pela agregação e pela modularidade. A análise da complexidade computacional é o próximo passo a ser desenvolvido.

 

AGRADECIMENTOS

César Torrico foi apoiado pela CAPES. José E. R. Cury foi apoiado em parte pelo CNPq, processos 3000953/93-3 e PRONEX 015/98.

 

REFERÊNCIAS

Caines, P. Hubbard, P. 1998 . A state aggregation approach to hierarchical supervisory control with applications to a transfer-line example, Proceedings of the WODES 98, Cagliary, Italy, pp. 2-7.         [ Links ]

Cury, J., Torrico, C. da Cunha, A. 2001 . A new approach for supervisory control of discrete event sistems, Proceedings of the European Control Conference 2001.         [ Links ]

Cury, J., Torrico, C. da Cunha, A. 2004 . Supervisory control of discrete event systems with flexible marking, Aceito para publicação em 2004 na revista European Journal of Control .         [ Links ]

Ramadge, P. Wonham, W. 1989 . The control of discrete event systems, Proceeding of the IEEE 77(1): 81-98.         [ Links ]

Torrico, C. 2003 . Controle Supervisório Hierárquico de Sistemas a Eventos Discretos: Uma Abordagem Baseada na Agregação de Estados, Tese(doutorado), Pós-Graduação em Engenharia Elétrica - Universidade Federal de Santa Catarina, Fpolis - SC.         [ Links ]

Torrico, C. Cury, J. 2002 . Hierarchical supervisory control of discrete event systems based on state aggregation, Proceedings of the 15th IFAC World Congress .         [ Links ]

Wong, K. Wonham, W. 1996 . Hierarquical control of discrete-event systems, Discrete Event Dynamical Systems 6: 241-273.         [ Links ]

Wonham, W. 1998 . Notes on Control of Discrete-Event Systems. Course Notes for ECE 1636F/1637S, Revision 98.09.01.         [ Links ]

Wonham, W. Ramadge, P. 1988 . Modular supervisory control of discrete event systems, Mathematics of control, Signals and Systems 1(1): 13-30.         [ Links ]

Zhong, H. Wonham, W. 1990 . On the consistency of hierarchical supervision in discrete-event systems, IEEE Transactions on Automatic Control 35(10): 1125-1134.         [ Links ]

 

 

1 dado um autômato G = (S, X, d, q0, Qm), o conjunto de eventos ativos em x Î X é S(x) = {s Î S: d(x,s) definido }.

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License