Formal Model Driven Engineering for Space Onboard Software

One of the major sources of errors in the development of real time critical embedded software is the misinterpretation of system requirements allocated to the software. These misunderstandings between the system team and the software team may have several sources, but are very often due to the following causes: o Use of ambiguous means to describe the system requirements and the software implementation, leading to different interpretations by the system designers, the software developers and the reviewers. o Insufficient knowledge by the software team of the formalisms and jargons used by the system team, leading to the development of software that does not satisfy the system requirements. o Insufficient knowledge by the system team of the formalisms and jargons used by the software team, leading to inefficient reviews of the software specification and code by the system team.