Prof. Eduardo Augusto Bezerra
Faculdade de Informática
Confiabilidade de Sistemas
 

Última atualização: 21 de Setembro de 2009.


Programa:

OBJETIVOS - O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de: introduzir conceitos básicos relacionados de tolerância a falhas e confiabilidade em sistemas computacionais; estudar técnicas e estratégias de tolerância a falhas, visando aumento da confiabilidade de sistemas computacionais; Permitir aos alunos modelar e implementar estudos de caso.

EMENTA - Confiabilidade de Sistemas: Taxonomia. Erro. Falha. Defeito. Tolerância a falhas. Mecanismos para tolerância a falhas. Acordo em sistemas distribuídos. Redundância.



1. Conceitos básicos e terminologia
1.1. Falha, erro, defeito, MTBF
1.2. Tipos e modelos de falhas
1.3. Teste de software e hardware

2. Técnicas de tolerância a falhas
2.1. Redundância (hardware, software, informação e tempo)
2.2. Reconfiguração e reinicialização de sistemas
2.3. Propriedades de sistemas (safety e liveness)
2.4. Estratégias e algoritmos para tolerância a falhas

3. Teste e confiabilidade
3.1. Teste de software
3.2. Relação entre teste e qualidade de software

Avaliação

G = (S + T1 + T2 + [P])/3[4]

Onde: S = Seminário, T1 = Resumo dos assuntos discutidos nos seminários (individual), T2 = Trabalho sobre programação diversitária

Poderá haver uma prova no final da disciplina. Se a participação do conjunto de alunos for boa na discussão dos artigos, não haverá prova.


Plano de aulas 2CDE (provisório - sujeito a modificações):

AULA DIAS CONTEÚDO
17/08 Apresentação da disciplina. 10 worst software bugs (alternativamente, ver a cópia local). Divagações sobre o acidente da air france em julho de 2009 (alternativamente, ver a cópia local). Boeing 787 - connectivity. Terminologia. Conceitos Falha, Erro, Defeito.
24/08 Confiabilidade de Sistemas - artigo: "Basic Concepts and Taxonomy of Dependable and Secure Computing" A. Avizienis, J-C. Laprie, B. randell and C. Landwehr - IEEE Trans. on Deped. and Sec. Computing, 1(1), 2004.
31/08 Artigo (continuação): "Basic Concepts and Taxonomy of Dependable and Secure Computing".
14/09 Dois artigos curtos atuais relacionados ao artigo do Avizienis et. al. - Communications of the ACM, August 2009 (Vol. 52, No. 8):
21/09 Artigo: The Byzantine Generals Problem (consenso). Artigo do Lamport, ACM, v. 4, n.3, jul. 1982, pp. 382-401
Seminário: Carolina Fonseca e Neumar Ribeiro [slides da apresentação e exemplo de implementação].
6 28/09 Artigo: Recovery Blocks
Seminário: Fábio Martins [slides da apresentação].
Artigo: Fault Injection Techniques and Tools, Mei-Chen Hsueh et.al., IEEE Computer, Apr. 1997, pp. 75-82.
Artigo: Non-intrusive software-implemented fault injection in embedded systems, Pedro Yuste et.al., LDAC 2003, São Paulo, Oct. 2003.
Seminário: Guiherme Guindani [slides da apresentação].
7 05/10 Artigo: DMI
Seminário: Rafael Nemetz [slides da apresentação].
Artigo: N-version programming
Seminário: Paulo Zanin [slides da apresentação].
19/10 Artigo: - A Direct Path to Dependable Software, Communications of the ACM, April 2009 (Vol. 52, No. 4), pages 78-88 (ver tambem cópia local)
Fault injection
Análise de mutantes
Failure detectors
26/10 Apresentação do trabalho 1
10  07/12 Apresentação do trabalho 2


Sugestões de assuntos para seminários:

Bibliografia

  1. PRADHAN, D. K. Fault-Tolerant Computer System Design. Prentice-Hall, 1996. 544p
  2. JORGENSEN, P. Software Testing – a Craftsman Approach. CRC Press, 1995.
  3. KANER, C.; FALK, J.; NGUYEN, H.Q. Testing Computer Software. New York, J. Wiley & Sons, 1999.
  4. SIEWIOREK, D.P.; SWARZ, R.S. The Theory and Practice of Reliable System Design. Bedford: Digital Press, 1982. 772 p.
  5. LAPRIE, J.C. Dependable computing and fault-tolerance: concepts and terminology. In: INTERNATIONAL SYMPOSIUM ON FAULTTOLERANT COMPUTING, 15., 1985, New York.
  6. Artigos técnicos de conferências, a serem disponibilizados ao longo do semestre.

Contato

Eduardo.Bezerra at pucrs.br
Eduardo Augusto Bezerra
Faculdade de Informática - PUCRS
Av. Ipiranga, 6681 - Prédio 32, Sala 719
90619-900 - Porto Alegre - RS - Brazil
+55 51 3353 8719
+55 51 3320 3621