• Nenhum resultado encontrado

Confiabilidade de Sistemas

N/A
N/A
Protected

Academic year: 2021

Share "Confiabilidade de Sistemas"

Copied!
10
0
0

Texto

(1)

Confiabilidade de

Sistemas

Avelino Zorzo

Motivação

• Manter o serviço apesar da existência de falhas – o que são falhas?

• Eliminar todas (?) as falhas

• O usuário não deve ser o responsável por tolerar a falha

• Perspectiva

▪ Componentes de hardware cada vez mais confiáveis

▪ Software e projetos cada vez menos confiáveis – devido a complexidade e rapidez para o desenvolvimento

Variedade de plataformas

Escalável Palms Cliente Servidor Sensores Baseado em apresentação dos profs. Flávio e Bernardo

Motivação

• Nesse ambiente qualidade passa a ser um diferencial:

▪ O acesso a produtos concorrentes é facilitado.

▪ Não se toleram “pequenos problemas”. ▪ É preciso manter os produtos sempre

atualizados e com qualidade.

(2)

Ariane 5

• Ariane 5 e sua carga foram destruídos 37 segundos depois de levantar vôo

• Erro devido a uma falha de software: ▪ Conversão de número em ponto flutuante

para inteiro de 16 bits

▪ Conversão gerou uma exceção que não foi tratada

• Custo total do projeto: Us$ 7B • Custo da carga: Us$ 500M

"The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift-off). This loss of information was due to specification and design errors in the

software of the inertial reference system. The internal SRI* software exception was caused during execution

of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. " *SRI stands for Système de Référence Inertielle ou Sistema de Referência Inercial.

Ariane 5

Ariane 5

Programa de vôo

Laser Gyro Aceleradores

Computador

OBC

SRI

Therac-25

• Therac-25 é um acelerador de partículas para tratamento com radioterapia.

• Dependia de software para segurança (diferente do Therac-20, Therac-6). • Máquina foi utilizada inúmeras vezes

sem problemas, mas causou queimaduras e mortes. • Problemas de software:

▪ Sem proteção para variáveis compartilhadas (race conditions). ▪ Interface com usuário sensível a

(3)

Therac-25

• Acidentes

▪ 3 de junho de 1985: paciente recebeu overdose

▪ 26 de julho de 1985: paciente recebeu queimaduras graves – morreu em novembro

▪ Dezembro de 1985: paciente recebe overdose

▪ 21 de março de 1986: acidente – paciente morreu

▪ 11 de março de 1986: acidente – paciente morreu

▪ 17 de janeiro de 1987: nova overdose

Therac-25

Desafios

• Bugs no projeto de hardware e software

▪ Complexidade dos sistemas • Clusters e Grids, sistemas ubíquos

▪ Alto grau de paralelismo

• Computação móvel e computação distribuída

▪ Baixa potência, tempo real

Desafios

• Novas tecnologias

▪ Computação quântica, nanotecnologia, biotecnologia, RFID

• Interação humano-computador ▪ Complexidade, diferentes dispositivos • Gerência de riscos

Fundamentos básicos para

dependabilidade

Baseado no artigo:

A. Avizienis, J-C. Laprie, B. Randell, C. Landwehr. “Basic Concepts and Taxonomy of Dependable and Secure Computing”. IEEE Transactions on Dependable and Secure Computing, 1(1), 11-33, Jan. 2004.

(4)

Conceitos

• Sistema

▪ Entidade que interage com outras entidades

• Outros sistemas (hardware, software, pessoas, mundo físico, …)

▪ Estes outros sistemas compõem o Ambiente

• Limite do Sistema

▪ Fronteira entre o Sistema e o Ambiente

Conceitos

• Função do sistema

▪ Aquilo para o qual o sistema foi desenvolvido

• Comportamento do sistema ▪ Aquilo que o sistema faz para

implementar sua função – conjunto de estados

• Estrutura do sistema

▪ Aquilo que habilita o sistema a gerar seu comportamento

Conceitos

SISTEMA AMBIENTE

LIMITES DO SISTEMA

Dependabilidade

• Habilidade de entregar um serviço que pode, justificadamente, ser confiado. • Habilidade de evitar defeitos no

serviço que são mais freqüentes e mais severos do que é aceitável.

Dependabilidade

Dependabilidade

Ameaças

Atributos

Formas de atingir

Ameaças

Ameaças

Falhas

Erros

Defeitos

(5)

Ameaças

• Defeito no serviço

▪ É o evento que acontece quando o serviço desvia de seu correto funcionamento

• Erro

▪ Parte do estado do sistema que pode levar o sistema a apresentar um defeito

• Falha

▪ Hipótese da/ou considerado como a causa de um erro

Ameaças - cadeia

FALHA ERRO DEFEITO FALHA

ativação propagação causa

erro

Ameaças - propagação

Falha dormente erro erro Falha externa propagação propagação ativação Componente A Componente B Interface do serviço Serviço incorreto Serviço correto defeito defeito Serviço correto

