A tool integration model in software engineering development environments
Un modèle d'intégration d'outils dans les environnements de développement de logiciels
Abstract
Not available
L'intégration dans les environnements (dédiés ou non au développement de logiciels) est un concept qui représente la capacité à établir des relations entre plusieurs composants (outils, personnes,). Il est nécessaire de représenter la coopération entre plusieurs outils. L'échange de données nécessite souvent une acceptation commune des formats de données ainsi que la disponibilité de mécanismes permettant de transformer une représentation de données en une autre. Des approches statiques préconisent l'adoption d'une représentation canonique ou des convertisseurs de données ad-hoc. Cette thèse propose une approche dynamique reposant sur un modèle abstrait de représentation des données ne nécessitant qu'un seul convertisseur. Nous proposons un modèle de représentation des données qui capture à la fois la sémantique des données et leurs contraintes. Ce modèle intègre un ensemble de constructeurs permettant de définir des structures complexes. La démarche utilisée vise à approcher la relation de sous-type entre deux structures afin de pouvoir utiliser indifféremment les objets définis par celles-ci. Des niveaux de compatibilité entre deux structures permettent de déterminer quelles sont les transformations à effectuer pour passer de l'une à l'autre. Un ensemble d'operateurs permet cette transformation: un premier sous-ensemble s'attache à définir des règles structurelles alors que le second se préoccupe de la transformation des instances. Nous avons défini un convertisseur générique capable de transformer les instances de manière la plus automatique possible, sachant que ce processus est indécidable (donc impossible à automatiser entièrement). L'axiomatisation proposée permet de connaitre précisément les structures exprimables et également les transformations réalisables sur celles-ci. Enfin, l'implantation des operateurs rendant compatibles deux structures et leurs instances nous a permis de valider les différentes propositions faites dans cette thèse