quinta-feira, 21 de janeiro de 2010

O sistema informatizado do controle de tráfego aéreo

Após o acidente que envolveu o voo GOL 1907, vieram à tona inúmeros problemas envolvendo o setor aéreo brasileiro e que deram origem à chamada crise aérea. As falhas no sistema de tratamento e visualização radar foram apontadas pelos controladores de vôo, na mídia, na CPI e pelo NTSB nos seus comentários ao relatório final como um dos fatores que contribuíram para o acidente. O Tribunal de Contas da União fez então uma "Auditoria no Sistema de Tratamento e Visualização
Radar X-4000" (Sumários Executivos, Acórdão) que teve como objetivo avaliar o sistema utilizado pelo Departamento de Controle do Espaço Aéreo (Decea) no controle do tráfego aéreo brasileiro, com relação à sua operacionalidade, confiabilidade e efetividade. Nunca comentei mais detalhadamente aqui esta auditoria, mas tardiamente estou fazendo agora. A auditoria encontrou as seguintes “falhas” (sic):

1. Ocorrência de falhas no sistema X-4000.
2. Tratamento inadequado de exceções.
3. Travamento e reinicialização da console de visualização em decorrência do acionamento indevido de teclas.
4. Quantidade insuficiente de peças de reposição para manter todas as consoles em operação.
5. Descumprimento do contrato de manutenção do sistema.
6. Sistema não apresenta algumas informações importantes para o serviço de vigilância radar.
7. Informações imprecisas nas transferências entre os controles de aproximação do Rio de Janeiro (APP-RJ) e de São Paulo (APP-SP).
8. Mudança automática do nível de vôo sem aquiescência do controlador.
9. Falta de integração entre o sistema de gerenciamento de torres de controle e o sistema X-4000.
10. Gestão de mudanças inadequada.
11. Falta de padronização do treinamento dos usuários.
12. Inexistência de plano de contingência formal para os ativos de informática.
13. Instalação dos recursos computacionais redundantes no mesmo ambiente físico dos recursos principais.
14. Indícios de ato antieconômico contrato de manutenção.
15. Contratação do desenvolvimento por inexigibilidade de licitação.
16. Carência de recursos humanos para prestar suporte ao sistema.
17. Problemas de síntese radar no controle de aproximação do Rio de Janeiro.
18. Interferências nas radiocomunicações aeronáuticas.

Eu estou acostumado a passar por auditoria de sistemas e fazer auditoria de sistemas e o que me chamou a atenção é como um documento de tão baixa qualidade metodológica possa ser chamado de um relatório de auditoria. Em principio não se faz auditoria de sistemas simplesmente colhendo “opiniões”. O relatório diz “Em entrevistas dadas à equipe de auditoria, controladores de vôo confirmaram a ocorrência de falhas no sistema X-4000”. É o mesmo que perguntar aos pilotos se as aeronaves apresentam falhas, perguntar aos motoristas de taxi se os seus veículos apresentam falhas, perguntar a você se o seu celular apresenta falhas ou se o fornecimento de energia elétrica para sua casa apresenta falhas, e por aí afora. Qualquer artefato, sistema, equipamento, qualquer coisa enfim na face da terra apresenta em algum momento de sua existência algum tipo de falha, quer seja um parafuso ou um computador de bordo de uma nave espacial. O que se verifica em uma auditoria de sistema são indicadores ou métricas, ou seja, índices de falhas. Linhas telefônicas são avaliadas por número de chamadas mal sucedidas por milhares de chamadas. Qualidade de veículos pode ser avaliada, por exemplo, por número de defeitos por milhares de quilômetros rodados ou testes de durabilidade. Mesmo assim, as falhas devem ser classificadas em níveis de severidade segundo o impacto que provoca e os indicadores serem associados aos diversos níveis de severidade. Uma avaliação não deve ser meramente qualitativa, mas preponderantemente quantitativa.

Portanto, metodologicamente, o relatório do TCU é ridiculamente falho. Não parece ter sido elaborado por profissionais que tenham a mínima formação em ciências da computação. Não é necessário fazer uma auditoria para se comprovar que qualquer sistema da face da terra apresenta “falhas”. Ainda não foi inventado um sistema a prova de falhas. O foco de uma auditoria deve ser se os indicadores de falhas e incidentes, presentes em qualquer sistema existente, estão situados em níveis admissíveis em padrões aceitos mundialmente.

