grundlagen executionmodel simulationsumgebung eine simulationsumgebung für strukturierte...
TRANSCRIPT
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
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