diagnostico de falhas em¶ tempo real de sistemas … · diagnostico de falhas em¶ tempo real de...

8
DIAGN ´ OSTICO DE FALHAS EM TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUT ˆ OMATOS FINITOS Thiago C. Jesus * , Marcos V. Moreira * , Jo˜ ao C. Basilio * * COPPE - Programa de Engenharia El´ etrica Universidade Federal do Rio de Janeiro Rio de Janeiro, RJ, Brasil Emails: [email protected], [email protected], [email protected] Abstract— Diagnosing a failure in a discrete-event system consists of identifying the occurrence of an unob- servable failure event based on the occurrence of observable events. In order to do so, sensors must be used to observe the events of the system. With the view to reducing the costs with the use of sensors, several works in the literature address the sensor selection problem via different approaches. In this paper, a new algorithm for online failure diagnosis of discrete-event systems described by finite automata is proposed. The main characteristic of this algorithm is that the system events are observed only when they are strictly necessary for the diagnosis process, allowing that the process be interrupted if a failure is detected or if the failure has not occurred and cannot occur anymore. This leads to a reduction in the use of sensors, thus saving energy and computational time for processing the information provided by the sensors. Keywords— Failure diagnosis, Diagnosability, Discrete-Event Systems, Automata. Resumo— Diagnosticar uma falha em um sistema a eventos discretos consiste em identificar a ocorrˆ encia de um evento de falha n˜ao observ´avel baseado nas ocorrˆ encias de eventos observ´aveis. Para tanto, sensores devem ser utilizados para a observa¸c˜ ao dos eventos do sistema. Visando reduzir custos com o uso de sensores, diversos trabalhos na literatura abordam o problema de sele¸c˜ ao de sensores utilizando diferentes abordagens. Neste trabalho ´ e proposto um novo algoritmo para o diagn´ostico de falhas em tempo real de sistema a eventos discretos descrito por autˆomatos finitos. A principal caracter´ ıstica desse algoritmo ´ e a observa¸c˜ao dos eventos do sistema somente quando esses eventos s˜ao estritamente necess´arios para o processo de diagnose, permitindo que o processo seja interrompido caso a falha seja detectada ou nenhuma falha tenha ocorrido e n˜ao possa mais ocorrer. Isso leva a uma redu¸c˜ao no uso de sensores, economizando energia e tempo computacional para o processamento dasinforma¸c˜ oes fornecidas pelos sensores. Palavras-chave— Diagn´ostico de Falhas, Diagnosticabilidade, Sistemas a Eventos Discretos, Autˆ omatos. 1 Introdu¸ ao 1.1 Diagn´ ostico de falhas de sistemas a eventos dis- cretos Diagnosticar uma falha em um sistema a eventos dis- cretos (SED) consiste em identificar a ocorrˆ encia de um evento n˜ ao observ´avel de falha baseado em um umero finito de ocorrˆ encias de eventos observ´ aveis, i. e., eventos que s˜ao detectados por sensores. Di- versos trabalhos na literatura abordam esse problema utilizando autˆ omatos (Sampath et al., 1995; Sampath et al., 1996; Qiu e Kumar, 2006). Nesses trabalhos, a detec¸ ao da ocorrˆ encia de um evento de falha ´ e as- sociada a uma estimativa dos estados alcan¸ cados pelo sistema ap´ os a ocorrˆ encia de uma sequˆ encia de even- tos observ´ aveis. Assim, o processo de diagnose ´ e in- terrompido quando a estimativa de estados da planta indica com certeza que a falha ocorreu. Contudo, em muitos casos, o processo de diagnose pode continuar desnecessariamente mesmo que a falha n˜ ao tenha ocor- rido e n˜ ao possa mais ocorrer. Por exemplo, considere o autˆ omato E da Figura 1, que foi primeiramente apresentado em (Cassez et al., 2007). Nesse autˆ o- mato, os conjuntos de eventos observ´ aveis, n˜ ao obser- aveis, e de falha s˜ao, respectivamente, Σ o = {a, b}, Σ uo = {σ f u } f = {σ f } . Neste caso, se no es- tado inicial o evento a ´ e observado, ent˜ ao ´ e f´acil ver que o estado 4 ´ e alcan¸cado e, uma vez que nenhum outro estado pode ser alcan¸ cado por uma sequˆ encia de eventos sem falha cujo ´ unico evento observ´ avel ´ e Figura 1: Autˆ omato E. a, ent˜ ao a falha ocorreu com certeza e o processo de diagnose pode ser interrompido. Por outro lado, se o evento b ´ e observado, ent˜ ao o estado 1 ´ e alcan¸cado e a falha n˜ ao somente n˜ ao ocorreu como tamb´ em n˜ ao pode mais ocorrer. Continuar o processo de diagnose neste caso ´ e totalmente desnecess´ ario levando a um gasto de energia com o uso de sensores e de esfor¸co computa- cional para a leitura e processamento das informa¸ oes fornecidas pelos sensores. Neste trabalho ´ e proposto um algoritmo para o diagn´ostico em tempo real de SEDs em que somente as sequˆ encias de eventos observ´ aveis estritamente ne- cess´ arias para o diagn´ ostico de falhas s˜ao percorridas pelo diagnosticador, ou seja, o processo de diagnose ´ e interrompido caso a falha seja diagnosticada ou ent˜ ao se a sequˆ encia observada indicar que a falha n˜ ao ocor- reu e n˜ ao pode mais ocorrer no sistema. O diagnosti- cador proposto neste trabalho ´ e baseado no autˆ omato verificador apresentado em (Moreira et al., 2010). 712 XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Upload: trandieu

Post on 16-Dec-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

DIAGNOSTICO DE FALHAS EM TEMPO REAL DE SISTEMAS A EVENTOSDISCRETOS DESCRITOS POR AUTOMATOS FINITOS

