Aula 21 de engenharia de software -tópicos avançados

Download Aula   21 de engenharia de software -tópicos avançados

Post on 26-Jun-2015

258 views

Category:

Documents

0 download

TRANSCRIPT

<ul><li> 1. Universidade Estadual do Piau UESPI Licenciatura Plena em Computao Prof.EriveltondaSilvaRocha 1 </li></ul> <p> 2. Em muitos sistemas, possvel implementar a tolerncia a defeitos de software por meio da incluso explcita de aes de verificao e recuperao no software. Isso denominado programao defensiva. Contudo, essa abordagem no trabalha eficientemente com defeitos do sistema que surgem com base em interaes entre o hardware e o software. Alm disso, a m compreenso dos requisitos pode significar que tanto o cdigo do sistema quanto a defesa associada esto incorretos. 2 Prof.EriveltondaSilvaRocha 3. Para a maioria dos sistemas crticos, particularmente aqueles com requisitos rigorosos de disponibilidade, pode ser necessria uma arquitetura especfica projetada para apoiar a tolerncia a defeitos. 3 Prof.EriveltondaSilvaRocha 4. Exemplos de sistemas que usam essa abordagem de tolerncia a defeitos so os sistemas de aviao, que devem estar em operao durante o vo, os sistemas de telecomunicaes, e os sistemas crticos de comando e controle. 4 Prof.EriveltondaSilvaRocha 5. H muitos anos existe a necessidade de se construir hardware tolerante a defeitos. A tcnica de hardware tolerante a defeitos mais comum baseada na noo de redundncia modular tripla TMR (Triple-Modular Redundancy). 5 Prof.EriveltondaSilvaRocha 6. A unidade de hardware replicada trs (ou algumas mais) vezes. A sada de cada unidade passa para um comparador de sada normalmente implementado como um sistema de votao. Se uma das unidades falha e no produz a mesma sada que as outras unidades, sua sada ignorada 6 Prof.EriveltondaSilvaRocha 7. 7 Prof.EriveltondaSilvaRocha 8. Um gerenciador de defeitos pode tentar reparar a unidade defeituosa automaticamente, mas se isso for impossvel, o sistema ser automaticamente reconfigurado para tirar a unidade de servio. Em seguida, o sistema continuar a funcionar com duas unidades operando. 8 Prof.EriveltondaSilvaRocha 9. Atravs dessa tcnica que foi possvel a NASA colocar o homem na lua. Embora com computadores precrios e extremamente simples, foi somente com esse tipo de arquitetura tolerante a falhas que foi possvel garantir o pleno sucesso dessa misso. 9 Prof.EriveltondaSilvaRocha 10. Essa abordagem de tolerncia a defeitos baseia- se no fato de que a maioria das falhas de hardware resultante das falhas de componente em vez de ser ocasionada por defeitos de projeto. Os componentes so, portanto, propensos a falhar independentemente. 10 Prof.EriveltondaSilvaRocha 11. Supe-se que, quando completamente operacionais, toas as unidades de hardware operem de acordo com a especificao. H, portanto, baixa probabilidade de falha simultnea de componentes em todas as unidades de hardware. 11 Prof.EriveltondaSilvaRocha 12. Naturalmente, todos os componentes poderiam ter um defeito de projeto em comum e, assim, todos produziriam a mesma resposta errada. Usando unidades de hardware com uma especificao em comum, mas projetadas e construdas por fabricantes diferentes, reduzem- se as chances de uma falha de modo comum. 12 Prof.EriveltondaSilvaRocha 13. Presume-se que a probabilidade de equipes diferentes cometerem o mesmo erro de projeto ou de fabricao seja bem pequena. 13 Prof.EriveltondaSilvaRocha 14. Se os requisitos de disponibilidade e confiabilidade de um sistema forem tais que voc necessite usar um hardware tolerante a falhas, voc pode tambm precisar de um software tolerante a defeitos. Existem duas abordagens para fornecer software tolerante a defeitos. 14 Prof.EriveltondaSilvaRocha 15. Ambas as tcnicas foram derivadas do modelo de hardware em que componentes, ou sistemas, redundantes so includos e componentes defeituosos podem ser desativados. 15 Prof.EriveltondaSilvaRocha 16. AS DUAS ABORDAGENS PARA TOLERNCIA A DEFEITOS DE SOFTWARE SO: Programao Em N-Verses: Usando uma especificao comum, o sistema de software implementado em uma srie de verses por diferentes equipes. Essas verses so executadas paralelamente em computadores separados. Suas sadas so comparadas com a utilizao de um sistema de votao, e sadas inconsistentes ou sadas no produzidas em tempo, so rejeitadas. 16 Prof.EriveltondaSilvaRocha 17. No mnimo trs verses de sistema devem ser disponibilizadas de modo que duas verses sejam consideradas consistentes no evento de uma nica falha. Essa a abordagem mais comum usada para tolerncia a defeitos de software. Ela foi usada em sistemas de sinalizao de ferrovias, em sistemas de aviao e em sistemas de proteo de reatores. 17 Prof.EriveltondaSilvaRocha 18. BLOCOS DE RECUPERAO: Nessa abordagem, cada componente do programa inclui um teste para verificar se componente foi executado com sucesso. Tambm inclui um cdigo alternativo que permite ao sistema fazer uma cpia e repetir o processamento se o teste detectar uma falha. As implementaes so, deliberadamente, interpretaes diferentes da mesma especificao. Elas so mais executadas em seqncia do que em paralelo. 18 Prof.EriveltondaSilvaRocha 19. Dessa maneira, o hardware replicado no necessrio. Na programao em n-verses, as implementaes podem ser diferentes, mas no incomum que duas ou mais equipes escolham o mesmo algoritmo para implementar a especificao. 19 Prof.EriveltondaSilvaRocha </p>

Recommended

View more >