thesis

Méthode C, une méthode de génie logiciel pour les systèmes avioniques temps-réel

Defense date:

Jan. 1, 2009

Edit

Disciplines:

Directors:

Abstract EN:

We present here a software engineering method for avionic fault-tolerant distributed, real-time and embedded (DRE) systems which covers the whole software lifecycle thanks to a seamless process. We have called this method the “C-Method” as C stands for the main notion of “continuum” that we have introduced between each phase of the lifecycle. Because these “DRE” systems have safety critical concerns, they require the use of formal languages (that allow non ambiguous and rigorous specifications) in order to be able to prove their non functional properties. Therefore, the “C-Method” relies on the use of formal languages in the earliest steps of the system specification and on the use of semi-formal languages in the analysis, design and programming steps. The fundamental question is how to integrate several languages with different levels of formalization and abstraction. Here we propose to “navigate” from one language to another one thanks to model transformations techniques at the analysis step and code generation at the design step, when a full mechanization of the process is required. As the systems that we are studying are complex systems, and also because they need modularity, change management (these systems have a long duration), reuse, to be taken into account, the model-driven approach is the most appropriate to start with Considering the previous arguments, the “C-Method” is founded upon the cooperation of models and languages, in a way that enables continuity.

Abstract FR:

Nous proposons ici une méthode de génie logiciel pour les systèmes avioniques temps-réel embarqués distribués (DRE) et tolérants aux fautes, capable de couvrir tout le cycle de vie du logiciel à l'aide d'un processus de développement continu. Nous avons appelé cette méthode la ''Méthode C'' parce que C signifie ''continuum'', le concept phare que nous avons introduit entre chaque phase du cycle de vie. Étant donné que les systèmes ''DRE" possèdent des problématiques de systèmes critiques liés à la sûreté de fonctionnement, ils ont recours aux langages formels (qui permettent des spécifications non ambiguës et rigoureuses) afin d'être en mesure de prouver l'ensemble de leurs propriétés non fonctionnelles. Par conséquent la Méthode C repose sur l'utilisation de langages formels dans les premières étapes de spécification du système ainsi que sur l'utilisation des langages semi-formels pour ce qui concerne les étapes d'analyse, de conception et de programmation. La question fondamentale est de savoir comment intégrer plusieurs langages dont les niveaux d'abstraction et de formalisation sont différents. Dans cette thèse, nous proposons de ''naviguer'' d'un langage à l'autre grâce aux techniques de transformation de modèles pendant l'étape d'analyse, et à la génération de code pendant l'étape de conception lorsque l'on requière une automatisation complète du processus. En prenant en considération les arguments qui précèdent, la Méthode C est ainsi fondée sur la coopération des modèles et des langages, de manière à favoriser la continuité.