Mas o ponto mais significativo desta análise é que com exceção do item 8 (“Mudança automática do nível de vôo sem aquiescência do controlador”) e 11 (“Falta de padronização do treinamento dos usuários”) nenhuma outra “falha” pode ser associada ao acidente da Gol e que na realidade foi o que deu origem à esta auditoria. Ou seja, nenhuma das outras 16 falhas contribuiu para o acidente. Nenhuma das outras falhas apontadas está relacionada como fatores contribuintes no relatório final.

E quanto à mencionada falha relacionada no item 8, tratar-se-ia de um eventual erro de especificação, o que nunca poderia ser considerado como falha de sistema, mas falha de especificação, o que em ciências da computação são eventos distintos. Falhas de sistemas são indiscutíveis, e estão associados a eventos em que o sistema deveria se comportar de uma determinada forma e não se comporta. Falhas de especificação são quando o responsável determina como o sistema deve funcionar e o responsável pelo sistema (e não o desenvolvedor) erra ao determinar como o sistema deve funcionar. A responsabilidade por estas falhas são do especificador e não do sistema. Uma especificação errada seria de responsabilidade do Decea que estabelece e homologa as especificações. A auditoria diz: “Os representantes do Decea, por sua vez, disseram não concordar com a supressão dessa funcionalidade”. Ora se os “donos” do sistema dizem que esta funcionalidade foi desejável no momento em que o sistema foi projetado, quem é o auditor do TCU para dizer que está errada? Não é preciso grande esforço intelectual para concluir que não se trata de uma "falha de sistema" e no mínimo é discutível, o que não significa de modo algum que não possa ser uma funcionalidade a ser aprimorada.

Mas o que é mais curioso, é que a análise deste item é completamente falha e demonstra desconhecimento técnico. O texto da auditoria diz:

“A informação da direita (370) corresponde ao nível previsto no plano da aeronave N600XL, enquanto a da esquerda (370) mostra o nível de vôo real voado pela aeronave. No entanto, nem sempre a aeronave mantém o nível de vôo previsto no plano. Em algumas situações as aeronaves recebem instruções do controlador para voar em um nível diferente do previsto, por solicitação do piloto ou para evitar conflitos de tráfego. O sistema X-4000 possui uma funcionalidade que altera automaticamente o nível de vôo no ponto da rota previsto no plano, sem aquiescência do controlador e independentemente de alteração no nível real voado pela aeronave. Nesse caso, a etiqueta apresenta dois níveis diferentes, como na Figura 2” (TCU, Sumários Executivos, p.17).

A informação da direita não representa o nível previsto no plano da aeronave. Ela representa o nível que será autorizado para a aeronave no momento oportuno no trecho em referência após o tratamento dos conflitos de tráfego que possam eventualmente emergir. Se não houver impedimentos, é igual ao do plano de voo solicitado o que ocorre na maioria absoluta das vezes. Tanto não é o plano previsto é que ele pode ser alterado pelo controlador a qualquer momento que julgar necessário. Se fosse o plano requisitado pela tripulação não poderia ser alterado. Pode-se dizer que ele representa o nível do plano de voo autorizado corrente. Como o voo deve ser planejado pelo ATC, não há sentido algum em chamá-lo de plano de voo autorizado para a tripulação (clearance), já que ele precede à sua comunicação à tripulação. Antes de a aeronave sair do solo, todo o plano de voo que será autorizado já está determinado e pode ser diferente do plano de voo solicitado pela aeronave. E, eventualmente, pode ser alterado ao longo do voo toda vez que o controlador necessitar. Ele é atemporal, ele vale para o momento em que a aeronave passar pelo ponto selecionado. O sistema deve alterar automaticamente o nível de voo no ponto da rota previsto no plano autorizado, para alertar o controlador que deve acompanhar a aeronave para que ela proceda à mudança de altitude. Este é o sentido de haver um nivel real à esquerda e um nivel autorizado a direita da etiqueta do voo. Se a aeronave não recebeu esta instrução anteriormente, o controlador contata a aeronave e solicita que altere sua altitude. Na presença do sinal do transponder esta informação é absolutamente segura. Tanto esta informação é importante para o controlador que ela chega a “piscar” por dois minutos antes que chegue o ponto em que esta mudança seja necessária. Entretanto esta mudança pode ser executada a qualquer momento, antes ou depois do ponto planejado. Se não há tráfego na rota da aeronave, o controlador pode solicitar esta mudança em outro momento. De modo algum, esta informação representa o último nível que foi comunicado para a tripulação. No caso do acidente da Gol, não havia nenhum tráfego na rota e o controlador estava observando outras aeronaves em situações mais críticas de tráfego. Quando voltou sua atenção para o Legacy, ele já havia desligado o transponder. Portanto, sem sombra de dúvida, a mudança automática do nível autorizado é uma funcionalidade desejável, atende as especificações do sistema e diante da presença do sinal do transponder é absolutamente segura para alertar o controlador que deve tomar ações em relação à aeronave. Na ausência do sinal de tranponder, o que está errado não é o sistema que não registra a última autorização verbal fornecida para a aeronave, mas a ausência de ações para a retomada das comunicações com a aeronave, que deve ser executada em qualquer circunstância.

