• Aucun résultat trouvé

Outil support : Heterogeneous Matching and Consistency management Suitemanagement Suite

Alignement de modèles de conception hétérogènes

4.4 Outil support : Heterogeneous Matching and Consistency management Suitemanagement Suite

L’outil support développé par Mahmoud El Hamlaoui, HMCS, accompagne l’approche pré-sentée tout au long du processus d’alignement et de gestion de la cohérence. Je ne le présenterai que brièvement dans cette section car il était alors à l’état de prototype et a été étendu dans le cadre de la thèse de Saloua Benanni.

Il aide d’abord l’expert à établir les correspondances de niveau M2 (voir Figure 4.25) pour produire le M2C.

Il génère ensuite automatiquement les LLC grâce à la sémantique des relations, lorsque celle-ci est formalisée. Il laisse la possibilité à l’expert de supprimer celles dont la sémantique est fausse, lorsque celle-ci était exprimée en Language naturel et qu’aucune inférence n’a pu être faite. Les LLC sont répertoriés et décrites, conformément au méta-modèle de correspondance (Figure 4.26)

FIGURE4.26 – Editeur graphique pour la création du modèle de correspondance M1C

La Figure 4.27 illustre les fonctionnalités apportées pour gérer les traitements des évolu-tions.

FIGURE4.27 – Résumé de changements identifiés sur le SU

On affiche pour chaque historique (encadré 1) la liste des changements (encadré 2) ordonnée à l’aide des coefficients de pondération calculés. Par exemple, dans le cas de la deuxième évolu-tion à traiter, la modificaévolu-tion de Social Security Number, la liste des éléments susceptibles d’être impactés est affichée dans l’encadré 3. A ce stade du prototype, l’implantation de la sémantique permettant d’exécuter les corps de la condition associés aux types de relation n’était pas encore terminée. Les changements de type modification, ont été traités via l’encadré 4 qui permet une

fois l’expert assuré de la validité d’une correspondance, de décider, en fonction du processus de traitement des changements, de l’action à effectuer. L’action restore permet de récupérer la version précédente de l’élément et l’action modify de modifier l’élément de l’extrémité de la correspondance. Si la correspondance n’est plus valide, l’action delete l’enlève du modèle de correspondance.

HMCS est fondé sur Eclipse avec la structure décrite ci-dessous (Figure 4.28)

FIGURE4.28 – Architecture technique de HMCS

où :

• le module MT supporte l’alignement des modèles. Il est lui même constitué de deux modules :

– AMT, Assisted Matching Tool, dont le rôle est de créer le modèle M2C à partir des méta-modèles décrits en utilisant Eclipse Ecore. (Il peut être obtenu à partir d’un éditeur graphique ou bien d’un éditeur textuel synchronisé de façon bidirec-tionnelle). Pour celà, il s’appuie sur les modules M2T (Model to Text) et T2M (text to Model).

– RT, Refining Tool, dont le rôle est de produire le modèle M1C pour les modèles source en entrée. Il intègre deux niveaux de raffinage : Propagation et Extension Le RT est composé lui même sur trois modules principaux :

* ReproT, Reproduction Tool, permet de mettre en place la première étape du raffinement par propagation qu’est la reproduction.

* MFT, Model Filtering Too et OFT, Ontology Filtering Tool supportent l’opéra-tion de sélecl’opéra-tion.

· MFT renforce l’automatisation de la mise en correspondance en utilisant les expressions sémantiques des types de relation