Atributos

Atributos

Confiabilidade

Segurança (safety)

Integridade

Manutenibilidade

Disponibilidade

Atributos

• Disponibilidade (availability)

▪ Estar pronto para executar o serviço corretamente

• Confiabilidade (reliability) ▪ Manter o serviço funcionando

corretamente • Segurança (safety)

▪ Ausência de conseqüências

catastróficas sobre o usuário ou sobre o ambiente

Atributos

• Integridade

▪ Ausência de alterações impróprias do sistema

• Manutenibilidade

▪ Habilidade do sistema passar por modificações e reparos

• Outros:

▪ Testabilidade, performabilidade, confidencialidade, ...

(6)

Formas de atingir

Formas de atingir

Tolerância a falhas

Remoção de falhas

Previsão de falhas

Prevenção de falhas

Formas de atingir

• Prevenção de falhas

▪ Prevenir a ocorrência ou introdução de falhas

• Tolerância de falhas

▪ Evitar a ocorrência de defeitos nos serviços na presença de falhas

Formas de atingir

• Remoção de falhas

▪ Reduzir o número de falhas e gravidade das falhas

• Previsão de falhas

▪ Estimar o número atual, a incidência futura, e as prováveis conseqüências das falhas

Dependabilidade

Dependabilidade Formas de atingir Tolerância a falhas Remoção de falhas Previsão de falhas Prevenção de falhas Ameaças Falhas Erros Defeitos Atributos Confiabilidade Segurança (safety) Integridade Manutenibilidade Disponibilidade

Falhas

• Falha pode ser:

▪ Ativa: quando causa um erro ▪ Dormente: quando ainda não causou

um erro

• Podemos classificar falhas de acordo com oito perspectivas

• Algumas falhas podem ser

classificadas segundo diversas destas perspectivas – combinação delas

Classificação para falhas

• Fase de criação ou ocorrência ▪ Falhas de desenvolvimento

• Ocorre durante o desenvolvimento do sistema, ou manutenção durante a fase de uso, ou geração de procedimentos para operar ou manter o sistema

• Ex: furos de software, bombas lógicas

▪ Falhas operacionais

• Ocorre durante a entrega do serviço da fase de uso

• Ex: tentativas de intrusão, vírus, entradas incorretas

(7)

Classificação para falhas

• Limites do sistema ▪ Falhas internas

• Originada a partir da parte interna dos limites do sistema

• Ex: Bombas lógicas, furos de software

▪ Falhas externas

• Originada fora dos limites do sistema e propaga erros para dentro do sistema através de interação ou interferência • Ex: interferência física, vermes

Classificação para falhas

• Causadas por fenômenos ▪ Falhas naturais

• Causada por um fenômeno natural sem a interferência humana

• Ex: deterioração física, interferência física, radiação

▪ Falhas geradas por humanos

• Resultado de ações de pessoas • Ex: interferência física, bombas lógicas

Classificação para falhas

• Dimensão

▪ Falhas de hardware

• Originadas a partir de, ou que afetam, o hardware

• Ex: problemas de produção, deterioração física

▪ Falhas de software

• Afeta o software, programas ou dados • Ex: entrada incorreta, vírus, bombas lógicas

Classificação para falhas

• Persistência

▪ Falhas permanentes

• Presença é contínua no tempo • Ex: problemas no software, vírus,

deterioração física, interferência física

▪ Falhas transientes

• Presença tem tempo limitado

• Ex: deterioração física, interferência física

Classificação para falhas

• Objetivo

▪ Falhas maliciosas

• Introduzida no sistema com o objetivo malicioso de causar algum prejuízo ao sistema

• Ex: Bombas lógicas, vírus, vermes

▪ Falhas não-maliciosas

• Introduzida sem um objetivo malicioso • Ex: furos de software, entradas erradas

Classificação para falhas

• Intenção

▪ Falhas deliberadas

• A partir de decisões erradas com conhecimento e intenção • Ex: problemas de produção, vírus

▪ Falhas não deliberadas

• Devido a situações que o operador ou desenvolvedor não tem conhecimento • Ex: deterioração física

(8)

Classificação para falhas

• Capacidade ▪ Falhas acidentais

• Introduzidas inadvertidamente • Ex: furos de software, entradas erradas

▪ Falhas por incompetência

• Resultado da falta de competência por alguém que foi autorizado a fazer algo • Ex: furos de software, interferência física

Defeitos

• Defeito de um serviço é definido como um evento que ocorre quando o serviço não atende sua funcionalidade • Mesmo quando o serviço atende a

especificação ele pode apresentar um defeito

▪ Ex: não está adequado para o usuário ▪ Defeito na especificação

• Classificação a partir de 4 categorias

Classificação para defeitos

Defeitos

Detectabilidade

Consistência

Conseqüências

Domínio

Classificação para defeitos

• Quanto ao domínio

▪ Defeito de conteúdo: a informação entregue pela interface do serviço se desvia da função do serviço