Thiago C. Jesus∗, Marcos V. Moreira∗, Joao C. Basilio∗

∗COPPE - Programa de Engenharia EletricaUniversidade Federal do Rio de Janeiro

Rio de Janeiro, RJ, Brasil

Emails: [email protected], [email protected], [email protected]

Abstract— Diagnosing a failure in a discrete-event system consists of identifying the occurrence of an unob-servable failure event based on the occurrence of observable events. In order to do so, sensors must be used toobserve the events of the system. With the view to reducing the costs with the use of sensors, several works in theliterature address the sensor selection problem via different approaches. In this paper, a new algorithm for onlinefailure diagnosis of discrete-event systems described by finite automata is proposed. The main characteristic ofthis algorithm is that the system events are observed only when they are strictly necessary for the diagnosisprocess, allowing that the process be interrupted if a failure is detected or if the failure has not occurred andcannot occur anymore. This leads to a reduction in the use of sensors, thus saving energy and computationaltime for processing the information provided by the sensors.

Keywords— Failure diagnosis, Diagnosability, Discrete-Event Systems, Automata.

Resumo— Diagnosticar uma falha em um sistema a eventos discretos consiste em identificar a ocorrenciade um evento de falha nao observavel baseado nas ocorrencias de eventos observaveis. Para tanto, sensoresdevem ser utilizados para a observacao dos eventos do sistema. Visando reduzir custos com o uso de sensores,diversos trabalhos na literatura abordam o problema de selecao de sensores utilizando diferentes abordagens.Neste trabalho e proposto um novo algoritmo para o diagnostico de falhas em tempo real de sistema a eventosdiscretos descrito por automatos finitos. A principal caracterıstica desse algoritmo e a observacao dos eventos dosistema somente quando esses eventos sao estritamente necessarios para o processo de diagnose, permitindo que oprocesso seja interrompido caso a falha seja detectada ou nenhuma falha tenha ocorrido e nao possa mais ocorrer.Isso leva a uma reducao no uso de sensores, economizando energia e tempo computacional para o processamentodas informacoes fornecidas pelos sensores.

Palavras-chave— Diagnostico de Falhas, Diagnosticabilidade, Sistemas a Eventos Discretos, Automatos.

1 Introducao

1.1 Diagnostico de falhas de sistemas a eventos dis-cretos

Diagnosticar uma falha em um sistema a eventos dis-cretos (SED) consiste em identificar a ocorrencia deum evento nao observavel de falha baseado em umnumero finito de ocorrencias de eventos observaveis,i. e., eventos que sao detectados por sensores. Di-versos trabalhos na literatura abordam esse problemautilizando automatos (Sampath et al., 1995; Sampathet al., 1996; Qiu e Kumar, 2006). Nesses trabalhos,a deteccao da ocorrencia de um evento de falha e as-sociada a uma estimativa dos estados alcancados pelosistema apos a ocorrencia de uma sequencia de even-tos observaveis. Assim, o processo de diagnose e in-terrompido quando a estimativa de estados da plantaindica com certeza que a falha ocorreu. Contudo, emmuitos casos, o processo de diagnose pode continuardesnecessariamente mesmo que a falha nao tenha ocor-rido e nao possa mais ocorrer. Por exemplo, considereo automato E da Figura 1, que foi primeiramenteapresentado em (Cassez et al., 2007). Nesse auto-mato, os conjuntos de eventos observaveis, nao obser-vaveis, e de falha sao, respectivamente, Σo = {a, b},Σuo = {σf , σu} e Σf = {σf} . Neste caso, se no es-tado inicial o evento a e observado, entao e facil verque o estado 4 e alcancado e, uma vez que nenhumoutro estado pode ser alcancado por uma sequenciade eventos sem falha cujo unico evento observavel e

Figura 1: Automato E.

a, entao a falha ocorreu com certeza e o processo dediagnose pode ser interrompido. Por outro lado, se oevento b e observado, entao o estado 1 e alcancado e afalha nao somente nao ocorreu como tambem nao podemais ocorrer. Continuar o processo de diagnose nestecaso e totalmente desnecessario levando a um gasto deenergia com o uso de sensores e de esforco computa-cional para a leitura e processamento das informacoesfornecidas pelos sensores.

Neste trabalho e proposto um algoritmo para odiagnostico em tempo real de SEDs em que somenteas sequencias de eventos observaveis estritamente ne-cessarias para o diagnostico de falhas sao percorridaspelo diagnosticador, ou seja, o processo de diagnose einterrompido caso a falha seja diagnosticada ou entaose a sequencia observada indicar que a falha nao ocor-reu e nao pode mais ocorrer no sistema. O diagnosti-cador proposto neste trabalho e baseado no automatoverificador apresentado em (Moreira et al., 2010).

712

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 2: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

1.2 Trabalhos relacionados

Diversos trabalhos na literatura abordam o problemade selecao de sensores para o diagnostico de falhasutilizando diferentes abordagens (Debouk et al., 1999;Yoo e Lafortune, 2001; Jiang et al., 2003; Cassezet al., 2007; Cassez e Tripakis, 2008). Em (Yoo eLafortune, 2001) um algoritmo em tempo polinomialpara verificacao da propriedade de diagnosticabilidadede SEDs descritos por automatos e apresentado e emostrado que o problema de encontrar um conjuntode sensores ou eventos observaveis de menor cardina-lidade que mantenha a propriedade de diagnosticabi-lidade de um SED e NP-completo. Visando estenderos resultados de Yoo e Lafortune (2001), Jiang et al.(2003) apresentam um algoritmo em tempo polino-mial para obtencao de um conjunto otimo de classesde equivalencia de eventos utilizando mascaras de naoprojecao. O objetivo do metodo proposto em (Jianget al., 2003) e obter a informacao mınima necessa-ria sobre a observacao de eventos para que o sistemapermaneca diagnosticavel. Mais recentemente, Cassezet al. (2007) e Cassez e Tripakis (2008), propoem aconstrucao de um diagnosticador dinamico que seleci-ona a cada passo do processo de diagnose um conjuntode eventos observaveis mınimo mantendo a proprie-dade de diagnosticabilidade do sistema. A motivacaopara esse problema e a reducao no tempo de compu-tacao gasto com informacoes fornecidas pelos senso-res consideradas nao relevantes e de energia necessa-ria para operar esses sensores. Note que o problemaformulado por Cassez et al. (2007) e Cassez e Tripakis(2008) e diferente dos problemas formulados por Yooe Lafortune (2001) e Jiang et al. (2003) uma vez quenestes trabalhos os diagnosticadores sao estaticos, ouseja, o conjunto de eventos observaveis permanece omesmo em todas as etapas da diagnose.