O ministro relator do TCU foi claro em suas conclusões: "As falhas observadas pela equipe de auditoria indicam, sim, possibilidades de melhoria por parte dos órgãos de controle de tráfego aéreo. Estas melhorias, contudo, vêm sendo adotadas pelo Órgão competente, que acerca disto assim se pronunciou, verbis: O DECEA tem plena consciência de que nenhum sistema é tão perfeito que não caiba receber aprimoramentos, tanto assim que novas versões são implantadas com correções e modificações julgadas de interesse técnico-operacional. Assim ocorre com o Sistema X–4000 que vem absorvendo contínua e natural evolução, de acordo com novos conhecimentos ou experiências adquiridas nas áreas operacional, técnica e de Tecnologia da Informação. Estas circunstâncias – comum a todos os sistemas informatizados, volto a repetir – não significam que, em um dado momento, a possibilidade de melhoria e aprimoramento das funcionalidades de um determinado sistema comprometam sua eficácia e confiabilidade. Trata-se de processo evolutivo natural, inerente a sistemas computacionais".

Ao ler, por exemplo, o documento "Review of FAA’s Progress in Enhancing Air Traffic Control Systems Security", do U.S. Department of Transportation, de 02/11/2009, podemos constatar que há ainda inúmeras "falhas" de segurança no sistema de informações do controle de tráfego aéreo americano e inúmeras sugestões de melhorias que foram identificadas no "Information Security Program", de 10/10/2007. O texto diz: "Embora o FAA tenha aprimorado o processo de revisão dos sistemas de segurança do ATC [Air Traffic Control], as revisões não foram devidamente realizados para assegurar a proteção da segurança dos sistemas operacionais do ATC". O que não estaria correto é usar o argumento que as evidências de falhas do sistema do ATC americano seriam as causas de todos os acidente aéreos que envolvam o controle de tráfego aéreo. A constatação de que há "falhas" (sic) nos sistemas, e neste caso, de segurança das informações, não implicam necessariamente que estas falhas deram origem aos eventuais acidentes. Há que se demonstrar a causalidade entre as falhas e o acidente.

Nota: É bom que fique claro para aqueles que não leram os demais artigos deste blog que minha percepção do acidente da GOL é que a ausência de ações dos controladores não se deu porque o sistema informatizado os induziu à erro, mas sim pelo ineditismo na história da aviação de colisão frontal de aeronaves em rota na mesma aerovia, já que as regras que são implementadas na organização do espaço aéreo por si mesmas eliminam este tipo de risco. Não se tem noticia na história da aviação de incidentes desta natureza. Aeronaves voam em segurança sobre oceanos e outras regiões, sem cobertura de rádio ou radar sem que isto represente qualquer ameaça à segurança dos voos. Foi a primeira colisão frontal com aeronaves em rota na mesma aerovia. Isto tem um profundo significado e que é desprezado pela quase totalidade das análises feitas.

Nenhum comentário: