Nos partenaires

CNRS

Rechercher





Accueil du site > Français > Thèmes de recherche > Thème 7 - Sûreté de développement du logiciel > Equipe MACAO > Propositions de stages, thèses et post-doc > Thèses

Maintien de la cohérence d’un réseau de modèles hétérogènes (28/01/2015)

Contacts : Sophie Ebersold et Cassia Trojan dos Santos

Laboratoire IRIT — Thème 7 — Equipe MACAO et Thème 4 — Equipe MELODI

Direction et unité d’accueil

  • Domaine scientifique principal du thème concerné : Informatique
  • Libellé ACI/Programme ou discipline concernée : Génie Logiciel
  • Formation doctorale de rattachement (spécialité) : Informatique
  • Directeur : A déterminer
  • Encadrantes : Sophie Ebersold et Cassia Trojan dos Santos
  • Institut de Recherche en Informatique de Toulouse (IRIT)
  • Equipes : MACAO et MELODI

Face à la complexité grandissante des systèmes logiciels, et à la nécessité de prendre en compte la collaboration entre plusieurs concepteurs, nous avons proposé une première approche d’analyse/conception décentralisée par points de vue. L’une des difficultés à résoudre avec cette approche est la composition (ou fusion) de modèles partiels (i.e. de modèles élaborés séparément selon des points de vue spécifiques). Une étude sur cette problématique a permis de prendre en compte le standard UML. Elle s’est traduite par l’élaboration d’un profil UML, appelé VUML (Nassar, 2003), et d’une démarche décentralisée d’analyse/conception associée. Celle-ci passe par une étape de composition des modèles partiels écrits en UML, afin de produire un modèle écrit dans le profil VUML. VUML permet d’intégrer les points de vue des acteurs d’un système à une modélisation de ce système. Pour traiter cette fusion des modèles partiels, nous avons décidé d’appliquer l’approche IDM. Pour cela, nous considérons la composition de diagrammes UML (diagrammes de classes (Anwar, 2010) et diagrammes états-transitions (Ober, 2008)) comme des transformations exogènes prenant en entrée plusieurs modèles conformes à UML et produisant en sortie un modèle conforme à VUML. Un prototype a été réalisé en ATL, et a été validé sous l’environnement Eclipse.

La principale contrainte de l’approche VUML est d’imposer un langage de modélisation unique, à savoir UML. Si cette contrainte peut être acceptable pour la conception de systèmes purement logiciels, il n’en est pas de même lorsque les systèmes sont plus complexes. Aussi avons-nous décidé de nous placer dans le cadre de modèles partiels décrits dans des langages adaptés aux différents domaines d’expertise d’un système complexe. L’utilisation de langages dédiés correspond à la pratique industrielle et facilite la réalisation des modèles d’analyse et de conception par les concepteurs.

Nous nous plaçons donc toujours dans le contexte d’une démarche guidée par les points de vue où nous considérons des modèles décrits dans divers DSML (Domain Specific Modeling Language), par des acteurs aux domaines de compétences et d’expertises différents. Ces modèles partiels sont dits « hétérogènes ». Cette approche pose bien entendu le problème de la gestion de la cohérence globale de cet ensemble de modèles partiels. Une solution pourrait consister à transformer chaque modèle partiel en un modèle UML et à appliquer ensuite l’approche VUML. Cette technique, dont le principe est d’utiliser VUML comme langage pivot, a été écartée car jugée trop lourde à mettre en œuvre. En effet, non seulement il faut dans ce cas réaliser des transformations des modèles partiels hétérogènes vers des modèles UML, ce qui n’est pas forcément simple, mais surtout il faut réécrire ces transformations à chaque évolution des modèles partiels. D’autres solutions sont également à l’étude notamment sur la composition des modèles par tissage (Schöttle et al. 2013), mais notre objectif est de fournir une approche permettant de connecter plusieurs modèles partiels par des relations n-aires tout en supportant l ‘évolution à la fois du nombre de modèles, et de la nature de leurs connexions.

Nous proposons la construction d’un modèle virtuel par connexion des modèles fournis. Ce “réseau” de modèles est élaboré suivant un processus en 3 phases. Une première phase préliminaire consiste à aligner les modèles ; C’est un sujet de recherche à part entière, dont l’objectif est de fournir des éléments utiles à la mise en correspondance des modèles et également à la prise en compte de l’évolution dans une optique d’automatisation. La seconde activité proposée consiste ainsi à mettre en correspondance les différents modèles. La phase suivante, la synchronisation des changements (et ainsi la gestion de l’évolution et le maintien de la cohérence) s’appuie sur les correspondances établies entre les différents modèles.

C’est la phase préliminaire « d’alignement des modèles partiels » que nous envisageons de considérer dans le cadre de cette étude. La solution à apporter nous semble devoir procéder à une analyse syntaxique et sémantique des modèles partiels en lien avec les domaines d’expertises concernés et la modélisation des connaissances mises en œuvre et devrait pouvoir s’appuyer sur le domaine de l’ingénierie des connaissances pour favoriser un alignement des différents modèles hétérogènes. En effet, une phase d’harmonisation des modèles consistera à identifier les dépendances entre les modèles partiels, à caractériser les incohérences portant sur des termes (conflits de synonymie et d’homonymie par exemple) ou sur des structures (conflits entre relations de spécialisation et d’association), et à résoudre les incohérences de façon semi-automatique. Pour réaliser cette résolution de conflits de façon automatisée, nous pensons qu’il faut faire appel à des techniques d’ingénierie des connaissances - comme les ontologies - qui sont employées avec succès dans le domaine du web sémantique, en les combinant à des heuristiques de conception.