Embora o diagnosticador dinamico proposto em(Cassez et al., 2007) e (Cassez e Tripakis, 2008) levea uma economia de tempo de computacao e energiacom relacao ao uso de sensores, o metodo leva, emgeral, a um aumento no atraso para a identificacaode um evento de falha. Esse atraso e indesejado namaioria dos casos uma vez que pode representar umgasto maior de energia no sistema em comparacao coma economia com o uso de sensores, ou ate mesmo oalcance de um estado em que nao seja mais possıvel osistema se recuperar da falha.

Neste trabalho, um novo metodo para o diagnos-tico de falhas em SEDs e proposto. Assim como em(Cassez et al., 2007) e (Cassez e Tripakis, 2008) a mo-tivacao para esse problema e a reducao do esforco com-putacional e gasto de energia no processo de diagnose.Alem disso, o metodo aqui proposto evita o aumentono atraso para a identificacao da falha. E importanteressaltar que este trabalho nao tem como objetivo de-terminar um metodo para selecionar o conjunto deeventos observaveis como em (Yoo e Lafortune, 2001)e (Jiang et al., 2003) e, portanto, e suposto que o con-junto de eventos observaveis e um dado do problema.

Diversos trabalhos na literatura abordam o pro-blema de diagnose em tempo real de SEDs utili-zando redes de Petri (Corona et al., 2004; Giua e Se-atzu, 2005; Ramirez-Trevino et al., 2007; Lefebvre eDelherm, 2007; Basile et al., 2009). Contudo, nao ede conhecimento dos autores que exista algum tra-

balho utilizando-se redes de Petri ou automatos queestabelecam como criterio de parada do algoritmo deidentificacao de falha a impossibilidade de ocorrenciade um evento de falha.

1.3 Organizacao do trabalho

Este trabalho esta estruturado da seguinte forma: nasecao 2 a notacao e algumas nocoes preliminares sobresistemas a eventos discretos sao apresentadas. Na se-cao 3 o verificador proposto em (Moreira et al., 2010)e revisto, e na secao 4, baseado nesse verificador, o di-agnosticador e o algoritmo para a diagnose em temporeal sao apresentados. Finalmente, na secao 5, as con-clusoes sao apresentadas.

2 Nocoes Preliminares

Um sistema a eventos discretos e um sistema que tem oespaco de estados discreto e o mecanismo de transicaode estados e dirigido por eventos, isto e, o comporta-mento dinamico do sistema e condicionado a ocorren-cia de eventos. Se Σ denota o conjunto de eventos,entao o conjunto de todas as possıveis sequencias deeventos formadas com elementos no conjunto Σ, jun-tamente com a sequencia vazia ε, e chamado de Fechode Kleene de Σ, denotado por Σ?. A linguagem L ge-rada por um SED e um subconjunto de Σ?, ou seja,L ⊆ Σ?, sendo que L e prefixo-fechada, isto e, L = Lcom L sendo o fecho de prefixo de L definido como:

L = {s ∈ Σ? : (∃t ∈ Σ?)[st ∈ L]}.Neste artigo, a notacao σ ∈ s representa que σ e umum evento da sequencia s ∈ L, e o numero de eventosnessa sequencia s e representado por |s|.

Seja G o automato que modela o sistema definidocomo (Cassandras e Lafortune, 2008):

G = (X, Σ, Γ, f, Xm, x0), (1)

sendo X o espaco de estados finito, Σ o conjunto deeventos, Γ a funcao de eventos ativos, f a funcao detransicao, Xm o conjunto de estados marcados e x0

o estado inicial do sistema. Por simplicidade, a fun-cao de eventos ativos e o conjunto de estados mar-cados serao omitidos em alguns casos. A linguagemgerada por G, L(G), e a linguagem prefixo-fechadagerada pelo sistema, ou seja L(G) = L, e um ca-minho (xk, σ1, xk+1, σ2, . . . , σl, xk+l), para l > 0, euma sequencia de estados e eventos tais que xk+i =f(xk+i−1, σi) para qualquer i ∈ {1, 2, . . . , l}. O cami-nho forma um ciclo se xk+l = xk.

A parte acessıvel de um automato G, denotadapor Ac(G), e a operacao unaria realizada sobre G queelimina todos os estados de G que nao sao alcancaveisa partir do estado inicial x0 e suas respectivas transi-coes. Formalmente,

Ac(G) = (Xac, Σ, fac, x0) , (2)

sendo Xac = {x ∈ X : (∃s ∈ Σ?)[f(x0, s) = x]} e fac :Xac × Σ → Xac a nova funcao de transicao obtidarestringindo-se o domınio de f para o domınio dosestados acessıveis Xac.

A parte coacessıvel de G e obtida eliminando-setodos os estados de G a partir dos quais nao e pos-sıvel alcancar um estado marcado. Essa operacao e

713

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 3: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

formalmente definida como:

