Profs. Drs . Avelino Zorzo e Eduardo Bezerra
Faculdade de Informática
Confiabilidade de Sistemas
 

Última atualização: 10 de agosto de 2006.


Programa:

OBJETIVOS: O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:

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 = Trabalho sobre Consenso, 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 (provisório - sujeito a modificações):

AULA DIAS CONTEÚDO
10/08 Apresentação da disciplina. Exemplos.
17/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.
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 Problema dos Generais Bizantinos (consenso) - Definição do trabalho 1
14/09 Seminário 1: Confiabilidade em Sistemas Embarcados Distribuidos (Leonardo Amaral)
Seminário 2: Interações Multiparticipantes Confiáveis (Jeferson Prevedello)
21/09 Seminário 3: N-version programming
Seminário 4: Recovery blocks
7 28/09 Seminário 5: Failure detectors
Seminário 6: Impossibility of Consensus
8 05/10 Seminário 7: Fault injection
Seminário 8: Análise de mutantes
19/10 Seminários (2) - a definir
10  26/10 Seminários (2) - a definir
11  09/11 Apresentação do trabalho 1
12  16/11 Teste de software
13  23/11 Teste vs. qualidade
14  30/11 Apresentação trabalho 2
15  07/12 Reserva técnica

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.

Contatos

zorzo at inf.pucrs.br
bezerra at inf.pucrs.br
Avelino F. Zorzo
Faculdade de Informática - PUCRS
Av. Ipiranga, 6681 - Prédio 16, Sala 106.15
90619-900 - Porto Alegre - RS - Brazil
(0xx51) 3320 3611
(0xx51) 3320 3621