Você está na página 1de 4

8/4/2014 Ariane 5: Um Erro Numerico (Overflow) Levou a Falha no Primeiro Lancamento

http://magnum.ime.uerj.br/~demoura/Especializ/Ariane/ 1/4
Fonte desta Imagem
ARIANE 5: UM ERRO NUMRICO (OVERFLOW) LEVOU FALHA NO PRIMEIRO LANAMENTO
Traduo de Jos Nivaldo Hinkel

Em 4 de junho de 1996, menos de um minuto aps o lanamento,
o foguete francs Ariane 501 se autodestruiu. Era o primeiro
lanamento da srie Ariane 5 e, logo em seguida, foi indicada pelo
CNES (CentroNacional de Estudos Espaciais) e pela ESA (Agncia
Espacial Europia) uma comisso presidida pelo matemtico
francs Jacques-Louis Lions, do Colgio de Frana, para investigar
a ocorrncia. A avaliao dessa comisso indica um erro no
software de controle como a origem na falha do lanamento. O
presente resumo se baseia no relatrio dessa comisso,concludo
seis semanas aps o acidente

O ACIDENTE
Com base na documentao disponvel comisso, conclui-se que
as condies meteorolgicas na base de lanamento em Kourou,
Guiana Francesa, na manh de 4 de junho de 1996, eram
aceitveis para o lanamento. Em particular, no havia riscos de
relmpagos e a intensidade do campo eltrico medida na base foi
considerada desprezvel. A nica incerteza restringia-se ao critrio
de visibilidade considerado no totalmente satisfatrio.
A contagem regressiva avanou sem problemas at 7 minutos
antes do instante previsto para o lanamento, quando foi
suspensa, por ser o critrio de visibilidade valiado"definitivamente
insatisfatrio". Conforme fora previsto, entretanto, essas
condies melhoraram mais tarde, permitindo a retomada da
contagem regressiva. Aignio do motor Vulcan e dos dois
"boosters" transcorreunormalmente, conduzindo decolagem. O
vo prosseguiu conforme os prognsticos at aproximadamente
37 segundos aps a decolagem, quando o veculo se desviou
bruscamente do curso previsto, partiu-se e explodiu. Uma
investigao preliminar dos dados de vo revelou:

