Table Of ContentASPECTOS COMPUTACIONAIS ASSOCIADOS À IMPLEMENTAÇÃO DE
ALGORITMOS PARA SISTEMAS A EVENTOS DISCRETOS
Leonardo Enrique Bermeo Clavijo
Tese de Doutorado apresentada ao Programa
de Pós-graduação em Engenharia Elétrica,
COPPE, da Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários
à obtenção do título de Doutor em Engenharia
Elétrica.
Orientador: João Carlos dos Santos Basilio
Rio de Janeiro
Abril de 2014
ASPECTOS COMPUTACIONAIS ASSOCIADOS À IMPLEMENTAÇÃO DE
ALGORITMOS PARA SISTEMAS A EVENTOS DISCRETOS
Leonardo Enrique Bermeo Clavijo
TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ
COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE)
DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR
EM CIÊNCIAS EM ENGENHARIA ELÉTRICA.
Examinada por:
Prof. João Carlos dos Santos Basilio, Ph.D.
Prof. Amit Bhaya, Ph.D.
Prof. Gilberto Oliveira Corrêa, Ph.D.
Prof. Antonio Eduardo Carrilho da Cunha, Dr.Eng.
Prof. Marcos Vicente de Brito Moreira, D.Sc.
RIO DE JANEIRO, RJ – BRASIL
ABRIL DE 2014
Clavijo, Leonardo Enrique Bermeo
Aspectos computacionais associados à implementação
de algoritmos para sistemas a eventos discretos/Leonardo
Enrique Bermeo Clavijo. – Rio de Janeiro:
UFRJ/COPPE, 2014.
XX, 150 p.: il.; 29,7cm.
Orientador: João Carlos dos Santos Basilio
Tese (doutorado) – UFRJ/COPPE/Programa de
Engenharia Elétrica, 2014.
Referências Bibliográficas: p. 139 – 150.
1. Sistemas a eventos discretos. 2. Computação
científica. 3. Complexidade. I. Basilio, João Carlos
dos Santos. II. Universidade Federal do Rio de Janeiro,
COPPE, Programa de Engenharia Elétrica. III. Título.
iii
“Os métodos são as verdadeiras
riquezas.”
Nietzsche
iv
Agradecimentos
Agradeço aos meus filhos Daniela e Esteban pela esperança, a tranquilidade e a
coragem para seguir adiante cada dia da minha vida. A minha mãe Atala Clavijo
pela ajuda ao longo desse grande percurso chamado vida e a minha esposa Jazmin
Gutierrez pelo sacrifício e compreensão ao longo desses quatro anos.
AgradeçoaomeuorientadorJoãoCarlosBasiliopeloacompanhamentoconstante
e próximo nesse processo de estudar doutorado, pela ajuda acadêmica e pessoal e,
sobretudo, pela grande amizade oferecida em todo momento.
Agradeço às pessoas excelentes que conheci no Brasil, que agora posso me or-
gulhar de chamar amigos: Mario Rodríguez, Lilian Kawakami Carvalho, Mayara
Alexandre Costa, Oscar Godoy, William Pinto, Tatiana Vargas e Santiago Toro.
Agradeço aos meus colegas do LCA, em especial a Gustavo da Silva Viana,
Bernardo Bouzan, Eduardo Nunes e Angela Arana pela cooperação recebida em
todo esse tempo.
Agradeço ao povo brasileiro por essa grande oportunidade acadêmica, cultural e
vital que tem brindado aos estudantes estrangeiros de pós-graduação.
Agradeço ao Conselho Nacional de Desenvolvimento Científico e Tecnológico do
Brasil (CNPq).
v
Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários
para a obtenção do grau de Doutor em Ciências (D.Sc.)
ASPECTOS COMPUTACIONAIS ASSOCIADOS À IMPLEMENTAÇÃO DE
ALGORITMOS PARA SISTEMAS A EVENTOS DISCRETOS
Leonardo Enrique Bermeo Clavijo
Abril/2014
Orientador: João Carlos dos Santos Basilio
Programa: Engenharia Elétrica
De uma forma geral, a análise de complexidade de algoritmos que envolvem sis-
temas a eventos discretos (SEDs) é realizada considerando-se unicamente o desem-
penho no pior caso. No entanto, a complexidade média também deve ser analisada
uma vez que é possível que o pior caso do desempenho do algoritmo estudado não
seja atingido pela maior parte das instâncias que aparecem na prática. Na área
de diagnose de falhas em SEDs existem dois problemas centrais: a diagnose em
tempo real de falhas (para a qual deve ser construído um autômato diagnosticador)
e a verificação de diagnosticabilidade (que implica a construção de um autômato
verificador ou de um autômato diagnosticador). Esta tese estuda a complexidade
média dos algoritmos de construção de diagnosticadores e verificadores para diag-
nose de falhas em SEDs usando, para tanto, uma abordagem experimental. Para
que esse objetivo possa ser alcançado foi desenvolvida uma ferramenta de compu-
deslab
tação científica chamada , para facilitar o uso dos métodos experimentais
no estudo de algoritmos para sistemas a eventos discretos. Para analisar comple-
xidade média dos algoritmos de diagnose de falhas em SEDs foram realizados dois
experimentosusandogeradoresdeautômatosreportadosrecentementenaliteratura.
Partindo dos resultados experimentais, foram propostos modelos para caracterizar
a complexidade média dos algoritmos estudados. Uma contribuição marginal da
tese é a abordagem do problema da diagnose de falhas intermitentes na operação
de sensores. Nesse contexto foram obtidas condições necessárias e suficientes para
a diagnosticabilidade de falhas intermitentes na operação de sensores em sistemas a
eventos discretos descritos por autômatos.
vi
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Doctor of Science (D.Sc.)
COMPUTATIONAL ISSUES ASSOCIATED WITH THE IMPLEMENTATION
OF ALGORITHMS FOR DISCRETE EVENT SYSTEMS
Leonardo Enrique Bermeo Clavijo
April/2014
Advisor: João Carlos dos Santos Basilio
Department: Electrical Engineering
Generally speaking, the complexity analysis of algorithms involving discrete-
event systems (DES) modeled as automata is carried out considering only the worst
case performance. In spite of that, the average case complexity must also be taken
into account since it is possible that the worst case performance of the algorithm
being studied is not often reached for most practical instances. The field of fault
diagnosis of DES has two main issues: online fault diagnosis (which requires to build
a diagnoser automaton) and verification of diagnosability (which implies the con-
struction of either a verifier automaton or a diagnoser automaton). In this thesis,
we study the average case complexity in the construction of diagnosers and verifiers
for fault diagnosability verification of DES using, for that purpose, an experimen-
tal approach. In order to be able to achieve the proposed goal, we first developed
deslab
, a scientific computing program whose purpose is to facilitate the use of
experimental methods in the study of algorithms for DES described as automata.
The average case complexity analysis of the algorithms for fault diagnosis of DES
was carried out by performing two different experiments using automata generators,
recently reported in literature. On the basis of the experimental results, we pro-
posed models for characterizing the average case complexity of the algorithms being
studied. In the final part of this thesis, we deal with the problem of diagnosability
of intermittent failure in sensor operation. As a side contribution of this thesis, we
present necessary and sufficient conditions for diagnosability of intermittent sensor
faults and propose a test based on diagnoser automaton to verify intermittent sensor
fault diagnosability.
vii
Sumário
Lista de Figuras xi
Lista de Tabelas xiv
Lista de Símbolos xvii
1 Introdução 1
2 Sistemas a eventos discretos 8
2.1 Modelagem de sistemas a eventos discretos . . . . . . . . . . . . . . . 9
2.2 Linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Autômatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Autômatos determinísticos . . . . . . . . . . . . . . . . . . . . 13
2.3.2 Autômatos não determinísticos . . . . . . . . . . . . . . . . . 15
2.3.3 Autômatos com transições ε . . . . . . . . . . . . . . . . . . . 16
2.3.4 Operações com autômatos . . . . . . . . . . . . . . . . . . . . 20
2.4 Diagnose de falhas em sistemas a eventos discretos . . . . . . . . . . . 23
2.5 Controle supervisório . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.1 Controle sob observação parcial . . . . . . . . . . . . . . . . . 32
2.6 Comentários finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3 O programa DESLAB 34
3.1 Ferramentas computacionais . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.1 Graphviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.2 NetworkX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.3 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Aspectos da computação científica . . . . . . . . . . . . . . . . . . . 36
3.3 O programa DESLAB . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.1 Estrutura do DESLAB . . . . . . . . . . . . . . . . . . . . . . 38
3.3.2 Arquitetura do DESLAB. . . . . . . . . . . . . . . . . . . . . 40
3.4 Trabalho com DESLAB . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1 Definição do autômato . . . . . . . . . . . . . . . . . . . . . . 41
viii
DESLAB
3.4.2 Operações no . . . . . . . . . . . . . . . . . . . . . 43
3.4.3 Programação de funções usando o Python . . . . . . . . . . . 44
networkx
3.4.4 Algoritmos de grafos usando o . . . . . . . . . . . 45
3.5 Criação de “toolboxes” . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6 Comentários finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4 Anál. exp. exaus. da compl. em diag. de falhas 51
4.1 Gerador exaustivo de autômatos . . . . . . . . . . . . . . . . . . . . . 52
4.2 Experimento exaustivo para a análise da complexidade média em di-
agnose de falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1 Variáveis do experimento exaustivo . . . . . . . . . . . . . . . 62
4.2.2 Procedimento experimental . . . . . . . . . . . . . . . . . . . 64
4.2.3 Resultados experimentais . . . . . . . . . . . . . . . . . . . . . 64
4.2.4 Análise exploratória . . . . . . . . . . . . . . . . . . . . . . . 66
4.3 Seleção do modelo probabilístico para D(n,k,u) e estimação de parâ-
metros do modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.1 Resultados de comparação de modelos e teste de bondade de
ajuste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Implicações da lognormalidade: exemplo . . . . . . . . . . . . . . . . 78
4.5 Comentários finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5 A. exp. da comp. em diag. usando amostragem 82
5.1 Gerador uniforme de autômatos aleatórios . . . . . . . . . . . . . . . 83
5.1.1 Autômato representativo . . . . . . . . . . . . . . . . . . . . . 83
5.1.2 Bijeção entre autômatos e partições de conjuntos . . . . . . . 84
5.1.3 Bijeção entre autômatos acessíveis e completos . . . . . . . . . 86
5.1.4 Geração uniforme de partições de um conjunto . . . . . . . . . 88
5.1.5 Geração uniforme de um automato acessível . . . . . . . . . . 94
5.2 Experimento com amostragem para a análise da complexidade média
em diagnose de falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.1 Tamanho amostral . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.2 Variáveis do experimento com amostragem uniforme . . . . . . 101
5.2.3 Procedimento experimental . . . . . . . . . . . . . . . . . . . 102
5.2.4 Análise exploratória . . . . . . . . . . . . . . . . . . . . . . . 103
5.3 Análise de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3.1 Modelo experimental da complexidade média do verificador . . 109
5.3.2 Modelo experimental da complexidade média na construção
do diagnosticador . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.4 Comentários finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ix
6 Diag. e mod. de falhas intermitentes em SEDS 119
6.1 Modelagem de SEDs sujeitos a falhas intermitentes na operação de
sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.1.1 Modelagem de falhas intermitentes de sensores usando autô-
matos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.1.2 Modelo por autômatos de SEDs sujeitos a falhas intermitentes
na operação de sensores . . . . . . . . . . . . . . . . . . . . . 124
6.2 Diagnosticabilidade de falhas intermitentes na operação de sensores . 125
6.3 Verificação da diagnosticabilidade de falhas intermitentes em sensores
usando diagnosticadores . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.4 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.5 Comentários finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
7 Conclusões e trabalhos futuros 136
Referências Bibliográficas 139
x
Description:Aspectos computacionais associados à implementação de algoritmos para sistemas a eventos discretos/Leonardo. Enrique Bermeo Clavijo. – Rio de