CoAc(G) = (Xcoac, Σ, fcoac, x0,coac, Xm) , (3)

sendo Xcoac = {x ∈ X : (∃s ∈ Σ?)[f(x, s) ∈ Xm]},x0,coac = x0 se x0 ∈ Xcoac, ou x0,coac e indefinidose x0 6∈ Xcoac, e fcoac : Xcoac × Σ → Xcoac e a novafuncao de transicao obtida restringindo-se o domıniode f aos estados coacessıveis Xcoac.

Suponha que o conjunto de eventos possa ser par-ticionado em Σ = Σo∪Σuo sendo Σo e Σuo os conjun-tos de eventos observaveis e nao observaveis, respec-tivamente, e seja Σf ⊆ Σuo o conjunto de eventos defalha. Suponha agora que o conjunto de eventos defalha possa ser particionado em

Σf =

p⋃i=1

Σfi, (4)

em que Σfi representa um conjunto de eventos de falhade um mesmo tipo.

O diagnostico de um falha do conjunto Σfi podeser expresso como o problema de diagnosticar a ocor-rencia desses eventos baseado na observacao de umasequencia finita de eventos em Σo. Para o diagnosticode eventos de falha de tipos diferentes, pode-se cons-truir varios diagnosticadores sendo que cada um iden-tifica a ocorrencia de um tipo especıfico de falha (Yooe Lafortune, 2002; Jiang et al., 2001). Assim, nesteartigo, sem perda de generalidade, e considerado queexiste apenas um tipo de falha, isto e, p = 1.

E importante tambem apresentar algumas opera-coes usuais sobre linguagens e automatos.

A projecao Ps : Σ?l → Σ?

s , em que Σs ⊂ Σl, edefinida como (Ramadge e Wonham, 1989):

Ps(ε) = ε,

Ps(σ) =

