VERIFICA ¸C ˜AO GENERALIZADA DA PROPRIEDADE DE OBSERVADOR EM SISTEMAS A EVENTOS DISCRETOS
Hugo J. Bravo∗ Antonio E.C. Cunha∗ Patr´ıcia N. Pena† Robi. Malik‡ Jos´e E.R. Cury§ ∗SE/3-Instituto Militar de Engenharia
Rio de Janeiro, RJ, Brasil
†DELT- Universidade Federal de Minas Gerais Belo Horizonte, MG, Brasil
‡Department of Computer Science - The University of Waikato New Zealand
§DAS-CTC- Universidade Federal de Santa Catarina Florian´opolis, SC, Brasil
Email: hugobravoc@gmail.com, carrilho@ime.eb.br, ppena@ufmg.br, robi@waikato.ac.nz, cury@das.ufsc.br
Abstract— This paper addresses the verification of the observer property in abstractions of discrete event systems obtained through natural projection. In this context, we propose a modification to the OP-verifier I, that cannot be used when the system to be abstracted contains cycles of non relevant events, in order to circumvent this limitation. The modified algorithm, the OP-verifier II, can be considered as a general method for verification of the observer property.
Keywords— Discrete event systems, Natural projection, Observer property.
Resumo— Este artigo aborda o problema da verifica¸c˜ao da propriedade de observador em abstra¸c˜oes, obtidas por proje¸c˜ao natural, de sistemas a eventos discretos. Neste contexto, apresenta-se uma modifica¸c˜ao do algoritmo PO-Verificador I, em que se contornam as limita¸c˜oes do algoritmo com rela¸c˜ao ao n˜ao tratamento adequado de sistemas que possuam ciclos de eventos n˜ao relevantes. As modifica¸c˜oes no PO-Verificador I, tornam o novo algoritmo, proposto neste artigo e denominado PO-Verificador II, um m´etodo geral para a verifica¸c˜ao da propriedade de observador.
Palavras-chave— Sistemas a eventos discretos, Proje¸c˜ao natural, Propriedade de observador.
1 Introdu¸c˜ao
A proje¸c˜ao natural cumpre um papel funda-mental na obten¸c˜ao de abstra¸c˜oes de Sistemas a Eventos Discretos (SED). Na Teoria de Con-trole Supervis´orio (TCS) (Ramadge e Wonham, 1989), as abstra¸c˜oes obtidas por proje¸c˜oes natu-rais s˜ao empregadas em diversos contextos, como no controle com observa¸c˜ao parcial de eventos (Wonham, 2011), o controle hier´arquico (Torrico e Cury, 2004), (Cunha e Cury, 2007) (Schmidt e Breindl, 2011), e a verifica¸c˜ao de n˜ao conflito do controle modular (Hill e Tilbury, 2006), (Pena et al., 2009), entre outras.
Em muitas das abordagens mencionadas, um requisito fundamental ´e que as abstra¸c˜oes aten-dam a Propriedade de Observador (PO). Quando uma abstra¸c˜ao atende `a PO diz-se que ´e uma PO-Abstra¸c˜ao (Pena et al., 2008). O conceito de PO foi apresentado inicialmente por Wong e Wonham (1996), no contexto da obten¸c˜ao de supervisores n˜ao bloqueantes no controle supervis´orio hier´ar-quico. Uma forma geral da PO foi introduzida por Wong et al. (1995) e estendida por Wong et al. (2000) para linguagens n˜ao prefixo fechadas. De forma geral, as PO-Abstra¸c˜oes s˜ao consistentes com os sistemas originais no sentido da
correspon-dˆencia entre sequˆencias de eventos que definem o cumprimento de tarefas.
Com a evolu¸c˜ao da literatura, descobriu-se que as PO-Abstra¸c˜oes possuem muitas ou-tras propriedades interessantes, que extrapolam a sua aplica¸c˜ao original. Por exemplo, uma PO-Abstra¸c˜ao ´e garantida de possuir um n´ u-mero menor de estados que o sistema original (Wong, 1998). Em Feng e Wonham (2006) e Pena et al. (2006), revelou-se a modularidade das PO-Abstra¸c˜oes, no sentido de que, dadas certas con-di¸c˜oes sobre os eventos compartilhados, a abstra-¸c˜ao de um sistema composto apresenta a PO se, e somente se, as abstra¸c˜oes dos componentes do sistema tamb´em apresentem a PO.
No contexto da verifica¸c˜ao da PO em abstra-¸c˜oes, Pena et al. (2008) apresentaram um algo-ritmo, denominado PO-Verificador I, o qual de-tecta se uma abstra¸c˜ao de um sistema, obtida por uma proje¸c˜ao natural arbitr´aria, atende `a PO. O PO-Verificador I n˜ao precisa que a proje¸c˜ao natu-ral propriamente dita seja calculada para verificar a PO. Entretanto, o PO-Verificador I possui as restri¸c˜oes de que o sistema original a ser abstra´ıdo deve ser determin´ıstico e n˜ao pode possuir ciclos de eventos n˜ao relevantes.
do PO-Verificador I em que se contornam as restri-¸c˜oes sobre o sistema original. Nesta modifica¸c˜ao, denominada PO-Verificador II, encapsulam-se os componentes fortemente conexos correspondentes aos ciclos de eventos n˜ao relevantes em macroes-tados e define-se um novo algoritmo para c´alculo do verificador. Uma vantagem do verificador aqui apresentado ´e que se contornam as restri¸c˜oes im-postas `a aplica¸c˜ao do PO-Verificador I ainda se usufruindo das vantagens computacionais propor-cionadas pelo mesmo.
Este artigo est´a estruturado da seguinte forma. A Se¸c˜ao 2 cont´em os conceitos prelimi-nares ao trabalho. Na Se¸c˜ao 3 apresenta-se o PO-Verificador II, com a proposta do algoritmo para sua constru¸c˜ao juntamente com algumas proprie-dades. A Se¸c˜ao 4 traz um exemplo de aplica¸c˜ao do PO-Verificador II. Coment´arios finais s˜ao apre-sentados na Se¸c˜ao 5.
2 Preliminares
Revisam-se nesta se¸c˜ao alguns conceitos funda-mentais para o entendimento do algoritmo de ve-rifica¸c˜ao presente neste artigo.
Para um alfabeto finito Σ, o conjunto de todas as sequˆencias de eventos em Σ, incluindo a sequˆen-cia vazia ǫ, ´e denotado por Σ∗. O subconjunto L⊆ Σ∗´e denominado linguagem. Uma sequˆencia de eventos s ∈ L ´e uma palavra de L. A conca-tena¸c˜ao das palavras s, u ∈ Σ∗ formam a palavra t = su, em que t ∈ Σ∗. A palavra s ´e prefixo de t, denota-se s ≤ t, e u ´e sufixo de t. O prefixo-fechamento de L ´e definido porL= {s ∈ Σ∗|s ≤ t
para algumt∈ L}.
Um SED ´e modelado por um autˆomato de-termin´ıstico G= (Q, Σ, δ, q0, Qm), em que, Q ´e o
conjunto de estados, Σ ´e o alfabeto, q0 ∈ Q ´e o estado inicial, Qm ⊆ Q ´e o conjunto de estados marcados e δG : Q × Σ → Q ´e a fun¸c˜ao de tran-si¸c˜ao. O conjunto de eventos ativos associados a q∈ Q ´e EG
n(q) = {s ∈ Σ∗|δ(q, σ)!}, em que δ(q, s)!
denota que δ est´a definida. A linguagem gerada e marcada de G s˜ao L(G) = {s ∈ Σ∗|δ(q
0, s)!} e
Lm(G) = {s ∈ L(G)|δ(q0, s) ∈ Qm}. Diz-se que G
´e trim se ´e acess´ıvel, ou seja, todos os estados de Gs˜ao acess´ıveis a partir de q0∈ Q, e coacess´ıvel, ou seja, desde qualquer de estado G pode-se aces-sar um estado marcado. G ´e n˜ao bloqueante se
L(G) = Lm(G), isto ´e, se G for coacess´ıvel. Sem
perda de generalidade, assume-se que G ´e trim. No contexto deste artigo, o alfabeto Σ ´e par-ticionado como Σ = Σr∪ Σnr, em que Σr ´e o alfabeto de eventos relevantes e Σnr ´e o alfabeto de eventos n˜ao relevantes.
Para Σr⊆ Σ, a proje¸c˜ao natural θ : Σ∗→ Σ∗r, mapeia palavras em Σ∗ em palavras em Σ∗
r apa-gando os eventos que n˜ao pertencem a Σr. Este conceito pode ser estendido para linguagens como:
θ(L) = {t ∈ Σ∗
r|t = θ(s)para algum s∈ L}. Uma
propriedade que caracteriza a proje¸c˜ao natural ´e apresentada a seguir.
Defini¸c˜ao 2.1 (Wong et al., 2000) Sejam uma linguagem L ⊆ Σ∗ e θ : Σ∗ → Σ∗
r a proje¸c˜ao natural de Σ∗ para Σ∗
r. Diz-se que θ(L) possui a propriedade de observador quando para todo s ∈ L e todo t ∈ Σ∗
r, se θ(s)t ∈ θ(L) ent˜ao existe t′∈ Σ∗ tal que θ(st′) = θ(s)t e st′ ∈ L.
Em palavras, se uma abstra¸c˜ao verifica a PO, ent˜ao as tarefas realizadas no sistema abstra´ıdo correspondam sempre a abstra¸c˜oes de tarefas do sistema original. Uma abstra¸c˜ao, isto ´e, um autˆo-mato projetado θ(G), denomina-se PO-Abstra¸c˜ao se θ(Lm(G)) verifica a PO (Pena et al., 2008).
Na literatura, h´a diversos algoritmos que abordam o problema da verifica¸c˜ao da PO em abstra¸c˜oes (Pena et al., 2010b). Nesse contexto, destaca-se por sua simplicidade e eficiˆencia o algoritmo, denominado PO-Verificador I (Pena et al., 2008).
O PO-Verificador I, inspirado no verificador introduzido por Yoo e Lafortune (2002), constr´oi um autˆomato n˜ao determin´ıstico V , denominado verificador, a partir um autˆomato determin´ıstico M (obtido a partir de G), denominado autˆomato auxiliar, e um alfabeto relevante Σr. Ap´os a ob-ten¸c˜ao de V , uma abstra¸c˜ao θ(G) ser´a classificada de PO-Abstra¸c˜ao se, somente se, o estado Dead n˜ao ´e acess´ıvel em V . Para que os resultados do PO-Verificador I sejam v´alidos duas restri¸c˜oes s˜ao impostas: G deve ser determin´ıstico e n˜ao possuir ciclos de eventos n˜ao relevantes.
Na continua¸c˜ao, uma nova vers˜ao do PO-Verificador I ser´a apresentada. Est´a vers˜ao con-torna as restri¸c˜oes sobre G, con-tornando-o, assim, em um m´etodo geral para a verifica¸c˜ao da PO.
3 Verifica¸c˜ao Generalizada da Propriedade de Observador Nesta se¸c˜ao, apresenta-se um algoritmo de verifi-ca¸c˜ao, obtido por interm´edio do aperfei¸coamento do PO-Verificador I, que contorna efetivamente as restri¸c˜oes impostas sobre G. Posteriormente, apresenta-se um teorema que demonstra a corre-tude do algoritmo proposto.
3.1 Autˆomato Auxiliar M
Seja G o autˆomato que modela o sistema. No con-texto da verifica¸c˜ao da PO, utiliza-se o autˆomato auxiliar M = (QM ,Σ, δM , qM 0 ), obtido a partir de G = (QG ,ΣG , δG , qG 0, Q G
m), por meio da
substitui-¸c˜ao dos estados marcados de G por estados sem marca¸c˜ao com autola¸cos rotulados com o evento relevante τ ∈ Σ. A linguagem gerada e mar-cada para M s˜ao L(M ) = {s′ ∈ Σ∗|δM(qM
0, s′)!} e
Lm(M ) = {s ∈ ΣG ∗ |s ′
de eventos n˜ao relevantes introduz-se o autˆomato auxiliar M (n˜ao determin´ıstico). O autˆomato au-xiliar M = (QM
,Σ, δM
, AM
0 ) ´e definido a partir de
M= (QM,Σ, δM, qM
0 )como segue:
• O conjunto de estados QM est´a definido a partir do conjunto de componentes forte-mente conexos de M , considerando-se ape-nas as transi¸c˜oes com eventos n˜ao relevan-tes. Para realizar esta tarefa, utiliza-se o algo-ritmo de Tarjan (Nuutila e Soisalon-Soininen, 1994). Nesse sentido, QM ´e uma parti¸c˜ao de QM. Cada componente A
t ∈ QM, tal que At⊆ QM, denomina-se macroestado;
• O alfabeto Σ ⊆ Σ ´e particionado como Σ = Σr∪ Σnr, tal que Σr= Σr e Σnr⊆ Σnr; • At∈ QM denomina-se macroestado inicial de
M, isto ´e, AM
0 = Atse e somente, se q0M∈ At, tal que qM
0 ∈ QM;
• A fun¸c˜ao de transi¸c˜ao δM : QM × Σ → 2QM
´e definida da seguinte forma:
- Sejam At, Ak ∈ QM, qi, qj ∈ QM e σ ∈ Σr. Ent˜ao, Ak ∈ δM(At, σ) se e somente, se ∃qi∈ Ate ∃qj∈ Ak tal que δM(qi, σ) = qj.
- Sejam At, Ak ∈ QM, qi, qj∈ QM, e σ ∈ Σnr. Ent˜ao, Ak ∈ δM(At, σ) se e somente, se: (i) At 6= Ak e (ii) ∃qi ∈ At e ∃qj ∈ Ak tal que δM(q
i, σ) = qj.
A linguagem gerada e marcada de M s˜ao, res-pectivamente: L(M ) = {s′ ∈ Σ∗|δM(AM
0, s′)!} e
Lm(M ) ={s ∈ (Σ − {τ })∗|s′= sτ ∈ L(M )}.
Observa¸c˜ao 3.1 Se G n˜ao possui ciclo de even-tos n˜ao relevantes, ent˜ao M = M . Ent˜ao, as lin-guagens gerada e marcada de M e M s˜ao iguais. Exemplo 3.1 Para ilustrar a obten¸c˜ao de M , considere o autˆomato G, mostrado na Figura 1. Para G, tem-se que ΣG = {a, x, y}, em que ΣG
r = {a} e ΣG
nr = {x, y}. O autˆomato auxiliar M , ob-tido a partir de G ´e mostrado na Figura 2.
Figura 1: Autˆomato G.
Figura 2: Autˆomato M .
A obten¸c˜ao do autˆomato auxiliar M , a partir de M, ´e mostrada na Figura 3.
➩
Encontram-se as componentes fortemente conexas de M
Redefine-se a estrutura de transição M
Figura 3: Obten¸c˜ao do autˆomato auxiliar M . 3.2 Verificador Generalizado V
No ˆambito deste artigo, utiliza-se um autˆomato n˜ao determin´ıstico V , denominado verificador ge-neralizado, como um meio auxiliar para determi-nar se uma abstra¸c˜ao ´e ou n˜ao PO-Abstra¸c˜ao. Este novo verificador ´e obtido ap´os a execu¸c˜ao do algoritmo, denominado PO-Verificador II (Algo-ritmo 3.1).
O verificador generalizadoV = (Q, Σ, δ, {AM 0 })
´e definido da seguinte forma:
• Q ´e o conjunto de estados, tal que, cada estado pertencente a Q ´e apresentado como um conjunto de cardinalidade 1 ou 2, isto ´e, 1 ≤ |{At, Ak}| ≤ 2, em que At, Ak ∈ QM, ou um estado especial denominado Dead. • Σ ´e o alfabeto;
• {AM
0 } ∈ Q ´e o estado inicial;
• δ : Q × Σ → 2Q ´e a fun¸c˜ao de transi¸c˜ao de-finida pela sub-rotina Delta(X) (Algoritmo 3.2).
O PO-Verificador II, constr´oi V , a partir de M e Σr. Se Dead ´e acess´ıvel em V , ent˜ao θ(G) n˜ao ´e PO-Abstra¸c˜ao.
A estrutura do PO-Verificador II ´e semelhante ao PO-Verificador I. Por esse motivo opta-se por descrever somente as modifica¸c˜oes realizadas ao PO-Verificador I. As diferen¸cas significativas entre os algoritmos, encontram-se em Delta(X).
Algoritmo 3.2 9 Seja X ={At, Ak};
10 para cada σ∈ En(X) = EnM
(At)∪ En M (Ak) fa¸ca 11 se σ∈ Σrent˜ao 12 se σ∈ EnM (At) e σ∈ En M (Ak) ent˜ao 13 para cada A′ t∈ δ M (At, σ) e A′k∈ δ M (Ak, σ) fa¸ca
14 δ({At, Ak}, σ) ← δ({At, Ak}, σ) ∪ {{A′t, A′k}};
15 QT ← QT∪ {{A′t, A′k}}; 16 fim 17 sen˜ao, se (σ∈ EnM (At) e En M (Ak)∩ Σnr=∅) ou (σ∈ EnM (Ak) e En M (At)∩ Σnr=∅) ent˜ao
18 δ({At, Ak}, σ) ← δ({At, Ak}, σ) ∪ {Dead};
19 Q← Q ∪ {Dead}; 20 fim 21 sen˜ao 22 se σ∈ EnM (At) ent˜ao 23 para cada A′ t∈ δ M (At, σ) fa¸ca
24 δ({At, Ak}, σ) ← δ({At, Ak}, σ) ∪ {{A′t, Ak}};
25 QT ← QT∪ {{A′t, Ak}}; 26 fim 27 fim 28 se σ∈ EnM (Ak) ent˜ao 29 para cada A′ k∈ δ M (Ak, σ) fa¸ca
30 δ({At, Ak}, σ) ← δ({At, Ak}, σ) ∪ {{At, A′k}};
31 QT ← QT∪ {{At, A′k}};
32 fim 33 fim 34 fim 35 fim
De forma similar ao Verificador I, o PO-Verificador II tamb´em est´a definido distintamente para cada tipo evento. Descrevem-se, a seguir, as linhas 11 a 20, em que σ ∈ Σr, e as linhas 21 a 34, em que σ ∈ Σnr, de Delta(X).
Se σ ∈ Σr (Linha 11), ent˜ao verificar se σ ∈ EnM(A
t) e σ ∈ EnM(Ak) (Linha 12). Se for verdade, ent˜ao Ate Aktransitam sincronizada-mente atrav´es de σ, gerando assim, um conjunto de estados {{A′
t, A′k}} (Linhas 13 a 14). Do con-tr´ario, ir para as linhas 17 a 20. Adiciona-se este conjunto de estados ao conjunto QT (Linha 15). Para a verifica¸c˜ao da acessibilidade de Dead em V (Linhas 17 a 20), utiliza-se, de forma similar, o procedimento no PO-Verificador I.
Se σ ∈ Σnr (Linha 21), At e Ak transitam assincronamente atrav´es de σ, portanto dois ca-sos podem ocorrer: (i) σ ∈ EnM(A
t) (Linha 22), ent˜ao gera-se um novo conjunto de esta-dos {{A′
t, Ak}} (Linhas 23 a 24) e adiciona-se ao conjunto Q (Linha 25); (ii) σ ∈ EnM(A
k) (Linha 28), ent˜ao gera-se um novo conjunto de estados {{At, A′k}} (Linhas 29 a 30) e adiciona-se ao conjunto Q (Linha 31).
Exemplo 3.2 Para ilustrar a constru¸c˜ao de V , considere, M , mostrado na Figura 3. O alfabeto relevante de M ´e Σr = {a, τ }. V , obtido ap´os a execu¸c˜ao do PO-Verificador II, a partir de M e Σr, ´e mostrado na Figura 4. A execu¸c˜ao do PO-Verificador II gera as seguintes transi¸c˜oes:
{A0} a →{A1} (Linha 12) {A1} a →{A1} (Linha 12) {A1} a →{A2} (Linha 12) {A1} a →{A2, A1} (Linha 12) {A2, A1} a →Dead (Linha 17) {A2, A1} a →Dead (Linha 17) {A2, A1} τ →Dead (Linha 17) {A2} τ →{A2} (Linha 12)
Figura 4: Verificador generalizado V . 3.3 Propriedades
O teorema a seguir demonstra a corretude do al-goritmo PO-Verificador II.
Teorema 3.1 O estado Dead ´e acess´ıvel em V , se somente, se θ(G) n˜ao ´e PO-Abstra¸c˜ao.
A demonstra¸c˜ao do Teorema 3.1, baseia-se nos seguintes lemas.
Lema 3.1 Para todas as palavras sn, sm ∈ L(G) com a mesma proje¸c˜ao, isto ´e, com θ(sn) = θ(sm), vai existir um estado em V , {At, Ak} ∈ Q, tal que existem qi∈ At e qj ∈ Ak tais que δG(q0, sn) = qi e δG(q
0, sm) = qj.
Lema 3.2 Todo estado diferente de Dead em V ´e um conjunto {At, Ak}, tal que 1 ≤ |{At, Ak}| ≤ 2, em que At e Ak s˜ao componentes de QG e ∀qi ∈ At, ∀qj ∈ Ak e ∀sn ∈ L(G) tais que δG(q0, sn) = qi, existe sm ∈ L(G) tal que δG(q0, sm) = qj e θ(sm) = θ(sn).
Por causa da limita¸c˜ao de espa¸co a demons-tra¸c˜ao dos Lemas 3.1, 3.2 e do Teorema 3.1 s˜ao omitidos aqui.
Exemplo 3.3 Considere G da Figura 1 cujo con-junto de eventos relevantes ´e ΣG
r = {a}. A cor-respondente proje¸c˜ao de G, denotada por θ(G), ´e mostrada na Figura 5. No verificador generalizado V, mostrado na Figura 4, observa-se que o estado Dead ∈ Q ´e acess´ıvel em V , portanto θ(G) n˜ao ´e PO-Abstra¸c˜ao. Esta afirma¸c˜ao ´e demonstr´avel aplicando a Defini¸c˜ao 2.1, em que, para s = axya e t = a, tem-se que θ(s)t = aaa ∈ θ(Lm(G)), mas ∄ t′ tal que st′∈ L
m(G) e θ(st′) = θ(s)t. Assim, demonstra-se que θ(G) n˜ao ´e PO-Abstra¸c˜ao.
4 Complexidade
A complexidade do algoritmo PO-Verificador II est´a determinada pela complexidade para cons-truir o verificador generalizado V . Como o ADEF M = (QM,Σ, δM, AM
0 ) ´e a entrada do algoritmo, ent˜ao o n´umero de estados alcan¸c´aveis de V est´a limitado por,
|QM|2+ |QM| + 1 = O(|QM|2).
Para calcular o n´umero de transi¸c˜oes de V , considere uma transi¸c˜ao (x, σ, x′) em M , e seja y ∈ QM um estado arbitr´ario. Se σ ∈ Σ
r, ent˜ao, de acordo com as linhas 12 e 17 do Algoritmo 3.2, origina-se no m´aximo uma transi¸c˜ao
({Ax, Ay}, σ, {Ax′, Ay′}) ou ({Ax, Ay}, σ, Dead), em que Ax ∈ QM denota um macroestado c´on-tendo o estado x ∈ QM, e se σ ∈ Σ
nr, ent˜ao, de acordo com as linhas 22 e 28 do Algoritmo 3.2, origina-se uma transi¸c˜ao
({Ax, Ay}, σ, {Ax′, Ay}).
Ent˜ao, para cada transi¸c˜ao de M originam-se at´e |QM| transi¸c˜oes em V . O autˆomato M tem at´e |Σ||QM| transi¸c˜oes, portanto o n´umero total de transi¸c˜oes de V est´a determinado por,
|δM||QM| ≤ |Σ||QM|2= O(|Σ||QM|2).
5 Exemplo
Nesta se¸c˜ao, um exemplo de aplica¸c˜ao ´e utilizado para ilustrar a efetividade do PO-Verificador II, proposto neste artigo, em compara¸c˜ao com o PO-Verificador I.
Seja o autˆomato G, mostrado na Figura 6. O alfabeto de G ´e ΣG= {a, x, y}, em que ΣG
r = {a} e ΣG
nr= {x, y}. A proje¸c˜ao de G sobre o conjunto de eventos relevantes ΣG
r ´e mostrada na Figura 7. Observa-se que G tem um ciclo de eventos n˜ao re-levantes. O autˆomato auxiliar M , obtido a partir de G, ´e mostrado na Figura 8. A seguir constr´ oi-se V , por meio da execu¸c˜ao do PO-Verificador I, a fim de classificar se θ(G) ´e ou n˜ao PO-Abstra¸c˜ao.
Figura 6: Autˆomato G.
Figura 7: Proje¸c˜ao de G em ΣG r.
Observando V , mostrado na Figura 9, conclui-se, que θ(G) ´e PO-Verificador. No entanto, esta afirma¸c˜ao encontra-se errada, j´a que aplicando a Defini¸c˜ao 2.1 em s = ay e t = a, tem-se
Figura 8: Autˆomato auxiliar M .
que θ(s)t = aa ∈ θ(Lm(G)), mas ∄ t′ tal que st′ ∈ Lm(G) e θ(st′) = θ(s)t. Portanto, θ(G) n˜ao ´e PO-Abstra¸c˜ao.
Figura 9: Verificador V .
Nesta primeira parte do exemplo, observa-se que o PO-Verificador I erra em classificar a θ(G) como PO-Abstra¸c˜ao. O que j´a era esperado, j´a que G possui um ciclo de eventos n˜ao relevantes. Na segunda parte do exemplo, mostra-se como aplicando o PO-Verificador II consegue-se classifi-car de forma correta a θ(G).
Considera-se novamente os autˆomatos G e M, das Figuras 6 e 8. M , obtido a partir de M , ´e mostrado na Figura 10. Ap´os construir V , mos-trado na Figura 11, por meio do PO-Verificador II, determina-se que θ(G) n˜ao ´e PO-Abstra¸c˜ao.
Figura 10: Autˆomato auxiliar M .
Figura 11: Verificador generalizado V . 6 Conclus˜oes
conveniente de autˆomatos que sejam n˜ao determi-n´ısticos e possuam ciclos de eventos n˜ao relevan-tes. Al´em de contornar de forma vers´atil as limi-ta¸c˜oes do PO-Verificador I, o algoritmo proposto continua usufruindo as vantagens proporcionadas pelo PO-Verificador I. O PO-Verificador est´a im-plementado em Supremica (˚Akesson et al., 2006). Tem-se como prespectiva de trabalho realizar estudos de casos de aplica¸c˜ao do algoritmo tanto no teste do n˜ao conflito no controle modular local quanto na obten¸c˜ao de consistˆencia hier´arquica e n˜ao bloqueio no controle hier´arquico.
7 Agradecimentos
A pesquisa do primeiro autor ´e apoiada pela CA-PES. O terceiro autor ´e apoiado parcialmente pela FAPEMIG. O quarto autor ´e apoiado parcial-mente pelo CNPq (PQ300953/93-3). Todos os autores s˜ao apoiados parcialmente pela CAPES (Procad 102/2007).
Referˆencias
Cunha, A. e Cury, J. (2007). Hierarchical Su-pervisory Control Based on Discrete Event Systems With Flexible Marking, IEEE Tran-sactions on Automatic Control 52(12): 2242– 2253.
Feng, L. e Wonham, W. (2006). Computationally Efficient Supervisor Design: Abstraction and Modularity, 8th International Workshop on Discrete Event Systems, pp. 3–8.
Hill, R. e Tilbury, D. (2006). Modular Supervisory Control of Discrete-Event Systems with Abs-traction and Incremental Hierarchical Cons-truction, 8th International Workshop on Dis-crete Event Systems, pp. 399–406.
˚
Akesson, K., Fabian, M., Flordal, H. e Malik, R. (2006). Supremica - An integrated environ-ment for verification, synthesis and simula-tion of discrete event systems, Proceedings of the 8th Internationsl Workshop of Discrete Event Systems, WODES’06, Ann Arbor, MI, USA, pp. 384–385.
Nuutila, E. e Soisalon-Soininen, E. (1994). On Finding the Strongly Connected Components in a Directed Graph, Information Processing Letters 49: 14.
Pena, P., Cury, J. e Lafortune, S. (2006). Testing Modularity of Local Supervisors: An Appro-ach Based on Abstractions, 8th International Workshop on Discrete Event Systems, 2006, pp. 107–112.
Pena, P., Cury, J. e Lafortune, S. (2008). Polynomial-Time Verification of the Obser-ver Property in Abstractions, American Con-trol Conference, 2008, pp. 465–470.
Pena, P., Cury, J. e Lafortune, S. (2009). Verifica-tion of Nonconflict of Supervisors Using Abs-tractions, IEEE Transactions on Automatic Control 54(12): 2803 –2815.
Pena, P., Cury, J., Malik, R. e Lafortune, S. (2010b). Efficient Computation of Observer Projections using OP-Verifiers, Proceedings of the 10th International Workshop on Dis-crete Event Systems (WODES).
Ramadge, P. J. G. e Wonham, W. M. (1989). The Control of Discrete Event Systems, Proc. of the IEEE 77(1): 81–98.
Schmidt, K. e Breindl, C. (2011). Maximally Per-missive Hierarchical Control of Decentralized Discrete Event Systems, IEEE Transactions on Automatic Control 56(4): 723 –737. Torrico, C. R. C. e Cury, J. E. R. (2004). Controle
supervis´orio hier´arquico modular por agre-ga¸c˜ao de estados, Sba Controle & Automa-¸c˜ao vol.15 no.3 Campinas July/Sept. 2004 15: 291–299.
Wong, K. C. (1998). On the Complexity of Projections of Discrete-Event Systems, IEEE Workshop on Discrete Event Systems, pp. 201–208.
Wong, K. C., Thistle, J. G., Malham´e, R. P. e Hoang, H. H. (2000). Supervisory Control of Distributed Systems: Conflict Resolution, Discrete Event Dynamic Systems 10: 131– 186.
Wong, K., Thistle, J., Hoang, H.-H. e Malhame, R. (1995). Conflict Resolution in Modular Control with Applications to Feature Inte-raction, Proceedings of the 34th IEEE Confe-rence on Decision and Control, 1995, Vol. 1, pp. 416 –421 vol.1.
Wong, K. e Wonham, W. M. (1996). Hierarchical Control of Discrete-Event Systems, Discrete event Dynamic Systems: Theory and Appli-cations 1: 13–30.
Wonham, W. M. (2011). Supervisory
con-trol of discrete-event systems,
De-partment of Electrical and Compu-ter Engineering, University of Toronto, http://www.control.utoronto.ca/DES (up-dates posted annually).