Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Wernher Bolich Geändert vor über 10 Jahren
1
Instance-Based Context Calculation of OCL Expressions
2
2 Gliederung der Bachelorarbeit Einleitung zu MDD, EMF, OCL, Impact Analyse Voraussetzungen für die instanzbasierte Kontextermittlung Filtersynthese Event Manager Bidirektionale Navigierbarkeit instanzbasierte Kontextermittlung Aufbau von Pfaden für Rückwärtsnavigation Ermittlung der Kontextobjekte Verbesserungsmöglichkeiten prototypische Implementierung
3
3 in Ecore: nur unidirektionale Referenzen Bidirektionalität durch 2 entgegen gesetzte Referenzen in OCL: Navigierbarkeit von nicht navigierbaren Assoziationen optional (laut Spec abhängig von Plattform) nicht von Ecore OCL unterstützt, in MOIN aber möglich Voraussetzungen: Navigierbarkeit 1/2 A B a2b A B b2a context A inv: self.a2b->notEmpty() context A inv: self.a2b.b2a->notEmpty() A B a2b context B inv: self.b2a->notEmpty() b2a
4
4 Voraussetzungen: Navigierbarkeit 2/2 Lösung des Problems der Navigierbarkeit: Ecore Annotationen Annotationen benennen Gegenrichtung Auffinden der referenzierten Objekte mit Model Query 2 Annotationen erweitern Ausdruckskraft von Ecore OCL Ausdruckskraft gleichmächtig zu MOIN OCL A B a2b @b2a context B inv: self.b2a->notEmpty()
5
5 Rückwärtsnavigation Analyse der Navigationspfade von OCL Ausdrücken Aufbau eines Navigationspfades für Rückwärtsnavigation context A inv: self.a2b.b2c.name = X OperationCall = StringLiteral X PropertyCall name PropertyCall b2c PropertyCall a2b Variable self OppositeProperty NavigationStep Association NavigationStep Identity NavigationStep Änderung des Attributs name
6
6 Ermittlung der Kontextobjekte OppositeProperty NavigationStep Association NavigationStep Identity NavigationStep c A B a2b b2a C b2c c c b b b b b a a a a a a
7
7 Ermittlung der Kontextobjekte OppositeProperty NavigationStep Association NavigationStep Identity NavigationStep c A B a2b b2a C b2c c c b b b b b a a a a a a
8
8 Ermittlung der Kontextobjekte OppositeProperty NavigationStep Association NavigationStep Identity NavigationStep c A B a2b b2a C b2c c c b b b b b a a a a a a
9
9 Verbesserungsmöglichkeiten Strategieauswahl anhand der Größe von Instanzmengen Annahme: Overhead InstanceScope Analyse > Auswertung auf gesamten Kontext Feststellung: auf keinem der Beispielmodelle aufgetreten partielle Evaluation von OCL Ausdrücken Vergleich der Ergebnisse der Vorwärtsauswertung vor und nach Änderung Wenn Ergebnis unverändert, Ergebnis des Gesamtausdrucks unverändert
10
10 Detaillierte Architektur
11
11 Performancemessungen Metamodell = Company Model Änderungen auf einer Instanz mit 5000 Elementen
12
12 Hinzufügen eines Departments 3 Events 14 Neuauswertungen
13
13 Löschen eines Departments 4 Events 19 Neuauswertungen
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.