Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGascon Flament Modifié depuis plus de 10 années
1
Transformation de modèles Kick Off Motor Jean Marc Jézéquel & Didier Vojtisek La vision Triskell : Umlaut NG
2
2 Contexte n Manipulation du niveau M1 (Q/V/T) n M2 supposé connu du Designer –si CASE le supporte, accès possible en lecture à M2 (introspection)
3
3 Contexte n MDA : raffinements successifs RequirementsAnalysis Architectural Design Detailed Design ImplementationValidation Lifecycle Modeling point of views Proofs, QoS Analysis, Simulation Technical Aspects Business Aspects Text (e.g. XML) PIM Doc PIM PSM PIMPSM CodeTests Formal Models Endomorphic Transformations Exomorphic Transformations Outside UML scope PIM=Platform Independent Model PSM= Platform Specific Model
4
4 Objectifs n Généraliser la manipulation de modèle (et pas seulement UML) –M2 doit simplement être MOF-compliant n Possibilité de connexion aux outils du marché. n Faciliter l'écriture de transformations réutilisables d'un Méta modèle à l'autre, ou d'une version à l'autre (bibliothèques) – Ex : Les transformations doivent pouvoir manipuler des concepts abstraits qui se retrouvent d'un MM à l'autre
5
5 Moyens n Ecriture d'un moteur de transformation indépendant du dépositaire de modèle –Construire les bases d'une structure interopérable n Création d'un langage objet avec des facilités de manipulation de modèles –Model Transformation Language (MTL)
6
6 Positionnement / QVT n Une dizaine de soumissions –Risque: ce n'est pas la notre (Open QVT) qui est standardisée n Solutions: –Soit le standard est proche n On fait évoluer MTL vers le standard –Sinon : n MTL fournira une infrastructure pour construire les surcouches telles qu'elles seront standardisées à l'OMG (QVT)
7
7 Positionnement de MTL Moteur MTL Dépositaires Transformation Utilisateur en OMG-QVT Bibliothèque Framework Transformation Utilisateur en MTL Interpreteur/Compilateur OMG-QVT 2 MTL en MTL
8
8 Moteur : Caractéristiques principales n Délégation du stockage du modèle à des dépositaires –Objecteering, MDR, Kase, ancien Umlaut,… –wrapper d'accés pour chaque outil. simplifié par BIM ? –API inspirée de MOF mais simplifiée pour accéder à un plus grand nombre d'outils. n Manipulation de type "simple" uniquement (string, int, uid, collection …) –Typage implicite des éléments de modèle dans les transformations. n Interprété ou compilé (voire approche mixte)
9
9 Dépositaires n Création d'instance d'éléments de modèle n Interrogation/Modification de valeurs du modèle. n Exécution de méthodes du modèle (optionel) ex: des "helpers" fournis par le dépositaire. n Introspection (optionnelle)
10
10 Exemple avec introspection n Dépositaire "MOF" n Ex: MDR DEPOSIRAIRE MOF API générique SOURCE MTL Transformation de modèle basée sur un métamodèle COMPILATEUR MTL BINAIRE de la transformation API générique partie introspection METAMODELE arbre N-aire ( MODELE MOF) Modèle d’arbre N-aire
11
11 MTL: langage objet générique n OCL + effets de bords + structuration objet "MTL" –Typage statique explicite pour les objets MTL –Typage implicite pour les objets issus du M1 n Délégation des fonctions système à des dépositaires spécialisés ou librairies natives n Permet la construction de frameworks OO –Gestion de la complexité et de la variabilité (Lignes de produits,Multiples MM…)
12
12 MTL ~= Infrastructure UML n Appliquer aux programmes de transformations les techniques objet –A terme : approche MDA pour coder les transformations elles mêmes. n Support des exceptions n Syntaxe textuelle ou graphique –E.g. notion d'associations navigables en OCL
13
13 Vers du full MDE… Modèles en lecture seule Modèles en lecture écriture Modèle de la transformation Modeleur MTL Machine MTL Modeleurs dédiés
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.