31
Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibung en Mark Lehmacher, Veit Hoffmann, Prof. Dr. Horst Lichter Research Group Software Construction [email protected] www-lufgi3.informatik.rwth-aachen.de

Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

Embed Size (px)

Citation preview

Page 1: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

Grundlagen

ExecutionModel

Simulationsumgebung

Eine Simulationsumgebung für strukturierte

natürlichsprachliche Anwendungsfallbeschreibunge

n

Eine Simulationsumgebung für strukturierte

natürlichsprachliche Anwendungsfallbeschreibunge

n

Mark Lehmacher, Veit Hoffmann, Prof. Dr. Horst Lichter

Research GroupSoftware Construction

[email protected]

Page 2: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 2 - / 17-Jan-08

Einleitung

Ziel der Arbeit 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)

Page 3: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 3 - / 17-Jan-08

Gliederung

Grundlagen und einführendes Beispiel

Page 4: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 4 - / 17-Jan-08

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

Page 5: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 5 - / 17-Jan-08

NaUTiluS

derzeitiger Funktionsumfang 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

Page 6: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 6 - / 17-Jan-08

Beispiel: Geldautomat

Page 7: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 7 - / 17-Jan-08

NarrativeModel: Flow

Geld abheben

NarrativeDescriptionFlow

Events

Page 8: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 8 - / 17-Jan-08

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

Page 9: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 9 - / 17-Jan-08

NarrativeModel: Event

Page 10: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 10 - / 17-Jan-08

Use Case: Authentifizieren

Authentifizieren

Kunde gibt

PIN ein Automat zieht

Karte ein

Automat informiert Kunden: falsche

PIN

Page 11: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 11 - / 17-Jan-08

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

Page 12: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 12 - / 17-Jan-08

NarrativeModel spannt Graph aufKunde kommt zum Geldautomaten und

schiebt Bankkarte ein

Kunde gibt PIN ein

Der Kunde wählt Geldbetrag und

bekommt das Geld ausgezahlt

Bankautomat zieht Karte ein

Bankautomat informiert Kunden, dass er falsche

PIN eingegeben hat

Use Case Ende

Automat druckt Quittung

Page 13: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 13 - / 17-Jan-08

Gliederung

Das ExecutionModel als Basis für die Simulation

Page 14: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 14 - / 17-Jan-08

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

Page 15: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 15 - / 17-Jan-08

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)

Page 16: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 16 - / 17-Jan-08

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

Page 17: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 17 - / 17-Jan-08

ExecutionModel

Page 18: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 18 - / 17-Jan-08

ExecutionModel

Page 19: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 19 - / 17-Jan-08

Beispiel: Transitions/EventExecutions

8 Transitions

6 EventExecutions

Page 20: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 20 - / 17-Jan-08

ExecutionModel

Verhältnis Events zu EventExecutions mehrere EventExecutions kapseln

selben Event falls auf mehreren Wegen erreichbar

!

I

Use Case Ende

I

!

!

Page 21: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 21 - / 17-Jan-08

Effekte durch VererbungSemantische Variation

Page 22: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 22 - / 17-Jan-08

ExecutionModel

Page 23: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 23 - / 17-Jan-08

Beispiel: ExecutionContext

Authentifizieren

Authentifizieren#Falsche PIN

Authentifizieren#Standard

Geld abheben#Standard

Geld abheben

Page 24: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 24 - / 17-Jan-08

ExecutionModel

Page 25: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 25 - / 17-Jan-08

Gliederung

Die Simulationsumgebung

Page 26: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 26 - / 17-Jan-08

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

Page 27: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 27 - / 17-Jan-08

Aktueller Stand

Bereits „fertiggestellt“ FlowView: graphische Darstellung der internen Struktur von

NarrativeDescriptions ExecutionModelView: graphische Darstellung einer

ExecutionModel Instanz

Demonstration!

Page 28: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 28 - / 17-Jan-08

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

Page 29: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 29 - / 17-Jan-08

Noch zu tun

TraceEditor Aufnehmen von Traces (Recorder) Traces im Modell gespeichert, daher wieder abspielbar

Integration mit vorhandenen Views Herausforderung: Synchronization der Workbench

Selektionen

Evaluierung der Simulationsumgebung

Page 30: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 30 - / 17-Jan-08

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)

Page 31: Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte natürlichsprachliche Anwendungsfallbeschreibungen Mark Lehmacher,

M. LehmacherEine Simulationsumgebung für natürlichsprachliche Anwendungsfallbeschreibungen - 31 - / 17-Jan-08

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