Grundlagen ExecutionModel Simulationsumgebung Eine Simulationsumgebung für strukturierte...

Preview:

Citation preview

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

horst.lichter@rwth-aachen.dewww-lufgi3.informatik.rwth-aachen.de

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)

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

Gliederung

Grundlagen und einführendes Beispiel

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

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

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

Beispiel: Geldautomat

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

NarrativeModel: Flow

Geld abheben

NarrativeDescriptionFlow

Events

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

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

NarrativeModel: Event

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

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

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

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

Gliederung

Das ExecutionModel als Basis für die Simulation

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

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)

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

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

ExecutionModel

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

ExecutionModel

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

Beispiel: Transitions/EventExecutions

8 Transitions

6 EventExecutions

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

!

!

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

Effekte durch VererbungSemantische Variation

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

ExecutionModel

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

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

ExecutionModel

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

Gliederung

Die Simulationsumgebung

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

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!

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

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

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)

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

Recommended