thesis

Contribution à la spécification et à la vérification des logiciels à base de composants : enrichissement du langage de données de Kmelia et vérification de contrats

Defense date:

Jan. 1, 2011

Edit

Institution:

Nantes

Disciplines:

Abstract EN:

The pervasiveness of software components and services in various domains (telecommunications, transportation, energy financial transactions, health, etc. ) requires rigorous means (models, methods, tools, etc. ) to control their production and to assess their quality. In particular, when developing such modular systems, it is crucial to ensure their safe bahaviour before deployment. Kmelia is a multi-services component model developed with the aim of building correct software components and assemblies. Three main goals are covered in this thesis. The first one is to enrich the expressiveness of the Kmelia model with a data language in order to satisfy the twofold need of specification and verification. The second one is to provide a framework development based on the concept of multi-level contracts. The interest of such contracts is to master the incremental construction of component-based systems and to automate the process of their verification. In this thesis, we focus on the verification of functional contracts using the B method. The last goal is to implement our approach in the COSTO/Kmelia platform. We developed a prototype that connects COSTO to various B method tools. This prototype builds B machines from Kmelia specifications according to the set of properties to check. We show that proof of the generated B specifications ensures consistency of initial Kmelia specifications. Several examples from the CoCoME ease study consolidate our proposal.

Abstract FR:

L'utilisation croissante des composants et des services logiciels dans les différents secteurs d'activité (télécommunications, transports, énergie, finance, santé, etc …) exige des moyens (modèles, méthodes, outils, etc. . . ) rigoureux afin de maîtriser leur production et d'évaluer leur qualité. En particulier, il est crucial de pouvoir garantir leur bon fonctionnement en amont de leur déploiement lors du développement modulaire de systèmes logiciels. Kmelia est un modèle à composants multi-services développé dans le but de construire des composants logiciels et des assemblages prouvés corrects. Trois objectifs principaux sont visés dans cette thèse. Le premier consiste à enrichir le pouvoir d'expression du modèle Kemlia avec un langage de données afin de satisfaire le double besoin de spécification et de vérification. Le deuxième vise l'élaboration d'un cadre de développement fondé sur la notion de contrats multi-niveaux. L'intérêt de tels contrats est de maîtriser la construction progressive des systèmes à base de composants et d'automatiser le processus de leur vérification. Nous nous focalisons dans cette thèse sur la vérification des contrats fonctionnels en utilisant la méthode B. Le troisième objectif est l'instrumentation de notre approche dans la plate-forme COSTO/Kmelia. Nous avons implanté un prototype permettant de connecter COSTO aux différents outils associés à la méthode B. Ce prototype permet de construire les machines B à partir de spécifications Kmelia en fonction des propriétés à vérifier. Nous montrons que la preuve des spécifications B générées garantit la cohérence des spécifications Kmelia de départ. Les illustrations basées sur l'exemple CoCoMe confortent nos propositions.