Comportamento do lanador conforme condies nominais, at 36 segundos aps a decolagem.
Falha do sistema de referncia inercial secundrio, seguido imediatamente de falha do sistema de
referncia inercial em operao.
Guinada dos bocais dos "boosters" slidos at o seu ngulo mximo e, logo a seguir, manobra semelhante
do motor Vulcan causando uma guinada abrupta do veculo
Autodestruio do lanador, disparada corretamente como conseqncia da ruptura das juntas entre os
"boosters" slidos e o primeiro estgio.
A origem da falha foi, dessa forma, rapidamente confinada ao sistema de controle, mais especificamente, aos
dois sistemas referenciais inerciais (SRI), que nitidamente deixaramde funcionar quase simultaneamente, por
volta de 36,7 segundos aps a decolagem.
INFORMAO DISPONVEL
Foram disponibilizados comisso dados de telemetria recebidos na base terrestre at 42 segundos aps a
decolagem, dados de trajetria fornecidos por estaes de radar, observaes ticas (cmeras de infravermelho
e ticas) e resultados da inspeo do material recuperado. Os dados de telemetria recebidos em Kourou foram
transferidos para o CNES/Toulouse e a convertidos em grficos em funo do tempo..
A auto-destruio do veculo ocorreu perto da plataforma de lanamento, a uma altitude de aproximadamente
4000 metros. A recuperao dos destroos, espalhados em uma rea de aproximadamente 12 quilmetros
quadrados, foi dificultada por ser a regio pantanosa ou coberta de savana. Mesmo assim, foi possvel recolher
os dois SRIs no meiodos destroos. De particular interesse foi aquele que deixou de funcionar por ltimo.Ele
carregava alguns dados de telemetria que no estavam disponveis (programou-se a transmisso destas
informaes para a estao terrestre apenas para a unidade que falhasse primeiro). Os resultados do exame
dessa unidade foram muito teis na anlise da seqncia da falha.
8/4/2014 Ariane 5: Um Erro Numerico (Overflow) Levou a Falha no Primeiro Lancamento
http://magnum.ime.uerj.br/~demoura/Especializ/Ariane/ 2/4
De modo geral, podemos dizer que o sistema de controle de vo do Ariane5 no tem muita novidade, segue o
padro normal de projetos desta natureza. A atitude do veculo e seus movimentos no espao so estimados
por um SRI. Ele possui computador interno prprio que calcula os ngulos e velocidades com base nas
informaes oriundas da plataforma inercial contendo giroscpios a laser e acelermetros. Os dados do SRI so
transmitidos por barramento de dados para o computador de bordo(OBC), que executa o programa de vo e
controla os bocais dos "boosters" slidos e do motor criognico Vulcan, por meio de servovlvulas e atuadores
hidrulicos.
Para aumentar a confiabilidade h grande redundncia a nvel de equipamento. Dois SRIs operam em paralelo,
com hardware e software idnticos. Enquanto um deles est operando, o outro permanece em stand-by; caso o
computador de bordo detete uma falha no SRI em operao, ele imediatamente comuta para a unidade reserva,
desde que esta esteja funcionando corretamente. Da mesma forma, h dois OBCs, e vrias outras unidades do
sistema de controle de vo tm suas reservas. O projeto do SRI usado no Ariane 5 quase idntico ao do
Ariane4 , particularmente no que diz respeito ao software.
CONCLUSES INICIAIS
Com base na farta documentao e dados disponveis comisso, a seguinte cadeia de eventos foi
estabelecida, partindo da destruio do veculo e regredindo no tempo em busca do evento iniciador da
seqncia.
O veculo comeou a desintegrar-se aproximadamente 39 segundos aps a decolagem por causa da elevada
carga aerodinmica provocada pelo ngulo de ataque superior a 20 graus, o que levou separao dos
"boosters" slidos com o primeiro estgio do veculo, o que por sua vez disparou o mecanismo de autodestruio
do foguete.
Este ngulo de ataque foi causado pela deflexo at ao limite dos bocais dos "boosters"slidos e do motor
Vulcan.
As deflexes dos bocais foram comandadas pelo OBC com base nos dados transmitidos pelo SRI em operao
(SRI 2). Parte dos dados naquele instante no eram realmente dados de vo, pelo contrrio, constituam uma
seqncia de bits de diagnstico do computador do SRI 2, a qual foi interpretada como dados de vo.
O SRI 2 no enviou os dados corretos de atitude porque a unidade havia declarado uma falha provocada por
uma anomalia na execuo do software.
O computador de bordo no poderia comutar para o SRI reserva (SRI 1) porque aquela unidade j havia deixado
de funcionar durante o ciclo anterior (perodo de 72mili-segundos ) pela mesma razo que o SRI 2.
A anomalia interna de software do SRI ocorreu durante a execuo de uma converso de dados de um nmero
de 64 bits em ponto flutuante para um inteiro de16 bits com sinal. O valor do nmero em ponto flutuante era
maior do que poderia ser representado pelo inteiro de 16 bits com sinal. O resultado foi um operando invlido. A
instruo de converso de dados (em cdigo ADA) no estava protegida contra erros de operando, embora
outras converses de variveis equivalentes no mesmo segmento de cdigo estivessem protegidas.
O erro ocorreu num segmento do software que controla apenas o alinhamento da plataforma inercial. Os
resultados fornecidos por este segmento do cdigo so relevantes apenas antes da decolagem. Aps a
decolagem esta funo no serve para nada. A funo de alinhamento opera por 50 segundos aps o incio do
modo de vo dos SRIs (3 segundos antes da decolagem para o Ariane 5. Conseqentemente, aps a decolagem
a funo continua atuando por aproximadamente 40 segundos de vo. Esta seqncia temporal baseada num
requisito do Ariane 4 que no faz parte da especificao do Ariane 5.
O erro de operando ocorreu devido a um valor inesperadamente elevado de uma funo de alinhamento interno,
denominada BH (horizontal bias), que est relacionada com a componente horizontal da velocidade monitorada
pela plataforma. Este valor calculado como um indicador de preciso de alinhamento ao longo do tempo. O
valor de BH foi muito maior do que o previsto porque o segmento inicial da trajetria do Ariane5 difere da
trajetria do Ariane 4 e resulta em valores consideravelmente altos para a componente horizontal da
velocidade.
Os eventos internos do SRI que originaram a falha foram reproduzidos por simulao computacional. Alm disso,
ambos os SRIs foram recuperados durante a investigao da comisso e o contexto da falha foi determinado
com preciso por meio da leitura dos dados na memria. Tendo a comisso examinado o cdigo do software,
concluiu que este consistente com o cenrio da falha.
A comisso julga portanto que ficou estabelecido, sem sombra de dvidas, que a cadeia de eventos
estabelecida acima reflete as razes tcnicas da falha.
COMENTRIOS SOBRE O CENRIO DA FALHA
No cenrio da falha, as razes primrias so o erro de operando que ocorreu na converso do valor
representando a velocidade horizontal e a falta de proteo dessa converso, o que implicou na suspenso do
funcionamento do computador do SRI.
A comisso foi informada de que nem todas as converses foram protegidas porque uma carga mxima de 80%
fora estabelecida como meta para o computador do SRI. Para determinar a vulnerabilidade do cdigo no
protegido, uma anlise tinha sido efetuada em cada operao que pudesse causar uma anomalia, incluindo um
erro de operando. Em particular, a converso de ponto flutuante para inteiros foi analisada; operaes
envolvendo sete variveis apresentaram risco de provocar erros de operando. Isto ocasionou a adio de
proteo a 4 variveis, como se pode observar no cdigo ADA. Contudo, 3 das variveis foram deixadas
desprotegidas. Nenhuma referncia direta que pudesse justificar esta deciso foi encontrada no cdigo fonte.
Considerando a farta documentao disponvel associada a qualquer aplicao industrial, a hiptese, mesmo
tendo sido aprovada, permaneceu essencialmente obscura e isenta de qualquer anlise externa.
As trs variveis restantes, incluindo aquela que representava a velocidade horizontal, no estavam protegidas
porque consideraes adicionais indicaram que seu valor era fisicamente limitado ou que havia uma larga
margem de segurana - raciocnio que no caso da varivel BH se mostrou incorreto.
No h evidncias de que qualquer dado de trajetria tenha sido utilizado para analisar o comportamento das
8/4/2014 Ariane 5: Um Erro Numerico (Overflow) Levou a Falha no Primeiro Lancamento
http://magnum.ime.uerj.br/~demoura/Especializ/Ariane/ 3/4
variveis no protegidas, e ainda mais importante notar que foi decidido de comum acordo no incluir dados
da trajetria do Ariane5 nos requisitos e especificao dos SRIs.
Apesar de ter sido identificado que houve um erro de operando, isto por si s no levou falha da misso. O
mecanismo de tratamento de anomalias tambm contribuiu para a falha. No caso de uma anomalia de qualquer
espcie, de acordo com a especificao do sistema, o erro deveria ser indicado no barramento de dados, o
contexto do erro deveria ter sido armazenado numa memria EEPROM (que foi recuperada e lida para o Ariane5,
e finalmente, o processador SRI deveria ter parado de funcionar. A deciso de interromper a operao do
processador mostrou-se fatal. Reinicilizao no factvel porque muito difcil recalcular a atitude aps a
parada do processador; portanto, o SRI torna-se sem utilidade nenhuma. A razo subjacente a esta drstica
ao encontra-se na prtica comum do programa Ariane de tratamento apenas das falhas aleatrias de
hardware. Utilizando este raciocnio, anomalias ou mecanismos de manipulao de erros so projetados para
falhas aleatrias de hardware, os quais podem ser racionalmente tratados por um sistema de reserva.
CRTICAS INICIAIS
Apesar de ter sido a falha provocada por um erro sistemtico de projeto do software, mecanismos poderiam ter
sido introduzidos para diminuir este tipo de problema. Por exemplo, os computadores internos dos SRIs
poderiam ter continuado a fornecer sua melhor estimativa sobre a atitude requerida. estranho que por uma
anomalia de software seja permitida, ou mesmo exigida, uma parada do processador enquanto ele est
controlando um equipamento crtico de vo.
O requisito original responsvel pela operao continuada do software de alinhamento aps a decolagem foi
estabelecido h mais de 10 anos para os primeiros modelos do Ariane, com a finalidade de sobreviver a eventos
extremamente improvveis de interrupo na contagem regressiva, por exemplo, em T-9segundos, quando inicia
o modo de vo no SRI do Ariane 4 e, T+5 segundos, quando a reinicializao de certos eventos originados no
lanador levariam diversas horas. O perodo escolhido para a continuao desta operao de alinhamento, 50
segundos aps o incio do modo de vo, foi baseado no tempo necessrio para o equipamento de terra assumir
o controle do veculo no caso de uma interrupo do lanamento.
Esta funo especial permitiu nas verses anteriores do Ariane reiniciar a contagem regressiva sem ter que
esperar o alinhamento normal, o qual demora 45 minutos ou mais, de forma que uma estreita janela de
lanamento possa ser utilizada. De fato, esta funo foi utilizada uma vez em 1989.
O mesmo requisito no se aplica ao Ariane 5, que tem uma seqncia de preparao diferente, e foi mantida por
razes de consenso, presumivelmente com base no fato de que, a menos que seja comprovadamente
necessrio, no seria recomendvel promover mudanas em um software que funcionou bem no Ariane 4. Mesmo
em casos em que a exigncia ainda seja considerada vlida, seria questionvel que a operao de alinhamento
operasse aps a decolagem. O alinhamento de plataformas mecnicas e lasers precintados envolve o uso de
funes matemticas complexas de filtragem para o alinhamento adequado do eixo x com o eixo gravitacional e
a determinao do norte a partir do movimento de rotao da Terra. A hiptese de alinhamento antes do vo
considera que o lanador esteja fixo numa posio conhecida. Portanto a funo de alinhamento
completamente perturbada quando executada durante o vo. Os movimentos medidos do lanador so
interpretados como offset de sensores e outros coeficientes caracterizando comportamentos dos sensores.
CONCLUSES FINAIS
Retornando ao erro de software - software a expresso de um projeto detalhadamente elaborado e no
admite falhas como sistemas mecnicos. Alm disso, linguagens de software so altamente flexveis e
expressivas, e dessa forma podem solicitar requisitos exigentes, que por sua vez levem a implementaes
complexas e de difcil validao.
Um tema subjacente ao desenvolvimento do Ariane 5 a tendncia ao alvio de falhas eletrnicas. O fornecedor
do SRI seguiu as especificaes que lhe foram impostas, as quais exigiam que, no caso de deteo de qualquer
anomalia, o funcionamento do processador deveria ser interrompido. A anomalia ocorrida no foi devida a um
erro aleatrio e sim a um erro de projeto. A anomalia foi detetada mas foi tratada inadequadamente porque
havia sido adotado o ponto de vista de que o software deveria ser considerado correto at demonstrado o
contrrio. A comisso tem razes para acreditar que tal ponto de vista utilizado tambm em outras reas de
projeto de software do Ariane 5. A comisso de opinio contrria - o software considerado apto a falha
enquanto no for avaliado com os mtodos mais poderosos para demonstrar sua confiabialidade.
Isto significa que software crtico - no sentido de que uma falha por ele provocada pode por em risco a misso -
deve ser submetido a nveis de identificao muito detalhados, que comportamentos anmalos devem ser
confinados e que uma estratgia confivel de suporte deve levar em considerao as falhas de software.
Traduo de Jos Nivaldo Hinkel
Diviso de Mecnica e Controle
MCT/INPE So Jos dos Campos - SP
Reedio do texto extrado do Boletim SBMAC, uma verso condensada do relatrio sobre a falha no primeiro
lanamento do Ariane 5, em parte baseada no texto do SIAM News, V29 N.8, out/96.

8/4/2014 Ariane 5: Um Erro Numerico (Overflow) Levou a Falha no Primeiro Lancamento
http://magnum.ime.uerj.br/~demoura/Especializ/Ariane/ 4/4