Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform

Slides:



Advertisements
Ähnliche Präsentationen
Modellgetriebene Softwareentwicklung
Advertisements

Geometrische Datenstrukturen Haozhe Chen Aaron Richardson.
Peter Marwedel TU Dortmund, Informatik 12
Art der Arbeit (Projekt-/Studien-/Diplomarbeit/
Verbs Used Impersonally With Dative Deutsch I/II Fr. Spampinato.
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Was ist neu in VFX 9.5 im 2. Quartal 2006? Uwe Habermann Visual Extend Product Manager
UML Begleitdokumentation des Projekts
Lanes – Ein Overlay zur Dienstsuche in Ad-hoc- Netzen.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - Use Cases - Thomas Herrmann, Lehrstuhl Informations- und Technikmanagement (IMTM)
Vorlesung Gestaltung von soziotechnischen Informationssystemen - RequirementsEngineering und Contextual Design- Thomas Herrmann, Lehrstuhl Informations-
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
Ein Use Case-Modellierungs-werkzeug für die ViPER-Plattform
You need to use your mouse to see this presentation © Heidi Behrens.
Grundlagen ExecutionModel Simulationsumgebung
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Vorgehensweise bei der Software-Entwicklung des Publication Managers
Institut für Umweltphysik/Fernerkundung Physik/Elektrotechnik Fachbereich 1 K. Bramstedt, L. Amekudzi, J. Meyer IFE/IUP Tangent heights in occultation.
UML-Kurzüberblick Peter Brusten.
+ Arbeitsbericht mit Blick in die Zukunft M. Pernicka
Separable Verbs Turn to page R22 in your German One Book R22 is in the back of the book There are examples at the top of the page.
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Copulas (1) András Bárdossy IWS Universität Stuttgart.
Guten Morgen oder Guten Tag, Deutsch II! Dieses Jahr werde ich viel mehr Deutsch sprechen. So, passt auf und hört zu! Ich habe Klassinformation dass ihr.
Der formelle Imperativ – the Imperative
Lust auf Lesen Treffpunkt Deutsch Sixth Edition. Relative Pronoun object of a preposition Recall from chapter 9 that relative clauses describe people,
The prepositions in and an Two way prepositions. What are two-way prepositions? 0 A set of prepositions can take the dative or the accusative case: "an",
1IWF/ÖAW GRAZ Data Combination David Fischer, Rumi Nakamura (IWF/OeAW)  Fluxgate: noise + distortion gets worse than the searchcoil at ~ 6 Hz.  Searchcoil:
Nominative & Accusative Basic Rules for Relative Pronouns in German:
Stephanie Müller, Rechtswissenschaftliches Institut, Universität Zürich, Rämistrasse 74/17, 8001 Zürich, Criminal liability.
Customer Consignment Processing SAP Best Practices Baseline Package
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Akkusativ Präpositionen
Alltagsleben Treffpunkt Deutsch Sixth Edition
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
1 Konica Minolta IT Solutions Prinzip Partnerschaft MANAGED MONITORING ÜBERWACHJUNG DER SERVERINFRASTRUKTUR UND ANWENDUNGEN DIREKT AUS DER CLOUD.
Unterwegs.
Probesystem Gym 4 Prüfungen pro Schuljahr, in der 2. Klasse 4 ½ Prüfungen. Jeweils ganze Lektion, keine Fragemöglichkeit am Anfang der Prüfungslektion.
Montag den 8. Juni Lernziel:- To launch a project and receive results.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
Lecture slides for Training Curriculum TIA Portal
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Memorisation techniques
Kapitel 8 Grammar INDEX 1.Command Forms: The Du-Command Form & Ihr- Command 2.Sentences & Clauses.
Here‘s what we‘ll do... Talk to the person sitting in front of you. Introduce each other, and ask each other questions concerning the information on your.
10.3 Lektion 10 Geschichte und Gesellschaft STRUKTUREN © and ® 2012 Vista Higher Learning, Inc Der Konjunktiv I and indirect speech —Ich komme.
Kapitel 9 Grammar INDEX 1.Formal Sie- Command 2.There Is/There Are 3.Negation: Nicht/Klein.
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Tutorium Software-Engineering SS14 Florian Manghofer.
ENVIRONMENT PROBLEMS What can I do? Pineapples Traffic  Use public vehicles  Use more bike and go by walking  There should be a filter in every car.
On the case of German has 4 cases NOMINATIVE ACCUSATIVE GENITIVE DATIVE.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Technische Universität München Institute of Aeronautical Engineering Prof. Dr.-Ing. Horst Baier Presentation of the Institute (December 2009)
Standort assurance for companies Industrie- und Handelskammer Lippe zu Detmold 01. Juni 2010 Seite 1 What does the IHK do against the crisis?
1Crypto AG / P_M_HC-2650-Course-Notes-d_0833_rd.PPT Training and Education HC-2650 Kursunterlagen.
(Name of presenter) (Short title of presentation).
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
DAS VIERTE DEUTSCHE KASUS Genitiv. Kasus ● What is a case? A case shows the grammatical function of a word. ● There are four cases in German. Up to now.
Strukturen 3B.2 LEKTION 3B 3B.2-1© 2014 by Vista Higher Learning, Inc. All rights reserved. Time expressions Startblock German has two main concepts related.
Process and Impact of Re-Inspection in NRW
Students have revised SEIN and HABEN for homework
Ferrite Material Modeling (1) : Kicker principle
Use Cases Nico Wacker.
 Präsentation transkript:

Ein Use Case-Modellierungswerkzeug für die ViPER-Plattform Abschlussvortrag zur Diplomarbeit von Andreas Walter andreas.walter@rwth-aachen.de

Überblick Theoretische Grundlagen Aufgabenstellung Lösung Begriffe & Einsatzgebiete Use Cases in der UML Textbasierte Beschreibung von Use Cases Aufgabenstellung Lösung Konzeptueller Lösungsansatz Technische Realisierung Demo Zusammenfassung & Ausblick Theoretische Grundlagen werden kurz aufgefrischt, damit wir bezüglich der grundlegenden Konzepte im Bilde sind 17. April 2007 Andreas Walter

Begriffe & Einsatzgebiete System Akteur Use Case Use Case-Modell Einsatzgebiete Modellierung von Systemverhalten aus Benutzersicht Deskriptiv Präskriptiv Ausgangspunkt für Entwurf, Implementierung und Test Beispiele: Objectory, (R)UP, MeDUSA Ausgangspunkt der Use Case-Modellierung: System Gruppe von Teilen oder Dingen, die zusammenarbeiten und/oder verbunden sind, um ein Ganzes zu bilden. Schlüsselaspekt des Systembegriffes ist hier, dass die Teile ein klar erkennbares Ganzes bilden, dessen Grenzen ebenso klar erkennbar sind -> wir wissen, was innerhalb und was außerhalb des Systems liegt Akteure: Abstraktion von außerhalb des Systems befindlichen Entitäten, die mit dem System in Interaktion treten, auf die Rolle(n), die sie spielen Use Case: „describes how an actor uses a system to achieve a goal and what the system does for the actor to achieve that goal. It tells the story of how the system and its actors collaborate to deliver something that is of value for at least one of the actors.“ (BS03) Use Case-Modell: Beschreibung eines Systems durch Use Cases und Akteure Use Case-Beziehungen: Beschreiben, dass bestimmte Verhaltens- oder Interaktionsmuster im Kontext mehrerer anderer Verhaltensmuster auftreten können (Include), das Verhalten optional oder im Ausnahmefalls nötig werden kann (Extend), oder dass Verhalten einen Spezialfall oder eine Generalisierung eines anderen Verhaltens darstellen kann. 17. April 2007 Andreas Walter

Use Cases in der UML: Use Case-Metamodell Formale Festlegung: Use Cases, Akteure usw. sind Beschreibungen, keine Instanzen Festlegung der Arten von Beziehungen, über die Use Cases miteinander verknüpft und ein Use Case-Modell strukturiert werden können Language Unit Use Cases ist Teil des UML-Metamodells Verwendung der UML erlaubt nicht nur die Use Case-Modellierung, sondern auch die explizite und formale Verknüpfung zu Beschreibungen von Use Case-Realisierungen in nachgelagerten Aktivitäten UML ist ein Standard! 17. April 2007 Andreas Walter

Use Cases in der UML: Use Case-Diagramme und Modelle UML definiert nicht nur das UML-Metamodell, sondern auch verschiedene Arten von Diagrammen, mit denen sich graphische Sichten auf ein UML-Modell darstellen lassen und über die die graphische Manipulation von UML-Modellen möglich ist Ein solches Diagramm und das zugrundeliegende UML-Modell zeigt die Abbildung 17. April 2007 Andreas Walter

Textbasierte Beschreibung von Use Cases nach Bittner & Spence(2003): Inhalte Bestandteil Erläuterung Name Der Name des Use Case. Muss eindeutig sein und sollte das Ziel der Interaktion zwischen System und Akteuren beschreiben. Kurze Beschreibung Stellt knapp das erfasste Interaktionsspektrum dar. Besondere Anforderungen Beschreibung derjenigen Anforderungen, die nicht in der Beschreibung des Ereignissflusses enthalten sind, beispielsweise nichtfunktionale Anforderungen. Vorbedingungen Beschreibung des Zustandes, in dem sich das System vor der Ausführung des Use Case befinden muss. Nachbedingungen Beschreibung des Zustandes, in dem sich das System nach der Ausführung des Use Case befinden muss. Ereignisfluss Beschreibung der Ereignisse, die bei der Ausführung des Use Case geschehen (können). Beziehungen Die Beziehungen, an denen der Use Case teilnimmt. Dies sind einerseits Beziehungen zu Akteuren, die an dem Use Case beteiligt sind, andererseits die Beziehungen zu anderen Use Cases. Use Case-Modellierung bedeutet nicht nur die Identifikation von Use Cases, die Ausschnitte des durch ein System und Akteure aufgespannten Verhaltensspektrums darstellen, sondern auch und vor allem die detaillierte Beschreibung von Use Cases UML definiert unter dem Begriff Interaktionen ein Metamodell und zugehörige Diagrammtypen, durch die theoretisch das von einem Use Case erfasste Verhaltensspektrum beschrieben werden könnte Für die nützlichste und gebräuchtlichste Form der Use Case-Beschreibung, die textbasierte Beschreibung, trifft die UML keine Festlegung Inhalte entstehen entlang des Lebenszyklus eines Use Case aus Autorensicht Bis zur letztendlich „vollständigen“ Use Case-Beschreibung kommen inkrementell Inhalte hinzu, die festlegen, wie das durch einen Use Case erfasste Verhalten beschaffen ist, und wie es in das durch den Use Case insgesamt erfasste Verhaltensspektrum eingebettet ist Die wichtigste inhaltliche Komponente stellt der Ereignisfluss dar. 17. April 2007 Andreas Walter

Beschreibung von Use Cases: Der Ereignisfluss „Einheit“ der Use Case-Beschreibung: Ereignis (Event) Zerlegung der Beschreibung des Systemverhaltens in sogenannte Flüsse (Flow of Events): Basisfluss: Weg des geringsten Widerstands von Start zur Zielerreichung Alternative Flüsse: Optionales oder unter Umständen nötiges (System-)Verhalten, verknüpft mit dem variierten Fluss über Erweiterungspunkte Spezifisch Beschränkt Generell Nicht jedes Szenario kann einzeln beschrieben werden -> Herauspicken eines Normallfalles = Basisfluss Alle Varianten des im Basisfluss beschriebenen Verhaltens werden implizit durch ihre Unterschiede zu diesem beschrieben 17. April 2007 Andreas Walter

Beschreibung von Use Cases: Der Ereignisfluss (2) 17. April 2007 Andreas Walter

Use Case-Beschreibung (Bittner&Spence, 2003): Beispiel Use Case Description: Authenticate Customer 1. Brief Description: This use case is included by other use cases. It is used to authenticate that the individual using the ATM (the Customer) is authorized to use the inserted bank card and that the account associated with the bank card is active. 2. Use Case Diagram: [...] 3. Preconditions The bank card has been inserted into the ATM. The bank card information has been read successfully. A Customer is in dialogue with the including use case. The ATM Session ID has been created. 4. Basic Flow: {Validate Card Information} 1. The system sends the bank card information to the Bank System to confirm that that the bank card and its associated account are active, that the card has not been reported stolen, and that the bank card information (including the PIN) read from the bank card is valid. 2. The system also sends the ATM ID and the ATM Session ID to the Bank System along with the bank card information. 3. The Bank System acknowledges that the bank card information is valid and that the card can be used. {Validate User Identity} 4. The system prompts the Customer for the PIN 5. The Customer enters the PIN. 6. The system checks that the entered PIN is identical to the PIN read from the bank card. {Use Case Ends} 7. Resume the including use case at the next step. 17. April 2007 Andreas Walter

Use Case-Beschreibung: Beispiel (Forts.) 5. Alternative Flows: 5.1 Handle No Communications With the Bank System At {Validate Card Information} if the Bank System cannot be contacted or does not reply within the set communication time-out period, 1. If the communications link has failed more times than the communication retry number, then the authentication attempt is abandoned and basic flow is resumed at {Use Case Ends}. 2. The system attempts to contact the Bank System until it has completed the number of retry attempts indicated by the communication retry number. 3. If communications are reestablished, the basic flow is resumed at {Validate Card Information}. 4. If there is still no response from the Bank System, the system created an event log entry to record the failure of the communications link to the Bank System. The event log entry includes the type of failure. 5. The system sends the event log to the Service Administrator to inform it that communication with the Bank System has been lost. 6. Resume the basic flow at {Use Case Ends}. [...] 6. Postconditions The Customer has been authorized to use the card. The Customer has been barred from using the card, and the card has been confiscated. The Customer has been barred from using the card, and the card has not been confiscated. 7. Public Extension Points None. 8. Special Requirements 17. April 2007 Andreas Walter

Aufgabenstellung Ziel: Werkzeugunterstützung für die Use Case-Modellierung im Rahmen einer UML-zentrierten Entwicklungsmethode (MeDUSA) Use Case-Modellierung als erste Aktivität (Requirements Modeling) Identifikation von Use Cases UML-basiert und graphisch (Use Case Modeling) Detaillierte Beschreibung von Use Cases in textbasierter Form (Use Case Description Modeling) Konzeptuelle und technische Rahmenbedingung: UML-Metamodell ist unverändert zu nutzen Use Case-Modell = UML-Modell/-Diagramme + (Modell) textbasierte(r) Beschreibungen 17. April 2007 Andreas Walter

Konzeptueller Lösungsansatz Zweiteilung eines Use Case-Modells in UML-basierten und textbasierten Teil impliziert überlappenden Informationsgehalt beider „Hälften“ Ein insgesamt konsistentes Use Case-Modell muss einen „semantischen Kern“ besitzen, der eindeutig in beiden Hälften repräsentiert ist! Da Use Case-Beziehungen UML-basiert erfasst und textbasiert „definiert“ werden, überlappt der Informationsgehalt der Teile eines auf diese Weise zweigeteilten Use Case-Modells Ein Use Case-Modell kann insgesamt nicht als konsistent betrachtet werden, wenn sich die beiden Modelle widersprechen (dies kann dort passieren, wo Dinge in beiden Formalismen ausgedrückt werden können) Es ist jedoch wünschenswert, ein hinsichtlich diese „semantischen Kerns“ konsistentes Modell zu erhalten, denn Im Nachhinein ist u.U. schwer zu entscheiden, was gemeint war Anforderungs-Artefakte sollten per se möglichst widerspruchsfrei und konsistent sein Problem: Verwendung natürlicher Sprache vs. Formalisierung Lösungsansatz: Stark strukturierte Beschreibung von Use Cases Ermöglicht algorithmische Konsistenzprüfungen Erlaubt Verwendung natürlicher Sprache 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Repräsentation textbasierter Beschreibungen NarrativeDescription als Repräsentation textbasierter Beschreibungen Annahme: 1:1-Entsprechung Wenn Use Cases UML-seitig identifiziert worden sind, liegt es (vor allem hinsichtlich der Konsistenzprüfung) nahe, diesen Use Cases eine Beschreibung durch explizite Verknüpfung mit der entsprechenden Instanz der UML-Metaklasse UseCase zuzuordnen 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Flüsse und Flusskontexte Flüsse beschreiben Verhaltensfragmente, die während der Ausführung eines Use Case am Stück auftreten können Flusskontexte beschreiben in welchem Zusammenhang die Ausführung eines Flusses beginnt, und was nach dem Erreichen des Endes eines Flusses geschieht Flusskontext ist zunächst ein abstrakter Oberbegriff, konkrete Untertypen werden genutzt, um die Rolle festzulegen, die ein Fluss in der Beschreibung eines Use Case spielt. 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Flüsse und Flusskontexte (2) Die UML unterscheidet implizit Use Cases in solche, die eigenständig zur Ausführung gebracht werden können, und solche, die nicht notwendigerweise zusammenhängendes Verhalten repräsentieren. Letztere Use Cases erweitern andere Use Cases. Die Beschreibung eines in diesem Sinne eigenständigen Use Case wird zerlegt in die Beschreibung des Verhaltens in einer als Normalfall angenommenen Konstellation und die Beschreibung solchen Verhaltens, das Abweichungen vom Normalfall darstellt Für die Flüsse einer textbasierten Beschreibung bedeutet dies, dass genau ein Fluss die Beschreibung des Normalfalles darstellt. Dies ist der sogenannte Hauptfluss, der durch die Eigenschaft mainFlow erfasst wird. Dieser Fluss ist der Fluss einer Use Case-Beschreibung, mit dessen Ausführung die Ausführung eines Use Case begonnen wird. Er ist deshalb allen anderen Flüssen übergeordnet und wird aus diesem Grund mit zwei TLFCs versehen. Alle anderen Flüsse beschreiben Verhalten, das als Erweiterung anderen Verhaltens zutage tritt, und werden daher als Erweiterungsflüsse bezeichnet und mit zwei EFCs versehen. 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Flusses Ereignisbeschreibung ist elementarer Baustein eines Flusses Aus Sicht des Metamodells wird diese nicht weiter interpretiert 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Flusses (2) Inklusionsschritte erfassen die Ausführung inkludierter Use Cases 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Flusses (4) 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Struktur eines Flusses (3) Flussregionen sind gewissermaßen das, was man bei Bittner & Spence als Teilflüsse bezeichnet 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Erweiterungen Erweiterungspunkte beschreiben Zeitpunkte, Erweiterungsregionen beschreiben Zeiträume während der Ausführung eines Flusses, zu denen Verhaltenserweiterungen eintreten können 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Alternative Erweiterungen Alternative Erweiterungen beschreiben alternatives Verhalten, das als Variation von durch einen Use Case erfasstem Verhalten zu betrachten ist und selbst auch diesem zuzurechnen ist 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Alternative Erweiterungen (2) 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Externe Erweiterungen 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Externe Erweiterungen (2) 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierung von Use Cases Wenn man die Spezialisierung von Use Cases auf das durch sie repräsentierte Verhalten beschränkt, bedeutet dies seitens der textbasierten Beschreibungen von Use Cases, die Spezialisierungsbeziehung an ihren Flüssen festzumachen Die Beschreibung eines spezialisierten Use Case „vererbt“ ihre Flüsse an die Beschreibung des spezialisierenden Use Case, in deren Kontext diese punktuell erweitert oder in dafür vorgesehenen Regionen überschrieben werden können 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierungs-Erweiterungen 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Spezialisierungs-Erweiterungen (2) Da die Spezialisierungserweiterung keine dynamische, sondern eine statische Beziehung zwischen Flüssen etabliert, muss ein Spezialisierungs-Erweiterungsziel aus Sicht einer textbasierten Beschreibung eindeutig „genutzt“ werden, d.h., sie darf keine zwei Spezialisierungs-Erweiterungsflüsse enthalten, die das gleiche Ziel adressieren. 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Einbettung in ein Gesamtmodell 17. April 2007 Andreas Walter

Metamodell für textbasierte Use Case-Beschreibungen: Einbettung in ein Gesamtmodell (2) 17. April 2007 Andreas Walter

Beispiel für ein Use Case-Modell Beispielsystem ist ein eingebettetes System, das der Berechnung von Flussraten in einem Rohr und der Darstellung der Berechnungsergebnisse auf verschiedenen Ausgängen dient Während der Berechnung können verschiedene Arten von Alarmen ausgelöst werden. Diese werden entweder zunächst nur registriert oder führen zum Abbruch einer Berechnungskette. Die Ausgabe der Flussrate und und Signalen zur Meldung eventuell aufgetretener Alarme geschieht auf einem analogen und einem digitalen Ausgang. Der analoge Ausgang kann zu einem Zeitpunkt nur einen Strom ausgeben, der entweder einen Flussraten-Wert oder ein Alarmsignal beschreibt, was durch die Stromstärke unterschieden werden kann Ausgabe eines Stromsignales unterscheidet sich nur hinsichtlich der Berechnung des Stromwertes und wird durch abstrakten Use Case Current Output beschrieben Spezialisierungen stellen dar, wie dieser Stromwert berechnet wird. 17. April 2007 Andreas Walter

Beispiel für ein Use Case-Modell (2): Textbasierte Beschreibungen Description of Use Case Current Output Main Flow Start Preconditions: None 1 AEP: Chosse between simulation and calculation 2 SEP: Calculate actual current 3 AEP: Current stored 4 Validate that current does not exceed span limits 5 AEP: Current validated 6 Calculate PWM output signal 7 Normalize 8 Output PWM signal 9 AEP: End End Postconditions: None Alternative Flow Simulate Current Start At Choose between calculation and simulation, if simulation mode has been set 1 Store simulated value as current value End If TRUE, continue at Current stored Alternative Flow Raise „Limits exceeded“ alarm Start At Current validated, if current exceeds span limits 1 Raise „Limits exceeded“ alarm End If TRUE, Continue at End 17. April 2007 Andreas Walter

Beispiel für ein Use Case-Modell (3): Textbasierte Beschreibungen (2) Description of Use Case Current Output Main Flow Start Preconditions: None 1 AEP: Chosse between simulation and calculation 2 SEP: Calculate actual current 3 AEP: Current stored 4 Validate that current does not exceed span limits 5 AEP: Current validated 6 Calculate PWM output signal 7 Normalize 8 Output PWM signal 9 AEP: End End Postconditions: None Description of Use Case Alarm Current Output Specialization Flow Calculate Alarm Current Start At Calculate actual current 1 Calculate actual current from alarm value Description of Use Case Flow Rate Current Output Specialization Flow Calculate Flow Rate Current Start At Calculate actual current 1 Calculate actual current from flow rate value 17. April 2007 Andreas Walter

Technische Realisierung Verwendete Rahmenwerke und Bibliotheken: Eclipse SWT/JFace Eclipse Forms Eclipse Modeling Framework (EMF) Graphical Editor Framework (GEF) ViPER Wozu sind die Rahmenwerke prinzipiell gut? 17. April 2007 Andreas Walter

Technische Realisierung (2) Graphischer Editor für UML Use Case-Modelle sc.viper.uml2.vme.behaviour.usecase: Diagrammtyp-Erweiterung für ViPER UML2 VME Editor für textbasierte Use Case-Beschreibungen sc.viper.uml2.vme.behaviour.usecase.narrativemodel EMF-basierte Implementierung des Metamodells für textbasierte Use Case-Beschreibungen Nutzung des EMF Validation Framework für die Realisierung von Konsistenzprüfungen sc.viper.uml2.vme.behaviour.usecase.narrative Implementierung des Editors für textbasierte Use Case-Beschreibungen 17. April 2007 Andreas Walter

Zusammenfassung und Ausblick Herausforderungen Konzeptuell Formalisierung textbasierter Use Case-Beschreibungen, ohne die Verwendung natürlicher Sprache zu sehr einzuschränken Technisch Komplexität verwendeter Rahmenwerke ViPER reift noch Ergebnisse Metamodell für textbasierte Use Case-Beschreibungen Editor für die graphische Bearbeitung von UML-basierten Use Case-Modellen Editor für die Bearbeitung von textbasierten Use Case-Beschreibungen Integrierte Prüfung von Konsistenzbedingungen zwischen UML-Modell und Modell textbasierter Beschreibungen Ausblick Report-Generierung Simulation , interaktive Validierung 17. April 2007 Andreas Walter

Ende Vielen Dank! 17. April 2007 Andreas Walter