thesis

Construction et validation de modèles guidées par l'application idempotente de transformations

Defense date:

Jan. 1, 2010

Edit

Institution:

Nice

Disciplines:

Abstract EN:

Model transformations play a critical role in Model Driven Development because they automate recurrent software development tasks. Some of these transformations are refinement of models by adding or retracting elements to produce new models conforming to additional constraints. For example, such transformations are used to integrate non functional properties. But modifications of the resulting model can break the conformity to those functional properties. Our challenge is to detect and restore this conformity applying the same transformation again. In this thesis, we defend that model transformation is the key concept to validate and restore models and we establish a system to define idempotent transformations.

Abstract FR:

Les systèmes d’information d’entreprise (SIE) visent à mettre à disposition des développeurs un ensemble d’éléments hétérogènes (politiques, composants sur étagère, patrons de conception,…) communs à tous les projets de l’entreprise. Le développement des logiciels se fait ainsi par l’alternance d’intégrations des briques logicielles et de modifications manuelles des codes. Lorsque les briques logicielles correspondent à l’introduction de politiques, telle que le contrôle d’accès, les assemblages de composants résultants respectent les contraintes imposées par la politique. Or, l’intégration d’autres politiques et les modifications de l’utilisateur peuvent violer ces contraintes et introduire des incohérences dans le modèle. Assurer et éventuellement établir la cohérence des assemblages construits par introductions de politiques est la problématique abordée par ce travail de thèse. Dans cette thèse, nous appréhendons une politique comme une transformation de modèle à modèle où son application, par des propriétés d’idempotence, modifie uniquement les éléments de modélisation nécessaires. Nous proposons alors une spécification des transformations afin de définir par construction des transformations idempotentes que nous nommons ITC. Cette formalisation consiste à spécifier la sémantique des actions élémentaires composant l’expression d’une ITC à spécifier le processus d’application d’une ITC. Les applications d’ITCs deviennent alors la base pour construite, valider et réparer un modèle. Nous définissons alors un algorithme de rejeu d’un ensemble d’applications d’ITCs afin de construire un modèle validant un ensemble de contraintes liées à un ensemble de politiques. L’écriture de l’expression des ITCs à partir d’actions élémentaires, l’application des ITCs et l’algorithme de rejeu sont mises en œuvre dans un moteur d’applications implémenté en Prolog. Nous illustrons cette contribution à travers une étude de cas où nous mettons en avant la nécessité de permettre les introductions séquentielles et ensemblistes des politiques.