· OFT est sollicité quand les expressions sémantiques reposent sur des fonc-tions décrites en utilisant une base de connaissances (Condition avec un

FormatTypeOBF.

• CMT, Consistency Management Tool, est le support à la gestion des évolutions de mo-dèles et à la cohérence du M1C.

Pour plus de détail sur la réalisation de cet outil, il faut aller consulter [99]2.

4.5 Conclusion

Nos travaux de recherche générale portent sur la conception de systèmes d’information complexes dans un contexte multi-vues. Au cours du cycle de modélisation, les modèles par-tiels peuvent évoluer fréquemment, en raison de la définition de nouvelles exigences ou de contraintes. Ainsi, plusieurs changements peuvent survenir dans différents modèles du système. Pour gérer la cohérence entre ces modèles, nous avons proposé une approche qui (1) établit semi-automatiquement un modèle de correspondance entre ces modèles,(2) utilise ensuite ce modèle de correspondance pour traiter les changements, identifiés automatiquement.

L’apport de cette approche est donc double. La première contribution est celle d’un proces-sus permettant la création d’une vue globale du système par l’intermédiaire d’une composition fondée sur la mise en correspondance de plusieurs modèles partiels. Les correspondances, n-aires, identifiées entres les éléments des modèles se basent sur des types de relations instanciées à partir d’un méta-modèle de correspondance. Ce dernier est extensible (selon les spécificités du domaine d’application considéré) et permet de supporter les concepts relatifs à ce domaine. Les correspondances sont d’abord identifiées entre les méta-éléments des méta-modèles des modèles partiels. Les correspondances entre les éléments de modèles sont ensuite obtenues par un mécanisme de raffinement, supporté par un langage d’expression de la sémantique des rela-tions : SED (Semantic Expression DSL). La composition est dite « virtuelle » dans la mesure où les éléments figurant dans une correspondance ne sont que des références aux éléments ap-partenant aux modèles partiels. De ce fait, les modèles inter-connectés par ces correspondances forment un modèle global virtuel.

La seconde contribution est relative au maintien de la cohérence des modèles partiels et du modèle global. En effet, les modèles évoluant dans le temps, le changement d’un élément ou de plusieurs éléments participant à des correspondances, peut entraîner l’incohérence du modèle global. Pour maintenir la cohérence du modèle global, nous proposons un second processus permettant (1) d’identifier automatiquement les changements réalisés (2) de les classifier en focniton de l’imoprtance de leurs répercusisons éventuelles et (3) de proposer des traitements adaptés, voire de les réaliser automatiquement.

Ce travail a été concrétisé par le développement d’un outil support nommé HMCS (Hetero-geneous Matching and Consistency management Suite), basé sur la plateforme Eclipse.

L’approche a été validée et illustrée à travers un cas d’étude portant sur la gestion du Service d’Urgence d’un hôpital (ce travail a été mené en collaboration avec le CHU de Montpellier).

En proposant cette approche, nous avons répondu aux objectifs que nous nous étions fixés de :

Fournir un modèle global du système tout en conservant la production de modèles partiels assurant que les besoins des parties prenantes sont pris en compte.

Fournir des moyens d’aligner les modèles hétérogènes partiels d’un système, pour fournir un modèle global cohérent.

Et nous avons relevé plusieurs défis, tels que :

Réaliser l’alignement des modèles hétérogènes, mais aussi maintenir la cohérence de l’ensemble dans les cas d’évolution d’un ou plusieurs modèles, ou encore d’introduction d’un nouveau modèle.

Fournir et mettre en œuvre des mécanismes de gestion des évolutions des modèles par-tiels.

Avec l’alignement de modèles hétérogènes supporté par AHM, nous répondons aux ques-tions :

Question 1 : Comment garantir la validité des modèles de conception dans leur en-semble ?

Question 2 : Comment garantir le cohérence des modèles de conception dans leur ensemble ?

Question 4 : Comment assurer la cohérence de l’ensemble en permettant à chacun de travailler avec ses propres outils ?

4.6 Discussion

Dans le cadre de cette approche, nous nous sommes intéressés à l’apport des ontologies pour réaliser l’alignement des modèles partiels [105]. Sur la base d’un alignement commun au niveau méta-modèle, un ensemble de correspondances au niveau modèle est généré, puis affiné à l’aide d’approches de correspondance syntaxique.

Les résultats obtenus ont montré des pistes intéressantes, comme la possibilité de s’appuyer sur des techniques éprouvées pour réaliser l’alignement, fondé sur des éléments syntaxiques, ou des relations typiques comme la similarité.

Néanmoins, des limitations fortes, dues notamment au fait que la plupart des ontologies travaillent au niveau terminologique, tandis que nous travaillons essentiellement au niveau des assertions.

Bien que nous nous soyons concentrés dans cette étude sur la relation de similitude, comme la plupart des approches existantes en matière d’alignement de modèles, d’autres types de rela-tions devraient pouvoir être exploitées.

En effet, les évolutions qui ont eu lieu dans le domaine des ontologies avec la possibilité de raisonner et de faire de l’inférence de règles, devrait permettre d’améliorer le processus d’alignement des modèles partiels et les techniques de maintien de la cohérence de l’ensemble du système [11].

Par ailleurs, si des métriques de la qualité de l’outil HMCS, quantifiées à l’aide de CodePro

Analytix, ont été réalisées(cf. [99]3), l’évaluation de l’apport de l’utilisation de l’outil support

qui a été menée ne l’a pas été dans des conditions satisfaisantes et n’a pas permis de véritable-ment conclure. Nous envisageons donc de mener cette étude de façon plus rigoureuse dans nos travaux futurs.

Dans les perspectives à ce travail, il faut aussi envisager d’adapter cette approche pour sou-tenir la collaboration dans l’alignement des modèles et la gestion de la cohérence des modèles de correspondance. En effet, dans des systèmes réellement complexes, le rôle d’expert - ayant une vision et connaissance globale de toutes les préoccupations des différents points de vue - peut difficilement être défini. Nous avons noté que pour prendre certaines décisions, notam-ment lors du calcul de la répercussion de certaines évolutions, l’expert devait s’appuyer sur la connaissance des concepteurs concernés. Nous proposons que les concepteurs travaillent en étroite collaboration pour participer à l’élaboration du système global d’une part et au maintien de sa cohérence d’autre part. L’idée est de continuer à respecter l’indépendance de chaque "mé-tier" en lui permettant de réaliser son propre modèle partiel, avec les langages et outils dédiées, mais de ne plus cloisonner le production des modèles. C’est ce sur quoi nous avons travaillé dans le cadre de la thèse de Saloua Bennani (cf. chapitre 5 suivant).

Chapitre 5