PublicouAmanda Reveles Alterado mais de 3 anos atrás
Mestrado em Engenharia Informática Sistemas Distribuídos e Tolerância a Falhas Erros de Análise Numérica Cláudia Santos 18 de Junho 2004
2 Problema fundamental :
Realizar sistemas de forma eficiente e com uma precisão numérica adequada. O objectivo deste trabalho consiste na apresentação de acidentes causados por erros numéricos.
3 Falhas Famosas de Software
"O modo mais provável do mundo ser destruído, como concorda a maioria dos especialistas, é através de um acidente. É aí que nós entramos. Somos profissionais da programação. Nós causamos acidentes". Nathaniel Borenstein, inventor do MIME, em: Programming as if People Mattered:Friendly Programs, Software Engineering and Other Noble Delusions, Princeton University Press, Princeton, NJ, 1991.
4 A Explosão do Ariane 5 Ariane 5, 4 de Junho de 1996
O foguetão explodiu 40 segundos na sua viagem inaugural Foi aproveitado um pacote de software de navegação do Ariane 4 que não tinha erros. No módulo Sistema de Navegação Inercial uma conversão de valores de 64-bits para 16-bits falhou. A falha no SNI levou o computador de bordo a modificar a trajectória do foguetão e isto causou a activação da auto-destruição.
5 A Explosão do Ariane 5 A concepção do foguetão custou à Agência Espacial Europeia 10 anos e 7 mil milhões de dólares. Explodiu 40 segundos após a descolagem, destruindo-se com toda a sua carga ( um conjunto de quatro satélites no valor de 500 milhões de dólares). O acidente deveu-se a um erro de overflow na conversão de um valor representado em 64 bits com vírgula flutuante para um inteiro de 16 bits com sinal.
6 Navio de guerra USS Yorktown
Primeiro navio de guerra da Marinha Norte Americana em que foi utilizada a nova tecnologia "SmartShip" Esta tecnologia permite reduzir a tripulação computadorizando muitas das funções do navio. Em Setembro de 1997, os sistemas de propulsão do Yorktown desactivaram-se durante quase 3 horas. O sistema de propulsão foi desactivado porque o computador não era capaz de aceitar uma divisão por zero.
7 A Falha Do Míssil Patriot
25 de Fevereiro de 1991, o Patriot falhou à intercepção de um inesperado míssil iraquiano Scud devido a um defeito de programação que desligava o sistema durante 34 milésimos de segundos após o disparo. O tempo medido em décimas de segundo pelo relógio interno do sistema foi multiplicado por 1/10 para se obter o tempo em segundos. O valor 1/10, que possui uma expansão binária infinita, foi truncada a 24 bits após o ponto de raiz. A causa foi um cálculo incorrecto do tempo do lançamento devido aos erros aritméticos do computador.
8 A Falha Do Míssil Patriot
O menor erro de truncatura, quando multiplicado por um número elevado dando o tempo em décimas de segundo, leva a um erro significativo. A bateria de míssieis Patriot esteve em funcionamento cerca de 100 horas, e um simples cálculo mostra que o erro temporal devido à maximização do erro de truncatura foi cerca de 0.34 segundos. Quanto mais tempo o sistema funcionar, maior é o número que representa o tempo. Por causa da maneira como o computador do Patriot executou os cálculos e o facto de que os seus registos são de somente 24 bits, a conversão do tempo de um inteiro para um número real não pode ser mais preciso do que 24 bits. Esta conversão resulta numa perda da precisão que causa um cálculo menos exacto do tempo.
9 A Falha Do Míssil Patriot
O efeito desta imprecisão no cálculo do raio de acção é directamente proporcional à velocidade do alvo e ao tempo que o sistema está em funcionamento. Realizar a conversão após o Patriot estar em funcionamento continuamente durante largos períodos temporais causa que o raio de acção se afaste do centro do alvo, tornando menos provável que o alvo a abater seja interceptado com sucesso.
10 Plataforma offshore Sleipner A afunda-se
É uma plataforma com uma base de betão com uma estrutura composta por 24 maciços sendo quatro destes alongados a pilares que suportam a base da plataforma. A primeira estrutura da base em betão desenvolveu uma falha e afundou-se em 23 de Agosto de 1991. A perda foi causada por uma falha na parede do maciço, resultando numa fissura e numa fuga que as bombas não conseguiram cobrir. A parede falhou em resultado da combinação de erros na análise de elementos finitos e fixação insuficiente do reforço na zona crítica.
11 Plataforma offshore Sleipner A afunda-se
A falha na parede do maciço ocorreu numa zona constituída por uma estrutura triangular colocada onde os maciços se encontram À esquerda são apresentados os testes de falha realizados. A investigação à posteriori do acidente conduziu o erro à aproximação imprecisa de elementos finitos do modelo linear elástico do maciço triangular (utilizando o programa de elementos finitos NASTRAN). As tensões de corte foram subestimadas em 47%, conduzindo a um design insuficiente. Em particular, determinadas paredes em betão não eram suficientemente espessas.
12 Referências http://www.ima.umn.edu/~arnold/disasters
" High Performance Computing: Are We Just Getting Wrong Answer Faster? ", de Mark A. Stadtherr do Dep. de Engenharia Química da Universidade de Notre Dame,USA. "ARIANE 5 Flight 501 Failure" ,Report by the Inquiry Board, Prof. J. L. Lions Programming as if People Mattered:Friendly Programs, Software Engineering and Other Noble Delusions, Nathaniel Borenstein, Princeton University Press, 1991.