Programação Diversitária

  • Published on
    21-Jun-2015

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Tcnica de tolerncia a falhas

Transcript

<ul><li> 1. Programao Diversitria Componentes: Felipe Haack Schmitz - 106396 Lais Berlatto - 104493 Professor: Marcelo Trindade Rebonatto Sistemas Distribudos </li></ul> <p> 2. Introduo Necessidade atual Tolerncia a falhas - 1967 Dependabilidade 3. Introduo Dependabilidade 4. Introduo N-Verses, programao N-Autoverificadora blocos de recuperao por consenso e votao blocos retry programao N-Cpias. Diversidade O foco desse mecanismo consiste em utilizar variadas implementaes de um mesmo sistema para obter a tolerncia a falhas, crendo assim que diferentes projetos e implementaes autnomas tambm vo apresentar falhas independentes. 5. Diversidade Ambiente de software com uma verso Agrupa tcnicas que so utilizadas para tolerar parcialmente falhas de projeto de software: Monitorando as tcnicas - atomicidade das aes- verificaes de decises-tratamento de excees Ambiente de software com mltiplas verses Diversas verses do mesmo software, com funcionalidades equivalentes 6. Diversidade Princpio-chave da diversidade: REDUNDNCIA Utilizada nas mais diversas fases do ciclo de vida de um software, desde sua concepo at os testes, sempre levando em conta os tipos de erro que se quer encontrar. 7. Programao N-Verses Sugeria por Elmendorf em 1972 Conceito - Tambm chamada de programao diversitria Consiste em uma tcnica multi-verses em que todas as verses so desenvolvidas para satisfazer os mesmo requisitos bsicos e a definio do resultado correto realizado pela comparao dos resultados 8. Programao N-Verses A programao diversitria acaba resultando em um mascaramento de falhas garantindo a que no sero dadas respostas duvidosas, fazendo uso de recuperao de erros por avano. Esta tcnica considerada esttica pelo fato da seleo do resultado final ser definido atravs de um mecanismo de deciso, ser realizado aps obterem-se todos os resultados advindos das diversas verses. 9. Programao N-Verses Vantagens A facilidade no reconhecimento de erros na fase de teste do sistema, a tolerncia tanto de falhas intermitentes quanto de permanentes e a atuao potencial tambm contra erros externos ao sistema (como por exemplo erros do compilador, do sistema operacional e at mesmo falhas de hardware) Desvantagens Desvantagens da tcnica tambm devem ser citadas, como o aumento dos custos de desenvolvimento e manuteno, a complexidade de sincronizao das verses e o problema de determinar a correlao das fontes de erro. Experimentos comprovam que o nmero de manifestaes idnticas (erros que assim no seriam detectados) significativamente menor que o nmero total de erros. 10. Programao N-Verses Fatores que influenciam na eficcia: Vrios fatores influenciam a eficcia da programao diversitria, como: as equipes podem trocar algoritmos entre si, os membros das equipes podem, por formao, tender a adotar os mesmos mtodos de desenvolvimento, as equipes podem buscar suporte nas mesmas fontes. Qualquer uma dessas correlaes imprevisveis se constitui uma fonte potencial de erros. 11. Resumo Em suma a programao diversitria, uma tcnica de redundncia usada para obter tolerncia a falhas em software. A partir de um problema a ser solucionado so implementadas diversas solues alternativas, sendo a resposta do sistema determinada por votao. Essa tcnica chamada de projeto diversitrio quando o desenvolvimento do sistema realizado de forma diversitria e de programao em N-Verses quando se restringe implementao do sistema. 12. Implementao (Estudo de caso) Paradigmas Linguagens de Programao Comunicao Socket em Diferentes Linguagens 13. Estrutura do Sistema Computao Diversitria Cliente Servidor Central Servidor c# Servidor Python Servidor Java 14. Validao dos Dados por Votao 15. Referncias http://docs.oracle.com/javase/1.4.2 /docs/api/java/net/Socket.html http://docs.python.org/library/socket.html http://msdn.microsoft.com/pt-br/library/kx37x362 PULLUM, Laura L. Software Fault Tolerance Techniques and Implementation Artech House, 2001. 16. Referncias JALOTE, P. Fault Tolerance in Distributed systems. New Jersey: Pretince Hall, 1994. PRADHAN, Dhiraj K. Fault tolerant computer system design. New Jersey: Prentice Hall, 1996 PULLUM, Laura L. Software Fault Tolerance Techniques and Implementation Artech House, 2001. 17. Referncias WEBER, Taisy S. Um roteiro par a explorao dos conceitos bsicos de tolerncia a falhas, 2002. Disponvel em:.Acesso em: 27/11/2011. JALOTE, P. Fault Tolerance in Distributed systems. New Jersey: Pretince Hall, 1994. PRADHAN, Dhiraj K. Fault tolerant computer system design. New Jersey: Prentice Hall, 1996. 18. Perguntas? Obrigado! </p>