Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Belinda Nabers Geändert vor über 11 Jahren
1
Aufgabenstellung Technische Grundlagen Konzeptuelle Grundlagen Besondere Aspekte bei der Umsetzung Demonstration Offene Aspekte Zusammenfassung Integration eines UML2 Aktivitätsdiagramm-Editors in ViPER Abschlussvortrag Daniel Watermeyer 10.09.2008
2
Aufgabenstellung
3
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 3 - / 19-May-14Aufgabenstellung Realisierung eines Editors für UML2-Aktivitätsdiagramme Basis: UML2-Spezifikation Konzeptuelle Grundlagen Integration in ViPER ViPER: Visual Tooling Platform for Model-Based Engineering Basis: diverse Frameworks Technische Grundlagen
5
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 5 - / 19-May-14 Technische Grundlagen (1) Eclipse-Rich-Client–Plattform Eclipse Plug-in Modell Eclipse–Modeling–Framework (EMF) Eclipse-UML2 Eclipse-Graphical-Editor-Framework (GEF)
6
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 6 - / 19-May-14 Eclipse-Modeling-Framework EMF.Core: Ecore als Metamodell für EMF- Modelle EMF.Edit EMF. Codegen
7
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 7 - / 19-May-14 Eclipse-UML2/ GEF GEF Grundlagen für interaktive User-Interfaces für grafische Editoren Bestandteile: Draw2d Darstellungsaufgaben GEF Eclipse-UML2 Implementierung des UML2-Metamodells
8
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 8 - / 19-May-14 Technische Grundlagen (2) ViPER – Visual Tooling Platform for Model-Based Engineering Funktionalität in ViPER–IDE Verschiedene Eclipse Plug-ins
9
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 9 - / 19-May-14 ViPER ViPER–Platform (Basis: EMF, GEF) ViPER-Platform-Core ViPER-Platform-MTF (Model Transformation Framework) ViPER-Platform-VMF (Visual Modeling Framework) ViPER–UML2 ViPER-UML2-Core ViPER-UML2-Codegen Referenzimplementierung des MTF ViPER-UML2-VME (Visual Modeling Environment) Referenzimplementierung des VMF Erstellter Editor erweitert VME
10
Konzeptuelle Grundlagen
11
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 11 - / 19-May-14 Konzeptuelle Grundlagen UML2 Spezifikation (Superstructure Version 2.1.1) Spracheinheiten Activities Actions Classes und andere Zentrales Element Activity Darstellung durch Aktivitätsdiagramm
12
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 12 - / 19-May-14 Activity Activity: Spezifikation von Verhalten als koordiniert ausgeführte Sequenz untergeordneter Einheiten Semantik: token flow Verhalten: Kontextbezogen Spezifikation der Zustandsänderung des Kontexts Zeitbezogen Untergeordnete Einheiten: ActivityNodes ActivityEdges ActivityGroups
13
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 13 - / 19-May-14 Activity – Metaklassen
14
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 14 - / 19-May-14 ActivityNode/ ActivityEdge – Metaklassen
15
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 15 - / 19-May-14 ActivityNodes ExecutableNodes Elementare Verhaltensfragmente der Aktivität StructuredActivityNodes Actions Vielzahl von verschiedenen Actiontypen ObjectNodes Repräsentation von Objekten, Daten oder Attribut- werten Werden ExecutableNodes zur Verfügung gestellt ControlNodes Koordination von Objekt- und Kontrollflüsse zwischen anderen Knoten der Aktivität
16
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 16 - / 19-May-14 ActivityGroups ActivityGroups: Gruppierungskonstrukt für Edges und Nodes ActivityPartition InterruptibleActivityRegion ExecutableNodes: StructuredActivityNodes
17
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 17 - / 19-May-14 Beispiel ActivityParameterNode ObjectFlow AddVariableValueAction InputPin ControlFlow JoinNode ReadVariableAction OutputPin Token Flow: Initiale Knoten Token auf ausgehende Kanten Knoten aktiviert Alle eingehenden Kanten besitzen Token Alle Inputpins haben Token Knoten ausgeführt Token auf ausgehende Kanten OutputPins erhalten Token
18
Besondere Aspekte bei der Umsetzung
19
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 19 - / 19-May-14 Besondere Aspekte bei der Umsetzung Action Beispiel: UnmarshallAction AcceptEventAction CallBehaviorAction Vielzahl von Elementen: 36 Actions 9 ObjectNodes 7 ControlNodes 7 ActivityGroups 2 ActivityEdges 2 sonstige Edges Sonstige Elemente Vielzahl von Constraints für und zwischen Elementen Weitere Beispiele: ValueSpecifiactaion ActivityParameterNode ExceptionHandler
20
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 20 - / 19-May-14 ValueSpecification (1)
21
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 21 - / 19-May-14 ValueSpecification (2) 14 ValueSpecifications Parser/ String-Generator UML2ValueSpecificationDisplayStringParser UML2ValueSpecificationDisplayStringGenerator 8 Anwendungsgebiete Je ein EditPart Beispiel: UML2ActivitiesValueSpecificationJoinSpecLabelEditPart Je eine Figure Beispiel: UML2ActivitiesValueSpecificationJoinSpecLabelFigure
22
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 22 - / 19-May-14 ValueSpecification (3) Anlegen/ Löschen im Graph-Modell Resynchronisation Resynchronisations-Methode pro Anwendungsgebiet/ EditPart UML2ActivitiesValueSpecificationHelper Methodenablauf: addGraphElement oder removeGraphElement Anlegen/ Löschen im Kern-Modell Kontextmenü Container-Element
23
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 23 - / 19-May-14 ActivityParameterNode (1) Direction des Parameters: In ausgehende Kanten Out eingehende Kanten Inout ein- und ausgehende Kanten Validator Attribute des Parameters: isStream {stream} als Label isException Δ als Label Input/ Output der Activity Parameter liegt zu Grunde
24
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 24 - / 19-May-14 ActivityParameterNode (2) Anlegen des Parameters Affiliated-Element der ActivityParameterNode Auswählbare Parameter Replacement-Validator
25
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 25 - / 19-May-14 ExceptionHandler (1) Edge Assoziationen: protectedNode handlerBody exceptionType exceptionInput ProtectedNode, HandlerBody ExecutableNodes ExceptionType Exceptions, die der Handler behandelt ExceptionInput InputPin des HandlerBody ExceptionToken hier: Aktivierung HandlerBody
26
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 26 - / 19-May-14 ExceptionHandler (2) Blitzsymbol der Kante DecorationLayer (wie Pfeilspitze auch) ExceptionTypes Anlegen Erster Typ über Affiliated – Mechanismus Weitere Typen über Direct-Editing UML2ExceptionTypeDirectEditPolicy UML2ActivitiesExceptionHandlerExceptionTypeDisplay StringParser Kontextmenü Löschen Direct-Editing oder Kontextmenü
27
Demonstration
28
Offene Aspekte
29
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 29 - / 19-May-14 Offene Aspekte Fehlenden Elemente: 21 von 36 Actions Technisch nicht mehr anspruchsvoll Spezialisierungen der StructuredActivityNode LoopNode ConditionalNode SequenceNode Unterteilte StructuredActivityNodes ?
30
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 30 - / 19-May-14 ValueSpecification Erweiterung des Parsers und des String-Generators für ValueSpecification Zum Beispiel nicht erkennbar/ nicht darstellbar: Duration DurationInterval TimeExpression TimeInterval Nicht immer entscheidbar Dialog?
31
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 31 - / 19-May-14 ParameterSets/ ActivityGroups (1) ParameterSet InterruptibleActivityRegion ActivityPartition
32
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 32 - / 19-May-14 ParameterSets/ ActivityGroups (2) Gruppierte Elementmengen nicht disjunkt Nutzung des Layers der enthaltenen Elemente Nicht möglich Draw2d Figure-Baumstruktur Darüber liegenden Layer nutzen oder neuen Layer integrieren Probleme: z.B. Realisierung der Verschiebung
33
Zusammenfassung
34
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 34 - / 19-May-14 Zusammenfassung Actions Infrastruktur Abstrakte Klassen und Default- Figures/EditParts Validatoren Weitere Actions leicht integrierbar StructuredActivityNodes ObjectNodes ValueSpecifications 8 Anwendungsgebiete ObjectFlow/ ControlFlow Validatoren ExceptionHandler einige offene Aspekte
35
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 35 - / 19-May-14 Vielen Dank für die Aufmerksamkeit!
36
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 36 - / 19-May-14 AcceptEventAction Zwei mögliche Figures Standard: Alle Trigger (mind. 1) haben TimeEvent: Beide Darstellungen möglich: Darstellung frei wählbar Element des Kernmodells entsprechend der Präsentationsoption mit richtigem Element des Graphmodells verbunden
37
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 37 - / 19-May-14 CallBehaviorAction CallBehaviorAction: Aufruf eines Verhaltens Assoziation CallBehaviorAction und Verhalten (z.B. Activity) Hier möglich: Repräsentation der Assoziation auf Graphmodell-Ebene DiagramLink
38
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 38 - / 19-May-14 Multi – Layering in ViPER (1)
39
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 39 - / 19-May-14 Grund: Kinderfiguren nur im Bereich der Eltern Aufteilung: Boundary-Layer: Input-/OutputPins Connection-Layer Label-Layer Multi - Layering in ViPER (2) Primary Layer Connection Layer Grid Layer Label Layer Boundary Layer
40
D. WatermeyerIntegration eines UML2 Aktivitätsdiagram-Editors in ViPER- 40 - / 19-May-14 ActivityPartition Probleme: 2-dimensionale ActivityPartition unlösbar mit FlowLayout Elemente ActivityPartition Mögliche Position: auf der Grenzlinie Knoten (teilweise) auf Grenzlinie Element in Partition?
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.