Usecase Meta Model Comparison and Model Migration Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme
Einführung in den Atlas Model Weaver (AMW) theoretisch und praktisch Anwendungsgebiete Wo kann man Atlas Model Weaver (AMW) verwenden? Erfahrungsvermittlung Probleme, Eigenheiten, Fehlerquellen, Einschätzung 2
1. Einleitung 2. Anwendungsgebiete 3. AMW Architektur 4. Heuristiken (Matching Transformation Library) 5. Vorstellung der Fallstudie 6. Demonstration 7. Zusammenfassung 3
Ein Weaving Modell ist ein Modell, das Beziehungen zwischen Modellen ausdrücken soll. Modell A Weaving Modell Modell B 4
Ein Weaving Modell definiert sich durch das Weaving Metamodell. Meta- Meta- Modell M3 konform zu MOF Meta- Modell M2 UML MM AMW MM Modell M1 UML model AWM Model 5
Eine Umgebung für die Anfertigung von Weaving Modellen Entwickelt durch The French National Institute for Research in Computer Science and Control Teil des Generative Modeling Technologies (GMT) Projektes Stellt Tools für die modellgetriebene SW-Entwicklung bereit Plug-In, integriert in die Entwicklungsumgebung Basiert auf Eclipse Modeling Framework (EMF) und nutzt Atlas Transformation Language (ATL) 6
(Meta)model Comparison Vergleich von großen (Meta)modellen Tool Interoperability Migration von Modellen Model Composition Vereinigung von Modellen Model Traceability (Meta)model Annotation Verfolgung von Anforderung Model Refactoring Ontologie Design, Semantic Web 7
Meta Model Comparison and Model Migration Metamodel Comparison Tool Interoperability 8
ElementEqual-Link LinkEnd attribute Equal- Link inkend ElementEqual-Link Metamodel A Weaving Comparison Model Metamodel B 9
Muss man denn alle Links von Hand setzen? Nein. Es existieren Heuristiken, die Gleichheit von Elementen halbautomatisch bestimmen. 10
Tool A Tool B basiert auf basiert auf Metamodel A konform zu verschieden konform zu Metamodel B Modelle A Migration Modell B 11
modelliert Beziehungen Wurzel Referenzen auf Modelle, die in Relation stehen Referenzen auf Elemente in den Modellen n-äre Links 12
Core Metamodell ist eine abstraktes Metamodell. Je nach Bedeutung/Benutzung muss das WM erweitert werden. AMW ZOO M2 <<extends>> <<extends>> AMW Core MM <<extends>> <<extends>> MM Comparison Traceability Extension Annotation Extension Match Extension 13
Cartesian Product Kartesisches Produkt Name Equality Gleichheit von Bezeichnern mit Gewichtung Threshold Selektion der Elemente mit hoher similarity Link Rewriting AxB = {(a,b) a A b B )} Strukturiert das Weaving Modell gemäß contaiment -Beziehung 14
Cartesian Product Kartesisches Produkt Name Equality Gleichheit von Bezeichnern mit Gewichtung Similarity++ Similarity =1 Threshold Selektion der Elemente mit hoher similarity Similarity =0 Link Rewriting Strukturiert das Weaving Modell gemäß contaiment -Beziehung 15
Cartesian Product Kartesisches Produkt Name Equality Gleichheit von Bezeichnern mit Gewichtung Similarity =1 Threshold Selektion der Elemente mit hoher similarity Similarity =0 Link Rewriting Strukturiert das Weaving Modell gemäß contaiment -Beziehung 16
Cartesian Product Kartesisches Produkt Name Equality Gleichheit von Bezeichnern mit Gewichtung Threshold Selektion der Elemente mit hoher similarity Link Rewriting Strukturiert das Weaving Modell gemäß contaiment -Beziehung WModel WModel AttributeEqual- Link ReferenceEqual- Link ElementEqual- Link Link Rewriting ElementEqual- Link AttributeEqual- Link ReferenceEqual- Link 17
Adressbuch Editor A Adressbuch Editor B basiert auf Metamodell Adressbuch A konform zu verschieden basiert auf konform zu Metamodell Adressbuch B Adressen A Migration Adressen B 18
konform zu MM Adressbuch A Adressen A MM Adressbuch B konform zu Adressen B 1 Weaving Comparison Model Migration 3 2 Modelle A B transformieren Model Transformation 19
1 Heuristiken: Match Extension 1. Kartesisches Produkt 2. Name Equality 3. Threshold 4. Link Rewriting MM Adressbuch A konform zu Weaving Comparison M MM Adressbuch B 20
2 AMW MM <<extends>> Match Extension konform zu Weaving Comparison Model Übersetzung Model Transformation ATL Transformation 21
3 konform zu MM Adressbuch A Model Transformation MM Adressbuch B konform zu Adressen A Transformation Adrssen B 22
23
Weaving Modelle im Einsatz in verschiedenen Domänen Erweiterbar durch Metamodell-Erweiterungen Lösung von Problemen auf höheren Abstraktionsebenen Entkopplung von Technologien Skaliert nicht für größere Modelle 24
www.eclipse.org/gmt/amw www.eclipse.org/gmt/amw/usecases/compare/ www.eclipse.org/gmt/amw/examples/scade/scade_doc.php www.eclipse.org/gmt/amw/examples/ www.eclipse.org/gmt/amw/zoo/ www.eclipse.org/m2m/atl/ Weaving Models with the Eclipse AMW plugin Marcos Didonet Del Fabro, Jean Bézivin, Patrick Valduriez Model-driven Tool Interoperability:an Application in Bug Tracking Marcos Didonet Del Fabro, Jean Bézivin, Patrick Valduriez UML 2.0 Infrastructure Specification Object Management Group 25