▪ Defeito de tempo: o tempo da entrega ou duração da informação se desvia da função do sistema

• Cedo ou tarde

Classificação para defeitos

• Quanto ao domínio ▪ Ambos conteúdo e tempo

• Defeitos de parada (halt): quando o estado externo se torna constante, i.e., a atividade externa, mesmo se existir, não é perceptível ao usuário

• Defeitos erráticos (erratic): quando o serviço é entregue mas de uma maneira errática

Classificação para defeitos

• Quanto à detectabilidade ▪ Defeitos sinalizados:

• Uma sinalização ocorre na interface do serviço quando um mecanismo verifica a corretude do resultado do serviço

▪ Defeitos não sinalizados:

• Quando o serviço não informa defeitos para o usuário

▪ Pode ainda existir alarme falso

▪ Serviço pode ser entregue mas em um modo degradado

(9)

Classificação para defeitos

• Quanto à consistência

▪ Principalmente quando existem dois ou mais usuários

▪ Defeitos consistentes: o resultado incorreto do serviço é percebido da mesma forma por todos usuários ▪ Defeitos inconsistentes: alguns ou

todos usuários recebem resultados diferentes (alguns podem receber inclusive resultados corretos)

▪ Defeitos inconsistentes = Defeitos Bizantinos

Classificação para defeitos

• Quanto à conseqüência

▪ Defeitos menores: as conseqüências ruins são equivalentes aos benefícios do serviço quando correto

:

▪ Defeitos catastróficos: as

conseqüências são muito maiores, em ordens de magnitude – as vezes não calculáveis – do que o benefício do serviço quando correto

Classificação para defeitos

• A gravidade (conseqüência) de um defeito pode ser medido por diferentes critérios:

▪ Disponibilidade: tempo que fica “fora-do-ar”

▪ Segurança: possibilidade de vidas humanas estarem envolvidas

▪ Confidencialidade: tipo da informação que pode ter sido “vazada”

▪ Integridade: grau de danos aos dados e a possibilidade ou não de recuperação

Classificação para defeitos

Defeitos Detectabilidade Consistência Conseqüências Domínio Defeitos menores Defeitos catastróficos Defeitos menores Defeitos catastróficos Defeitos menores Defeitos catastróficos Defeitos de conteúdo Defeitos de tempo Tempo e conteúdo

Erros

• Erro é a parte do estado sistema que pode levar a um defeito

• Um erro pode ser detectado e então uma mensagem é sinalizada

• Erros não detectados são chamados de erros latentes

• Dois fatores - erro não gerar defeito ▪ Redundância

▪ Estado errôneo não ser necessário para entrega do serviço

Classificação para erros

• Pode-se utilizar a mesma de defeitos ▪ Conteúdo-tempo; detectado-latente; consistente-inconsistente; menores-catastróficos;

• Poderiam ainda ser classificados de acordo com padrão de estragos:

▪ Simples ▪ Duplos ▪ Aritmético ▪ Byte ...

(10)

ATÉ A PRÓXIMA.

Extras

Segurança

• Safety vs. Security • Safety

▪ Segurança no sentido de algo que funciona de maneira segura, sem problemas ou acidentes

• Security

▪ Segurança no sentido de:

• Disponibilidade somente para acessos autorizados • Confidencialidade • Integridade

Propriedades de um sistema

• Safety vs. Liveness • Safety

▪ Aquilo que o sistema não deve fazer ▪ Exemplo:

• Em um cruzamento duas sinaleiras em vias perpendiculares não devem

• Liveness

▪ Aquilo que o sistema deve fazer. ▪ Exemplo:

• Em um cruzamento qualquer uma das sinaleiras em um determinado momento vai estar verde.

Referências

Documentos relacionados

Todos os pacientes com afecções clínicas ou cirúrgicas são internados para tratamento nas enfermarias do HEMC e HC, de acordo com a necessidade da disciplina

133 Serviço Regional de Proteção Civil, IP - RAM Acidentes que envolvam substâncias perigosas (Diretiva Seveso II) Sistemas de monitorização internos dos estabelecimentos

Atualmente, foi aprovada pela ABNT uma norma complementar às existentes, denominada “Hidrômetros para água fria – Ensaios para avaliação de desempenho de hidrômetros em alta e

efeito é assumido que os átomos do soluto ocupam sítios intersticiais octaédricos e os resultados são sensíveis ao modelo utilizado; O efeito Snoek é a migração induzida

Tecnologia da Informação (TI) é a área de conhecimento responsável por criar, admi- nistrar e manter a gestão da informação através de dispositivos e equipamentos para acesso,

Responsabilidade de sócio com responsabilidade limitada, por ingresso e retirada .... Responsabilidade em caso de

O crescimento do fungo foi bastante afetado pela interação entre o teor de umidade e o tipo de solo, tendo o solo com textura arenosa propiciado as melhores condições para o

Pode-se perceber, portanto, que a indústria de beneficiamento da biomassa possui um grande potencial não só na área de combustíveis, a mais famosa, mas também