thesis

Modélisation des systèmes temps-réel répartis embarqués pour la génération automatique d'applications formellement vérifiées

Defense date:

Jan. 1, 2006

Edit

Institution:

Paris, ENST

Disciplines:

Abstract EN:

Building distributed applications usually relies on a particular software layer, called middleware, that manages data transmission between application nodes. Applications for embedded real-time systems must take specific parameters into account, such as reliability concerns or temporal and spatial constraints. As part of the application, the middleware has to respect these constraints also. This work focuses on the description of distributed embedded real-time applications in order to automatically configure the associated middleware. We define a design process that integrates different steps for the description, verification and generation of the complete application. We use the Architecture Analysis & Design Language (AADL) as a backbone between the application description, the verification formalisms, the code generation and the runtime configuration. We show how to specify an AADL runtime to automatically generate the application code and the middleware for a given distributed application. We also show how to generate Petri nets from AADL descriptions an how it helps in the verification of the integrity of the execution flows in architectures. To validate this design process, we implemented Ocarina, an AADL compiler that uses PolyORB, a schizophrenic, highly tailorable middleware, as a runtime.

Abstract FR:

La construction d'une application répartie fait en général intervenir une couche logicielle particulière, appelée intergiciel, qui prend en charge la transmission des données entre les différents nœuds de l'application. La conception d'applications pour les systèmes embarqués temps-réel implique la prise en compte de certaines contraintes spécifiques à ce domaine, que ce soit en terme fiabilité ou de dimensions à la fois temporelles et spatiales. Ces contraintes doivent notamment être respectées par l'intergiciel. L'objet de ces travaux est la description des applications temps-réel réparties embarquées en vue de configurer automatiquement l'intergiciel adéquat. L'étude se focalise sur la définition d'un processus de conception permettant d'intégrer les phases de description, de vérification et de génération de l'application complète. Pour cela, nous nous reposons sur le langage de description d'architecture AADL. Nous l'exploitons comme passerelle entre la phase de description de l'architecture applicative, les formalismes de vérification, la génération du code exécutable et la configuration de l'exécutif réparti. Nous montrons comment spécifier un exécutif pour AADL afin de produire automatiquement le code applicatif et l'intergiciel pour une application répartie. Nous montrons également comment exploiter ces spécifications pour produire un réseau de Petri afin d'étudier l'intégrité des flux d'exécution dans l'architecture. Afin de valider notre processus de conception, nous avons conçu et développé Ocarina, un compilateur pour AADL qui utilise l'intergiciel schizophrène PolyORB comme exécutif.