Contribuições do model checking e da metodologia CoFi para o software embarcado espacial. - Rodrigo Pastl Pontes (2011)
A crescente participação do software embarcado nas causas dos últimos acidentes espaciais evidencia a importância dos processos e técnicas de verificação e validação no desenvolvimento do software embarcado espacial. Neste contexto, este trabalho investiga a contribuição de duas técnicas de verificação para aplicações espaciais. A primeira técnica é o model checking baseado no uso da ferramenta UPPAAL. O UPPAAL adota a modelagem do sistema em autômatos temporizados e permite a verificação de propriedades especificadas em um subconjunto da linguagem CTL (Computational Tree Logic). A segunda técnica consiste especificação e aplicação de testes a partir de modelos de estados, considerando mais especificamente a metodologia CoFI (Conformance and Fault Injection). São utilizados como estudo de caso dois produtos de software espacial. Um dos produtos foi desenvolvido com o uso do model checking, enquanto o outro foi desenvolvido de acordo com as práticas atualmente aplicadas pelo grupo de computador de bordo do Departamento de Eletrônica Aeroespacial do INPE (Instituto Nacional de Pesquisas Espaciais). Ambos os produtos de software foram testados utilizando a metodologia CoFI. Cada produto consiste de uma implementação de dois serviços especificados na norma europeia PUS (Packet Utilization Standard). Estes serviços representam funcionalidades oferecidas por um computador de gerenciamento de bordo de satélites. As principais conclusões obtidas são que a metodologia CoFI contribui para o aprimoramento dos processos de verificação atualmente em uso no INPE, e que, o model checking associado à geração manual do código não implica na ausência de erros, porém ajuda a reduzir o número, mas não a criticidade de erros quando comparado com as práticas atualmente em uso.