{σ, se σ ∈ Σs

ε, se σ ∈ Σl \ Σs, (5)

Ps(sσ) = Ps(s)Ps(σ), para todo s ∈ Σ?l , σ ∈ Σl,

em que \ denota a diferenca entre conjuntos. Assim,e possıvel ver que a projecao substitui na sequencias ∈ Σ?

l todos eventos σ ∈ Σl \Σs pela sequencia vaziaε, que e equivalente a apagar esses eventos da sequen-cia s. A operacao projecao tambem pode ser aplicadana linguagem L gerada por G simplesmente aplicandoas regras (5) para todas as sequencias s ∈ L. Essaoperacao pode ser implementada em G substituindotodas as transicoes rotuladas por eventos de Σl \ Σs

pela sequencia vazia ε, levando a um automato naodeterminıstico. Para obter um automato determinıs-tico que gera a linguagem Ps(L), um observador deveser computado (Cassandras e Lafortune, 2008).

A projecao inversa P−1s : Σ?

s → 2Σ?l e definida

como:P−1

s (t) = {s ∈ Σ?l : Ps(s) = t} . (6)

A operacao de projecao inversa tambem pode ser apli-cada a linguagem gerada por um automato G visandoobter P−1

s (L(G)). Isso pode ser feito adicionando acada estado de G um autolaco rotulado por todosos eventos em Σl \ Σs. Com leve abuso de notacao,esse automato que gera P−1

s (L(G)) sera denotado porP−1

s (G).Em alguns casos, pode ser necessario realizar a

composicao de dois automatos para formar um ter-ceiro. Sejam G1 = (X1, Σ1, Γ1, f1, x01) e G2 =

(X2, Σ2, Γ2, f2, x02). Entao, o produto de G1 e G2,denotado por G1 ×G2, e definido como:

G1×G2 = Ac(X1×X2, Σ1∪Σ2, f1×2, (x01, x02)), (7)

sendo

f1×2((x1, x2), σ) =

(f1(x1, σ), f2(x2, σ)), seσ ∈ Γ1(x1) ∩ Γ2(x2);indefinido, caso contrario.

(8)Note que a transicao no produto G1 × G2 ocorre se,e somente se, a transicao e possıvel em ambos auto-matos G1 e G2. Isso significa que a evolucao de es-tados em G1 ×G2 e completamente sincronizada coma evolucao de estados nos automatos G1 e G2. Umaconsequencia importante desse fato e que a linguagemgerada por G1 × G2 e igual a L(G1) ∩ L(G2). E im-portante observar ainda que apenas a parte acessıvelda composicao e usada para formar G1 ×G2 uma vezque estados que nao sao alcancaveis a partir do estadoinicial (x01, x02) podem ser gerados na operacao.

A composicao paralela e definida como G1‖G2 =P−1

1 (G1)×P−12 (G2), sendo Pi : (Σ1∪Σ2)

? → Σ?i , para

i = 1, 2.

3 Algoritmo para verificacao dadiagnosticabilidade

Seja G um automato que modela o comportamentonormal e de falha do sistema e seja H o subautomatode G que representa o comportamento de nao falha dosistema. Alem disso, considere a seguinte particao doconjunto de eventos de G, Σ = Σo∪Σuo. Assim, a lin-guagem gerada por H, denotada por K, e uma lingua-gem prefixo-fechada que contem todas as sequenciasde L que nao possuem qualquer evento do conjuntoΣf . Utilizando essas definicoes, a seguinte nocao dediagnosticabilidade pode ser apresentada (Qiu e Ku-mar, 2006).

Definicao 1 Seja L a linguagem prefixo-fechada ge-rada por um sistema G e seja K ⊂ L a lingua-gem prefixo-fechada gerada por H. Defina a projecaoPo : Σ? → Σ?

o e considere Σf o conjunto de eventosde falha. Entao, L e diagnosticavel em relacao a Po eΣf se, e somente se,

(∃n ∈ N)(∀s ∈ L \K)

(∀st ∈ L \K, |t| ≥ n ou st leva a um deadlock) ⇒(∀w ∈ P−1

o (Po(st)) ∩ L, w ∈ L \K).

2

Note que se existe um deadlock em G, entao umautolaco rotulado por um evento nao observavel podeser adicionado ao estado de bloqueio sem afetar a pro-priedade de diagnosticabilidade do sistema, tornandoa linguagem viva. Esse procedimento e utilizado em(Qiu e Kumar, 2006) e (Moreira et al., 2010). Por-tanto, sem perda de generalidade, e considerado nesteartigo que a linguagem L e viva.

De acordo com a Definicao 1, L e diagnosticavelem relacao a Po e Σf se, e somente se, para todas assequencias st de comprimento arbitrariamente longoapos a ocorrencia de um evento de falha, nao existemsequencias s′ ∈ K, tais que Po(s

′) = Po(st). Assim,

714

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 4: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

o algoritmo de verificacao apresentado em (Moreiraet al., 2010) e baseado na procura por sequenciass′ ∈ K e st ∈ L \K que violam as condicoes de diag-nosticabilidade apresentadas na Definicao 1.

O algoritmo de verificacao da diagnosticabilidadeproposto em (Moreira et al., 2010) e apresentado aseguir.

Algoritmo 1 Seja G um automato determinısticoque modela um sistema e Σf um conjunto de eventosde falha. Considere ainda a particao Σ = Σo∪Σuo.

• Passo 1: Defina ΣZ = Σ\Σf .

– Passo 1.1: Contrua o automato Z =({N}, ΣZ , fZ , N) composto por um unicoestado N com um autolaco rotulado por to-dos os eventos em ΣZ .

– Passo 1.2: Contrua o automato de nao fa-lha H = G× Z = (XH , Σ, fH , ΓH , xH0).

– Passo 1.3: Redefina o conjunto de even-tos de H como Σ\Σf , i.e., H =(XH , Σ\Σf , fH , ΓH , xH0).

• Passo 2:

– Passo 2.1: Construa o automato A =(XA, Σf , fA, xA0), sendo XA = {N, F},xA0 = N e fA(N, σf ) = F e fA(F, σf ) = F ,para todo σf ∈ Σf .

– Passo 2.2: Compute H = G‖A =(XH , Σ, fH , xH0

).

– Passo 2.3: Marque todos os estados de Hque tenham a segunda coordenada igual aF .

• Passo 3: Obtenha o automato de falha F =CoAc(H) = (XF , Σ, fF , xF0).

• Passo 4: Defina a funcao R : Σ\Σf → ΣR como:

R(σ) =

{σ, se σ ∈ Σo

σR, se σ ∈ Σuo \ Σf. (9)

Construa o automato HR = (XH , ΣR, fHR , xH0),com fHR(xH , σR) = fH(xH , σ), em que σR =R(σ) para todo σ ∈ Σ \ Σf , e ΣR = R(Σ \ Σf )1.

• Passo 5: Construa o automato verificador V =HR‖F = (XV , Σ ∪ ΣR, fV , xV0). Note que o j-esimo estado de V e dado por xVj = (xHj , xFj )em que xHj e xFj sao estados de HR e F , respec-tivamente, e xFj = (xj , xAj ), em que xj e xAj

sao estados de G e A, respectivamente.

• Passo 6: Um ciclo em V e definido como cl :=(xVk , σk, xVk+1 , ..., xVl , σl, xVk ), sendo l ≥ k > 0.Verifique a existencia de um ciclo em V satisfa-zendo as seguintes condicoes:

∃j ∈ {k, k+1, . . . , l}tal que(xAj = F )∧(σj ∈ Σ).(10)

Se a resposta e sim, entao a linguagem L e naodiagnosticavel em relacao a Po e Σf . Caso con-trario, L e diagnosticavel. 2

1A notacao R(Σ \ Σf ) e usada neste artigo para repre-sentar a renomeacao dos eventos do conjunto Σ \Σf comodescrito em (9).

Observacao 1 As seguintes observacoes sobre o Al-goritmo 1 podem ser feitas.

a) Em (Moreira et al., 2010) e mostrado que o auto-mato verificador V tem, no pior caso, 2|X|2 esta-dos e 2|X|2×[2|Σ|−|Σf |] transicoes. Portanto, abusca pelos ciclos satisfazendo as condicoes (10)pode ser feita em tempo polinomial.

b) Uma outra forma de calcular o automato H eeliminar as transicoes rotuladas por eventos defalha de H e tomar a parte acessıvel do automatoresultante. Isso mostra que todos os estados deH e de F podem ser associados aos estados deH, ou seja, XF ∪XH = XH .

Teorema 1 Seja G o automato do sistema e sejamH, F e V , os automatos de nao falha, falha e verifi-cador, respectivamente, obtidos seguindo os passos doAlgoritmo 1. Considere a particao Σ = Σo∪Σuo e de-fina a projecao P : (Σ ∪ ΣR)? → Σ?

o. Entao, umasequencia sV pertence a linguagem gerada por V , i.e.,sV ∈ L(V ), se e somente se existem sequencias sH ∈L(H) e sF ∈ L(F) tais que P (sV ) = P (sH) = P (sF ).

Prova: A prova do Teorema 1 pode ser obtida pelaconstrucao do automato verificador V e sera omitida.2

Note que todas as sequencias de G que possuemum evento de falha pertencem a linguagem gerada porF , isto e, L(F) = L \K. Assim, de acordo com oTeorema 1, a principal caracterıstica do Algoritmo 1e gerar um automato V cujas sequencias sV ∈ L(V )estao sempre associadas a sequencias sH ∈ L(H) esF ∈ L(F) que tenham a mesma projecao no conjuntode eventos observaveis, ou seja, somente sequenciasque podem ser ambıguas.

Na proxima secao sera apresentado o algoritmopara construcao do diagnosticador que sera utilizadopara o processo de diagnose em tempo real propostoneste trabalho.

4 Diagnosticador

Nesta secao, utilizando o verificador V obtido a partirdo Algoritmo 1, um automato diagnosticador nao de-terminıstico e apresentado. Neste diagnosticador ape-nas as projecoes das sequencias estritamente necessa-rias para o processo de diagnose sao representadas,possibilitando que a informacao de que uma falha jaocorreu ou que uma falha nao ocorreu e nao ira maisocorrer seja obtida.

Antes de apresentar o Algoritmo 2 para a constru-cao do diagnosticador, e necessario introduzir o con-ceito de alcance nao observavel de um estado xV ∈XV , definido como:

UR(xV ) = {yV ∈ XV : (∃u ∈ (Σuo ∪ ΣRuo)?)

[fV (xV , u) = yV ]}, (11)

em que ΣRuo = R(Σuo \ Σf ), ou seja, ΣRuo e o sub-conjunto de ΣR formado pelos eventos nao observaveisde Σ \ Σf renomeados de acordo com (9). O alcancenao observavel pode ser definido para um conjuntoB ∈ 2XV como:

UR(B) =⋃

xV ∈B

UR(xV ). (12)

715

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 5: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

Algoritmo 2 Seja G um automato determinısticoque modela o sistema e considere a particao Σ =Σo∪Σuo. Considere tambem que a linguagem geradapor G e diagnosticavel com relacao a projecao Po eΣf .

• Passo 1: Construa o verificador V = (XV , Σ ∪ΣR, fV , xV0) de acordo com o Algoritmo 1.

• Passo 2: Construa o automato nao determinıs-tico V ′ = (XV ′ , Σo, ΓV ′ , fV ′ , xV ′0 ) da seguinteforma:

– Passo 2.1: Defina xV ′0 = UR(xV0) e faca

XV ′ = {xV ′0} e XV ′ = XV ′ .

– Passo 2.2: Faca XV ′ = XV ′ e XV ′ = ∅.– Passo 2.3: Para cada B ∈ XV ′ ,

∗ Passo 2.3.1: Defina

ΓV ′(B) =

xV ∈B

ΓV (xV )

∩ Σo.

∗ Passo 2.3.2: Para cada σ ∈ ΓV ′(B)

fV ′(B, σ) =⋃

xV ∈B

{UR(fV (xV , σ))} .

∗ Passo 2.3.3: XV ′ ← XV ′ ∪ fV ′(B, σ).

– Passo 2.4: XV ′ ← XV ′ ∪ XV ′ .

– Passo 2.5: Repita os passos 2.2 a 2.4 ateque toda a parte acessıvel de V ′ tenha sidoconstruıda.

• Passo 3: Defina a funcao S : XH ×XF → 2XH

como:

S[(xH , xF )] =

