Logo do repositório
 
Miniatura indisponível
Publicação

Towards a Formally Verified Space Mission Software using SPARK

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
7028_14915.pdf1.12 MBAdobe PDF Ver/Abrir

Resumo(s)

This research work is in the scope of the Master course in Computer Science of University of Beira Interior dissertation and introduces the research undertaken in a Master Thesis done in collaboration with Critical Software, SA. This document presents the effort for verification and validation of ExoMars Trace Gas Orbiter Central Software that was fully implemented by Critical Software in cooperation with Thales Alenia Space, for an European Space Agency exploration of Mars atmosphere mission. The work was an Ada implemented code reformulation to SPARK aiming the capability evaluation of code analysis and Design-by-Contract techniques for validation and verification of a spacecraft on board software. On Safety Mission-Critical systems the importance of secure and reliable software path to the introduction of new high integrity development methods as an efficient and low cost alternative of software testing. As Edger Dijsktra said, testing software only detect the presence of bugs but not prove his absence and, besides that, it is a late detection. There is an increased need of safety and functional properties assurance before the system deployment. Design-by-Contract approach is a kind of formal code verification, based on Hoare Logic, that can reduce the costs in two ways, because it gave earlier high guarantees that code is free of runtime errors and run as expected, in the development phase where bugs correction is cheaper. SPARK toolset is used to perform formal code verification for Ada programming language, mostly used on Safety Mission-Critical systems development. SPARK analysis is targeted for assurance of correct information flow and the correct behaviour of programs execution.
Este trabalho de investigação está inserido no âmbito da dissertação do curso de Mestrado em Engenharia Informática da Universidade da Beira Interior realizado em contexto industrial na empresa Critical Software, SA. Este documento apresenta o projeto de verificação e validação formal do Software Central do ExoMars Trace Gas Orbiter que foi totalmente implementado pela Critical Software em parceria com a Thales Alenia Space, para uma missão da Agência Espacial Europeia direcionada à exploração da atmosfera Marciana. O trabalho realizado tratou da reformulação do código implementado em Ada para SPARK com o objetivo de avaliar as suas capacidades de análise de código e as técnicas de Design-by-Contract para validação e verificação formal do software de voo de um satélite. Em sistemas Safety Mission-Critical a importância de um software seguro e confiável conduz à introdução novos métodos de desenvolvimento com grande integridade como uma alternativa aos testes de software eficiente e de baixo custo. Tal como Edger Dijsktra disse, testar software apenas deteta a presença de erros mas não prova a sua ausência e, para além disso, a deteção é tardia. Existe uma cresente necessidade de assegurar as propriedades funcionais e de safety do sistema na fase de pré-produção. A abordagem Design-by-Contract é um tipo de verificação formal de código, baseada na Lógica de Hoare, que pode reduzir os custos de duas formas, porque dá-nos elevadas garantias de que o código está livre de erros de execução e que irá executar como pretendido, logo na fase de desenvolvimento onde a correção de erros é menos custosa. A ferramenta SPARK é usada para realizar a verificação formal de código para a linguagem de programação Ada, usado na maioria dos casos para o desenvolvimento de sistemas Safety Mission-Critical. A análise do SPARK é direcionada para a garantia de um correto fluxo de informação e o correto comportamente na execução dos programas.

Descrição

Palavras-chave

Análise de Fluxo Design-By-Contract Exomars Métodos Formais Sistemas Safety Mission-Critical Verificação Formal de Código

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo