Nebula Public Library

The knowledge bank of ESA’s R&D programmes

Model Based Software Development Lifecycle

Programme Reference
Prime Contractor
Start Date
End Date

Define a Lifecycle and develop the supporting tools for a Model Based Software Development approach for the On-Board Real-Time Software Systems. Provide for automation of the lifecycle activities in the context of heterogeneous modelling environments through Domain Specific Language(s) and tool interoperability solutions.


Increasing complexity of Software Systems necessitates the focus on system function and behaviour, abstracting from lower-level implementation details of the programming languages. Modelling languages start to find their way into the development process, from requirements specification and system-software co-engineering, up to operations, through development and verification. Use of models increases the level of specification formality and provides a possibility for model simulation and formal analysis to verify certain aspects of the system from the early lifecycle phases. In the later phases the models can be exploited for design verification, model-based testing, and implementation (code) generation from the design-level models. Model based approach will facilitate the links of the Software Development to the Systems Engineering and Hardware-Software Co-Design.To allow the move from the traditional software lifecycle towards a model-centric lifecycle, several tools and concepts are still missing:1) The traditional notion of testing code moves towards testing models. Testing both models and code is seen as detrimental to the return on investment of Model Based Software Engineering. Related questions are the possibility to have model-in-the-loop validation, what is the meaning of a validation environment of a model (in particular when the model is used to subcontract software development).2) All the tools necessary for the code management and verification (configuration management, concurrent development, metrication, verification, coverage, etc) need to be developed for models as they practically don't exist today.3) Model Based Design must handle all the necessary elements and constraints needed throughout the full Lifecycle. The adequacy of the modelling language abstraction needs careful consideration.The auto-coding enables the automatic traceability from code to design and requirements. However some implementation issues need to be handled early in the lifecycle, shifting some aspects of Software Development to the Systems Engineering Process.One of the main issues to be addressed is tool interoperability. It currently fragments the development process along the tool/formalism lines and prevents the effective integrated system-level analysis in the models context. A common Domain Specific Language (or limited set of languages to be selected in the activity as a support to the Harmonisation) will facilitate the resolution of the issues. Current open source initiatives such as TopCased, Opees, Specify etc shall be considered. A tool deployment and maintenance strategy shall be proposed. To automate the Model Based Lifecycle, and to keep the models consistent, the technologies of model transformation could be used, leading to translation or refinement of models within the lifecycle.To enable the envisaged Model Based Software Lifecycle it shall be put in the context of/provide recommendations for future adaptations of existing processes and ECSS standards. It shall address the overall traceability of models (requirements to models, models to models and models to code), requirements management aspects (e.g. relationship to Doors, requirement numbering in models), model metrication (as compared to code metrication), and modelling guidelines (to optimize traceability and generated code).

Application Domain
Generic Technologies
Technology Domain
2 - Space System Software
Competence Domain
3-Avionic Systems
2-Space System Software
Initial TRL
Target TRL
Public Document
Final Presentation