{ {xH}, se xH = xF{xH , xF}, caso contrario

.

(13)Construa o automato diagnosticador D =(XD, Σo, fD, xD0), em que cada estado xV ′ ∈XV ′ possui um estado correspondente xD ∈ XD

obtido fazendo

xD =⋃

xV ∈xV ′

S(xV ), (14)

o estado inicial e dado por

xD0 =⋃

xV ∈xV ′0

S(xV )

e a funcao de transicao de estados e dada por

fD(xD, σ) = fV ′(xV ′ , σ), ∀σ ∈ Σo,

sendo xD o estado correspondente a xV ′ obtido apartir de (14). 2

Observacao 2 Note que fV ′ e uma funcao nao deter-minıstica e, portanto, o diagnosticador D e um auto-mato nao determinıstico. E importante ressaltar tam-bem que como o automato verificador V possui no piorcaso um numero maximo de estados igual a 2|X|2, en-tao D possui no maximo o mesmo numero de estados.Alem disso, pode ser verificado que um limitante su-perior para o numero de transicoes de D e igual a4|X|4 × |Σo| e, portanto, o diagnosticador D pode serconstruıdo em tempo polinomial. 2

Observacao 3 Note que L(V ′) = P (L(V )) e, comoV ′ e D possuem estados equivalentes e as mesmastransicoes, entao L(D) = P (L(V )). 2

A seguir, o procedimento para o diagnostico defalhas em tempo real utilizando o diagnosticador Dobtido a partir do Algoritmo 2 e apresentado.

Algoritmo 3

• Passo 1: Defina xon = xD0 .

• Passo 2: Aguarde ate que um evento observavelσ ∈ Σo ocorra.

• Passo 3: Apos a observacao do evento σ ∈ Σo

faca: (i) se σ 6∈ ΓD(xD),∀xD ∈ xon,

xon =

F, se (∃xD ∈ xon, tal que ∃xH ∈ xD,xH = (x, F ))

N, se (∃xD ∈ xon, tal que ∃xH ∈ xD,xH = (x, N))

(ii) Caso contrario:

xon ←⋃

xD∈xon

{fD(xD, σ)} (15)

• Passo 4: Se xon = N entao a falha nao ocorreue nao pode mais ocorrer. Se xon = F a falhae identificada. Assim, se xon ∈ {N, F}, inter-rompa o processo e sinalize xon. Caso contrario,volte para o passo 2. 2

Note que em cada passo do processo de diagnose enecessario apenas armazenar a estimativa de estadoxon de D. Apos a ocorrencia de um evento observa-vel σ ∈ Σo, que seja ativo para pelo menos um dosestados da estimativa xon, uma nova estimativa xon

e calculada a partir da estimativa de estado anteriorutilizando a equacao (15). Como, de acordo com oTeorema 1 para toda sequencia sV estao associadassequencias sH e sF tais que P (sV ) = P (sH) = P (sF )e, de acordo com a Observacao 3, L(D) = P (L(V )),entao associado a cada uma das sequencias sD ∈ L(D)existem sequencias sH ∈ L(H) e sF ∈ L(F) tais queas projecoes P (sH) e P (sF ) sao iguais a sD. Uma vezque sH , sF ∈ Σ?, P (sH) = Po(sH) e P (sF ) = Po(sF ),o que implica que para toda sequencia sD ∈ L(D) tem-se que sD = Po(sH) = Po(sF ). Portanto, neste caso,nao e possıvel ter certeza da ocorrencia de um eventode falha ou entao afirmar que a falha nao ocorreu e naopode mais ocorrer. Contudo, se um evento observavelnao ativo para todos os estados de xD ∈ xon ocorre,isso significa que nao existem sequencias sH ∈ L(H)e sF ∈ L(F) cujas projecoes sao iguais a sequenciaobservada. Logo, ou a sequencia s gerada pela plantaG pertence a L(H) \ L(F) ou a L(F) \ L(H). Ses ∈ L(H) \ L(F), entao para todas as sequencias tna pos linguagem de L apos s, L/s, tem-se que stpertence a L(H)\L(F) e, portanto, correspondem so-mente a caminhos cujos estados pertencem a H coma segunda coordenada igual a N , o que significa que afalha nao ocorreu e nao pode mais ocorrer. Por outrolado, se s ∈ L(F) \ L(H), entao todos os estados al-cancados em H apos a sequencia s possuem a segundacoordenada igual a F indicando a ocorrencia da falha.

O Algoritmo 3 leva a um processo de diagnose defalhas em SEDs em que os criterios de parada sao: (i)

716

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 6: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

a falha ocorreu e nao existe nenhuma sequencia semfalha que tenha projecao Po igual a da sequencia ge-rada pelo sistema; (ii) a falha nao ocorreu e nao existenenhuma sequencia com falha que tenha projecao Po

igual a da sequencia gerada pelo sistema. Portanto,a metodologia proposta neste artigo leva a um pro-cesso de diagnose em que os eventos do sistema saoobservados somente enquanto ha duvida com relacao aocorrencia da falha, permitindo que os sensores sejamdesligados quando nao ha mais duvida. Isso permiteuma reducao no consumo de energia para ativar ossensores e, principalmente, permite uma reducao noesforco computacional para processar as informacoesenviadas pelos sensores.

Uma abordagem diferente da apresentada nestetrabalho visando tambem reduzir custos com o usode sensores e apresentada em (Cassez et al., 2007) e(Cassez e Tripakis, 2008). Contudo, o metodo apre-sentado nesses artigos leva, em geral, a um aumentono atraso para o diagnostico de falha e nao e inter-rompido quando a falha nao ocorre e nao pode maisocorrer.

A seguir, um exemplo e usado para ilustrar aconstrucao do diagnosticador e o processo de diagnoseapresentados nos Algoritmos 2 e 3, respectivamente.

Exemplo 1 Considere o sistema G apresentado naFigura 2 onde Σo = {a, b, c, d}, Σuo = {σu, σf} eΣf = {σf}. Para a obtencao do diagnosticador D, oprimeiro passo e obter o verificador V de acordo como Algoritmo 1. Para tanto, primeiro sao construıdosos automatos H, H e F , mostrados nas Figs. 3, 4 e5, respectivamente. Uma vez obtidos esses automa-tos, o verificador V apresentado na Figura 6 e obtidofazendo-se V = HR‖F , em que HR e semelhante aoautomato H, substituindo-se o rotulo da transicao naoobservavel σu por σuR .

Figura 2: Automato G.

Uma vez obtido o verificador V , o automato naodeterminıstico V ′ e calculado seguindo o passo 2 doAlgoritmo 2. Na Figura 7 e mostrado o automato V ′.Note que os estados de V ′ sao conjuntos formados porestados de V que sao agrupados de modo que todas astransicoes rotuladas por eventos nao observaveis emV nao aparecam em V ′. No passo 3 do Algoritmo2, o automato D mostrado na Figura 8 e construıdoa partir de V ′ renomeando os estados de V ′ visandomanter em cada estado de D a estimativa dos estadosalcancados em H apos a observacao de uma sequenciade eventos.

O processo de diagnose em tempo real de falhaspode ser feito utilizando-se o diagnosticador D como

Figura 3: Automato H.

Figura 4: Automato de nao falha H.

Figura 5: Automato de falha F .

descrito no Algoritmo 3. Para entender como o al-goritmo funciona, vamos considerar dois exemplos desequencias observadas pelo sistema sD1 e sD2 . No pri-meiro exemplo suponha que a sequencia que o sistemaobserva e sD1 = add. No passo 1 do Algoritmo 3, oestado xon e feito igual ao estado inicial de D, xD0 ,ou seja, xon = {0N} e o sistema aguarda a ocorrenciade um evento observavel σ ∈ Σo. Apos o evento aser observado pelo sistema, e feita a verificacao dopasso 3 para a atualizacao do estado xon. Como,a ∈ ΓD({0N}), o estado xon e atualizado utilizando-se(15), levando a xon = {1N, 3F} e o algoritmo volta aopasso 2 em que e aguardada a ocorrencia de um novoevento σ ∈ Σo. Apos a ocorrencia do evento d, o al-goritmo alcanca o passo 3 e como d ∈ ΓD({1N, 3F}),o novo estado xon = {{2N, 7N}, {2N, 7N, 4F}} e ob-tido. Por fim, na segunda ocorrencia de d, como podeser visto na Figura 8, d nao e um evento ativo, i.e.,d 6∈ ΓD({2N, 7N})∪ΓD({2N, 7N, 4F}), o que implicaque ou a falha podera ser diagnosticada ou a falha naoocorreu e nao ocorrera mais. Como d ∈ ΓH(2N), en-tao xon = {N} indicando que a falha nao ocorreu enao pode mais ocorrer e o processo e interrompido.

Suponha agora que a sequencia de eventos obser-vada seja sD2 = adbda. Neste caso, seguindo os passosdo Algoritmo 3, pode-se observar que o prefixo de sD2 ,adbd, pode ser percorrido em D alcancando o estado

717

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 7: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

xon = {{2N, 7N}, {2N, 7N, 6F}}. Contudo, a nao eum evento ativo de nenhum dos estados xD ∈ xon,o que implica que ou a falha ocorreu, ou a falha naoocorreu e nao ocorrera mais. Neste caso e facil ver quea ∈ ΓH(6F ) o que leva a xon = {F} indicando que afalha ocorreu e o processo e interrompido. 2

Figura 6: Automato verificador V .

Figura 7: Automato V ′.

Figura 8: Automato diagnosticador D.

5 Conclusoes

Neste artigo, um novo algoritmo para o diagnostico defalhas em tempo real de sistemas a eventos discretose proposto. Esse metodo e baseado na construcao doverificador apresentado em (Moreira et al., 2010), quetem como principal caracterıstica representar somenteas sequencias de falha e de nao falha que possuem a

mesma projecao. Essa caracterıstica permite a cons-trucao em tempo polinomial de um diagnosticador naodeterminıstico que permite inferir se uma falha ocor-reu ou se nenhuma falha ocorreu e nao pode mais ocor-rer. Assim, o metodo para o diagnostico em temporeal proposto neste trabalho permite o desligamentode sensores sempre que as informacoes fornecidas poreles forem inuteis para o processo de diagnose.

Agradecimentos

Este trabalho foi parcialmente financiado pelo CNPq.

Referencias

Basile, F., Chiacchio, P. e De Tommasi, G. (2009). Anefficient approach for online diagnosis of discreteevent systems, IEEE Transactions on AutomaticControl 54(4): 748–759.

Cassandras, C. G. e Lafortune, S. (2008). Introduc-tion to Discrete Event Systems, Vol. II, Springer,Secaucus, NJ.

Cassez, F. e Tripakis, S. (2008). Fault diagnosiswith dynamic observers, Discrete Event Systems,2008. WODES 2008. 9th International Workshopon pp. 212–217.

Cassez, F., Tripakis, S. e Altisen, K. (2007). Sensorminimization problems with static or dynamicobservers for fault diagnosis, Application of Con-currency to System Design, 2007. ACSD 2007.Seventh International Conference on pp. 90–99.

Corona, D., Giua, A. e Seatzu, C. (2004). Markingestimation of petri nets with silent transitions,Proc. of the 43rd IEEE Conf. on Decision andControl pp. 966–971.

Debouk, R., Lafortune, S. e Teneketzis, D. (1999). Onan optimization problem in sensor selection forfailure diagnosis, Proc. of the 38th IEEE Confe-rence on Decision and Control pp. 4990–4995.

Giua, A. e Seatzu, C. (2005). Fault detection for dis-crete event systems using petri nets with unob-servable transitions, Proc. of the 44th IEEE Con-ference on Decision and Control pp. 6323–6328.

Jiang, S., Huang, Z., Chandra, V. e Kumar, R. (2001).A polynomial algorithm for testing diagnosabi-lity of discrete-event systems, Automatic Control,IEEE Transactions on 46(8): 1318–1321.

Jiang, S., Kumar, R. e Garcia, H. E. (2003). Optimalsensor selection for discrete-event systems withpartial observation, IEEE Transactions on Auto-matic Control 48(3): 369–381.

Lefebvre, D. e Delherm, C. (2007). Diagnosis of deswith petri net models, IEEE Transactions on Au-tomation Science and Engineering 4(1): 114–118.

Moreira, M. V., Jesus, T. C. e Basilio, J. C. (2010).Polynomial time verification of decentralized di-agnosability of discrete event systems, acceptedfor presentation in 2010 American Control Con-ference .

Qiu, W. e Kumar, R. (2006). Decentralized failurediagnosis of discrete event systems, IEEE Tran-sactions on Systems, Man, and Cybernetics PartA:Systems and Humans 36(2): 384–395.

718

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS

Page 8: DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS … · DIAGNOSTICO DE FALHAS EM¶ TEMPO REAL DE SISTEMAS A EVENTOS DISCRETOS DESCRITOS POR AUTOMATOS FINITOS^ Thiago C. Jesus⁄,

Ramadge, P. e Wonham, W. (1989). The control ofdiscrete event systems, Proceedings of the IEEE77(1): 81–98.

Ramirez-Trevino, A., Ruiz-Beltran, E. e Lopez-Mellado, E. (2007). Online fault diagnosis of dis-crete event systems. a petri net-based approach,IEEE Transactions on Automation Science andEngineering 4(1): 31–39.

Sampath, M., Sengupta, R., Lafortune, S., Sinnamohi-deen, K. e Teneketzis, D. (1995). Diagnosabilityof discrete-event systems, IEEE Transactions onAutomatic Control 40(9): 1555–1575.

Sampath, M., Sengupta, R., Lafortune, S., Sinnamohi-deen, K. e Teneketzis, D. (1996). Failure diagno-sis using discrete-event models, Control SystemsTechnology, IEEE Transactions on 4(2): 105–124.

Yoo, T.-S. e Lafortune, S. (2001). On the compu-tational complexity of some problems arising inpartially-observed discrete-event systems, Ame-rican Control Conference, 2001. Proceedings ofthe 2001 pp. 307–312.

Yoo, T.-S. e Lafortune, S. (2002). Polynomial-timeverification of diagnosability of partially observeddiscrete-event systems, Automatic Control, IEEETransactions on 47(9): 1491–1495.

719

XVIII Congresso Brasileiro de Automática / 12 a 16-setembro-2010, Bonito-MS