Repository logo
 
No Thumbnail Available
Publication

Towards a Formally Verified Space Mission Software using SPARK

Use this identifier to reference this record.
Name:Description:Size:Format: 
7028_14915.pdf1.12 MBAdobe PDF Download

Abstract(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.

Description

Keywords

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

Pedagogical Context

Citation

Research Projects

Organizational Units

Journal Issue