Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Grundlagen ExecutionModel Simulationsumgebung

Ähnliche Präsentationen


Präsentation zum Thema: "Grundlagen ExecutionModel Simulationsumgebung"—  Präsentation transkript:

1 Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen
Grundlagen ExecutionModel Simulationsumgebung Mark Lehmacher, Veit Hoffmann, Prof. Dr. Horst Lichter Research Group Software Construction www-lufgi3.informatik.rwth-aachen.de

2 Einleitung Ziel der Arbeit Grundlagen
Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Grundlagen besagte Anwendungsfallbeschreibungen zur detaillierten Darstellung von Use Cases ViPER Plattform (Visual Modeling Platform for Embedded & Real Time Software) Context Kisters AG: Monitoring of a multi project portfolio.

3 Grundlagen und einführendes Beispiel
Gliederung Grundlagen und einführendes Beispiel

4 ViPER Plattform ViPER realisiert auf Grundlage der Eclipse Rich Client Plattform basiert auf Technologien aus Eclipse-Projekten: EMF, GEF gemeinsame Infrastruktur in Form von ViPER-spezifischen Frameworks (VMF, VME) ViPER-UML2: beeinhaltet Editoren für diverse UML2 Diagrammtypen ViPER-MeDUSA: Integrierte Unterstützung zur Anwendung des MeDUSA Prozesses zum Design eingebetteter Systeme ViPER-NaUTiluS: Narrative Description Toolkit for Evaluation and Simulation

5 NaUTiluS derzeitiger Funktionsumfang geplante Features
flussorientierte Spezifikation von natürlichsprachlichen Beschreibungen (NarrativeDescriptions) für Use Cases dafür ein Meta Modell: NarrativeModel basierend auf Notation von Bittner & Spence automatische Überprüfung der Konsistenz zwischen NarrativeModel und UML Use Case Modell geplante Features Evaluation & Analyse von UML Use Case Modellen und dazugehörigen NarrativeModel Instanzen Simulation von NarrativeModel Instanzen

6 Beispiel: Geldautomat

7 NarrativeModel: Flow NarrativeDescription Flow Geld abheben Events

8 Use Case: Geld abheben Geld abheben
Kunde kommt zum Geldautomaten und schiebt Bankkarte ein Externe Inklusion von Authentifizieren Der Kunde wählt Geldbetrag und bekommt das Geld ausgezahlt Externe Erweiterung durch Quittung drucken falls Kunde dies wünscht

9 NarrativeModel: Event

10 Use Case: Authentifizieren
Automat informiert Kunden: falsche PIN Kunde gibt PIN ein Automat zieht Karte ein

11 NarrativeModel Weitere NarrativeModel Konzepte
jeder Fluss hat ein oder mehrere Kontexte Exception-Flows Vererbung auf NarrativeDescription Ebene (parallel zur Use Case Hierarchie) abstrakte Flows in abstrakten Use Cases Redefinition von Flüssen und Events erweiterte Semantik für Extensions

12 NarrativeModel spannt Graph auf

13 Das ExecutionModel als Basis für die Simulation
Gliederung Das ExecutionModel als Basis für die Simulation

14 Simulationsumgebung Was soll die Simulation leisten?
Unterstützung der Anforderungsanalyse Evaluierung/Validierung von NarrativeModel Instanzen (auf Vollständigkeit, Konsistenz usw.) Ausgabeartefakte (Text, Modell) als Grundlage für Metriken Tools that are affordable for a medium size enterprise

15 Simulationsumgebung Simulation
ausführungsorientierte Sicht auf NarrativeModel: Standardablauf vs. Alternativabläufe NarrativeModel spannt Graphen von möglichen Pfaden auf ein Pfad durch diesen Graphen entspricht einem Szenario über Simulation Szenarien durchspielen Entscheidungspunkte durch Verzweigungen (in Alternativabläufe) weitere Entscheidungspunkte durch semantische Variationspunkte (Vererbung)

16 ExecutionModel ExecutionModel ist Meta-Modell
theoretischer Unterbau der Simulation Erfassen des aufgespannten Graphen in Modell Simulation auf je einer ExecutionModel Instanz entsteht aus Transformation einer NarrativeModel Instanz technische Realisierung: EMF

17 ExecutionModel

18 ExecutionModel

19 Beispiel: Transitions/EventExecutions

20 ExecutionModel ! Verhältnis Events zu EventExecutions
mehrere EventExecutions kapseln selben Event falls auf mehreren Wegen erreichbar !

21 Effekte durch Vererbung
Semantische Variation

22 ExecutionModel

23 Beispiel: ExecutionContext
Authentifizieren#Falsche PIN Authentifizieren#Standard Geld abheben#Standard Geld abheben Authentifizieren

24 ExecutionModel

25 Die Simulationsumgebung
Gliederung Die Simulationsumgebung

26 Simulationsumgebung Bestandteile der Simulationsumgebung
Visualisierung der internen Struktur von NarrativeDescriptions Visualisierung des durch die NarrativeModel Instanz aufgespannten Graphen ein Trace-Editor zum Aufnehmen und Abspielen von Szenarien Integration der verschiedenen Views und Editoren eigene Eclipse Perspektive für Simulation

27 Aktueller Stand Bereits „fertiggestellt“ Demonstration!
FlowView: graphische Darstellung der internen Struktur von NarrativeDescriptions ExecutionModelView: graphische Darstellung einer ExecutionModel Instanz Demonstration!

28 ExecutionModelView ExecutionModelView
abstrahierte Darstellung einer ExecutionModel Instanz visualisiert wird immer ein Kontext (bzw. die Aktionsmöglichkeiten eines Flows) Navigation über die verschiedenen Kontexte zur Darstellung Transformation der ExecutionModel Instanz in UML Activity Model Kontext repräsentiert durch Activity Step repräsentiert durch Action in der Activity Activities und Actions über Stereotypen und Profilmechanismus mit ExecutionModel verheiratet technische Realisierung: GEF, Draw2D

29 Noch zu tun TraceEditor Integration
Aufnehmen von Traces (Recorder) Traces im Modell gespeichert, daher wieder abspielbar Integration mit vorhandenen Views Herausforderung: Synchronization der Workbench Selektionen Evaluierung der Simulationsumgebung

30 Nice to have Weiterführende Ideen
graphische Visualisierung einer Menge von Traces in der ExecutionModelView in Form von gefärbten Pfaden (Hot spots entdecken) Robustheit der Simulation gegen korrupte NarrativeModel Instanzen Integration der Simulation mit NarrativeModel Editor und Views (vgl. Java Debug Perspektive)

31 Zusammenfassung NarrativeModel Grundlage der Simulation
ExecutionModel wird berechnet aus NarrativeModel EventExecution, Transition und ExecutionContext zentrale Konzepte FlowView und ExecutionModelView zum Visualisieren von NarrativeDescriptions und ExecutionModel Instanzen TraceEditor muss noch realisiert werden und mit Views integriert werden


Herunterladen ppt "Grundlagen ExecutionModel Simulationsumgebung"

Ähnliche Präsentationen


Google-Anzeigen