Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Aufgabenstellung Technische Grundlagen Konzeptuelle Grundlagen Besondere Aspekte bei der Umsetzung Demonstration Offene Aspekte Zusammenfassung Integration.

Ähnliche Präsentationen


Präsentation zum Thema: "Aufgabenstellung Technische Grundlagen Konzeptuelle Grundlagen Besondere Aspekte bei der Umsetzung Demonstration Offene Aspekte Zusammenfassung Integration."—  Präsentation transkript:

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

4

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?


Herunterladen ppt "Aufgabenstellung Technische Grundlagen Konzeptuelle Grundlagen Besondere Aspekte bei der Umsetzung Demonstration Offene Aspekte Zusammenfassung Integration."

Ähnliche Präsentationen


Google-Anzeigen