download - SPES 2020
download - SPES 2020
download - SPES 2020
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Zusammenfassendes Deliverable D2.1C:<br />
SysML Profil für Enterprise Architect<br />
zur Modellierung modellbasierter Anforderungen im <strong>SPES</strong>-<br />
Requirements View<br />
Projektbezeichnung <strong>SPES</strong> <strong>2020</strong><br />
Verantwortlich Bastian Tenbergen<br />
Version: 1.0<br />
QS-Verantwortlich Siehe Teilergebnisse im Anhang<br />
Erstellt am 11.04.2011<br />
Zuletzt geändert 06.06.2011 15:24<br />
Freigabestatus Vertraulich für Partner: ; ; …<br />
Projektöffentlich<br />
X Öffentlich<br />
Bearbeitungszustand in Bearbeitung<br />
vorgelegt<br />
X fertig gestellt
Weitere Produktinformationen<br />
Erzeugung Sebastian Gabrisch (SG), Bastian Tenbergen (BT)<br />
Mitwirkend Thorsten Weyer (TW), Heiko Stallbaum (HS), weitere siehe Teilergebnisse<br />
Änderungsverzeichnis<br />
Änderung<br />
Nr. Datum Version<br />
Geänderte<br />
Kapitel<br />
Beschreibung der Änderung Autor Zustand<br />
1 11.04.11 0.1 Alle Initiale Produkterstellung SG In Bearbeitung<br />
2 27.04.11 0.2 Alle Inhaltliche Vervollständigung BT In Bearbeitung<br />
3 17.05.11 0.3 Alle Inhaltliche Vervollständigung SG In Bearbeitung<br />
4 25.05.11 0.4 Alle Inhaltliche Überarbeitung BT In Bearbeitung<br />
5 29.05.11 0.5 Alle Überarbeitung und Korrektur BT In Bearbeitung<br />
6 03.06.11 0.6 Alle Editorielle Überarbeitung SG In Bearbeitung<br />
7 06.06.11 1.0 Alle Internes Review und Finalisierung<br />
BT/HS Fertig gestellt
Kurzfassung<br />
In diesem Ergebnisdokument wird das integrierte Gesamtprofil zur Spezifikation modellbasierter<br />
Anforderungen anhand des in ZP-AP2 entwickelten modellbasierten<br />
RE-Ansatzes beschrieben. Zusammen mit der Beschreibung des modifizierten RE-<br />
Ansatzes [<strong>SPES</strong>11e] stellt dieses Profil die Grundlage für die in [<strong>SPES</strong>11f] beschriebene<br />
Sicht auf das Requirements Engineering (dem sogenannten Requirements<br />
View) der <strong>SPES</strong>-Methodik dar. Bei diesem Dokument handelt es sich um eine Zusammenfassung,<br />
welche die bisher erstellten drei Einzelprofile zur Ziel- und Szenariomodellierung<br />
und zur Modellierung lösungsorientierter Anforderungen zusammenfasst<br />
und erweitert. Diese Modelle wurden einzeln bereits schon in den drei vorigen<br />
Teilergebnissen [<strong>SPES</strong>11b], [<strong>SPES</strong>11c] und [<strong>SPES</strong>11d] vorgestellt und in Enterprise<br />
Architect implementiert. Mit dem in diesem Dokument beschriebenen einheitlichen<br />
EA-Profil soll nun eine Grundlage der werkzeugbasierten Unterstützung für die prototypische<br />
Verwendung des initialen modellbasierten RE-Ansatzes erstellt werden. Zudem<br />
wird in diesem Deliverable das Teilergebnis zum Stand der Praxis der domänenspezifischen<br />
Sprachenentwicklung zusammenfasst, welches Grundlage für die<br />
Erstellung der separaten Einzelprofile war.<br />
Zuletzt geändert: 06.06.2011 15:24 3/34
Inhalt<br />
1 Einordnung und Kurzbeschreibung ............................................................... 5<br />
1.1 Motivation und Einordnung ..................................................................... 5<br />
1.2 Management Summary ........................................................................... 5<br />
1.3 Überblick ................................................................................................. 5<br />
2 Überblick über verwendete Modelle und Erweiterung des initialen Ansatzes 7<br />
2.1 Zielmodellierung ...................................................................................... 7<br />
2.2 Szenariomodellierung ............................................................................. 8<br />
2.3 Modellierung lösungsorientierter Anforderungen .................................... 9<br />
2.4 Erweiterungen gegenüber dem initialen Ansatz .................................... 11<br />
3 Modellunterstützung für den Requirements View ........................................ 13<br />
3.1 „State of the Art“ bei der domänenspezifischen Modellierung ............... 13<br />
3.2 Zusammenfassung ............................................................................... 14<br />
4 Vorgehen bei der Erstellung der Einzelprofile ............................................. 16<br />
4.1 Schritt 1: Modellieren der Domäne nach dem Requirements View ....... 16<br />
4.2 Schritt 2: Verbesserung und Komplettierung des Domänen-modelles .. 17<br />
4.3 Schritt 3: Übertragen der Methodenkonzepte in das UML/SysML<br />
Metamodell ........................................................................................................... 18<br />
4.4 Schritt 4: Definition fehlender Stereotypen ............................................ 19<br />
5 Das Gesamtprofil SysML-Profil ................................................................... 21<br />
5.1 Erstellung des Enterprise Architect-Profils ............................................ 21<br />
5.2 Überblick über das Enterprise Architect-Profil ...................................... 22<br />
6 Kurzanleitung: Installation und Verwendung des Profils .............................. 26<br />
6.1 Installation der MDG-Technologie ......................................................... 26<br />
6.2 Verwendung des Profils ........................................................................ 26<br />
6.3 Erweiterung des Profils ......................................................................... 27<br />
7 Zusammenfassung ...................................................................................... 28<br />
8 Referenzen .................................................................................................. 29<br />
Zuletzt geändert: 06.06.2011 15:24 4/34
1 Einordnung und Kurzbeschreibung<br />
In diesem Abschnitt wird eine kurze Einordnung in den Projektkontext beschrieben<br />
und ein Überblick über den Dokumenteninhalt gegeben.<br />
1.1 Motivation und Einordnung<br />
Das vorliegende Ergebnisdokument beschreibt den Prozess der Erstellung eines<br />
Gesamtprofiles für das Modellbasierte Requirements Engineering (MBRE) als Enterprise<br />
Architect Plug-In. Dieses Dokument beschreibt den grundlegenden Aufbau des<br />
Plug-Ins aus den drei Teilergebnissen (siehe [<strong>SPES</strong>11b], [<strong>SPES</strong>11c] und<br />
[<strong>SPES</strong>11d]) sowie die Änderungen gegenüber den Einzelprofilen. Ziel des integrierten<br />
Gesamtprofils ist die grundlegende Werkzeugunterstützung für den initialen, modellbasierten<br />
RE-Ansatz. Zudem beschreibt dieses Dokument die der Erstellung der<br />
Einzelprofile vorangegangene Aufarbeitung des Standes der Wissenschaft hinsichtlich<br />
der Entwicklung domänen- bzw. methodenspezifischer Sprachen und das darauf<br />
aufbauende Vorgehen bei der Entwicklung der Einzelprofile.<br />
1.2 Management Summary<br />
In diesem Dokument wird das integrierte Gesamtprofil für die modellbasierte Spezifikation<br />
von Anforderungen anhand der von ZP-AP2 vorgestellten Requirements-<br />
Engineering-Methodik beschrieben, welches die bisher erstellten drei Einzelprofile<br />
zusammenfasst und erweitert. Die Einzelprofile wurden im Rahmen der Ausarbeitung<br />
zweier Fallstudien im Vorfeld in Kooperation mit Bosch und EADS entwickelt, nachdem<br />
eine Untersuchung des Standes der Praxis bzgl. des modellbasierten Requirements<br />
Engineering ergab, dass eine durchgehende Unterstützung in einem kommerziellen<br />
Entwicklungswerkzeug für die Anwendbarkeit eines neuen, RE-Ansatzes unabdingbar<br />
ist [STP11].<br />
Das Profil basiert auf den Ausführungen aus dem initialen, modellbasierten Requirements<br />
Engineering Ansatz für Embedded Systems zu einem durchgehenden Modellbasierten<br />
Vorgehen im Entwicklungsprozess. Die Modelle umfassen die Zielmodellierung<br />
als Grundlage für die systematische Erhebung und Verfeinerung von Anforderungen,<br />
die Szenariomodellierung durch Use-Cases und Sequenzdiagramme zur<br />
Erhebung und Verfeinerung von Anforderungen auf mehreren Abstraktionsebenen<br />
und zur Konkretisierung von Zielen, sowie lösungsorientierten Anforderungen zur<br />
strukturierten Modellierung der durch Ziele und Szenarien erhobenen Anforderungen.<br />
Darüber hinaus lassen sich statisch-strukturelle Diagramme (beispielsweise die Datenperspektive<br />
lösungsorientierter Anforderungen [Pohl10], Architekturmodelle und<br />
auch der dem RE-Ansatz hinzugefügten Anforderungsartefakttypen „Umwelt“<br />
[<strong>SPES</strong>11e]) mit Hilfe des in diesem Dokument beschriebenen Profils modellieren.<br />
Mit einem einheitlichen EA-Profil wird die werkzeugbasierte Unterstützung zur Modellierung<br />
von Anforderungen ermöglicht, sodass der Requirements View [<strong>SPES</strong>11f] der<br />
<strong>SPES</strong>-Methodik werkzeugseitig verwendet werden kann.<br />
1.3 Überblick<br />
Kapitel 2 erläutert die Methoden, die für den Requirements View relevant sind und im<br />
Gesamtprofil konsolidiert wurden. Ferner werden die Erweiterungen des Gesamtprofiles<br />
gegenüber dem initialen Ansatzes [<strong>SPES</strong>09a] beschrieben. In Kapitel 3 wird der<br />
Stand der Wissenschaft zur Entwicklung domänenspezifischer Sprachen bzgl. der<br />
Anwendung auf ein methodenspezifisches Profil, welches die in Kapitel 2 beschrie-<br />
Zuletzt geändert: 06.06.2011 15:24 5/34
enen Modelle in einem integrierten Requirements View beinhalten soll, zusammengefasst.<br />
Kapitel 4 beschreibt, wie bei der Erstellung des methodenspezifischen Gesamtprofils<br />
auf dem in Kapitel 3 beschriebenen Stand der Wissenschaft aufbauend,<br />
vorgegangen wurde. Kapitel 5 beschreibt im Detail das SysML-Profil für Enterprise<br />
Architect des Requirements Views der <strong>SPES</strong>-Methode, wie es aus den Teilergebnissen<br />
zusammengesetzt wurde und die dort enthaltenen einzelnen Pakete. Kapitel 6<br />
enthält eine Kurzanleitung zur Verwendung und Installation des Profils in Enterprise<br />
Architect. Eine Zusammenfassung dieses Dokumentes kann Kapitel 7 entnommen<br />
werden.<br />
Zuletzt geändert: 06.06.2011 15:24 6/34
2 Überblick über verwendete Modelle und Erweiterung<br />
des initialen Ansatzes<br />
Die im initialen Ansatz vorgestellten Modelltypen (Zielmodelle, Szenariomodelle und<br />
lösungsorientierte Modelle) bieten Modellierungstechniken für alle Entwicklungsphasen,<br />
von der Vision des Systems bis hin zu konkreten Implementierungsdetails. Damit<br />
unterstützen sie das Ziel des in <strong>SPES</strong> 2010 entwickelten Requirements-<br />
Engineering-Ansatzes, einen durchgehend modellbasierten Entwicklungsprozess zu<br />
ermöglichen [<strong>SPES</strong>09a]. Die drei Modelltypen werden in diesem Kapitel kurz zusammengefasst.<br />
Detailliertere Ausführung lassen sich den Teilergebnissen<br />
[<strong>SPES</strong>11b], [<strong>SPES</strong>11c], [<strong>SPES</strong>11d] sowie [Pohl10] entnehmen.<br />
2.1 Zielmodellierung<br />
Ziele beschreiben im Requirements Engineering Prozess die von den Stakeholdern<br />
gewünschten funktionalen und qualitativen Eigenschaften des zu entwickelnden Systems.<br />
Durch Zielmodelle lassen sich die Ziele und deren Abhängigkeiten beschreiben<br />
und dadurch bereits in frühen Entwicklungsphasen mögliche Konflikte und alternative<br />
Lösungsmöglichkeiten identifizieren. Außerdem lassen sich nachfolgende Anforderungs-<br />
und Entwicklungsartefakte durch das Zielmodell begründen. Die Definition von<br />
Zielen ist dabei zunächst unabhängig von einer möglichen oder intendierten Systemlösung.<br />
Abbildung 1: Beispiel für ein Zielmodell [<strong>SPES</strong>09a]<br />
Zuletzt geändert: 06.06.2011 15:24 7/34
Ein vollständiges Zielmodell besteht aus einem graphischen Modell in dem die Beziehungen<br />
der Ziele zueinander modelliert werden, sowie aus detaillierten, schablonenbasierten<br />
Beschreibungen der einzelnen Ziele. Im initialen Ansatz wurde für die<br />
grafische Notation das KAOS-Modell nach [VaLa09] verwendet. Ein Beispiel für diese<br />
Notation wird in Abbildung 1 gezeigt. Weitere Details zur Modellierung von Zielen<br />
mit KAOS und schablonenbasierten Beschreibungen finden sich in [<strong>SPES</strong>09a],<br />
[<strong>SPES</strong>11b], und in [Pohl10].<br />
2.2 Szenariomodellierung<br />
Szenarien beschreiben eine Folge von Interaktionen zwischen dem System und dessen<br />
Umgebung (zum Beispiel anderen Systemen oder Personen) bzw. zwischen einer<br />
Systemkomponente und Entitäten in ihrer Umgebung. Szenarien können dabei<br />
mehrere Aspekte der Erfüllung eines Systemzieles modellieren (Erfüllung, Nichterfüllung<br />
oder nicht beabsichtigte Nutzung). Logisch zusammengehörige Szenarien werden<br />
häufig zu Anwendungsfällen (engl. Use Cases) gruppiert. Ein Anwendungsfall<br />
umfasst dabei ein Hauptszenario, mehrere Alternativszenarien sowie mehrere Fehlerszenarien.<br />
Ein Szenariomodell im Sinne des essenziellen Leitfadens [<strong>SPES</strong>09a]<br />
besteht aus einem Anwendungsfalldiagramm, schablonenbasierten Beschreibungen<br />
der einzelnen Anwendungsfälle, sowie einer modellbasierten Spezifikation der einzelnen<br />
Anwendungsfallszenarien. Dort werden neben Anwendungsfalldiagrammen<br />
und Schablonen auch UML/SysML-Sequenzdiagramme verwendet. Ausführlichere<br />
Informationen zu den verwendeten Modellen finden sich in [<strong>SPES</strong>09a] und<br />
[<strong>SPES</strong>11c], sowie in [Pohl10]. Abbildung 2 zeigt ein Beispiel für ein durch ein Use<br />
Case Diagramm, eine Schablone und ein Sequenzdiagramm spezifiziertes Szenario.<br />
Abbildung 2: Beispiel für ein Szenariomodell [<strong>SPES</strong>09a]<br />
Zuletzt geändert: 06.06.2011 15:24 8/34
2.3 Modellierung lösungsorientierter Anforderungen<br />
Lösungsorientierte Anforderungsmodelle dienen der detaillierten Spezifikation von<br />
Anforderungen für die nachgelagerten Entwicklungsaktivitäten wie beispielsweise die<br />
Erstellung der Systemarchitektur, Komponentenentwicklung und Tests des Systems.<br />
Die Gesamtmenge der lösungsorientierten Anforderungen sollte dabei im Hinblick<br />
auf die Realisierung des Systems möglichst vollständig, präzise und widerspruchsfrei<br />
sein (siehe [Pohl10]). Dabei werden in der modellbasierten Variante lösungsorientierter<br />
Anforderungen drei Perspektiven auf das zu entwickelnde System unterschieden:<br />
die Daten- bzw. Strukturperspektive, die Funktionsperspektive und die Verhaltensperspektive<br />
[Davis93]. Abhängig von der Perspektive werden unterschiedliche Modellierungssprachen<br />
zur Dokumentation der Anforderungen eingesetzt: Datenmodelle,<br />
wie SysML Blockdiagramme, Verhaltensmodelle, wie Automatenmodelle oder<br />
SysML State Machine Diagramme und Funktionsmodelle, wie Datenflussdiagramme<br />
oder SysML Aktivitätsdiagramme.<br />
Datenmodelle dokumentieren Anforderungen vorrangig aus der Datenperspektive.<br />
Diese Perspektive wird durch Strukturdiagramme repräsentiert, welche die die statischen<br />
Strukturen des Systems darstellen, wie z.B. (Daten-)Entitäten, sowie deren<br />
Attribute und Verbindungen. Im initialen Ansatz werden dazu SysML Blockdiagramme<br />
verwendet, die auf den Modellelementen des UML-Klassendiagrammes basieren.<br />
Abbildung 3 zeigt ein SysML Internal Block Diagramm als Beispiel für ein Datenmodell.<br />
Abbildung 3: Ein SysML Internal Block Diagramm als Beispiel für ein Datenmodell<br />
[<strong>SPES</strong>09a]<br />
Verhaltensmodelle dokumentieren Anforderungen vorrangig aus der Verhaltensperspektive.<br />
Zur Repräsentation dieser Perspektive wurden im initialen Ansatz SysML<br />
State Machine Diagramme als Modellierungskonstrukt gewählt. Die SysML State<br />
Machine Diagramme und wurden aus der UML-Spezifikation übernommen (vgl.<br />
[OMG10a] und [OMG10b]). Sie stellen erweiterte Automatenmodelle dar, mit Möglichkeiten<br />
zur Definition von Ereignissen und Bedingungen für Zustandsübergänge,<br />
zur Modellierung von Nebenläufigkeit und hierarchischer Zerlegung zur Komplexitätsredizierung.<br />
Abbildung 4 zeigt ein solches Modell.<br />
Zuletzt geändert: 06.06.2011 15:24 9/34
stm 2.2.3.1. States "Transportation Controller"<br />
Initial<br />
Final<br />
OperationOn<br />
Initial<br />
Automatic Mode<br />
AutoMode<br />
!OperationOn<br />
Activ ated<br />
Deactiv ated<br />
OperationOn<br />
!AutoMode<br />
Manual Mode<br />
Abbildung 4: Ein SysML State Machine Diagramm als Beispiel für ein Verhaltensmodell<br />
[<strong>SPES</strong>11f]<br />
Funktionsmodelle dokumentieren Anforderungen primär aus der Funktionsperspektive.<br />
Die Modellierung dieser Perspektive wird im initialen Ansatz durch Aktivitätsdiagramme<br />
umgesetzt. Diese modellieren den Kontrollfluss zwischen diskreten und (in<br />
begrenztem Maße) kontinuierlichen sowie konkurrenten Aktivitäten eines Systems<br />
mit auf der Abfolge der Aktivitäten sowie auf den Daten- und Objektflüssen zwischen<br />
den Aktivitäten. Abbildung 5 zeigt ein Funktionsmodell.<br />
act 2.2.3.2 Functions "Transportation Controller"<br />
Automatic<br />
Mode<br />
Sensor<br />
Operation<br />
On<br />
Automatic<br />
Mode<br />
Sensor<br />
Process Sensor Data<br />
Functions of Transportation Controller<br />
Movement<br />
Instruction Crane1<br />
Operation On<br />
Movement<br />
Instruction Crane1<br />
Movement<br />
Instruction Crane2<br />
Operation<br />
On<br />
Compute Waypoint for<br />
Crane1<br />
Compute Waypoint for<br />
Crane2<br />
Movement<br />
Instruction Crane2<br />
Compute Mov ement of<br />
Conv eyor<br />
SupplyConveyor<br />
DeliveryConveyor<br />
Abbildung 5: Ein SysML Aktivitätsdiagramm als Beispiel für ein Funktionsmodell [<strong>SPES</strong>11f]<br />
Zuletzt geändert: 06.06.2011 15:24 10/34<br />
Crane1<br />
Action<br />
Crane2<br />
Action<br />
Crane1<br />
Action<br />
Crane2<br />
Action<br />
SupplyConveyor<br />
DeliveryConveyor
Ausführlichere Erläuterungen zu den drei oben genannten Modellarten finden sich im<br />
initialen Ansatz [<strong>SPES</strong>09a], in [<strong>SPES</strong>11d] sowie in [Pohl10].<br />
2.4 Erweiterungen gegenüber dem initialen Ansatz<br />
Bei der Entwicklung des vollständigen SysML-Profiles wurden einige Verbesserungs-<br />
bzw. Erweiterungsmöglichkeiten für den initialen Ansatz identifiziert, welche die methodischen<br />
Ansätze bei der Modellierung lösungsorientierter Anforderungen betrafen,<br />
insbesondere die Modellierung der Einbettung des Systems in dessen Kontext (siehe<br />
[<strong>SPES</strong>09a] Kapitel 3.1.4.a, sowie Teilaktivitäten 2-1/2-2). Wie bereits in den Studien<br />
im Vorfeld der Verfassung des initialen Ansatzes bemerkt (z.B. [STP11]) nimmt die<br />
Komplexität der Beziehungen von softwareintensiven Systemen und deren Anforderungen<br />
mit der Systemumgebung stetig zu. Dies führte zu der Entscheidung, im Requirements<br />
View gegenüber dem initialen Ansatz und dem Profil im Teilergebnis<br />
[<strong>SPES</strong>11d], explizite Modelle für die System-Umwelt einzuführen. Darüber hinaus<br />
wurde, um der steigenden Komplexität der Systeme zu begegnen, ein Diagramm<br />
zum Überblick über die Systemarchitektur eingeführt. Diese Erweiterungen werden<br />
im Teilbereich der Datenmodellierung durch die Modifikation der Klasse des Strukturdiagrammes<br />
realisiert. Somit lassen sich mit den bereits vorhandenen und im Teilergebnis<br />
genutzten Modellelementen des internen Blockdiagrammes Umwelt- und<br />
Architekturüberblicksartefakte explizit modellieren.<br />
Abbildung 6: Ein SysML Internal Block Diagramm als Beispiel für ein Umweltmodell<br />
[<strong>SPES</strong>11f]<br />
2.4.1 Das Umweltdiagramm und der Artefakttyp „Umwelt“<br />
Im neu kombinierten Paket, welches zur Modellierung von statisch-strukturellen Eigenschaften<br />
sowie der Architektur und der Umwelt des Systems dient, stellt der Arte-<br />
Zuletzt geändert: 06.06.2011 15:24 11/34
fakttyp Umwelt die oben geforderte Darstellung der Einbettung des Systems in seinen<br />
Kontext dar. Unter Verwendung des Umweltdiagrammes wird die Interaktion des<br />
Systems mit den Entitäten im operationellen Kontext (sogenannte Kontextentitäten)<br />
modelliert, dabei kann es sich um andere Systeme (sowohl innerhalb eines größeren<br />
Gesamtmodells, als auch externe Systeme) oder um Stakeholder des Systems wie<br />
z.B. die Nutzer handeln. Das zu modellierende System selbst wird hierbei als Black<br />
Box betrachtet. Das Diagramm nutzt hierbei dieselben Modellelemente wie das in<br />
Teilergebnis [<strong>SPES</strong>11d] vorgestellte SysML Internal Block Diagramm. Abbildung 6<br />
zeigt ein solches Umweltmodell.<br />
2.4.2 Das Architekturüberblicksdiagramm<br />
Mit diesem Modell soll ein Überblick über Architekturentscheidungen aufgezeigt werden,<br />
die im RE-Prozess getroffen wurden. Hierbei werden ebenfalls dieselben Modellelemente<br />
verwendet wie im Teilergebnis [<strong>SPES</strong>11d] vorgestellten SysML Internal<br />
Block Diagramm. Abbildung 7 zeigt ein solches Diagramm.<br />
Abbildung 7: Ein SysML Internal Block Diagramm als Beispiel für ein Achritektur-<br />
Überblicksmodell [<strong>SPES</strong>11f]<br />
Zuletzt geändert: 06.06.2011 15:24 12/34
3 Modellunterstützung für den Requirements View<br />
Das Ziel des im Rahmen von <strong>SPES</strong> 2010 zu entwickelnden Requirements-<br />
Engineering-Ansatzes ist es, die Grundlage für einen durchgehend modellbasierten<br />
Entwicklungsprozess für eingebettete Systeme zu bilden. Für diesen Zweck baut der<br />
RE-Ansatz auf zwei Lösungskonzepten auf: Einem Abstraktionsebenenmodell<br />
[<strong>SPES</strong>11e] und einem Artefaktmodell (siehe [<strong>SPES</strong>09a] and [<strong>SPES</strong>11e]). Das Anforderungsartefaktmodell<br />
basiert auf Modellen, welche auf die spezifischen Erfordernisse<br />
der frühen Phasen der Systementwicklung zugeschnitten sind, indem sie die Definition<br />
der lösungsneutralen und lösungsorientierten Anforderungsartefakte unterstützen<br />
und so den Architekturentwurf fördern.<br />
In [<strong>SPES</strong>09a] wurde bereits ein initialer modellbasierter Requirements-Engineering-<br />
Ansatz verfasst, der eine methodische Unterstützung für die durchgehende Modellierung<br />
von lösungsneutralen Zielen und Szenarien sowie lösungsorientierten Anforderungen<br />
in den Perspektiven „Daten“, „Verhalten“ und „Funktion“ [Davis93] über mehrere<br />
Abstraktionsebenen hinweg erlaubt. Der Ansatz wurde in Industriekooperationen<br />
[SiPo10] und Fallstudien angewendet, evaluiert und zum Requirements View<br />
[<strong>SPES</strong>11f] weiter entwickelt. Dabei stellte sich heraus, dass für eine prototypische<br />
Verwendung des Ansatzes methodenbezogene Modellierungssprachen und insbesondere<br />
eine geeignete Werkzeugunterstützung fehlt (vgl. [<strong>SPES</strong>10b]). Die Bereitstellung<br />
einer Werkzeugunterstützung ist derzeit Gegenstand von laufenden Arbeiten.<br />
Gegenstand der in diesem Dokument vorgestellten Arbeit ist die Entwicklung<br />
einer methodenspezifischen Modellierungssprache, welche die Grundlage für die<br />
weiterführende Werkzeugunterstützung darstellt. Zur systematischen Erstellung einer<br />
solchen methoden-spezifischen Modellierungssprache wurde zunächst der Stand der<br />
Wissenschaft zu domänenspezifischen Sprachen aufbereitet. Die wesentlichen Erkenntnisse<br />
aus dieser Untersuchung sind im Folgenden darstellt; Details können<br />
[<strong>SPES</strong>11a<strong>SPES</strong>11b] (im Anhang A) entnommen werden.<br />
3.1 „State of the Art“ bei der domänenspezifischen Modellierung<br />
Für die domänenspezifische Modellierung wird in der gängigen Fachliteratur gemeinhin<br />
zwischen domänenspezifischen Modellierungssprachen (Domain-specific modeling<br />
languages, DSML) und domänenspezifischen Profilen für UML bzw. SysML unterschieden<br />
(siehe [<strong>SPES</strong>11a] und Anhang A). DSMLs sind neuartige, bzw. neu zu<br />
entwickelnde und ausschließlich in der gegebenen Domäne relevante Modellierungssprachen<br />
(vgl. Kelly und Torvanen [KeTo08]). UML/SysML Profile erweitern<br />
lediglich das UML Metamodell um einige domänenspezifische Konstrukte und stellen<br />
einen Mechanismus dar, um domänenspezifische Sprachen basierend auf<br />
UML/SysML zu definieren (z.B. Lagarde et al. [LETG07]). Im Folgenden werden diese<br />
beiden Auffassungen und deren grundsätzlich unterschiedlichen Herangehensweise<br />
in Kürze vorgestellt. Der Begriff „Domäne“ wird im Forschungsfeld der domänenspezifischen<br />
Sprachen äquivalent zum Begriff „Anwendungsgebiet“ des <strong>SPES</strong>-<br />
Projektes verwendet. Es ist allerdings zu bemerken, dass die „Domäne“ im Kontext<br />
methodenspezifischer Werkzeugunterstützung die Methode selber ist, für die die<br />
Werkzeugunterstützung angestrebt wird. Allerdings lassen sich die Erkenntnisse bei<br />
der Erstellung domänenspezifischer Sprachen auf die Erstellung methodenspezifischer<br />
Sprachen übertragen.<br />
3.1.1 Domänenspezifische Modellierungssprachen<br />
Domänenspezifische Modellierungssprachen (DSMLs) sind speziell zu entwickelnde<br />
Sprachen, die in einer gegebenen spezifischen Domäne die Sachverhalte und deren<br />
Zuletzt geändert: 06.06.2011 15:24 13/34
Zusammenhänge so exakt wie möglich abbilden sollen. Dabei bildet die DSML das<br />
„spezifische Wissen“, die Konzepte und zum großen Teil auch die „Best Practices“<br />
innerhalb dieser Domäne ab. Damit wird in der Regel die typische Art und Weise, wie<br />
in dieser Domäne Modellartefakte entwickelt werden nachgebildet und in gleicher<br />
Weise unterstützt (siehe [KeTo08] und [<strong>SPES</strong>11a]). Ein Nachteil der Einführung einer<br />
neuen DSML ist, dass gängige, auf dem Markt erhältliche Modellierungswerkzeuge<br />
in der Regel nicht für die neu entwickelte Sprache verwendet werden können, da die<br />
neu entwickelte DSML ggf. Konzepte enthalten könnte, die in einem kommerziellen<br />
Werkzeug nicht berücksichtigt werden. Domänenexperten sind daher darauf angewiesen,<br />
eine Werkzeugunterstützung zusammen mit der DSML zu entwickeln. Diese<br />
Entwicklung sowie die Einarbeitung der Mitarbeiter in das Werkzeug und die DSML<br />
verbraucht Zeit und Ressourcen. In [<strong>SPES</strong>11a] werden neben einer etwas detaillierteren<br />
Beschreibung von DSMLs im Allgemeinen auch zwei Ansätze zur Entwicklung<br />
einer DSML im Detail anhand einiger Beispiele vorgestellt.<br />
3.1.2 UML/SysML-Profile<br />
Eine andere Möglichkeit eine DSML zu entwickeln, ist durch den UML-<br />
Profilmechanismus gegeben. Dieser ermöglicht die Definition domänenspezifischer<br />
Erweiterungen des UML/SysML-Metamodelles bzw. dort bestehender Modellelemente.<br />
Diese Erweiterungen werden in einem UML/SysML-Profil festgelegt. Die Erstellung<br />
eines solchen domänenspezifischen UML/SysML-Profils kann möglicherweise<br />
mehr Aufwand erzeugen als die Entwicklung einer eigenen DSML, da die spezifischen<br />
Eigenschaften der UML, wie Aufbau und Struktur sowie vorhandene Modellelemente<br />
berücksichtigt werden müssen und auf Konsistenz zur Meta-Object Facility<br />
[OMG11a], dem UML/SysML Metamodell, geachtet werden muss. Dies kann<br />
unter Umständen auch darin resultieren, dass einige Konzepte der Domäne sich<br />
nicht exakt den vorliegenden UML-Metamodellelementen zuordnen lassen. Der Vorteil<br />
bei der Verwendung von UML-Profilen ist, dass existierende kommerzielle Werkzeuge<br />
für UML/SysML-Profile wiederverwendet werden können, da die Profile auf<br />
dem gleichen Metamodell aufbauen, wie UML und SysML, und dieses bereits im<br />
Werkzeug berücksichtigt sind. Des Weiteren ist der Lernaufwand für Sprache und<br />
Werkzeug bei der Anwendung von domänenspezifischen Profilen im Gegensatz zu<br />
einer komplett neu entwickelten DSML erheblich reduziert, da die Anwender mit Erfahrung<br />
in UML oder SysML ihr Vorwissen bei der Anwendung des Profils wiederverwenden<br />
können. In [<strong>SPES</strong>11a] werden drei Ansätze zur Entwicklung von domänenspezifischen<br />
UML/SysML-Profilen vorgestellt.<br />
3.2 Zusammenfassung<br />
Mit UML-Profilen wird ein Mechanismus bereitgestellt, um das UML/SysML-<br />
Metamodell domänenspezifisch zu erweitern, und somit die Grundlage für prototypische<br />
Methodenunterstützung zu legen. UML-Profile bieten somit eine verhältnismäßig<br />
einfache Möglichkeit, Werkzeugunterstützung zu realisieren, wenn die Konzepte<br />
der Domäne sich auf UML bzw. SysML übertragen lassen. Außerdem wurde in der<br />
Erhebung zum Stand der Praxis des modellbasierten Requirements Engineering<br />
[<strong>SPES</strong>10a] festgestellt, dass insbesondere UML und SysML in der Industrie für modellbasierte<br />
Entwicklungsaktivitäten häufig Verwendung findet. Die in [<strong>SPES</strong>10b] erhobenen<br />
Anforderungen der Industrie an einen durchgehenden modellbasierten RE-<br />
Ansatz schließen unter anderem die Verwendung methodenspezifischer Modellierungssprachen<br />
ein. So wird auch Konformität zu UML und insbesondere zu SysML<br />
explizit gefordert. Daher wird zur methodenbezogenen Werkzeugunterstützung des<br />
initialen Ansatzes ein UML/SysML-Profil für Enterprise Architect entwickelt. Ferner<br />
Zuletzt geändert: 06.06.2011 15:24 14/34
wird hierdurch sichergestellt, dass die somit resultierende methodenspezifische<br />
Sprache mit kommerziellen Modellierungswerkzeugen verwendbar ist. Im folgenden<br />
Kapitel 0 wird die Methode vorgestellt, die auf den in [<strong>SPES</strong>11a] gewonnenen Erkenntnissen<br />
aufbaut.<br />
Zuletzt geändert: 06.06.2011 15:24 15/34
4 Vorgehen bei der Erstellung der Einzelprofile<br />
In diesem Kapitel wird das Vorgehen beschrieben nach dem die Einzelprofile und<br />
das konsolidierte Gesamtprofil für den Requirements View erstellt wurden. Das hier<br />
beschriebene Vorgehen stützt sich auf die in [LETA08] vorgeschlagene Methode und<br />
würde für die Anwendung auf eine methodenspezifische Sprache anstelle einer domänenspezifischen<br />
Sprache angepasst.<br />
4.1 Schritt 1: Modellieren der Domäne nach dem Requirements<br />
View<br />
Der erste Schritt zum konsolidierten Gesamtprofil war die Modellierung der Domäne<br />
“eingebettete Systeme” nach dem überarbeiteten Requirements View in Enterprise<br />
Architect. Abbildung 8 zeigt das Ergebnis dieses ersten Schrittes. Das Konzept „System“<br />
ist der Mittelpunkt des Requirements View, es stellt das System welches betrachtet<br />
wird dar. Wie bereits in Abschnitt 2 dargestellt, sind die Konzepte der Ziele<br />
(„Goals“) und Szenarios („Scenarios“) als Artefakttypen im Requirements View enthalten.<br />
Der Artefakttyp Lösungsorientierte Anforderungen („Solution-Oriented Requirements“)<br />
wurde in seinen drei unterschiedlichen Konzepten Funktionsmodell<br />
(„Function“), Verhaltensmodell („State“) und Datenmodell („Data“) modelliert. Diese<br />
drei Sichten wurden anstelle eines einzelnen Konzeptes lösungsorientierter Anforderungen<br />
explizit im Domänenmodell implementiert, da diese drei Konzepte die drei<br />
Perspektiven eingebetteter Systeme wiedergeben (funktional, zustands- und datenorientiert;<br />
siehe [Pohl10]). Der Requirements View gibt durch den RE-Prozess die<br />
Beziehungen zwischen den verschiedenen Artefakttypen im Modell vor (siehe<br />
[<strong>SPES</strong>09a]).<br />
Abbildung 8: SysML Block Diagramm für die Domäne eingebetteter Systeme<br />
nach Schritt 1<br />
Besondere Aufmerksamkeit wurde der konzeptuellen Unterstützung von Abstraktionsebenen<br />
gewidmet, wie sie in den Lösungskonzepten des Requirements View gefordert<br />
werden (siehe Kapitel 3, sowie [<strong>SPES</strong>11e]). Das Abstraktionsebenenkonzept<br />
wurde im Domänenmodell durch die Einführung des Konzeptes Subsystem („Sub-<br />
Zuletzt geändert: 06.06.2011 15:24 16/34
system“) realisiert, welches vom Konzept System („System“) erbt, sowie Komponente<br />
(„Component“) welches vom Konzept Subsystem erbt. Durch diese Hierarchie<br />
im Modell ist es möglich, dass ein System aus beliebig vielen Subsystemen besteht,<br />
welche wiederum aus beliebig vielen Subsystemen oder Komponenten bestehen<br />
können. Eine Komponente ist hierbei ein Subsystem, dass nicht weitere in unterschiedliche<br />
Subsysteme zerlegt werden kann. Der Requirements View Artefakttyp<br />
Architektur („Architecture“) wurde allerdings nicht als Konzept des Domänenmodells<br />
dargestellt, da dieser Artefakttyp durch die Vererbungsbeziehungen des Konzeptes<br />
„System“ ausgedrückt werden kann.<br />
4.2 Schritt 2: Verbesserung und Komplettierung des Domänenmodelles<br />
Während der Analyse des Domänenmodells auf Brüche bezüglich seiner Abbildung<br />
der Realität wurde festgestellt, dass dem erstellten Domänenmodell die Möglichkeit<br />
zur die Modellierung externer Systeme fehlt. Eingebettete Systeme interagieren in<br />
der Regel neben dem eigentlichen Systembenutzer mit einer Vielzahl anderer Systeme<br />
(siehe Kapitel 2.4.1 sowie [STP11]). Daher wurde das Domänenmodell um die<br />
Möglichkeit erweitert externe Systeme darzustellen, die mit dem zu modellierenden<br />
System interagieren.<br />
Abbildung 9: SysML Block Diagramm für die Domäne eingebetteter Systeme mit Korrekturen<br />
und Änderungen aus Schritt 2.<br />
Zuletzt geändert: 06.06.2011 15:24 17/34
Im diesem Problem entgegenzuwirken, wurde das Domänenkonzept Externes System<br />
(„External System“) definiert, welches von dem Konzept System erbt. Für eine<br />
Interaktion mit externen Systemen muss das zu modellierende System entsprechende<br />
Interfaces bieten um Informationen wie z.B. Nachrichten, Signale oder Prozessaufrufe<br />
senden und empfangen zu können. Daher wurde das Interface Konzept<br />
ebenfalls in das Domänenmodell eingefügt. Das Domänenkonzept Daten („Data“)<br />
wurde hierzu in die Konzepte Eingabedaten („Input Data“) und Ausgabedaten<br />
(„Output Data“) zerlegt. Ein Interface kann hierbei sowohl als Schnittstelle zwischen<br />
Hardwarekomponenten, als auch zwischen Software, zwischen ganzen Systemen<br />
oder zwischen Funktionen verstanden werden. Die korrekte Darstellung des Artefakttyp<br />
„Daten“ bleibt im Domänenmodell trotzdem bestehen, da Interfaces Eingaben<br />
und/oder Ausgaben modellieren können. Das Ergebnis dieser Änderungen an dem<br />
Domänenmodell aus Schritt 2 wird in Abbildung 9 dargestellt.<br />
4.3 Schritt 3: Übertragen der Methodenkonzepte in das<br />
UML/SysML Metamodell<br />
In Abbildung 10 werden die existierenden SysML Diagrammtypen gezeigt, die für die<br />
in Schritt 1 und 2 identifizierten Methodenkonzepte verwendet werden können. Wie<br />
zu sehen ist können beinahe alle Konzepte („Scenario“, „State“, „Function“ und „Data“)<br />
mit existierenden SysML-Diagrammtypen ausgedrückt werden. Diese umfassen<br />
SysML Use-Case Diagramme und Sequenzdiagramme, Statecharts, Aktivitätsdiagramme<br />
und interne Blockdiagramme. Die hohe Kompatibilität zwischen Requirements<br />
View und SysML ergibt sich aus der Tatsache, dass der Requirements View<br />
mit der Absicht definiert wurde, sowohl die Modellierung der drei Perspektiven eingebetteter<br />
Systeme [Davis93] zu unterstützen, was ebenfalls eine wichtige Rolle bei der<br />
Entwicklung von UML und SysML spielte (vgl. [OMG10a] und [OMG10b]).<br />
Abbildung 10: SysML Package Diagramm mit den importierten SysML Diagrammtypen die<br />
im COSMOD-RE Profil wiederverwendet werden<br />
Das einzige Konzept welches nicht auf existierende Komponenten der SysML übertragen<br />
werden konnte ist das des Zieles, da SysML keinen expliziten Mechanismus<br />
zur Modellierung von Systemzielen besitzt. Da nach dem Requirements View die<br />
Nutzung des Ziel-Konzeptes explizit gefordert ist, musste dieses Konzept hinzugefügt<br />
werden. Die Möglichkeit zur Zielmodellierung wurde auf Basis des KAOS-<br />
Frameworks (vgl. [RespIT07] und [VaLa09]) implementiert, da diese die größte Kom-<br />
Zuletzt geändert: 06.06.2011 15:24 18/34
patibilität mit den Methoden des Requirements View aufweist. Eine Überprüfung des<br />
KAOS Frameworks führte zudem zur Identifizierung einiger weiterer Konzepte, die<br />
eingeführt werden mussten um die Modellierung von Zielen genau abzudecken. Zu<br />
diesen Konzepten gehören z.B. Zielverfeinerung („Goal Refinement“), Zielkonflikt<br />
(„Goal Conflict“) und Zielbeitrag („Goal Contribution“) welche im nun folgenden<br />
Schritt als neue Stereotypen eigeführt werden.<br />
4.4 Schritt 4: Definition fehlender Stereotypen<br />
Abbildung 11 zeigt das komplettierte Profil mit den definierten Stereotypen für die<br />
Zielmodellierung die in diesem Schritt erstellt wurden. Das einzige Konzept des Domänenmodells,<br />
das durch die Definition von neuen Stereotypen abgebildet wurde, ist<br />
das Konzept des Ziels. Dieses Konzept wurde durch die Stereotypen Ziel („Goal“)<br />
und Zielverfeinerung („Refinement“) implementiert, welche von der Metaklasse<br />
„Block“ erben. Des Weiteren beinhaltet das Profil den Stereotypen „Refinement of“,<br />
welcher von der Metaklasse „Generalisierung“ erbt, sowie die Stereotypen „Refined<br />
by“, „Conflict“ und „Contribution“, welche von der Metaklasse „Association“ erben.<br />
Ziel bzw. „Goal“ ist hierbei der Haupt-Stereotyp, der das Zielkonzept des Domänenmodells<br />
abbildet. Obwohl augenscheinlich kompatibel zu der Metaklasse Anforderung<br />
(bzw. „Requirement“), erbt das hier implementierter Zielkonzept nicht von dieser<br />
Metaklasse, da dies den Mechanismus der Zielverfeinerung, der im KAOS Framework<br />
spezifiziert wurde, verletzen würde (siehe [RespIT07] bzw. [VaLa09]). Der Typ<br />
„Requirement“ spezifiziert Einschränkungen wie beispielsweise die Containment-<br />
Beziehung, die für KAOS-Ziele nicht gelten. Dem entsprechend werden die „Containment“<br />
Beziehungen der Requirement-Metaklasse nicht wiederverwendet, sondern<br />
durch die neuen Stereotypen „Refinement“ sowie den Assoziationstypen „Refinement_Of“<br />
und „Refined_By“ ersetzt. Der Stereotyp Ziel (bzw. “Goal”) kann außerdem<br />
durch den zugeordneten Tag „Goal Type“, der zu einer Enumeration desselben<br />
Namens verweist, weiter in „Hard Goals“ und „Soft Goals“ unterschieden werden.<br />
Abbildung 11: SysML Package Diagram mit neuen Stereotypen für die Zielmodellierung<br />
Zuletzt geändert: 06.06.2011 15:24 19/34
Der Stereotyp „Refinement“ kann dazu verwendet werden UND- sowie ODER-<br />
Beziehungen von Zielen gemäß dem KAOS Framework auszudrücken (siehe<br />
[VaLa09] für weitere Informationen zur Verfeinerung von Zielen). Dabei wird der Stereotyp<br />
„Refinement_Of“ genutzt um darzustellen, dass diese Ziele Verfeinerungen<br />
des Zieles auf der höheren Ebene sind. Der Stereotyp „Refined_By“ wird verwendet<br />
um alle zu einer Verfeinerungsalternative gehörenden Ziele einem Oberziel zuzuordnen.<br />
Der Stereotyp „Conflict“ bezeichnet, dass bei zwei Zielen, die mit dieser Assoziation<br />
versehen sind, die Erfüllung des einen Ziels die des zweiten Ziels verhindert und<br />
umgekehrt. Der Stereotyp „Contribution“ bezeichnet, dass bei einer Assoziation die<br />
Erfüllung eines Zieles die des anderen Ziels positiv oder negativ beeinflusst. Diese<br />
Unterscheidung der Beeinflussung kann durch den zugeordneten Tag „Contribution-<br />
Type“ beschrieben werden. Details zu Zielbeziehungen können ebenfalls in<br />
[RespIT07] gefunden werden.<br />
Zuletzt geändert: 06.06.2011 15:24 20/34
5 Das Gesamtprofil des Requirements Views<br />
Zur Bereitstellung einer Werkzeugunterstützung für den Requirements View der<br />
<strong>SPES</strong>-Methode wurde ein UML/SysML-Profil für Enterprise Architect entwickelt. In<br />
diesem Profil werden die drei aus den vorigen Teilergebnissen [<strong>SPES</strong>11b],<br />
[<strong>SPES</strong>11c] und [<strong>SPES</strong>11d] (siehe Anhang B-D) hervorgegangenen Einzelprofile zur<br />
Modellierung von Zielen, Szenarien und lösungsorientierten Anforderungen zusammengefasst<br />
und erweitert (siehe Kapitel 2.4). In diesem Kapitel wird das Gesamtprofil<br />
im Detail beschrieben. In Kapitel 5.1 wird dabei zunächst die Entwicklung bis hin zu<br />
dem vereinigten Profil kurz beschrieben und auf die Besonderheiten des Gesamtprofils<br />
gegenüber den Einzelprofilen eingegangen. In Kapitel 5.2 wird der Inhalt der<br />
Enterprise-Architect-Projektdatei und der einzelnen Pakete im Detail beschrieben.<br />
5.1 Erstellung des Enterprise Architect-Profils<br />
In der UML und der SysML sind Profile eine Erweiterung des UML-Metamodells mit<br />
denen sich domänenspezifische Modelle und Modellierungssprachen entwickeln lassen.<br />
In einem UML/SysML-Profil können dabei die die vorgesehenen Erweiterungsmechanismen<br />
(z.B. Stereotypen und Einschränkungen) des Metamodelles der UML<br />
sowie Importe bereits vorhandener Metamodellelemente vorkommen, die weiter spezifiziert<br />
werden können. In Enterprise Architect (EA) werden diese Profile mittels<br />
MDG-Technologien (Abk. für Model-Driven Generation) implementiert, die für den EA<br />
lesbar die Erweiterungen für Werkzeugpaletten, UML-Profile, Muster, Vorlagen und<br />
andere Modellelemente definieren. Diese MDG-Technologien können als Plug-In in<br />
EA geladen werden und die dort definierten Elemente stehen anschließend für die<br />
Modellierung zur Verfügung. Im Rahmen der Entwicklung eines vollständigen Profils<br />
zur geforderten Werkzeugunterstützung des Requirements Views wurden für die einzelnen<br />
Modellierungsteilgebiete (Ziele, Szenarien und lösungsorientierte Anforderungen)<br />
zunächst einzelne Teilprofile anhand der in Abschnitt 4 dargestellten Methode<br />
für EA entwickelt, die die in den entsprechenden Aktivitäten zu verwendenden Modelle<br />
definieren und beschreiben.<br />
Das Profil für die Zielmodellierung (siehe [<strong>SPES</strong>11b]) wurde auf der Basis des<br />
UML2-Metamodelles [OMG11a] erstellt, da UML/SysML kein Diagramm zur Modellierung<br />
von Zielen vorsieht. Das Profil für die Zielmodellierung erweitert die UML/SysML<br />
um die Modellierung von Zielen nach den dafür relevanten Teilen der KAOS-<br />
Methode. Die Profile für Szenariomodelle [<strong>SPES</strong>11c] und für lösungsorientierte Anforderungen<br />
[<strong>SPES</strong>11d] kommen ohne Einführung neuer Elemente oder Erweiterung<br />
von Syntax und Semantik der UML/SysML aus. Diese beiden Profile definieren lediglich<br />
einen neuen Viewpoint und importieren die benötigten Pakete aus dem bereits in<br />
EA vorhandenen UML/SysML-Profil.<br />
In dem im folgenden Kapitel 5.2 beschriebenen Gesamtprofil wurden die drei Einzelprofile<br />
zu einem Gesamtprofil für den Requirements View zusammengefasst. Die<br />
Besonderheiten gegenüber den Einzelprofilen aus den vorigen Teilergebnissen sind:<br />
Erweiterung um die expliziten Perspektiven Umwelt und Architekturüberblick<br />
mit Modellelementen des Datenmodells/internen Blockdiagramms der SysML.<br />
Platzhalter für spätere Revsionen/Erweiterungen/Einschränkungen des Ansatzes.<br />
Gemeinsame Definiton der einzelnen Diagrammtypen.<br />
Zuletzt geändert: 06.06.2011 15:24 21/34
5.2 Überblick über das Enterprise Architect-Profil<br />
Im Gesamtprofil des Requirements Views (Siehe Abbildung 12) befinden sich die drei<br />
Pakete „SysML Goal Modeling“, „SysML Scenario Modeling“ und „SysML Solution-<br />
Oriented Modeling“. Letzteres enthält wiederum das neu erstellte Paket „SysML Data/Architecture/Environment<br />
Modeling“, welches die in Kapitel 2.4 beschriebenen Erweiterungen<br />
um die Architekturübersicht- und Umweltperspektive definiert.<br />
Abbildung 12: Überblick über das Gesamtprofil<br />
In Abbildung 12 ist der hierarchische Aufbau des Gesamtprofils mit seinen drei<br />
Hauptpaketen sowie dem vierten, neu hinzugefügten Paket innerhalb des Paketes<br />
für lösungsorientierte Anforderungen zu sehen. Die Definition der einzelnen Metaklassen<br />
der Diagramme und Stereotypen findet sich ebenfalls in diesem Gesamtpaket.<br />
An dieser Stelle werden außerdem die internen Meta-Klassen von Enterprise<br />
Architect gezeigt, die durch die jeweiligen, in den Paketen definierten Diagrammtypen,<br />
erweitert werden. Im Paket „Goal Modeling“ ist das Diagramm zur Zielmodellierung<br />
mit KAOS („KAOS Goal Modeling“) definiert welches die Metaklasse „Diagram_Logical“<br />
erweitert. Im Paket „Scenario Modeling“ finden sich die beiden Dia-<br />
Zuletzt geändert: 06.06.2011 15:24 22/34
grammtypen „SysML Use Case Diagram“ und „SysML Sequence Diagram“, welche<br />
die Metaklassen „Diagram_Use Case“ bzw. „Diagram_Sequence“ erweitern. Im Paket<br />
Solution-Oriented Modeling sind die beiden Diagrammtypen „SysML State Machine<br />
Diagram“ und „SysML Activity Diagram“ definiert welche die Metaklassen „Diagram_Statechart“<br />
und „Diagram_Activity“ erweitern. Außerdem ist in dem dort enthaltenen<br />
Paket „Data/Architecture/Environment Modeling“ das „Internal Block Diagram“<br />
definiert, welches das „Diagram_Composite Structure“ erweitert.<br />
Die o.g. Pakete enthalten zudem jeweils drei Pakete vom Stereotyp «Profile», in denen<br />
jeweils die eigentlichen Diagrammtypen, Modellierungselemente und die Toolboxen<br />
für den entsprechenden Modellierungstyp definiert werden. Diese werden in<br />
den folgenden Abschnitten kurz zusammengefasst.<br />
5.2.1 Das Paket „SysML Goal Modeling“<br />
Abbildung 13: Übersicht über das Paket "SysML Goal Modeling"<br />
In dem in Abbildung 13 dargestellten Paket werden in Einzelprofilen die Elemente<br />
und Definitionen zur Zielmodellierung in Einklang mit dem initialen Leitfaden festgelegt.<br />
Darüber hinaus findet sich in dem Paket „Goal Model Example“ ein Beispiel für<br />
ein Zielmodell. Dieses wurde implementiert, da in diesem Paket eigene Modellierungselemente<br />
definiert wurden, für die es im SysML-Metamodell keine entsprechenden<br />
Modellierungsbeispiele gibt. In dem Paket „Goal Modelling Elements“ wird<br />
ein Ausschnitt der Modellelemente des KAOS-Zielmodelles definiert. Somit implementiert<br />
dieses Paket die konzeptuelle Erweiterung des UML-Metamodells, wie bereits<br />
in Abschnitt 4.4 und Abbildung 11 dargestellt (siehe außerdem [Pohl10]). Das<br />
Paket „Goal Diagram Definition“ enthält das neu definierte Diagramm „KAOS Goal<br />
Diagramm“ basierend auf dem „Diagram_Logical“. Im Paket „SysML Goal Modeling“<br />
wird die zum KAOS Zielmodell gehörende Toolbox für Enterprise Architect definiert.<br />
Weitere Erläuterungen zu den einzelnen Elementen innerhalb dieses Paketes finden<br />
sich in dem Teilergebnis [<strong>SPES</strong>11b].<br />
Zuletzt geändert: 06.06.2011 15:24 23/34
5.2.2 Das Paket „SysML Scenario Modeling“<br />
Abbildung 14: Übersicht über das Paket "SysML Scenario Modeling"<br />
In dem in Abbildung 14 dargestellten Paket werden in drei Einzelprofilen die Elemente<br />
und Definitionen zur Szenariomodellierung in Einklang mit dem initialen Leitfaden<br />
[<strong>SPES</strong>09a] festgelegt. Die Profile „Scenario Modeling Elements“ sowie „SysML Scenario<br />
Modeling“ sind allerdings leer, da diese nicht die Syntax oder Semantik der<br />
SysML Use-Case oder Sequenzdiagramme erweitern. Für das Paket „SysML Scenario<br />
Modeling“ wird lediglich ein neuer Viewpoint für die Szenariomodellierung definiert<br />
und die passenden bestehenden SysML-Metamodellelemente (Diagram_Sequence<br />
bzw. Diagram_Use Case) importiert (siehe Abbildung 10). Im Paket SysML Scenaro<br />
Modeling“ finden sich die beiden neu definierten Diagrammtypen „SysML Sequence<br />
Diagram“ und „SysML Use Case Diagram“ welche auf den importierten „Diagram_Sequence“<br />
sowie „Diagram_Use Case“ basieren. Weitere Erläuterungen zu<br />
den einzelnen Elementen innerhalb des Paketes finden sich in [<strong>SPES</strong>11c].<br />
5.2.3 Das Paket „SysML Solution-oriented Modeling“<br />
Abbildung 15: Übersicht über das Paket "SysML Solution Oriented Modeling"<br />
Abbildung 16: Übersicht über das Paket "SysML Architecture/Environment Modeling"<br />
In den Paketen „SysML Solution-Oriented Diagram Definitions“ und „SysML Architecture/Environment<br />
Diagram Definitions“ (siehe Abbildung 15 und Abbildung 16) werden<br />
jeweils in drei Einzelprofilen die Elemente und Definitionen zur Modellierung lösungsorientierter<br />
Anforderungen in Einklang mit dem initialen Leitfaden [<strong>SPES</strong>09a]<br />
bzw. dem erweiterten Requirements View [<strong>SPES</strong>11f] zur Modellierung des neuen<br />
Modelltyps „Architecture/Environment Modeling“ festgelegt. Die Profile zum „Modeling“<br />
(„SysML Solution-Oriented Modeling“ in Abbildung 15 und „SysML Architec-<br />
Zuletzt geändert: 06.06.2011 15:24 24/34
ture/Environment Modeling“ in Abbildung 16) bzw. den „Modeling Elements“ („SysML<br />
Solution-Oriented Modeling Elements“ in Abbildung 15 und „SysML Architecture/Environment<br />
Modeling Elements“ in Abbildung 16) sind allerdings in beiden Paketen<br />
leer, da diese nicht die Syntax oder Semantik der SysML Use-Case oder Sequenzdiagramme<br />
erweitern. Für die Pakete wird lediglich ein neuer Viewpoint für die<br />
Modellierung lösungsorientierter Anforderungen definiert und die passenden bestehenden<br />
SysML-Metamodellelemente importiert (Diagram_Statechart und Diagram_Activity<br />
für die lösungsorientierten Anforderungen bzw. Diagram_Composite<br />
Structure für das Internal Block Diagram sowie Architecture/Environment Modeling)<br />
(siehe Abbildung 10). In dem Paket „SysML Solution-Oriented Diagram Definitions“<br />
befinden sich die neu definierten Diagramme „SysML Activity Diagram“, „SysML internal<br />
Block Diagram“ sowie „SysML State Machine Diagram“ basierend auf den importierten<br />
„Diagram_Activity“ „Diagram_Composite Structure“ und „Diagram_Statechart“.<br />
Analog findet sich im Paket „SysML Architecture/Environment Diagram<br />
Definitions“ das in Einklang mit den Erweiterungen des Requirements<br />
Viewpoint (siehe Kapitel 2.4) neu definierte Diagramm „SysML internal Block Diagram“<br />
basierend auf den importierten „Diagram_Composite Structure“. Weitere Erläuterungen<br />
zu den einzelnen Elementen innerhalb des Paketes finden sich in<br />
[<strong>SPES</strong>11d].<br />
5.2.4 Das Paket „Domain Model“<br />
In dem Paket Domain-Model ist eine Beispiel-Ontologie modelliert für den Requirements<br />
Viewpoint, auf dessen Basis das Profil erstellt worden ist (vgl. Abschnitt 4.2).<br />
Das darin enthaltene Domänenmodell ist das verbesserte Domänenmodell, auf dessen<br />
Grundlage die Einzelprofile erstellt wurden. Das Domänenmodell wurde bereits<br />
in Abbildung 9 dargestellt.<br />
Zuletzt geändert: 06.06.2011 15:24 25/34
6 Kurzanleitung: Installation und Verwendung des Profils<br />
Das Gesamtprofil des Requirements Views wird in Form eines sogenannten MDG-<br />
Plug-Ins (siehe [Sparx10]) für Enterprise Architect zur Verfügung gestellt. In diesem<br />
Abschnitt wird allgemein und in Kürze die Installation, Verwendung und die Erweiterung<br />
des Profils erläutert. Detailliertere Informationen zur MDG-Technologie, sowie<br />
zur Verwendung und Erweiterung von UML/SysML-Profilen in Enterprise Architect<br />
und generell zur Modellierung mit Enterprise Architect werden in [Sparx09] und<br />
[Sparx10] gegeben. Eine etwas detailliertere Beschreibung und weitere Hinweise zur<br />
Verwendung der einzelnen Pakete lassen sich falls nötig den Teilergebnissen entnehmen<br />
(siehe [<strong>SPES</strong>11b], [<strong>SPES</strong>11c] [<strong>SPES</strong>11d]).<br />
6.1 Installation der MDG-Technologie<br />
Das MDG-Plug-In befindet sich zusammen mit der Enterprise Architect Projektdatei<br />
des Profils im ZIP-Archiv. Im Folgenden wird beschrieben, wie solch ein MDG-Profil<br />
in Enterprise Architect eingebunden werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der lokalen<br />
Festplatte. Es werden zwei Dateien entpackt: eine EAP- und eine XML-Datei.<br />
2. Öffnen Sie Enterprise Architect. Starten Sie die Enterprise Architect Anwendung,<br />
um das MDG-Plug-In einzubinden.<br />
3. Öffnen Sie den MDG-Technologie-Dialog. Klicken Sie dazu im Enterprise-Architect-<br />
Menü auf „Settings“ und danach auf die Menüoption „MDG Technologies“.<br />
4. Definieren Sie einen neuen MDG-Pfad. Im MDG-Technologie-Dialog, klicken Sie<br />
auf „Advance“ und im darauf folgenden Fenster auf „Add“ und dann auf „Add Path…“.<br />
Geben Sie den Ordner an, in den Sie die ZIP-Datei in Schritt 1 entpackt haben. Der<br />
Zielordner ist der Ordner, in dem die XML-Datei entpackt wurde. Klicken Sie anschließend<br />
auf OK. Enterprise Architect wird Sie darauf hinweisen, dass die Änderungen<br />
erst nach einem Neustart übernommen werden.<br />
5. Starten Sie Enterprise Architect neu, um die Änderungen zu übernehmen.<br />
6. Überprüfen Sie, ob die MDG-Technologie eingebunden ist, indem Sie den MDG-<br />
Technologie-Dialog wie unter Schritt 4 öffnen. Es sollte nun unter „Technologies“ das<br />
entsprechende SysML Plug-In aufgeführt werden.<br />
Weitere Möglichkeiten zur Einbindung von MDG-Plug-Ins in Enterprise Architect sind<br />
in [Sparx10] erläutert.<br />
6.2 Verwendung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML-Profil in Enterprise Architect verwendet<br />
werden kann.<br />
1. Erstellen Sie eine neue EA-Projektdatei. Klicken Sie dazu in Enterprise Architect<br />
auf „File“ und dann „New Project“. Wählen Sie einen geeigneten Pfad und Dateinamen<br />
für die Projektdatei und klicken Sie auf „speichern“.<br />
2. Erstellen Sie ein neues Paket unter dem Wurzelknoten „Model“ im „Project Browser“.<br />
Verwenden Sie dazu entweder die „Add a Package“ oder drücken Sie „Strg+W“.<br />
Geben Sie dem Projekt einen geeigneten Namen und eine geeignete Sicht auf die<br />
Modelle, die Sie in diesem Paket erstellen möchten. Klicken Sie anschließend auf<br />
OK.<br />
3. Erstellen Sie ein neues Diagramm, indem Sie mit der rechten Maustaste auf das in<br />
Schritt 2) erstellte Paket klicken und unter dem Menüeintrag „Add“ auf „Add Dia-<br />
Zuletzt geändert: 06.06.2011 15:24 26/34
gram…“ klicken. Wählen Sie einen geeigneten Namen für Ihr Zieldiagramm und wählen<br />
Sie unter „Type“ die entsprechende MDG-Technologie und anschließend unter<br />
„Diagram Types“ den Eintrag des Diagramms, welches Sie modellieren möchten.<br />
4. Erstellen Sie ein Diagramm im Enterprise Architect Editor. Genaue Informationen<br />
zur Verwendung von Enterprise Architect können aus [Sparx09] entnommen werden.<br />
Weitere Informationen zur Modellierung allgemein und weitere Verweise zu den einzelnen<br />
Modellen finden sich in [<strong>SPES</strong>09a] sowie den Teilergebnissen ([<strong>SPES</strong>11b],<br />
[<strong>SPES</strong>11c], [<strong>SPES</strong>11d]).<br />
6.3 Erweiterung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Solution-Oriented Modeling Profil in<br />
Enterprise Architect erweitert werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der lokalen<br />
Festplatte. Es werden zwei Dateien entpackt: eine EAP und eine XML-Datei.<br />
2. Öffnen Sie die EAP-Datei in Enterprise Architect. Starten Sie die Enterprise Architect<br />
Anwendung und öffnen Sie die EAP-Datei. Diese Datei enthält die Profildefinition<br />
sowie die Definitionen für den Diagrammtypen und die EA-Toolbox.<br />
3. Modellieren Sie Ihre Erweiterung. Nun können Sie Änderungen am Profil oder den<br />
Diagramm- und Toolbox-Definitionen vornehmen oder weitere Profile hinzufügen.<br />
Hinweise zur Erweiterung von MDG-Technologien und zum Umgang mit Enterprise<br />
Architect können aus [Sparx09] und [Sparx10] entnommen werden.<br />
Zuletzt geändert: 06.06.2011 15:24 27/34
7 Zusammenfassung<br />
In diesem Ergebnisdokument wurde das integrierte Gesamtprofil für das modellbasierte<br />
Requirements Engineering im Requirements View der <strong>SPES</strong>-Methode, basierend<br />
auf dem initialen RE-Ansatz und den darauf aufbauenden Erweiterungen beschrieben´.<br />
Es fasst die bisher erstellten drei Einzelprofile zusammen und erweitert<br />
sie. Dazu wurde zunächst der Stand der Wissenschaft im modellbasierten Requirements<br />
Engineering und in der Erstellung domänenspezifischer Modellierungssprachen<br />
zusammengefasst, sowie ein Überblick gegeben über die Anforderungen der<br />
Industriepartner an einen Ansatz für die durchgehend modellbasierte Entwicklung,<br />
die sich aus der Ausarbeitung zweier Fallstudien ergaben. In den Fallstudien wurde<br />
festgestellt, dass methodische Anleitung und insbesondere auch Werkzeugunterstützung<br />
für den Requirements View notwendig ist.<br />
Im Requirements View wurde bereits die Grundlage für eine Werkzeugunterstützung<br />
gelegt, die ein durchgängig modellbasiertes Requirements Engineering für Embedded<br />
Systems erleichtern soll. Die dort enthaltenen Modelle umfassen die Zielmodellierung<br />
per KAOS-Modell als Grundlage für die systematische Erhebung und Verfeinerung<br />
von Anforderungen, die Szenariomodellierung durch Use-Cases und Sequenzdiagramme<br />
zur Erhebung und Verfeinerung von Anforderungen auf mehreren<br />
Abstraktionsebenen und zur Konkretisierung von Zielen, sowie lösungsorientierten<br />
Anforderungen zur strukturierten Modellierung der durch Ziele und Szenarien erhobenen<br />
Anforderungen.<br />
Diese Modelle wurden einzeln bereits in den drei vorigen Teilergebnissen<br />
[<strong>SPES</strong>11b], [<strong>SPES</strong>11c], [<strong>SPES</strong>11d] für den Enterprise Architect implementiert. In<br />
diesem Dokument wurden die im initialen Ansatz verwendeten Modelle kurz zusammengefasst.<br />
Ferner wurden die Erweiterungen des Gesamtprofiles gegenüber dem<br />
initialen Ansatzes beschrieben. Es wurde ein Gesamtprofil des Requirements Views<br />
als SysML-Profil für Enterprise Architect implementiert, welches die in den einzelnen<br />
Teilergebnissen beschriebenen Teilprofile integriert. Darüber hinaus wurden die vorgeschlagenen<br />
Erweiterungen um die expliziten Perspektiven Umwelt und Architekturüberblick<br />
mit Modellelementen des Datenmodells/internen Blockdiagramms der<br />
SysML implementiert. Mit dem in diesem Dokument beschriebenen einheitlichen EA-<br />
Profil soll die werkzeugbasierte Unterstützung für die prototypische Verwendung des<br />
initialen modellbasierten RE-Ansatzes realisiert werden. Weitere Arbeiten umfassen<br />
das Bereitstellen einer auf diesem Gesamtprofil aufbauenden vollständigen Werkzeugunterstützung.<br />
Zuletzt geändert: 06.06.2011 15:24 28/34
8 Referenzen<br />
[Davis93] Davis, A. M.: Software Requirements – Objects, Functions, and<br />
States. 2 nd Edition. Prentice Hall, 1993.<br />
[KeTo08] Kelly, Steven; Tolvanen, Juha-Pekka; Domain-specific Modeling<br />
– Enabling Full Code Generation. John Wiley & Sons, Inc., Hobo-ken,<br />
Ney Jersey, 2008.<br />
[LETA08] Lagarde, François; Espinoza, Huáscar; Terrier, François; André,<br />
Charles; Gérard, Sébastien; Leveraging Patterns on Domain<br />
Models to Improve UML Profile Definition. Fundamental Approaches<br />
to Software Engineering; Lecture Notes in Computer<br />
Science, SpringerLink, Volume 4961/2008, S. 116-130. 2008.<br />
[OMG10a] Object Management Group. OMG Systems Modeling Language<br />
(OMG SysML) Language Specification v1.2. OMG Document<br />
Number: formal/2010-06-02. 2010.<br />
[OMG10b] Object Management Group: UML Superstructure Version 2.3,<br />
OMG formal/10-05-05 http://www.omg.org/spec/UML/2.3/ (2010)<br />
[OMG11a] Object Management Group. OMG Meta Object Facility (MOF)<br />
Core Specification v2.4 – Beta 2. OMG Document Number:<br />
dtc/2010-12-08. 2011.<br />
[Pohl10] Pohl, Klaus. Requirements Engineering – Foundations, Principles,<br />
Techniques. Springer, 2010.<br />
[SiPo10] Sikora, Ernst; Pohl, Klaus. Evaluation eines modellbasierten Requirements-Engineering-Ansatzes<br />
für den Einsatz in der Motorsteuerungs-Domäne.<br />
Proceedings of ENVISION<strong>2020</strong> 2010.<br />
[RespIT07] Respect-IT. A KAOS Tutorial v1.0. (2007)<br />
[Sparx09] SparxSystems. Enterprise Architect User Guide. 2009.<br />
[Sparx10] SparxSystems. Enterprise Architect Software Developers’ Kit.<br />
2010.<br />
[<strong>SPES</strong>09a] Lauenroth, Kim; Sikora, Ernst; Stallbaum, Heiko; Tenbergen, Bastian.<br />
Initialer modellbasierter Requirements Engineering Ansatz für<br />
Embedded Systems. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 0.92 vom<br />
13.11.2009.<br />
[<strong>SPES</strong>10a] Lauenroth, Kim; Gabrisch, Sebastian; Sikora, Ernst; Tenbergen,<br />
Bastian. Beschreibung der Durchführung der Studie zum Stand<br />
der Praxis im Requirements Engineering für Embedded Systems.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom 16.07.2010.<br />
[<strong>SPES</strong>10b] Daun, Marian; Sikora, Ernst; Lauenroth, Kim. Stand der Praxis im<br />
modellbasierten Requirements Engineering. <strong>SPES</strong> <strong>2020</strong> Deliverable<br />
D2.1.A, 2010.<br />
[<strong>SPES</strong>11a] Avramova, Nadezhda; Tenbergen, Bastian. Untersuchung des<br />
State-of-the-Art zur Erstellung von Domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen. <strong>SPES</strong> <strong>2020</strong> Teilergebnis<br />
des ZP-AP2, Version 1.0<br />
[<strong>SPES</strong>11b] Tenbergen, Bastian; Daun, Marian. UML/SysML-Profil und MDG-<br />
Zuletzt geändert: 06.06.2011 15:24 29/34
Plug-In für Enterprise Architect zur Modellierung von KAOS-<br />
Zieldiagrammen auf Basis von UML/SysML. Version 1.2 vom<br />
13.10.2010<br />
[<strong>SPES</strong>11c] Avramova, Nadezhda; Daun, Marian; Tenbergen, Bastian; Weyer,<br />
Thorsten. SysML-Profil und MDG-Plug-In für Enterprise Architect<br />
zur Szenariomodellierung auf Basis von SysML. <strong>SPES</strong> <strong>2020</strong> Teilergebnis<br />
des ZP-AP2, Version 1.0 vom 02.03.2011<br />
[<strong>SPES</strong>11d] Daun, Marian; Gabrisch, Sebastian; Tenbergen, Bastian; Weyer,<br />
Thorsten. SysML-Profil und MDG-Plug-In für Enterprise Architect<br />
zur Modellierung von lösungsorientierten Anforderungen auf Basis<br />
von SysML. <strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version 1.1<br />
vom 12.04.2011<br />
[<strong>SPES</strong>11e] Tenbergen, Bastian; Daun, Marian; Bohn, Philipp. Leitfaden und<br />
Projektschablonenbeschreibung für die modellbasierte Dokumentation<br />
von Anforderungen und Entwurf für Embedded Systems<br />
über mehrere Abstraktionsstufen hinweg mittels eines kommerziellen<br />
Modellierungswerkzeugs. <strong>SPES</strong> Deliverable D2.4B, Version<br />
1.0 vom 29.04.2010.<br />
[<strong>SPES</strong>11f] Eder, Sebastian; Vogelsang, Andreas; Feilkas, Martin; Gezgin,<br />
Tayfun; Daun, Marian; Tenbergen, Bastian; Weyer, Thorsten.<br />
Seamless Modeling of an automation example using the <strong>SPES</strong><br />
methodology. <strong>SPES</strong> Teilergebnis, Draft Version 0.3 vom<br />
27.05.2011.<br />
[STP11] Sikora, Ernst; Tenbergen, Bastian; Pohl, Klaus. Requirements Engineering<br />
– An Investigation of Industry Needs. Proceedings of<br />
Requirements Engineering: Foundations for Software Quality<br />
REFSQ 2011.<br />
[VaLa09] Van Lamsweerde, A.: Requirements Engineering – From System<br />
Goals to UML Models to Software Specifications. Wiley, 2009<br />
Zuletzt geändert: 06.06.2011 15:24 30/34
Anhang A – Untersuchung des State-of-the-Art zur Erstellungen<br />
von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen<br />
Modellierungssprachen und UML/SysML-Profilen<br />
Projektbezeichnung <strong>SPES</strong> <strong>2020</strong><br />
Verantwortlich Bastian Tenbergen<br />
QS-Verantwortlich Raphael Weber (OFFIS)<br />
Erstellt am 13.12.2010<br />
Zuletzt geändert 09.02.2011 09:59<br />
Version: 1.0<br />
Freigabestatus Vertraulich für Partner: ; ; …<br />
Projektöffentlich<br />
X Öffentlich<br />
Bearbeitungszustand in Bearbeitung<br />
vorgelegt<br />
X fertig gestellt
Weitere Produktinformationen<br />
Erzeugung Nadezhda Avramova (NA), Bastian Tenbergen (BT)<br />
Mitwirkend Marian Daun (MD), Thorsten Weyer (TW)<br />
Änderungsverzeichnis<br />
Änderung<br />
Nr. Datum Version<br />
Geänderte<br />
Kapitel<br />
Beschreibung der Änderung Autor Zustand<br />
1 13.12.10 0.1 Alle Initiale Produkterstellung NA In Bearbeitung<br />
2 21.12.10 - - Internes Review BT In Bearbeitung<br />
3 14.01.10 0.3 2, 3, 4 Inhaltliche Vervollständigung NA In Bearbeitung<br />
4 19.01.11 0.4 3, 4, 5 Inhaltliche Überarbeitung BT In Bearbeitung<br />
5 20.01.11 0.5 1, 3, 4, 5 Inhaltliche Überarbeitung BT In Bearbeitung<br />
6 25.01.11 0.6 Alle Vervollständigung BT In Bearbeitung<br />
7 03.02.11 - - Externes Review OFFIS Vorgelegt<br />
8 09.02.11 1.0 Alle Überarbeitung nach Review BT Fertig gestellt
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Kurzfassung<br />
Die Vorarbeiten der Universität Duisburg-Essen (siehe [DaSiLa10], [LaGaSiTe10]<br />
und [SiTePo11]) haben gezeigt, dass für die industriereife Verwendung des initialen,<br />
modellbasierten Requirements-Engineering-Ansatzes [LaSiStTe09] eine Werkzeugunterstützung<br />
fehlt. Die Erhebung zum Stand der Praxis des modellbasierten Requirements<br />
Engineering zeigt außerdem, dass insbesondere UML und SysML von der<br />
Industrie für modellbasierte Entwicklungsaktivitäten häufig Verwendung finden. Anforderungen<br />
an den einen modellbasierten RE-Ansatz schließen unter anderem die<br />
Verwendung methodenspezifischer Modellierungssprachen ein. UML-Profile<br />
[FuVa04] stellen einen Mechanismus bereit, das UML-Metamodell Meta-Object Facility<br />
(MOF, [OMG06]) domänenspezifisch zu Erweitern. Um eine methodenspezifische<br />
Erweiterung der MOF in Bezug auf einen neuen modellbasierten Ansatz erstellen zu<br />
können wurde daher zunächst der Stand der Praxis zur domänenspezifischen Erweiterung<br />
untersucht. Dieses Dokument fasst die Ergebnisse der Untersuchung zusammen.<br />
Zuletzt geändert: 09.02.2011 09:59 3/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Inhalt<br />
1 Einordnung und Kurzbeschreibung ..................................................................... 5<br />
1.1 Motivation und Einordnung ............................................................................ 5<br />
1.2 Management Summary ................................................................................. 5<br />
1.3 Überblick ....................................................................................................... 5<br />
2 Unterscheidung von DSML und UML/SysML-Profilen ......................................... 6<br />
3 Methoden zur systematischen Erstellung von DSMLs ........................................ 7<br />
3.1 Methode nach Kelly und Tolvanen ................................................................ 7<br />
3.2 Methode nach Alanen und Porres ................................................................. 9<br />
3.3 Fazit zur Erstellung von DSMLs .................................................................. 10<br />
4 Methoden zur Systematischen Erstellung von Profilen...................................... 11<br />
4.1 Ad-Hoc Methode.......................................................................................... 11<br />
4.2 Methode nach Lagarde et al. ....................................................................... 11<br />
4.3 Methode nach Selic ..................................................................................... 12<br />
4.4 Fazit zur UML-Profilerstellung ..................................................................... 13<br />
5 Beispiele für DSMLs und UML/SysML-Profile ................................................... 14<br />
5.1 Beispiele für Domänenspezifische Modellierungssprachen ......................... 14<br />
5.2 Beispiele für UML-Profile ............................................................................. 15<br />
6 Zusammenfassung ............................................................................................ 17<br />
7 Literaturverzeichnis ........................................................................................... 18<br />
Zuletzt geändert: 09.02.2011 09:59 4/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
1 Einordnung und Kurzbeschreibung<br />
1.1 Motivation und Einordnung<br />
Das vorliegende Ergebnisdukument beschreibt den Stand der Wissenschaft zum<br />
Thema „Erstellung von Domänenspezifischen Sprachen und UML/SysML-Profilen“.<br />
Es liefert die Ausgangsbasis für die Methodenauswahl, nach der Profilunterstützung<br />
für den initialen, modellbasierten Requirements-Engineering-Ansatz implementiert<br />
werden soll.<br />
1.2 Management Summary<br />
Die Vorarbeiten der Universität Duisburg-Essen (siehe [DaSiLa10], [LaGaSiTe10]<br />
und [SiTePo11]) haben gezeigt, dass für die industriereife Verwendung des initialen,<br />
modellbasierten Requirements-Engineering-Ansatzes [LaSiStTe09] eine Werkzeugunterstützung<br />
fehlt. Die Erhebung zum Stand der Praxis des modellbasierten Requirements<br />
Engineering zeigt außerdem, dass insbesondere UML und SysML von der<br />
Industrie für modellbasierte Entwicklungsaktivitäten häufig Verwendung finden. Anforderungen<br />
an den einen modellbasierten RE-Ansatz schließen unter anderem die<br />
Verwendung methodenspezifischer Modellierungssprachen ein. UML-Profile<br />
[FuVa04] stellen einen Mechanismus bereit, das UML-Metamodell Meta-Object Facility<br />
(MOF, [OMG06]) domänenspezifisch zu erweitern. Um eine methodenspezifische<br />
Erweiterung der MOF in Bezug auf einen neuen modellbasierten Ansatz erstellen zu<br />
können wurde daher zunächst der Stand der Praxis zur domänenspezifischen Erweiterung<br />
untersucht. Dieses Dokument fasst die Ergebnisse der Untersuchung zusammen.<br />
1.3 Überblick<br />
Im folgenden Abschnitt wird eine Unterscheidung zwischen domänenspezifischen<br />
Modellierungssprachen und UML/SysML-Profilen getroffen. Abschnitt 3 befasst sich<br />
mit Methoden zur strukturierten Erstellung von domänenspezifischen Sprachen und<br />
Abschnitt 4 behandelt die systematische Definition von UML/SysML-Profilen. Abschnitt<br />
5 gibt einige Beispiele für Sprachen, die nach den Methoden in den Abschnitten<br />
3 und 4 erstellt worden sind. Abschnitt 6 fasst dieses Dokument kurz zusammen.<br />
Zuletzt geändert: 09.02.2011 09:59 5/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
2 Unterscheidung von DSML und UML/SysML-Profilen<br />
In der gängigen Literatur wird prinzipiell zwischen domänenspezifischen Modellierungssprachen<br />
(Domain-specific modelling languages, DSML) und domänenspezifischen<br />
Profilen für UML bzw. SysML unterschieden. Kelly und Torvanen [KeTo08]<br />
betrachten DSMLs hauptsächlich als neuartige und ausschließlich in der gegebenen<br />
Domäne relevante Modellierungssprachen. Nach ihrer Auffassung sind DSMLs stets<br />
vollständig neu zu entwickeln, da eine zweckorientierte Neuentwicklung einer DSML<br />
einer Definition von Metamodell-Erweiterungen bezüglich ihrer Aussagekraft überlegen<br />
sind.<br />
Dem gegenüber steht die Auffassung von beispielsweise Lagarde et al. oder Selic<br />
(siehe [LETG07] oder [Seli07]). Die Autoren betrachten UML/SysML Profile ebenfalls<br />
als einen adäquate Mechanismus um domänenspezifische Sprachen zu definieren.<br />
Sie begründen diese Aussage damit, dass eine Erweiterung eines existierenden Metamodells<br />
(wie beispielsweise OMG’s Meta-Object Facility [OMG06]) dazu führt, dass<br />
existierende Konzepte (wie beispielsweise Vererbungshierarchien oder Allokation<br />
von Artefakten aus anderen Modellen) wiederverwendet werden können. Somit kann<br />
eine domänenspezifische Anpassung spezifisch auf semantische Abbildung der Domäne<br />
reduziert werden, ohne dass zusätzliche Arbeit für die Definition von Konzepten<br />
wie Vererbung aufgewendet werden muss.<br />
Im Folgenden werden diese beiden Auffassungen separat voneinander betrachtet,<br />
da die Ansätze zu deren Erstellung grundsätzlich unterschiedlich ist. Im nachstehenden<br />
Abschnitt werden zuerst Methoden zur Erstellung von nicht-MOF-basierten<br />
DSMLs beschrieben. Im Anschluss werden Methoden zur Erstellung von<br />
UML/SysML-Profilen erläutert. Jeweils ein Fazit zu den Methoden zur Erstellung von<br />
DSMLs und von UML/SysML-Profilen wird deren Vor- und Nachteile präsentieren. Im<br />
Anschluss an diese Arbeit werden Beispiele für nicht-MOF-basierte DSMLs sowie<br />
UML/SysML-Profile gegeben.<br />
Zuletzt geändert: 09.02.2011 09:59 6/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
3 Methoden zur systematischen Erstellung von DSMLs<br />
Domänenspezifische Modellierungssprachen sind Sprachen, die die Sachverhalte in<br />
einer gegebenen Domäne so exakt wie möglich abbilden sollen. Eine Domäne kann<br />
nach [KeTo08] eine Organisation darstellen, oder ein Bereich wie Netzwerke oder<br />
eingebettete Systeme. Typisch für eine DSML ist, dass sie die erkannten Konzepte<br />
der Domäne abbildet (z.B. Hardware-Plattform oder Software-Komponenten der Domäne<br />
„Eingebettete Systeme“) und die Beziehungen zwischen ihnen (z.B. eine<br />
Hardware-Plattform kann mehrere Software-Komponenten verwalten). Da Domänen<br />
Gebiete von speziellem Wissen sind, muss auch die entsprechende Modellierungssprache<br />
dieses spezielle Wissen abbilden. Deshalb müssen laut [KeTo08] DSMLs<br />
von Experten der Domäne entwickelt werden, die diese Domäne sehr gut kennen<br />
und die wissen, welche Sachverhalte dort relevant sind, bzw. wie diese Sachverhalte<br />
in Zusammenhang stehen. Wenn eine DSML von Experten entwickelt und qualitätsgesichert<br />
ist, wird sie zur Modellierung durch die Entwickler in der Domäne verwendet.<br />
Die DSML soll dabei die Arbeit der Entwickler wesentlich erleichtern, da die Entwickler<br />
die Domänenbestandteile gut kennen und diese einfach durch die Modellierungssprache<br />
in den gewünschten Modell ausdrücken sollen.<br />
DSMLs stellen zum großen Teil auch „Best Practices“ der betrachteten Domäne dar.<br />
Best Practices kann die Art und Weise sein, wie Modelle in dieser Domäne erstellt<br />
werden, aber auch erkannte Muster in den Domänenmodellen und in den Assoziationen<br />
zwischen Modellelementen und dazugehörigem Code bei der späteren Phasen<br />
des Softwareentwicklungsprozesses. Daher stellen die DSMLs oft eine Grundlage<br />
zur modellgetriebenen Softwareentwicklung dar, wobei vollständiger und lauffähiger<br />
Systemcode direkt aus den Domänenmodellen generiert werden kann.<br />
3.1 Methode nach Kelly und Tolvanen<br />
Die Methode zur Entwicklung einer DSML nach [KeTo08] ist ein fünfschrittiger Prozess.<br />
Im Folgenden werden die Schritte in der Methode benannt und kurz erläutert.<br />
3.1.1 Identifizieren der Domänenkonzepte und Abbilden in die DSML<br />
In diesem Schritt muss der Entwickler der Sprache die Domäne genau untersuchen<br />
und die wesentlichen Konzepte der Domäne identifizieren, beispielsweise mit Hilfe<br />
von Interviews oder sonstigen Gewinnungstechniken (eine Auswahl potentiell anwendbarer<br />
Methoden kann in [Pohl10] nachgelesen werden). Die Domänenkonzepte<br />
verstecken sich meistens in den Begriffen, die die Mitarbeiter der Domäne verwenden<br />
(die Fachsprache), in der Art und Weise wie sie Modelle erstellen und Software-<br />
Produkte entwickeln, aber auch in den bereits entwickelten Architekturen und Code<br />
von früheren Projekten (besonders bei eingebetteten Systemen). Oft existiert in einer<br />
Domäne eine Fachsprache, welche Begriffe enthält, die von allen Beteiligten gleich<br />
interpretiert werden und für Domänenexterne unbekannt sind. Die Art und Weise der<br />
Entwicklung eines Softwaresystems verraten dem Entwickler der neuen DSML ähnliche<br />
Modellierungs- oder Implementierungsmuster, die er/sie ebenso durch die DSML<br />
widerspiegeln kann. Den auf diese Weise erkannten Domänenkonzepten ordnet der<br />
Zuletzt geändert: 09.02.2011 09:59 7/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Entwickler Modellierungskonzepte zu. Auf diese Weise wird sichergestellt, dass die<br />
für den Zweck der DSML wichtigen Domänenkonzepte zu den Hauptmodellierungselementen<br />
der neuen Sprache werden.<br />
3.1.2 Formalisieren eines Metamodells<br />
In diesem Schritt formalisiert der Entwickler die neu entwickelte Modellierungssprache<br />
durch die Erstellung eines Metamodells. In einem Metamodell werden die zugelassenen<br />
Modellierungselemente formal beschrieben, sowie Regeln festgelegt, wie<br />
sie miteinander im Modell kombiniert werden dürfen. Das Metamodell kann auch als<br />
Grundlage für CASE-Werkzeuge dienen, sodass mit Hilfe des Metamodells durch<br />
das CASE-Werkzeug ein Modellierungswerkzeug generiert werden kann (ähnlich<br />
dem GMF-Framework von Eclipse). Die Erstellung eines konkreten Modells in der<br />
neuen DSML auf Basis des Metamodells der DSML entspricht einer Instanziierung<br />
des Metamodells.<br />
3.1.3 Definieren der Semantik<br />
Im dritten Schritt muss der Bezug zwischen den Konzepten der Domäne und den<br />
Modellierungselementen hergestellt werden. Die Semantik beschreibt, was die Modellierungselemente<br />
der DSML ausdrücken, also welche Konzepte der Domäne sie<br />
abbilden. Meistens ist die Semantik bekannt schon vor der Entwicklung der DSML,<br />
da alle Domäneninternen dasselbe unter einem Begriff verstehen. Diese Semantik<br />
wird einfach der domänenspezifischen Modellierungssprache hinzugefügt.<br />
3.1.4 Definieren der graphischen Notation<br />
Nach der Auffassung von Kelly und Tolvanen ist die graphische Notation der neuen<br />
DSML zwar nicht von primärer Wichtigkeit bei der Erstellung einer DSML (im Gegensatz<br />
zu der Anwendung der DSML, bei der die graphische Notation eine entscheidende<br />
Rolle spielt). Allerdings kann die graphische Notation die Einarbeitung in die<br />
Sprache von den Domänenentwicklern deutlich erleichtern. Im vierten Schritt soll auf<br />
Basis der bisherigen Arbeitsschritte die graphische Notation entwickelt werden. Das<br />
geschieht, indem für jedes in Schritt 1 (siehe Abschnitt 3.1.1) identifizierte Modellierungselement<br />
ein passendes Symbol gewählt wird. Es ist von Vorteil, eine Notation<br />
zu wählen, die in den früher erstellten Modellen gerne benutzt worden ist, da so auf<br />
Vorwissen der Entwickler zurückgegriffen werden kann.<br />
3.1.5 Validieren und weitergehende Pflege<br />
An letzter Stelle bei der Entwicklung einer DSML muss diese von den anderen Domänenentwicklern<br />
auf Konsistenz zur abgebildeten Domäne überprüft werden. Dies<br />
erfolgt anhand von (teilweise domänenspezifischen) Kriterien, beispielsweise wie<br />
hoch der Einarbeitungsaufwand ist, wie gut die Anwendbarkeit der Sprache ist oder<br />
ob die Domänenkonzepte korrekt abgebildet werden. Zum Erstellungsprozess einer<br />
DSML gehört auch die Pflege der Sprache. Die Domäne kann sich im Laufe der Zeit<br />
ändern und die Sprache muss diese Änderungen entsprechend umsetzen können.<br />
Zuletzt geändert: 09.02.2011 09:59 8/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Neue Modellelemente können nach Bedarf definiert werden oder veraltete/unbenutzte<br />
herausgenommen werden.<br />
3.2 Methode nach Alanen und Porres<br />
Alanen und Porres schlagen in [AlPo08] eine Methode zur Entwicklung von domänenspezifischen<br />
Modellierungssprachen durch Erweiterung eines bestehenden Metamodells<br />
vor. In ihrem Beispiel in [AlPo08] verwenden die Autoren als bestehendes<br />
Metamodell das UML/SysML-Metamodell MOF (Meta Object Facility, [OMG06]), das<br />
hauptsächlich nach dem Prinzip der Spezialisierung, bekannt aus objektorientierten<br />
Programmierungssprachen, aufgebaut ist. Dabei ist zu beachten, dass diese Form<br />
der Erweiterung von Metamodellen (sogenannte Heavyweight Extension) nicht zu<br />
einem UML/SysML-Profil führt, sondern vielmehr zu einer MOF-basierten DSML, die<br />
orthogonal zur UML ist.<br />
Alanen und Porres zeigen, dass der Ansatz sich auch allgemein für die Entwicklung<br />
domänenspezifischen Modellierungssprachen eignet. In diesem Ansatz existiert ein<br />
Metamodell mit Modellelementen, die auf einer sehr hohen Abstraktionsebene spezifiziert<br />
sind, und enthält z.B. Konzepte wie „Namespace“, „OwnedElement“, etc. Durch<br />
Spezialisierung dieser generischen Metamodellelemente kann man das Metamodell<br />
eines erwünschten Modells herausarbeiten.<br />
Abbildung 1. Heavyweight Metamodell Extension nach Alanen und Porres [AlPo08].<br />
Abbildung 1 schematisiert die Erweiterung eines bestehenden Metamodells beispielhaft.<br />
Es wird gezeigt, wie die Metamodellelemente, die in einem UML-<br />
Klassendiagramm dargestellt sind, die bereits bestehenden generischeren Metamodellkonzepte<br />
„Namespace“ und „Element“ durch eine Spezialisierung erweitern. Die<br />
Packages „Core“ und „Class“, die die beiden Metamodelle umranden, dienen der<br />
besseren Organisation und logischen Trennung der Metamodelle. Bei einer Spezialisierung<br />
„erbt“ das Unterelement (z.B. das Element „Class“ in Abbildung 1) alle Eigenschaften<br />
des Oberelements (z.B. das Element „Namespace“ in Abbildung 1) und<br />
fügt neue hinzu. Die Spezialisierung von dem Metaelement „Element“ ist aufgeteilt in<br />
Zuletzt geändert: 09.02.2011 09:59 9/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
zwei Metaelemente – „Attribute“ und „Operation“. Diese stellen Teileigenschaften des<br />
generischen Metaelements dar. Die Spezialisierung eines generischen Metamodellelements<br />
durch Metaelemente, die nur ein Teil seiner Eigenschaften repräsentieren,<br />
nennen [AlPo08] subsetting. Die Beziehungen zwischen den spezielleren Metamodellkonzepten<br />
(im Beispiel die Metamodellelementen „Class“, „Attribute“ und<br />
„Operation“) können anders sein, als zwischen ihren entsprechenden Obertypen.<br />
Die Autoren sehen den größten Vorteil dieses Ansatzes in der leichten Erweiterung<br />
einer domänenspezifischen Modellierungssprache. Dann würde der Entwickler die<br />
Metamodellelementen, der neuen Modellkonzepte als Spezialisierungen eines oder<br />
mehreren bereits bestehenden Metamodellelemente eingeben. Durch die Vererbung<br />
werden den neuen Modellelementen alle nötigen Eigenschaften weitergegeben. Der<br />
Spezialisierungsmechanismus erleichtert zusätzlich den Modelltransformationsprozess,<br />
der in Werkzeugen durch Codegeneratoren durchgeführt wird. Wenn das Modell,<br />
das zu transformieren ist, geändert wird, brauchen die Entwickler den Codegenerator<br />
nicht anzupassen, da die neuen Modellelementen von bereits spezifizierten<br />
erben und dadurch substituierbar sind.<br />
3.3 Fazit zur Erstellung von DSMLs<br />
Domänenspezifischen Sprachen, die konkret für eine Domäne entwickelt worden<br />
sind, erfassen zum größten Teil „Best-Practices“ dieser Domäne und systematisieren<br />
damit die typische Art und Weise, wie in dieser Domäne Modellartefakte entwickelt<br />
werden. Der größte Vorteil einer speziell für eine Domäne erzeugten DSML besteht<br />
in dem hohen Grad, zu dem diese Modellierungssprache die Sachverhalte in der<br />
Domäne abbilden kann. Unter ihren Nachteilen ist der (manchmal hohe) Einarbeitungsaufwand,<br />
der zu der Einführung der neuen DSML, von den Mitarbeitern der<br />
Domäne gebraucht wird. Auch Werkzeugunterstützung für die neue DSML soll von<br />
den Domänenexperten selbstständig entwickelt werden und erfordert Zeit und Ressourcen.<br />
Gängige und kommerzielle Modellierungswerkzeuge können nach der Einführung<br />
der neuen DSML meistens nicht verwendet werden.<br />
Zuletzt geändert: 09.02.2011 09:59 10/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
4 Methoden zur Systematischen Erstellung von Profilen<br />
In diesem Abschnitt werden Methoden zur Erstellung von UML/SysML-basierten<br />
DSMLs vorgestellt. Eine Art zum Erstellen einer UML-basierten DSML ist das Konzept<br />
der „Profile“. Der in UML definierte Profilmechanismus wird von SysML weiterverwendet,<br />
sodass Profile für beide Sprachfamilien erstellt werden können. SysML-<br />
Profile sind folglich auch UML-Profile, jedoch nicht umgekehrt.<br />
UML-Profile sind domänenspezifische Erweiterungen von bestehenden UML-<br />
Metamodellelementen. Das Basiskonzept von UML-Profilen heißt Stereotype, dazu<br />
kommen seine Eigenschaften, genannt Tagged Values und zusätzliche Einschränkungen<br />
des UML-Profils, sogenannte Constraints, welche mit der Object Constraint<br />
Language (OCL) ausgedrückt werden.<br />
Allgemein über die Erstellung von UML-Profilen gilt, dass die Konzepte einer Domäne<br />
u. A. auch spezifischen Eigenschaften der UML Sprache berücksichtigen sollen,<br />
wie Aufbau und Struktur und vorhandene Modellelemente. Im Weiteren werden einige<br />
Methoden betrachtet, die von Ad-Hoc Ansatz bis hin zur systematischen Erstellung<br />
von UML-Profilen gehen.<br />
4.1 Ad-Hoc Methode<br />
Lagarde et al. beschreiben in [LETG07] eine Methode zur Erstellung von UMLbasierten<br />
DSMLs, die sie als Ad-Hoc-Methode bezeichnen. Die Ad-Hoc Methode besteht<br />
aus einem Schritt, in welchem alle augenscheinlich wichtigen Konzepte der<br />
Domäne als Stereotypes spezifiziert. Ob alle Sachverhalte einer Domäne abgedeckt<br />
werden oder ob die Konzepte die richtigen UML-Metamodellelemente erweitern, ist<br />
durch diese Methode nicht gesichert.<br />
4.2 Methode nach Lagarde et al.<br />
In [LETG07] stellen Lagarde et al. eine systematische Methode vor, die die Probleme<br />
der Ad-Hoc Methode zu lösen vermag. Dabei handelt es sich um einen Ansatz, der<br />
als Lightweight Extension bezeichnet wird. Im Folgenden sind die drei Schritte dieses<br />
Ansatzes beschrieben.<br />
4.2.1 Erstellen eines Domänenkonzeptmodells<br />
In diesem Schritt wird ein Domänenmodell erstellt, welches die wesentlichen Konzepte<br />
der Domäne abbildet und in Zusammenhang setzt. Das Domänenkonzeptmodell<br />
soll alle Konzepte der Domäne enthalten, die die Entwickler für relevant betrachten<br />
(ähnlich dem Metamodell von Kelly und Tolvanen, [KeTo08]). Bei der Erstellung<br />
des Domänenkonzeptmodells soll eine Analyse der Domäne stattfinden, die die wesentlichen<br />
Domänenkonzepte hervorbringen soll.<br />
Zuletzt geändert: 09.02.2011 09:59 11/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
4.2.2 Erstellen des Profil-Grundgerüstes<br />
Das erstellte Domänenkonzeptmodell dient im zweiten Schritt zur Erstellung des<br />
Grundgerüstes des UML-Profils. Dabei werden die modellierten Konzepte UML-<br />
Metamodellelementen zugeordnet, indem die Domänenkonzepte aus dem Domänenkonzeptmodell<br />
zu Stereotypes umgewandelt werden. Alle Beziehungen zwischen<br />
ihnen bleiben dabei erhalten. Welches Konzept welchem UML-Metamodellelement<br />
zugeordnet wird, entscheiden die Entwickler des UML-Profils selbst. Die Autoren des<br />
Ansatzes bieten dazu keine Regeln, da abhängig von der Domäne verschiedene Zuordnungen<br />
sinnvoll wären.<br />
4.2.3 Analysieren des Profil-Grundgerüstes<br />
Im letzten Schritt des Ansatzes wird das Profilskelett analysiert und Inkonsistenzen<br />
und Widersprüche zum UML-Metamodell werden beseitigt. Die Autoren stellen vier<br />
mögliche Inkonsistenzen im Grundgerüst vor (sogenannte „Patterns“), die speziell<br />
analysiert werden müssen: die Verwendung von Kompositionsbeziehungen, Referenzassoziationen,<br />
Umformulieren von existierenden Konzepten und Erkennung von<br />
Taxonomien im Grundgerüst. Diese Patterns können zu Inkonsistenzen führen und<br />
müssen deshalb nach den im Ansatz vorgeschlagenen Strategien aufgelöst werden.<br />
In [LETA08] geben die Autoren ein ausführliches Beispiel zur Erstellung eines UML-<br />
Profils nach dem beschriebenen Ansatz und stellen auch dessen Toolunterstützung<br />
vor.<br />
4.3 Methode nach Selic<br />
Bran Selic stellt in [Seli07] ebenfalls einen systematischen Lightweight-Extension-<br />
Ansatz zur Erstellung von UML-Profilen vor. Dieser Ansatz unterscheidet sich wenig<br />
von dem in Abschnitt 4.2; es gibt zwei Hauptschritte: Erstellung eines Domänenmodells<br />
und Zuordnung des Domänenmodells zu UML-Metamodellelementen.<br />
4.3.1 Erstellen eines Domänenmodells<br />
Ähnlich dem ersten Schritt in [LETG07] und [LETG08] (siehe Abschnitt 4.2.1) werden<br />
in diesem Schritt alle Konzepte der Domäne im Domänenmodell erfasst. Selic verdeutlicht<br />
die Wichtigkeit der vollständigen Abstrahierung von der UML, so dass die<br />
Domäne möglichst realistisch durch das Modell abgebildet werden kann. Bei der Erstellung<br />
des Domänenmodells sollen sowohl die abstrakte und konkrete Syntax, als<br />
auch die Constraints der Sprache und deren Semantik definiert werden.<br />
4.3.2 Zuordnung des Domänenmodells zu Metamodellelementen<br />
Im zweiten Schritt wird das eigentliche Profil erstellt, indem die Konzepte des Domänenmodells<br />
zu UML-Metamodellelementen zugeordnet werden. Anders als bei<br />
[LETG07] soll eine Konsistenzprüfung während der Zuordnung stattfinden. Dies beinhaltet<br />
die Überprüfung der Constraints und wie sie sich auf das zu Grunde liegende<br />
Metamodellelement auswirken, da sie nach der Zuordnung auch auf den Stereotype<br />
Zuletzt geändert: 09.02.2011 09:59 12/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
anzuwenden sind. Darüber hinaus sollen die Beziehungen dieses UML-Metamodells<br />
nach Widersprüchen überprüft werden und eventuell sollen seine Attribute in den<br />
Stereotypen verfeinert werden. Selic betont, dass die vielen Widersprüche, die zwischen<br />
dem UML-Metamodell und dem Domänenmodell existieren können, auf eine<br />
Inkompatibilität dieser Sprachen deuten und ein UML-Profil zu dem gegeben Domänenmodell<br />
möglicherweise nicht erstellt werden kann.<br />
4.4 Fazit zur UML-Profilerstellung<br />
Die UML-Profile stellen einen weiteren Mechanismus zur Spezifizierung einer domänenspezifischen<br />
Modellierungssprache dar. Ihre Erstellung kann unter Umständen<br />
mit mehr Aufwand verbunden sein, da die systematische Entwicklung eines UML-<br />
Profils zuerst die Spezifizierung der Domäne in einem Metamodell einschließt und<br />
dann seine Zuordnung zum Metamodell. Vorteilhaft bei der Verwendung von UML -<br />
Profilen ist, dass sie eine Kompatibilität mit UML sicherstellen, so dass auch die Toolunterstützung<br />
für sie leichter wäre. Darüber hinaus wird der Lernaufwand für die Erlernung<br />
der neuen Sprache reduziert, wenn Anwender vorher mit UML bzw. SysML<br />
vertraut gewesen sind. Nachteile der UML-Profile sind dann gegeben, wenn die Konzepte<br />
der Domäne sich nicht exakt den vorliegenden UML-Metamodellelementen<br />
zuordnen lassen. Dann soll eine Trade-Off-Entscheidung erfolgen, die entweder eine<br />
entsprechende Anpassung des Domänenkonzeptmodells, oder Verzicht auf die Verwendung<br />
eines UML-Profils sein kann.<br />
Zuletzt geändert: 09.02.2011 09:59 13/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
5 Beispiele für DSMLs und UML/SysML-Profile<br />
In diesem Abschnitt werden Beispiele für domänenspezifische Sprachen und Profile<br />
gegeben. Der nächste Abschnitt zeigt einige exemplarische Beispiele für domänenspezifische<br />
Sprachen, die nach den in Abschnitt 3 beschriebenen Methoden erstellt<br />
worden sind. In Abschnitt 5.2 werden einige exemplarische UML/SysML-Profile erläutert,<br />
die für den Einsatz im Bereich eingebetteter Systeme sinnvoll und wichtig<br />
sind.<br />
5.1 Beispiele für Domänenspezifische Modellierungssprachen<br />
5.1.1 Home Automation System<br />
Kelly und Torvanen stellen in [KeTo08] mehrere Beispiele für DSMLs vor, die in der<br />
Realität entwickelt und angewendet worden sind. Das Home Automation System ist<br />
eines dieser Beispiele und ein System, das verschiedene Geräte, wie Heizung, Beleuchtung,<br />
aber auch die Sicherheitsanlage in einem Haus kontrollieren soll. Das<br />
Home Automation System ist ein eingebettetes System, in dem Software und Hardware<br />
eng miteinander interagieren. Das System stellt ein Telefonmodul dar, das per<br />
Telefon gesteuert werden kann. Das Modul kann sich auch zu einem Server verbinden,<br />
um die aktuelle Software zu laden oder Log-Files zu schreiben. Wenn sich der<br />
Benutzer mit dem System per Telefon verbindet, bietet es ihm ein Sprachmenü an<br />
und erwartet seine Antwort in Form von Tasteneingaben am Telefon.<br />
Die entwickelte Lösung einer DSML für das Home Automation System beinhaltet<br />
zwei Metamodelle der DSML. eines für die Darstellung des Sprachmenüs und eines<br />
zur Beschreibung der Sprachmeldungen vom System.<br />
Das erste Metamodell stellt eine Beschreibung der Prozesse dar, die bei einem Benutzeranruf<br />
stattfinden können: „Sprachausgabe“, bei der das System dem Benutzer<br />
etwas mitteilt und „Tasteneingabe“, die das Warten des System auf eine Eingabe am<br />
Telefon seitens des Benutzers repräsentiert. Das zweite Metamodell verfeinert Konzepte<br />
aus dem Ersten; das Konzept „Sprachausgabe“ wird weiter verfeinert, indem<br />
Mechanismen zum Zusammenstellen von Sätzen aus einzelnen aufgenommenen<br />
Wörtern dargestellt werden und Fehlertoleranzverfahren gegenüber falschen Benutzereingaben<br />
spezifiziert werden. Die konkrete Syntax der DSML ähnelt die eines<br />
Flow Charts, da diese Notation vor der Einführung der DSML in der Domäne üblich<br />
gewesen ist. Die Modelle, erstellt mit der DSML, sollen zur Kommunikation mit dem<br />
Benutzer dienen und zur Generierung von Systemcode in Assemblersprache.<br />
5.1.2 Sinoptic<br />
In [CBBB10] stellen Cortier et al. eine DSML vor, die für die Modellierung von eingebetteten<br />
Systemen für Satelliten und Raumschiffen geeignet ist. Diese DSML wurde<br />
durch eine Heavyweight Extension erstellt (siehe Abschnitt 3.2). Diese Systeme enthalten<br />
Echtzeit-Software, die entsprechend der Mission im Weltraum, verschiedene<br />
Dienste leisten. Die DSML soll sowohl die Software- und Hardwarearchitektur, als<br />
Zuletzt geändert: 09.02.2011 09:59 14/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
auch die Prozesse, die im System stattfinden, beschreiben können. Die DSML besteht<br />
daher aus drei Blöcken – Softwarearchitektur, Dynamische Architektur und<br />
Hardwarearchitektur. Der Softwarearchitekturblock beschreibt die Struktur der Software<br />
und auch deren Verhalten durch State Charts innerhalb der Software-<br />
Komponenten. Der Hardwarearchitekturblock dient zur Modellierung der Hardwarekomponenten.<br />
Der Block der dynamischen Architektur repräsentiert Software-<br />
Threads mit notierten Echtzeitaspekten, wie Häufigkeit, Priorität, Aktivierungsbedingungen.<br />
Zwischen allen Blöcken bestehen Zuordnungen, so dass die Modelle aller<br />
Blöcke konsistent zueinander gehalten werden. Die DSML kann auch zur Generierung<br />
von Systemcode benutzt werden.<br />
5.1.3 Domain-specific Modeling of Power Aware Distributed Real-time<br />
Embedded Systems<br />
Madl und Dutt entwickeln in [MaDu06] eine DSML zur Modellierung von stromsensitiven<br />
eingebetteten Systemen mit Echtzeitanforderungen und bedienen sich ebenfalls<br />
des Heavyweight Extension Mechanismus (siehe Abschnitt 3.2). Die DSML mit dem<br />
Namen ALDERIS (Analysis Language for Distributed, Embedded and Realtime Systems)<br />
stellt komplexe Echtzeitaspekte sowie Energiesparmechanismen eines eingebetteten<br />
Systems dar. Die zentralen Domänenkonzepte sind u. A. Threads, Aufgaben<br />
und der Prozessor, der die Tasks verarbeitet. Die konkrete Syntax der Sprache<br />
wird durch Bildersymbole repräsentiert. Aus der DSML wird XML-Code generiert, der<br />
als Eingabe eines Werkzeugs für Simulationen und Modellverifikation dient.<br />
5.2 Beispiele für UML-Profile<br />
5.2.1 UML TUT<br />
Das TUT-Profil ist ein UML-Profil, vorgestellt von Kukkala et all. [KRHH05], und ist<br />
speziell zur Modellierung von eingebetteten Systemen gedacht. Da für eingebettete<br />
Systeme eine enge Beziehung zwischen Software und Hardware typisch ist, besteht<br />
das TUT-Profil aus drei Konzepten: Anwendungsbeschreibung (Modellierung der<br />
Softwareanwendung), Plattformbeschreibung (Modellierung der Hardware des Systems)<br />
und Mapping zwischen diesen beiden Beschreibungen. Die zu Grunde liegenden<br />
Stereotypen des TUT-Profils erweitern die UML-Metamodellklassen „Class“ oder<br />
„StructuralFeature“ für die Knotenelemente und „Dependency“ für die Beziehungselemente.<br />
Tagged-Values der jeweiligen Stereotypen werden zu Parametrisierung<br />
des Modells verwendet. Nachdem die Modelle der Anwendung und der Plattform erstellt<br />
worden sind, werden diese durch den Stereotypen „Mapping“ einander zugeordnet.<br />
Bei dem Mapping werden Gruppen von Prozessen im Anwendungsmodell<br />
den entsprechenden Plattformkomponenten zugeordnet.<br />
5.2.2 SystemC<br />
Das UML-Profil für SystemC von Riccobene et al. (siehe [RSRB05]) ist ein Profil zur<br />
Modellierung von System-on-a-Chip (SoC) Systemen auf Systemebene. Das Ziel des<br />
Profils ist es, zur Verbesserung des Designs von SoC Systemen beizutragen. SoC-<br />
Zuletzt geändert: 09.02.2011 09:59 15/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Systeme sind eingebettete Systeme, deren gesamte Komponenten auf einem einzelnen<br />
Chip aufgebracht sind. Für die Spezifizierung dieser Systeme, erkennen die<br />
Autoren den Bedarf an Erhöhung des Abstraktionsniveaus der Modellierung bis Systemebene.<br />
Gleichzeitig ist die Sprache SystemC weit eingesetzt zur Entwicklung von<br />
SoC-Systemen. Das UML-Profil für SystemC soll die Fähigkeit der SystemC-Sprache<br />
widerspiegeln, Struktur und Verhalten darzustellen. Aus dem mit Hilfe des Profils erstellten<br />
UML Modell soll der Systemcode in SystemC generiert werden. Das UML-<br />
Profil für SystemC beinhaltet Konzepte zu Modellierung von Struktur – Modules und<br />
Ports, und zu Modellierung von Verhalten – Channels, Threads und Events. Die<br />
Strukturkonzepte erweitern die UML-Diagramme „Class Diagram“ und „Composite<br />
Structure Diagram“ und die Verhaltenskonzepte – die UML State Machines.<br />
5.2.3 UML QoS<br />
Das UML-Profil “for Modelling Quality of Service and Fault Tolerance Characteristics<br />
and Mechanisms (QoS)“ ist eines der bekanntesten UML-Profile der Object Management<br />
Group (OMG) [OMG05]. Es wurde entwickelt zur Darstellung von Qualitätseigenschaften<br />
in UML-Diagrammen durch Annotationen. Das QoS-Profil besteht aus<br />
dem zentralen Konzept, genannt QoS Characteristics, die die Qualitätseigenschaften<br />
eines Systems wiederspiegeln: Performance, Dependability, Security, Integrity, Coherence,<br />
Throughput, Latency, Efficiency, Demand, Reliability und Availability. Jede<br />
QoS-Characteristic stellt eine Template-Klasse dar, die Parametern enthält. Den Parametern<br />
werden im UML-Modell konkrete Werte zugeordnet. Das annotierte UML-<br />
Model mit QoS-Eigenschaften heißt Quality Model. Darüber hinaus enthält das QoS-<br />
Profil auch sog. QoS-Constraints, die den Wertebereich des QoS-Characteristics<br />
einschränken und QoS-Levels, die die Systemzustände (bzgl. verfügbare Ressourcen,<br />
geforderte Qualität, Systemvariablenbelegung, etc.) repräsentieren.<br />
Zuletzt geändert: 09.02.2011 09:59 16/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
6 Zusammenfassung<br />
In diesem Dokument wurden mehrere Methoden zur Erstellung von domänenspezifischen<br />
Modellierungssprachen (domain-specific modelling languages, DSML) vorgestellt.<br />
Dabei muss man den Begriff „domänenspezifische Modellierungssprache“<br />
grundsätzlich auf zwei unterschiedliche Weisen auffassen: Domänenspezifische<br />
Sprachen mit eigenen Metamodellen und domänenspezifische Metamodellerweiterungen<br />
durch UML/SysML-Profile. Vorgestellt wurden drei prinzipielle Ansätze: Heavyweight<br />
Extension für Metamodellerstellung ([AlPo08] und [KeTo08]), Lightweight<br />
Extension durch Metamodellerweiterung ([LETA07], [LETA08] und [Selic07]) und eine<br />
Ad-hoc-Method ([LETA07]). Des Weiteren wurden verschiedene Profile, die typische<br />
Erweiterungsansätze umgesetzt haben, vorgestellt.<br />
Im Projekt <strong>SPES</strong> <strong>2020</strong> soll für die Unterstützung des initialen, modellbasierten Requirements-Engineering-Ansatzes<br />
methodenspezifische Modellierungssprachen und<br />
Werkzeuge entwickelt werden. Die Untersuchung des Standes der Wissenschaft zur<br />
Ableitung modellbasierter Sprachen und die Vorarbeiten der Uni-DUE (beispw.<br />
[DaSiLa10] und [SiTePo11]) haben gezeigt, dass eine Unterstützung des initialen<br />
Ansatzes durch methodenspezifische Profile vollbracht werden können. In weiteren<br />
Arbeiten werden diese Profile auf Basis der hier vorgestellten Ansätze erstellt.<br />
Zuletzt geändert: 09.02.2011 09:59 17/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
7 Literaturverzeichnis<br />
[AlPo08] Alanen, Marcus; Porres, Ivan; A metamodeling language supporting<br />
subset and union properties. Software and Systems Modeling,<br />
SpringerLink, Volume 7, Number 1, S. 103-124. 2008.<br />
[CBBB10] Cortier, A.; Besnard, L.; Bodeveix, J. P.; Buisson, J.; Dagnat, F.;<br />
Filali, M.; Garcia, G.; Ouy, J.; Pantel M.; Rugina, A. Synoptic: A<br />
Domain-Specific Modeling Language for Space On-board Application<br />
Software. Synthesis of Embedded Software, SpringerLink. S.<br />
79-119. 2010.<br />
[DaSiLa10] Daun, Marian; Sikora, Ernst; Lauenroth, Kim. Stand der Praxis im<br />
modellbasierten Requirements Engineering. <strong>SPES</strong> <strong>2020</strong> Deliverable<br />
D2.1.A, 2010.<br />
[FuVa04] Fuentes-Fernándes, L.; Vallecillo-Moreno, A.: An Introduction to<br />
UML Profiles. Upgrade 5(2) (2004).<br />
[KeTo08] Kelly, Steven; Tolvanen, Juha-Pekka; Domain-specific Modeling –<br />
Enabling Full Code Generation. John Wiley & Sons, Inc., Hoboken,<br />
Ney Jersey, 2008.<br />
[KRHH05] Kukkala, Petri; Riihimäki, Jouni; Hännikäinen, Marko; Hämäläinen,<br />
Timo D.; Kronlöf, Klaus. UML 2.0 Profile for Embedded System<br />
Design. Proceedings of the conference on Design, Automation<br />
and Test (DATE '05) in Europe - Volume 2. 7-11 März, 2005.<br />
[LaGaSiTe10] Lauenroth, Kim; Gabrisch, Sebastian; Sikora, Ernst; Tenbergen,<br />
Bastian. Beschreibung der Durchführung der Studie zum Stand<br />
der Praxis im Requirements Engineering für Embedded Systems.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom 16.07.2010.<br />
[LaSiStTe09] Lauenroth, Kim; Sikora, Ernst; Stallbaum, Heiko; Tenbergen, Bastian.<br />
Initialer modellbasierter Requirements Engineering Ansatz für<br />
Embedded Systems. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 0.9 vom<br />
18.09.2009.<br />
[LETA08] Lagarde, François; Espinoza, Huáscar; Terrier, François; André,<br />
Charles; Gérard, Sébastien; Leveraging Patterns on Domain<br />
Models to Improve UML Profile Definition. Fundamental Approaches<br />
to Software Engineering; Lecture Notes in Computer<br />
Science, SpringerLink, Volume 4961/2008, S. 116-130. 2008.<br />
[LETG07] Lagarde, François; Espinoza, Huáscar; Terrier, François; Gérard,<br />
Sébastien; Improving UML Profile Design Practices by Leveraging<br />
Conceptual Domain Models. ASE '07 Proceedings of the twentysecond<br />
IEEE/ACM international conference on Automated soft-<br />
Zuletzt geändert: 09.02.2011 09:59 18/19
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
ware engineering. Atlanta, Georgia, 5-9 Nov. 2007.<br />
[MaDu06] Madl, Gabor; Dutt, Nikil. Domain-specific Modeling of Power<br />
Aware Distributed Real-time Embedded Systems. Embedded<br />
Computer Systems: Architectures, Modeling, and Simulation; Lecture<br />
Notes in Computer Science, SpringerLink, Volume<br />
4017/2006, S. 59-68. 2006.<br />
[OMG05] Object Management Group, UML Profile for Modelling Quality of<br />
Service and Fault Tolerance Characteristics and Mechanisms,<br />
OMG Specification, 08-04-05, April 2005.<br />
[OMG06] Object Management Group: Meta Object Facility Version 2.0,<br />
OMG Document Number formal/2006-01-01<br />
http://www.omg.org/spec/MOF/2.0/ (2006)<br />
[Pohl10] Pohl, Klaus. Requirements Engineering – Foundations, Principles,<br />
Techniques. Springer, 2010.<br />
[RSRB05] Riccobene, E.; Scandurra, P.; Rosti, A.; Bocchio, S. A SoC Design<br />
Methodology Involving a UML 2.0 Profile for SystemC. Proceedings<br />
of the conference on Design, Automation and Test (DATE<br />
'05) in Europe - Volume 2. 7-11 März, 2005.<br />
[Seli07] Selic, Bran. A Systematic Approach to Domain-Specific Language<br />
Design Using UML. ISORC '07 Proceedings of the 10th IEEE International<br />
Symposium on Object and Component-Oriented Real-<br />
Time Distributed Computing. Santorini Island. 7-9 Mai, 2007.<br />
[SiTePo11] Sikora, E.; Tenbergen, B.; Pohl, K.: Requirements Engineering for<br />
Embedded Systems: - An Investigation of Industry Needs . To appear<br />
in Proceedings of the 17 th International Working Conference<br />
on Requirements Engineering: Foundations of Software Quality<br />
REFSQ (2011)<br />
[SiStLa10] Sikora, Ernst; Stallbaum, Heiko, Lauenroth, Kim. Anforderungen<br />
an den zu entwickelnden Ansatz für modellbasiertes Requirements<br />
Engineering. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom<br />
01.03.2010.<br />
Zuletzt geändert: 09.02.2011 09:59 19/19
Anhang B – ZP-AP2 Teilergebnis: UML/SysML-Profil und<br />
MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
KAOS-Zieldiagrammen auf Basis von UML/SysML
- ZP-AP2 Teilergebnis: UML/SysML-Profil und MDG-Plug-In für Enterprise Architect<br />
zur Modellierung von KAOS-Zieldiagrammen auf Basis von UML/SysML-<br />
Projektbezeichnung <strong>SPES</strong> <strong>2020</strong><br />
Version: 1.2<br />
Verantwortlich Bastian Tenbergen (Universität Duisburg-Essen)<br />
QS-Verantwortlich Tayfun Gezgin (OFFIS e.V.)<br />
Erstellt am 05.09.2010<br />
Zuletzt geändert 13.10.2010 11:14<br />
Freigabestatus Vertraulich für Partner: ; ; …<br />
Projektöffentlich<br />
X Öffentlich<br />
Bearbeitungszustand in Bearbeitung<br />
vorgelegt<br />
X fertig gestellt
Weitere Produktinformationen<br />
Erzeugung Bastian Tenbergen (BT), Marian Daun (MD)<br />
Mitwirkend Ernst Sikora (ES), Heiko Stallbaum (HS), Tayfun Gezgin (TG)<br />
Änderungsverzeichnis<br />
Änderung<br />
Nr. Datum Version<br />
Geänderte<br />
Kapitel<br />
Beschreibung der Änderung Autor Zustand<br />
1 05.09.10 0.1 Alle Initiale Produkterstellung BT In Bearbeitung<br />
2 07.09.10 Interner Review ES In Bearbeitung<br />
3 07.09.10 1.0 Alle Editorielle Überarbeitung BT Vorgelegt<br />
4 30.09.10 Externer Review TG Vorgelegt<br />
5 05.10.10 1.1 Alle Überarbeitung nach externem<br />
Review<br />
BT In Bearbeitung<br />
6 07.10.10 Interner Review HS In Bearbeitung<br />
7 13.10.10 1.2 Alle Überarbeitung BT Fertig gestellt
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
Kurzfassung<br />
In diesem Dokument wird ein UML/SysML-Profil zur Zielmodellierung auf Basis der<br />
Systems Modeling Language (SysML) und Unified Modeling Language (UML) vorgestellt.<br />
Dieses Profil wurde im Rahmen der Ausarbeitung zweier Fallstudien in Kooperation<br />
mit Bosch und EADS entwickelt und basiert auf den Ausführungen zur Zielmodellierung<br />
aus dem initialen, modellbasierten Requirements Engineering Ansatz für<br />
Embedded Systems ([LaSiStTe09]). Die Studie zum Stand der Praxis zum modellbasierten<br />
Requirements Engineering ([LaGaSiTe10], [DaSiLa10]) hat gezeigt, dass die<br />
Zielmodellierung derzeit nur eine geringe Rolle im modellbasierten Requirements<br />
Engineering spielt. Ferner wurde gezeigt, dass durch die systematische Verfeinerung<br />
von Anforderungen auf mehreren Abstraktionsebenen Vorteile für das Requirements<br />
Engineering entstehen können. Zielen liegen Anforderungen zu Grunde. Für die systematische<br />
Erhebung und Verfeinerung von Anforderungen ist es daher unerlässlich,<br />
zunächst Ziele zu spezifizieren. Im modellbasierten Requirements Engineering werden<br />
Ziele in Zieldiagrammen ([Pohl10]) modelliert, wie beispielsweise die KAOS-<br />
Methode es vorsieht ([KAOS07], [Lamsweerde09]).<br />
Zuletzt geändert: 13.10.2010 11:14 3/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
Inhalt<br />
1 Einordnung und Kurzbeschreibung ..................................................................... 5<br />
1.1 Motivation und Einordnung ............................................................................ 5<br />
1.2 Management Summary ................................................................................. 5<br />
1.3 Überblick ....................................................................................................... 5<br />
2 Einführung zur KAOS-Zielmodellierung und UML/SysML ................................... 6<br />
2.1 KAOS-Zielmodellierung ................................................................................. 6<br />
2.2 UML/SysML ................................................................................................... 6<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA ............................. 7<br />
3 Beschreibung des MDG-Plug-Ins zur Zielmodellierung nach KAOS in SysML .... 8<br />
3.1 Überblick über das UML/SysML-Profil ........................................................... 8<br />
3.2 Elemente der Zielmodelle ............................................................................ 13<br />
3.3 Beziehungen zwischen den Elementen ....................................................... 14<br />
3.4 Die Enumerationen „GoalType“ und „ContributionType“ ............................. 15<br />
4 Verwendung des MDG-Plug-Ins ........................................................................ 16<br />
4.1 Installation der MDG-Technologie ............................................................... 16<br />
4.2 Verwendung des Profils ............................................................................... 16<br />
4.3 Erweiterung des Profils ................................................................................ 18<br />
5 Zusammenfassung ............................................................................................ 19<br />
6 Literaturverzeichnis ........................................................................................... 20<br />
Zuletzt geändert: 13.10.2010 11:14 4/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
1 Einordnung und Kurzbeschreibung<br />
1.1 Motivation und Einordnung<br />
Das vorliegende Ergebnisdokument beschreibt das Enterprise Architect Plug-In<br />
„SysML Goal Modeling“, welches ein UML/SysML-Profil zur Modellierung von Zielen<br />
nach der KAOS-Methode beinhaltet. Dieses Dokument beschreibt den Aufbau des<br />
Plug-Ins, gibt eine Beschreibung der Architektur des UML/SysML-Profils und erläutert<br />
die Verwendung des Profils in Enterprise Architect (EA).<br />
1.2 Management Summary<br />
In diesem Dokument wird ein UML/SysML-Profil zur Zielmodellierung auf Basis der<br />
Systems Modeling Language (SysML) und Unified Modeling Language (UML) vorgestellt.<br />
Dieses Profil wurde im Rahmen der Ausarbeitung zweier Fallstudien in Kooperation<br />
mit Bosch und EADS entwickelt und basiert auf den Ausführungen zur Zielmodellierung<br />
aus dem initialen, modellbasierten Requirements Engineering Ansatz für<br />
Embedded Systems ([LaSiStTe09]). Die Studie zum Stand der Praxis zum modellbasierten<br />
Requirements Engineering ([LaGaSiTe10], [DaSiLa10]) hat gezeigt, dass die<br />
Zielmodellierung derzeit nur eine geringe Rolle im modellbasierten Requirements<br />
Engineering spielt. Ferner wurde gezeigt, dass durch die systematische Verfeinerung<br />
von Anforderungen auf mehreren Abstraktionsebenen Vorteile für das Requirements<br />
Engineering entstehen können. Zielen liegen Anforderungen zu Grunde. Für die systematische<br />
Erhebung und Verfeinerung von Anforderungen ist es daher unerlässlich,<br />
zunächst Ziele zu spezifizieren. Im modellbasierten Requirements Engineering werden<br />
Ziele in Zieldiagrammen ([Pohl10]) modelliert, wie beispielsweise die KAOS-<br />
Methode es vorsieht ([KAOS07], [Lamsweerde09]).<br />
1.3 Überblick<br />
Im folgenden Abschnitt 2 wird eine kurze Einführung zur Zielmodellierung nach der<br />
KAOS-Methode sowie zu SysML gegeben. In Abschnitt 3 wird das EA-Plug-In<br />
„SysML Goal Modeling“ erläutert, indem zunächst der Aufbau der zugehörigen EA-<br />
Projektdatei dargestellt wird (Abschnitt 3.1) und anschließend das UML/SysML-Profil<br />
anhand seiner Implementierung in Enterprise Architect erläutert wird (Abschnitte 3.2<br />
bis 3.4). In Abschnitt 4 wird die Installation, Verwendung und Erweiterung des EA-<br />
Plug-In als MDG-Technologie erläutert. Eine Zusammenfassung dieses Dokumentes<br />
kann Abschnitt 5 entnommen werden.<br />
Zuletzt geändert: 13.10.2010 11:14 5/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
2 Einführung zur KAOS-Zielmodellierung und UML/SysML<br />
2.1 KAOS-Zielmodellierung<br />
Ziele beziehen sich auf funktionale Eigenschaften sowie Qualitätseigenschaften, die<br />
ein System externen Akteuren (Personen und anderen Systemen) bietet. Ziele werden<br />
auf verschiedenen Abstraktionsstufen definiert und abstrahieren von technischen<br />
Einzelheiten, Anforderungen sowie von einer möglichen Systemarchitektur. So kann<br />
beispielsweise die beabsichtigte Nutzung des Systems durch einen externen Akteur<br />
durch ein Ziel charakterisiert werden.<br />
Ziele verfeinern die für das System definierte Vision (siehe [Pohl10]). Jedes Ziel leistet<br />
somit einen Beitrag zur Erfüllung der Systemvision. Gleichzeitig werden Begründungen<br />
für detaillierte (lösungsorientierte) Anforderungen an das System durch Ziele<br />
gegeben.<br />
KAOS ([KAOS07], [Lamsweerde09]) ist eine Modellierungssprache zur Spezifikation<br />
von Zielen und deren Beziehungen. Durch den Einsatz dieser Modellierungssprache<br />
ist es im Requirements Engineering möglich, Anforderung anhand von abstrakteren<br />
Zielen zu begründen und miteinander in Verbindung zu setzen.<br />
KOAS verfügt über eine Reihe von Modellelementen zur Darstellung von Zielmodellen,<br />
sowie über eine Menge von definierten Beziehungen zwischen Zielen. Im vorgeschlagenen<br />
UML/SysML-Profil werden die Modellelemente „Ziel“ (Goal) und „Verfeinerung“<br />
(Refinement) betrachtet. Die im Profil betrachteten Beziehungen sind Und-<br />
Verfeinerungen (And-Refinements) und Oder-Verfeinerungen (Or-Refinements), sowie<br />
Beteiligungs- oder Konfliktbeziehungen (Contribution- oder Contradiction-links).<br />
Und-Verfeinerungen spezifizieren, dass alle der Verfeinerung angehörigen Unterziele<br />
erfüllt sein müssen, damit das Oberziel erfüllt ist. Oder-Verfeinerungen bedeuten,<br />
dass nur eines der (beliebig vielen) alternativen Unterziele erfüllt sein muss, damit<br />
das Oberziel erfüllt ist. Beteiligungsbeziehungen geben an, dass die Erfüllung eines<br />
Zieles die Erfüllung eines anderen Zieles entweder positiv oder negativ beeinflusst,<br />
also vereinfacht oder beeinträchtigt. Eine Konfliktbeziehung zwischen zwei Zielen<br />
gibt an, dass die Erfüllung eines Zieles verhindert wird, wenn ein konfliktionäres Ziel<br />
erfüllt wird. Die Modellierungssprache KAOS spezifiziert außerdem eine Reihe weiterer<br />
Modellelemente und Beziehungen, wie beispielsweise Verantwortlichkeiten oder<br />
solche Ziele, die zu vermeiden sind. Diese werde in späteren Revisionen des Zielprofils<br />
für UML/SysML betrachtet. Zunächst wurden im vorgeschlagenen UML/SysML-<br />
Profil lediglich jene Elemente der KAOS-Methode berücksichtigt, die zur strukturierten<br />
Modellierung von Zielen zum Zwecke der Verfeinerung durch Szenarien gemäß<br />
dem initialen, modellbasierten RE-Ansatz ([LaSiStTe09]) benötigt werden.<br />
2.2 UML/SysML<br />
SysML ist eine universelle, graphische Modellierungssprache zur Darstellung und<br />
Spezifikation von Verhaltens-, Zustands- und Strukturaspekten von Systemen<br />
([FrMoSt09], [OMG10]). SysML baut auf der Unified Markup Language Version 2.0<br />
(UML) auf. UML wird durch SysML domänenunabhängig erweitert und erlaubt es, ein<br />
System lösungsunabhängig zu spezifizieren. Eine Besonderheit der SysML gegenüber<br />
UML2 ist, dass SysML den Diagramtyp „Requirements Diagram“bietet, mit dem<br />
es möglich ist, Anforderungen und deren Beziehungen graphisch zu modellieren.<br />
Allerdings sieht SysML kein Diagramm zur Modellierung von Zielen vor. Das in diesem<br />
Ergebnisdokument beschriebene Profil für SysML stellt eine Erweiterung von<br />
UML/SysML zur Modellierung von Zielen nach der KAOS-Methode dar.<br />
Zuletzt geändert: 13.10.2010 11:14 6/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA<br />
Obwohl SysML Goal Modeling als Profil für SysML zu verstehen ist, muss die Implementierung<br />
in Enterprise Architect (EA) auf Basis des UML2-Metamodells erfolgen.<br />
Die Mechanismen, die EA für die Erstellung von Profilen und MDG-Technologien bereit<br />
hält machen dieses notwendig. So muss ein Stereotyp beispielsweise EAinternen<br />
Metaklassen wie„Class“ oder „Association“ erben, anstelle von SysMLeigenen<br />
Metaklassen wie etwa „Block“. Die Erläuterungen in den Abschnitten 3.2 und<br />
3.3 beziehen sich daher auf die Implementierung des SysML Goal Modeling Profils<br />
auf Basis des Metamodells von Enterprise Architect. Da das EA-Metamodell auf das<br />
SysML-Metamodell übertragbar ist, können diese Erläuterungen allerdings als äquivalent<br />
zu einer Erweiterung des SysML-Metamodells aufgefasst werden.<br />
Zuletzt geändert: 13.10.2010 11:14 7/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
3 Beschreibung des MDG-Plug-Ins zur Zielmodellierung<br />
nach KAOS in SysML<br />
In diesem Abschnitt wird das Enterprise Architect Plug-In beschrieben, in dem das<br />
UML/SysML-Profil zur Modellierung von Zielen nach KAOS implementiert wurde. Der<br />
nächste Unterabschnitt 3.1 gibt einen Überblick über den Inhalt der entsprechenden<br />
Enterprise Architect (EA) Projektdatei. Im darauffolgenden Unterabschnitt 3.2 werden<br />
die Modellelemente des UML/SysML-Profils erläutert. In Unterabschnitt 3.3 werden<br />
die Beziehungen, die zwischen den Modellelementen aus Abschnitt 3.1 existieren,<br />
erläutert.<br />
3.1 Überblick über das UML/SysML-Profil 1<br />
Wie in Abb. 3–1 2 ersichtlich ist, besteht die EA-Projektdatei aus vier SysML-Paketen.<br />
Diese Pakete werden in den folgenden Abschnitten erläutert. Drei der vier enthaltenen<br />
Pakete sind mit dem Stereotypen „“ gekennzeichnet. Diese Kennzeichnung<br />
gibt an, dass es sich bei dem Paket um eine benutzererstellte Erweiterung<br />
des UML/SysML-Metamodells bzw. des Enterprise Architect Programmumfangs<br />
handelt. Details und Erläuterungen zur Erweiterung von Enterprise Architect um benutzererstellte<br />
Profilen können aus [Sparx09] und [Sparx10] entnommen werden.<br />
Abb. 3–1 SysML-Paketdiagramm des Inhaltes der EA-Projektdatei<br />
3.1.1 Das Paket „Goal Modeling Elements“<br />
Das Paket „Goal Modeling Elements” ist vom Stereotyp „“ und implementiert<br />
das eigentliche UML/SysML-Profil. In diesem Paket sind alle Modellelemente<br />
und Beziehungen der KAOS-Methode als Unterklassen von UML2, bzw. SysML-<br />
1 Pakete, die der Profildefinition dienen, sind in Englisch beschrieben, während Anwendungsbeispiele<br />
auf Deutsch gehalten sind, um so Profildefinition und Anwendung des Profils deutlicher voneinander<br />
abzugrenzen.<br />
2 Alle Diagramme in diesem Dokument sind aus Enterprise Architect von SparxSystems exportiert.<br />
Zuletzt geändert: 13.10.2010 11:14 8/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
Elementen definiert.. Abb. 3–2 zeigt den Inhalt dieses Paketes im Detail. Einzelheiten<br />
zum Inhalt können aus den Abschnitten 3.2 bis 3.4 entnommen werden.<br />
Abb. 3–2 UML-Klassendiagramm des Inhaltes des Paketes „Goal Modeling Elements“<br />
3.1.2 Das Paket „Goal Diagram Definition“<br />
Das Paket „Goal Modeling Elements” ist ebenfalls vom Stereotyp „“ und<br />
implementiert den Diagrammtypen, der zu verwenden ist, wenn in Enterprise Architect<br />
Zielmodelle erstellt werden sollen. Dieser Diagrammtyp beruft sich auf die Modellelemente<br />
und Beziehungen aus dem Paket „Goal Modeling Elements“ (siehe Abschnitt<br />
3.1.1). Das Paket „Goal Diagram Definition“ ist in Abb. 3–3 dargestellt. Wie in<br />
Abb. 3–3 zu sehen ist, besteht das Paket aus zwei Klassen, einer Klasse „Goal Diagram“<br />
und einer Metaklasse „Diagram_Logical“. „Diagram_Logical“ ist eine EAinterne<br />
Klasse, von der alle strukturellen Diagrammtypen erben. „Goal Diagram“ erbt<br />
von der Metaklasse „Diagram_Logical“ und spezifiziert somit Zieldiagramme als<br />
strukturelles Diagramm in Enterprise Architect. In Abb. 3–3 ist zu erkennen, dass<br />
„Diagram_Logical“ eine Reihe von Attributen spezifiziert, welche die Eigenschaften<br />
Zuletzt geändert: 13.10.2010 11:14 9/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
des neuen Diagrammtypen „Goal Diagram“ festlegen. Eine Erläuterung der Attribute<br />
kann aus [Sparx10] entnommen werden. Besonders hervorzuheben ist das Attribut<br />
„toolbox“. Dieses Attribut legt die zu verwendende Toolbox im Enterprise Architect<br />
Editor fest. Die zu verwendende Toolbox ist im Paket „SysML Goal Modeling“ definiert<br />
und wird in Abschnitt 3.1.3 erläutert.<br />
Abb. 3–3 UML-Klassendiagramm des Inhaltes des Paketes „Goal Diagram Definition“<br />
3.1.3 Das Paket „SysML Goal Modeling“<br />
Das Paket „SysML Goal Modeling” ist ebenfalls vom Stereotyp „“ und implementiert<br />
die für den im Paket „Goal Diagram Definition“ definierten Diagrammtypen<br />
„Goal Diagram“ (siehe Abschnitt 3.1.2) zu verwendende Toolbox. Die Toolbox ist<br />
ein Teil des Enterprise Architect Editors, in dem die für den aktuellen Diagrammtypen<br />
verwendbaren Modellelemente und Beziehungen für die Modellierung zur Verfügung<br />
gestellt werden. Abb. 3–4 zeigt den Inhalt des Paketes „SysML Goal Modeling“ in<br />
Form eines UML-Klassendiagrammes.Die Abbildung zeigt zwei Klassen, die beide<br />
von der EA-internen Metaklasse „ToolboxPage“ erben. Diese Klassen implementieren<br />
zwei unterschiedliche Sektionen der Toolbox. In einer Sektion „Goal Elements“<br />
werden alle Modellelemente (derzeit Ziele und Verfeinerungen) festgelegt, in der anderen<br />
Sektion „Goal Refinements“, alle Beziehungen zwischen den Modellelementen.<br />
In den Klassen „Goal Elements“ und „Goal Refinements“ werden Attribute spezifiziert,<br />
die die zur Verfügung stehenden User-Interface-Elemente (UI-Elemente) festlegen.<br />
Die UI-Elemente repräsentieren die Modellelemente und Beziehungen aus<br />
dem Paket „Goal Modeling Elements“ und werden in den Attributen in Paket-<br />
Notationsform (siehe dazu [Sparx10] und [OMG10] beschrieben.<br />
Zuletzt geändert: 13.10.2010 11:14 10/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
Abb. 3–4 UML-Klassendiagramm des Inhaltes des Paketes „SysML Goal Modeling“<br />
Die folgende Abb. 3–5 3 zeigt, wie die Toolbox, die durch das Paket „SysML Goal<br />
Modeling“ definiert wird, im User Interface von Enterprise Architect angezeigt wird.<br />
Diese Toolbox wird automatisch geöffnet, sobald ein neues Zieldiagram, wie im Paket<br />
„Goal Diagram Definition“ spezifiziert, erstellt wird. Die Toolbox kann ebenfalls in<br />
einem beliebigen anderen Diagramm verwendet werden, wenn sie manuell nach einem<br />
Aufruf von „More tools…“ (siehe Abb. 3–5) aus dem Menü ausgewählt wird.<br />
Abb. 3–5 Screenshot der Toolbox, wie sie in Enterprise Architect dargestellt wird<br />
3.1.4 Das Paket „Goal Model Example“<br />
Das Paket „Goal Model Example” hat keinen Stereotypen und beinhaltet ein Beispiel<br />
für die Verwendung der im Paket „Goal Modeling Elements“ spezifizierten Mo-<br />
3 Alle Screenshots in diesem Dokument zeigen Ausschnitte aus dem Programm „Enterprise Architect“<br />
(EA) von SparxSystems.<br />
Zuletzt geändert: 13.10.2010 11:14 11/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
dellelemente und Beziehungen. Abb. 3–6 zeigt das Beispiel-Zieldiagramm. Die einzelnen<br />
Modellelemente und Beziehungen sind in den Abschnitten 3.2 und 3.3 erläutert.<br />
Besonders hervorzuheben ist die angepasste Darstellung des Diagrammtabs in<br />
der oberen linken Ecke von Abb. 3–6. Diese besteht aus dem Identifikator „[kaos]“,<br />
der anzeigt, dass es sich bei dem angezeigten Diagramm um ein Zielmodell nach<br />
KAOS handelt. Der nachfolgende Name „Goal Model Example“ ist der benutzerdefinierbare<br />
Name des Diagrammes. Der Text des Diagrammtabs wurde im Paket „Goal<br />
Diagram Definition“ in der Metaklasse „Diagram_Logical“ unter dem Attribut<br />
„frameString“ festgelegt.<br />
Abb. 3–6 KAOS Zieldiagramm aller derzeit implementierten Modellelemente und Beziehungen<br />
Das Beispiel zeigt zwei Oberziele „hoher Fahrspaß“ und „Sparsam fahren“ vom Typ<br />
„softgoal“ (siehe Abschnitt 3.2.1.2). Das Ziel „hoher Fahrspaß“ wird von Unterziel<br />
„schnell fahren“, welches ebenfalls vom Typ „softgoal“ ist, verfeinert. Bei dieser Verfeinerung<br />
handelt es sich um eine Oder-Verfeinerung, bei der lediglich eine Alternative<br />
angegeben ist. Das Unterziel „schnell fahren“ muss also erfüllt sein, damit das<br />
Oberziel „hoher Fahrspaß“ erfüllt ist. Das Oberziel „Sparsam fahren“ wird durch die<br />
beiden Unterziele vom Typ „hardgoal“ (siehe Abschnitt 3.2.1.1) mit einer Und-<br />
Verfeinerung verfeinert. Es müssen folglich beide Unterziele „Abgasnorm erfüllen“<br />
und „Verbrauch weniger als 6l/100km“ erfüllt sein, damit das Oberziel erfüllt ist. Das<br />
Unterziel „Verbrauch von weniger als 6l/100km“ steht in einer Beziehung vom Typ<br />
„Contribution“ (siehe Abschnitt 3.3.4) zum Ziel „Abgasnorm erfüllen“. Diese Beziehung<br />
bedeutet, dass die Erfüllung des Zieles „Verbrauch weniger als 6l/100km“ sich<br />
stark positiv auf die Erfüllung des Zieles „Abgasnorm erfüllen“ auswirkt, also die Erfüllung<br />
des Zieles „Abgasnorm erfüllen“ vereinfacht wird. Das Ziel „schnell fahren“<br />
steht ebenfalls in einer Beziehung vom Typ „Contribution“ zum Ziel „Abgasnorm erfüllen“.<br />
Diese Beziehung besagt, dass die Erfüllung des Zieles „schnell fahren“ die<br />
Erfüllung des Zieles „Abgasnorm erfüllen“ schwach beeinträchtigt. Des Weiteren<br />
Zuletzt geändert: 13.10.2010 11:14 12/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
steht das Ziel „schnell fahren“ im Konflikt mit dem Ziel „Verbrauch weniger als<br />
6l/100km“, was durch eine Beziehung vom Typ „Contradiction“ (siehe Abschnitt<br />
3.3.3) dargestellt ist. In diesem Fall verhindert die Erfüllung des Zieles „schnell fahren“<br />
die Erfüllung des Zieles „Verbrauch weniger als 6l/100km“.<br />
3.2 Elemente der Zielmodelle<br />
In diesem Abschnitt werden die Modellelemente des KAOS-Zielmodells beschrieben,<br />
die im Paket „Goal Modeling Elements“ definiert wurden. Ein Überblick über das Paket<br />
kann aus Abschnitt 3.1.1 entnommen werden. Die Erläuterungen in den folgenden<br />
Abschnitten stützten sich auf Abb. 3–2. Die Verwendung der Modellelemente ist<br />
in Abb. 3–6 illustriert.<br />
3.2.1 Die Klasse „Goal“<br />
Die Klasse „Goal“ definiert Ziele des Zieldiagrammes und stellt somit das zentrale<br />
Modellelement im SysML Goal Modeling Profil dar. Ziele erben von der Metaklasse<br />
„Class“ und werden somit von Enterprise Architect als eigenes Modellelement aufgefasst.<br />
Die Klasse „Goal“ definiert mehrere EA-interne Attribute, dessen Erläuterung<br />
aus [Sparx10] entnommen werden können. Besonders hervorzuheben ist dabei das<br />
Attribut „_image“ und das Attribut „Zieltyp“, welches ein Ziel entweder genauer als ein<br />
„hardgoal“ (siehe Abschnitt 3.2.1.1.) oder „softgoal“ (siehe Abschnitt 3.2.1.2) definiert.<br />
Ein generischer Zieltyp „goal“ ist ebenfalls möglich. Dieser generische Typ sagt<br />
aus, dass eine genauere Klassifizierung des Zieles noch nicht erfolgt ist und ggf. zu<br />
einem späteren Zeitpunkt festgelegt werden kann. Genauere Informationen zum festlegen<br />
des Zieltyps können in Abschnitt 3.4 gefunden werden. Das Attribut „_image“<br />
definiert das Aussehen des Modellelementes „Goal“ als rechtslastiges Parallelogramm.<br />
Das Attribut „Zieltyp“ definiert die Art des zu erstellenden Zieles. Die Art des<br />
Zieles wird in der Enumeration „GoalType“ definiert (vgl. 3.4) und kann entweder<br />
„goal“, „hardgoal“ oder „softgoal“ sein. Der Zieltyp wird im Stereotypen des Modellelementes<br />
entsprechend dargestellt. Das Attribut „Zieltyp“ wird im EA-Editor im<br />
Eigenschaftsfenster des Modellelementes unter dem Registerreiter „Tagged Values“<br />
zusammen mit dem Attribut ID dargestellt. Das Attribut ID gibt dem Benutzer die<br />
Möglichkeit, eine eindeutige ID zu vergeben.<br />
3.2.1.1 Zieltyp: „hardgoal“<br />
Der Zieltyp „hardgoal“ wird durch die Enumeration „GoalType“ definiert. Wenn ein<br />
Ziel vom Typ „hardgoal“ ist, so wird der Zieltyp im Stereotypen des Ziels dargestellt.<br />
Ein Ziel vom Typ „hardgoal“ wird als rechtsseitiges Parallelogramm mit durchgezogener<br />
Linie dargestellt. Die semantische Bedeutung eines Zieles vom Typ „hardgoal“<br />
kann aus [KAOS07], [Lamsweerde09] und [Pohl10] entnommen werden.<br />
3.2.1.2 Zieltyp: „softgoal“<br />
Der Zieltyp „softgoal“ wird durch die Enumeration „GoalType“ definiert. Wenn ein Ziel<br />
vom Typ „softgoal“ ist, so wird der Zieltyp im Stereotypen des Ziels dargestellt. Ein<br />
Ziel vom Typ „softgoal“ wird als rechtsseitiges Parallelogramm mit gestrichelter Linie<br />
dargestellt. Die semantische Bedeutung eines Zieles vom Typ „hardgoal“ kann aus<br />
[KAOS07], [Lamsweerde09] und [Pohl10] entnommen werden.<br />
3.2.2 Die Klasse „Refinement“<br />
Die Klasse „Refinement“ stellt ein Modellelement zur Darstellung von Und- und Oder-<br />
Verfeinerungen in einem Zieldiagramm dar. Klassen vom Typ „Refinement“ haben<br />
Zuletzt geändert: 13.10.2010 11:14 13/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
typischerweise keinen Namen und werden in EA daher generisch mit „Class1“ oder<br />
„Refinement1“ bezeichnet. Verfeinerungen erben von der Metaklasse „Class“ und<br />
werden somit von Enterprise Architect als eigenes Modellelement aufgefasst. Verfeinerungen<br />
werden im EA-Editor als Kreis dargestellt, was durch das Attribut „_image“<br />
der Klasse „Refinement“ definiert ist. Die KAOS-Methode sieht eine Unterscheidung<br />
zwischen And-Refinements (Und-Verfeinerungen) sowie Or-Refinements (Oder-<br />
Verfeinerungen) vor. Details hierzu können Abschnitt 2.1 sowie [KAOS07],<br />
[Lamsweerde09] und [Pohl10] entnommen werden. Und-Verfeinerungen werden<br />
dargestellt, indem mehrere Unterziele derselben Klasse vom Typ „Refinement“ mit<br />
jeweils einer Beziehung vom Typ „Refined By“ (siehe Abschnitt 3.3.2) zugeordnet<br />
werden. Die für die Unterziele gemeinsame Klasse „Refinement“ wird dann mit einer<br />
Beziehung vom Typ „Refinment Of“ (siehe Abschnitt 3.3.1) dem gemeinsamen Oberziel<br />
zugeordnet. Ein Beispiel für eine Und-Verfeinerung ist im Beispiel in Abb. 3–6 auf<br />
der rechten Seite dargestellt.<br />
Wenn mehrere Klassen vom Typ „Refinement“ demselben Oberziel (jeweils durch<br />
eine eigene Beziehung vom Typ „Refinement Of“) zugeordnet werden, stellt dies eine<br />
Oder-Verfeinerung dar. Jede Klasse von Typ „Refinement“ stellt eine Alternative Verfeinerung<br />
des gemeinsamen Oberzieles dar. Dabei ist zu beachten, dass jede Alternative<br />
ein oder mehrere Unterziele in einer Und-Verfeinerung zusammenschließen<br />
kann. In diesem Fall ist die Alternative nur dann vollständig erfüllt, wenn alle Unterziele<br />
erfüllt sind.<br />
3.3 Beziehungen zwischen den Elementen<br />
In diesem Abschnitt werden die Beziehungen zwischen den Modellelementen des<br />
KAOS-Zielmodells beschrieben, die im Paket „Goal Modeling Elements“ definiert<br />
wurden. Ein Überblick über das Paket kann aus Abschnitt 3.1.1 entnommen werden.<br />
Die Erläuterungen in den folgenden Abschnitten stützten sich auf Abb. 3–2. Die Verwendung<br />
der Beziehungen zwischen den Modellelementen ist in Abb. 3–6 illustriert.<br />
3.3.1 Die Beziehung „Refinement Of“<br />
Die Klasse „Refinement Of“ spezifiziert eine Beziehung von einem Modellelement<br />
des Typs „Refinement“ zu einem Modellelement des Typs „Goal“. „Refinement Of“<br />
erbt von er EA-Metaklasse „Generalization“. Die Beziehung „Refinement Of“ bedeutet,<br />
dass eine Menge von Unterzielen, die durch eine Menge von „Refined By“-<br />
Beziehungen einer Verfeinerung zugeordnet sind (siehe Abschnitt 3.3.2, sowie<br />
[KAOS07], [Lamsweerde09], [Pohl10]), alle erfüllt sein müssen, damit das Oberziel<br />
erfüllt ist. Nach KAOS ([KAOS07]) kann es lediglich eine „Refinement Of“-Beziehung<br />
zwischen einer Verfeinerung und einem Ziel geben.<br />
3.3.2 Die Beziehung „Refined By“<br />
Die Klasse „Refined By“ spezifiziert eine Beziehung von einer Menge von Modellelementen<br />
des Typs „Goal“ zu einem Modellelement des Typs „Refinement“. Refined<br />
By“ erbt von er EA-Metaklasse „Association“. Die Beziehung „Refined By“ bedeutet,<br />
dass das Ziel ein Unterziel des Oberzieles ist, welchem die Verfeinerung zugeordnet<br />
ist (siehe Abschnitt 3.3.1, sowie [KAOS07], [Lamsweerde09], [Pohl10]).<br />
3.3.3 Die Beziehung „Contradiction“<br />
Die Klasse „Contradiction“ spezifiziert eine Beziehung zwischen zwei Modellelementen<br />
des Typs „Goal“. Diese Beziehung sagt aus, dass sich zwei Ziele widersprechen,<br />
also das Erreichen eines Zieles das Erreichen eines anderen Zieles unmöglich<br />
macht. Ebenso wie die Beziehung „Refined By“ erbt die Beziehung „Contradiction“<br />
Zuletzt geändert: 13.10.2010 11:14 14/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
von der EA-Metaklasse „Association“. Eine „Contradiction“-Beziehung wird als Bezier-Kurve<br />
zwischen beiden beteiligten Zielen dargestellt, wie durch das Attribut<br />
„_linestyle“ der Klasse „Contradiction“ festgelegt ist.<br />
3.3.4 Die Beziehung „Contribution“<br />
Die Klasse „Contribution“ spezifiziert eine Beziehung zwischen zwei Modellelementen<br />
des Typs „Goal“. Diese Beziehung sagt aus, dass das Erreichen eines Zieles das<br />
Erreichen eines anderen Zieles beeinflusst. Die Art der Beeinflussung wird durch die<br />
Enumeration „ContributionType“ (siehe Abschnitt 3.4) spezifiziert, wie durch das Attribut<br />
„ContributionType“ der Klasse „Contribution“ festgelegt ist. Ebenso wie die Beziehung<br />
„Refined By“ und „Contradiction“ erbt die Beziehung „Contribution“ von der<br />
EA-Metaklasse „Association“. Eine „Contribution“-Beziehung wird als Bezier-Kurve<br />
zwischen beiden beteiligten Zielen dargestellt, wie durch das Attribut „_linestyle“ der<br />
Klasse „Contribution“ festgelegt ist.<br />
3.4 Die Enumerationen „GoalType“ und „ContributionType“<br />
Die Enumerationen „ContributionType” und „GoalType” definieren Auswahllisten für<br />
so genannte „Tagged Values“ der Modellelemente. „Tagged Values“ werden in den<br />
Klassen, die Modellelemenete repräsentieren als Attribute definiert und können im<br />
EA-Editor im Eigenschaftsfenster über den Registerreiter „Tagged Values“ verwendet<br />
werden.<br />
Die Enumeration „GoalType“ wird von der Klasse „Goal“ verwendet (siehe Abschnitt<br />
3.2.1) und legt die drei Typen von Zielen fest („goal“, „softgoal“, „hardgoal“). Der Typ<br />
„goal“ ist der Standardtyp, der verwendet wird, wenn ein Ziel nicht genauer als „hardgoal“<br />
(siehe Abschnitt 3.2.1.1) bzw. „softgoal“ (siehe Abschnitt 3.2.1.2) festgelegt<br />
wird.<br />
Die Enumeration „ContributionType“ wird von der Beziehung „Contribution“ verwendet<br />
(siehe Abschnitt 3.3.4) und legt fünf Intensitäten fest, mir der das Erreichen eines<br />
Zieles das Erreichen eines anderen Zieles Beeinflusst. Diese reichen von sehr<br />
schwach („--“) bis sehr stark („++“).<br />
Zuletzt geändert: 13.10.2010 11:14 15/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
4 Verwendung des MDG-Plug-Ins<br />
Das SysML Goal Modeling Profil wird in Form eines MDG-Plug-Ins (siehe [Sparx10])<br />
für Enterprise Architect zur Verfügung gestellt. In diesem Abschnitt wird die Installation,<br />
Verwendung und Erweiterung des Profils kurz erläutert. Detaillierte Informationen<br />
zur MDG-Technologie, zur Verwendung und Erweiterung von UML/SysML-Profilen in<br />
Enterprise Architect und zur Modellierung mit Enterprise Architect werden in<br />
[Sparx09] und [Sparx10] erläutert.<br />
4.1 Installation der MDG-Technologie<br />
Dieses MDG-Plug-In befindet sich zusammen mit der Enterprise Architect Projektdatei<br />
des Profils im ZIP-Archiv „SysML-Goal-Modeling v4.zip“. Im Folgenden wird beschrieben,<br />
wie das SysML Goal Modeling-Profil in Enterprise Architect eingebunden<br />
werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie Enterprise Architect. Starten Sie die Enterprise Architect Anwendung,<br />
um das MDG-Plug-In einzubinden.<br />
3. Öffnen Sie den MDG-Technologie-Dialog. Klicken Sie dazu im Enterprise-<br />
Architect-Menü auf „Settings“ und danach auf die Menüoption „MDG Technologies“.<br />
4. Definieren Sie einen neuen MDG-Pfad. Im MDG-Technologie-Dialog, klicken sie<br />
auf „Avance“ und im darauf folgenden Fenster auf „Add“ und dann auf „Add<br />
Path…“. Geben Sie den Ordner an, in den Sie die ZIP-Datei in Schritt 1) entpackt<br />
haben. Der Zielordner ist der Ordner, in dem die XML-Datei entpackt wurde. Klicken<br />
Sie anschließend auf OK. Enterprise Architect wird Sie darauf hinweisen,<br />
dass die Änderungen erst nach einem Neustart übernommen werden.<br />
5. Starten Sie Enterprise Architect neu, um die Änderungen zu übernehmen.<br />
6. Überprüfen Sie, ob die MDG-Technologie eingebunden ist, indem Sie den<br />
MDG-Technologie-Dialog wie unter Schritt 4) öffnen. Es sollte nun unter „Technologies“<br />
das SysML Goal Modeling-Plug-In aufgeführt werden.<br />
Weitere Möglichkeiten zur Einbindung von MDG-Plug-Ins in Enterprise Architect sind<br />
in [Sparx10] erläutert.<br />
4.2 Verwendung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Goal Modeling-Profil in Enterprise<br />
Architect verwendet werden kann.<br />
1. Erstellen Sie eine neue EA-Projektdatei. Klicken Sie dazu in Enterprise Architect<br />
auf „File“ und dann „New Project“. Wählen Sie einen geeigneten Pfad und<br />
Dateinamen für die Projektdatei und klicken Sie auf „speichern“.<br />
2. Erstellen Sie ein neues Paket unter dem Wurzelknoten „Model“ im „Project<br />
Browser“. Verwenden Sie dazu entweder die „Add a Package“ oder drücken Sie<br />
„Strg+W“. Geben Sie dem Projekt einen geeigneten Nam und verwenden Sie<br />
„Class View“ als Sicht auf die Modelle in diesem Paket, wie in Abb. 4–1 dargestellt.<br />
Klicken Sie anschließend auf OK.<br />
Zuletzt geändert: 13.10.2010 11:14 16/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
Abb. 4–1 Screenshot zur Erstellung eines neuen Paketes für das Zielmodell<br />
3. Erstellen Sie ein neues Zieldiagramm, indem Sie mit der rechten Maustaste auf<br />
das in Schritt 2) erstellte Paket klicken und unter dem Menüeintrag „Add“ auf<br />
„New Diagram…“ klicken. Wählen Sie einen geeigneten Namen für Ihr Zieldiagramm<br />
und wählen Sie unter „Type“ die MDG-Technologie „SysML Goal Modeling“<br />
aus. Wählen Sie anschließend unter „Diagram Types“ den Eintrag „Goal Diagram“.<br />
Abb. 4–2 zeigt die für diesen Schritt notwendigen Einstellungen.<br />
Abb. 4–2 Screenshot zur Erstellung eines neuen Zieldiagrammes<br />
4. Erstellen Sie ein Zieldiagramm im Enterprise Architect Editor. Genaue Informationen<br />
zur Verwendung von Enterprise Architect können aus [Sparx09] entnommen<br />
werden. Informationen zur Zielmodellierung mit KAOS können Sie in<br />
Zuletzt geändert: 13.10.2010 11:14 17/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
[KAOS07], [Lamsweerde09] und [Pohl10] finden. Abb. 4–3 zeigt ein Beispiel zur<br />
Modellierung mit dem Zieldiagramm.<br />
Abb. 4–3 Screenshot zur Modellierung der Ziele in dem neu erstellten Zieldiagramm<br />
4.3 Erweiterung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Goal Modeling-Profil in Enterprise<br />
Architect erweitert werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie die EAP-Datei in Enterprise Architect. Starten Sie die Enterprise<br />
Architect Anwendung und öffnen Sie die EAP-Datei. Diese Datei enthält die Profildefinition<br />
sowie die Definitionen für den Diagrammtypen und die EA-Toolbox.<br />
3. Modellieren Sie Ihre Erweiterung zu. Nun können Sie Änderungen am Profil<br />
oder den Diagram- und Toolbox-Definitionen vornehmen oder weitere Profile hinzufügen.<br />
Hinweise zur Erweiterung von MDG-Technologien und zum Umgang mit<br />
Enterprise Architect können aus [Sparx09] und [Sparx10] entnommen werden.<br />
Zuletzt geändert: 13.10.2010 11:14 18/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
5 Zusammenfassung<br />
In diesem Dokument wurde das SysML Goal Modeling Profil für Enterprise Architect<br />
vorgestellt. Bei dem UML/SysML-Profil handelt es sich um eine MDG-Technologie,<br />
die als Plug-In für Enterprise Architect verwendet werden kann. Das Profil besteht<br />
aus drei Teilen: Der Definition des Zielmodellprofils im Paket „Goal Modeling Elements“,<br />
der Definition der Zieldiagramtypen im Paket „Goal Diagram Definition“ und<br />
der Definition für die User-Interface-Komponenten als EA-Toolbox im Paket „SysML<br />
Goal Modeling“. Das Profil definiert derzeit lediglich einen Ausschnitt der Modellierungselemente<br />
der KAOS-Methode. Im Profil werden zwei verschiedene Zielmodellelemente<br />
festgelegt: Ziele („Goals“) und Verfeinerungen („Refinements“). „Goals“<br />
werden zur Modellierung von Zielen verwendet und als „hardgoal“ oder „softgoal“<br />
genauer festgelegt. Verfeinerungen erlauben es, Unterziele zu Oberzielen zu definieren,<br />
sodass Oberziele mit Und-Verfeinerungen und Oder-Verfeinerungen durch Unterziele<br />
verfeinert werden. Dazu werden die Beziehungen „Refinement Of“ und „Refined<br />
By“ verwendet. Die zwei weiteren Beziehungen zwischen den Zielmodellelementen<br />
sind Widerspruch („Contradiction“) und Beeinflussung („Contribution“). Mit<br />
diesen beiden Beziehungen kann modelliert werden, inwiefern das Erreichen eines<br />
Zieles das Erreichen eines anderen Zieles beeinflusst oder verhindert. Verschiedene<br />
Typen der Beeinflussung sowie die verschiedenen Typen von Zielen werden durch<br />
zwei Enumerationen festgelegt.<br />
Zukünftige Arbeiten zu diesem Thema werden sich mit der Erweiterung dieses Profils<br />
und Plug-Ins zur Anwendung auf mehreren Abstraktionsstufen befassen.Des Weiteren<br />
soll das Profil um die übrigen Modellelemente der KAOS-Methode erweitert werden.<br />
Zuletzt geändert: 13.10.2010 11:14 19/20
UML/SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung<br />
von KAOS-Zieldiagrammen auf Basis von UML/SysML<br />
6 Literaturverzeichnis<br />
[DaSiLa10] Daun, Marian; Sikora, Ernst; Lauenroth, Kim. Stand der Praxis im<br />
modellbasierten Requirements Engineering. <strong>SPES</strong> <strong>2020</strong> Deliverable<br />
D2.1.A, 2010.<br />
[FrMoSt09] Friedenthal, Sanford; Moore, Alan; Steiner, Rick. A Practical<br />
Guide to SysML. Morgan Kaufman & OMG, 2009.<br />
[KAOS07] Respect-IT. A KAOS Tutorial v1.0. 2007.<br />
[LaGaSiTe10] Lauenroth, Kim; Gabrisch, Sebastian; Sikora, Ernst; Tenbergen,<br />
Bastian. Beschreibung der Durchführung der Studie zum Stand<br />
der Praxis im Requirements Engineering für Embedded Systems.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom 16.07.2010.<br />
[Lamsweerde09] van Lamsweerde, Axel. Requirements Engineering – From System<br />
Goals to UML Models to Software Specifications. Wiley, 2009.<br />
[LaSiStTe09] Lauenroth, Kim; Sikora, Ernst; Stallbaum, Heiko; Tenbergen, Bastian.<br />
Initialer modellbasierter Requirements Engineering Ansatz für<br />
Embedded Systems. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 0.9 vom<br />
18.09.2009.<br />
[OMG10] Object Management Group. OMG Systems Modeling Language<br />
(OMG SysML) Language Specification v1.2. OMG Document<br />
Number: formal/2010-06-02. 2010.<br />
[Pohl10] Pohl, Klaus. Requirements Engineering – Foundations, Principles,<br />
Techniques. Springer, 2010.<br />
[SiStLa10] Sikora, Ernst; Stallbaum, Heiko, Lauenroth, Kim. Anforderungen<br />
an den zu entwickelnden Ansatz für modellbasiertes Requirements<br />
Engineering. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom<br />
01.03.2010.<br />
[Sparx09] SparxSystems. Enterprise Architect User Guide. 2009.<br />
[Sparx10] SparxSystems. Enterprise Architect Software Developers’ Kit.<br />
2010.<br />
Zuletzt geändert: 13.10.2010 11:14 20/20
Anhang C – ZP-AP2 Teilergebnis: SysML-Profil und MDG-<br />
Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML
- ZP-AP2 Teilergebnis: SysML-Profil und MDG-Plug-In für Enterprise Architect<br />
zur Szenariomodellierung auf Basis von SysML-<br />
Projektbezeichnung <strong>SPES</strong> <strong>2020</strong><br />
Version: 1.0<br />
Verantwortlich Bastian Tenbergen (Universität Duisburg-Essen)<br />
QS-Verantwortlich Raphael Weber (OFFIS)<br />
Erstellt am 05.01.2011<br />
Zuletzt geändert 02.03.2011 11:26<br />
Freigabestatus Vertraulich für Partner: ; ; …<br />
Projektöffentlich<br />
X Öffentlich<br />
Bearbeitungszustand in Bearbeitung<br />
X vorgelegt<br />
fertig gestellt
Weitere Produktinformationen<br />
Erzeugung Nadezhda Avramova (NA), Bastian Tenbergen (BT)<br />
Mitwirkend Marian Daun (MD), Thorsten Weyer (TW)<br />
Änderungsverzeichnis<br />
Änderung<br />
Nr. Datum Version<br />
Geänderte<br />
Kapitel<br />
Beschreibung der Änderung Autor Zustand<br />
1 05.01.11 0.1 Alle Initiale Produkterstellung BT In Bearbeitung<br />
2 09.02.11 0.2 Alle Inhaltliche Vervollständigung NA In Bearbeitung<br />
3 10.02.11 0.3 Alle Inhaltliches Review &<br />
Überarbeitung<br />
BT In Bearbeitung<br />
4 14.02.11 0.3 Alle Internes Review MD In Bearbeitung<br />
5 15.02.11 0.4 Alle Überarbeitung BT Vorgelegt<br />
6 17.02.11 - - Externes Review OFFIS Vorgelegt<br />
7 01.03.11 0.5 1.1, 1.2, 2 Überarbeitung nach externem<br />
Review<br />
BT Vorgelegt<br />
8 01.03.11 0.6 1 Überarbeitung TW Vorgelegt<br />
9 02.03.11 1.0 Alle Finalisierung BT Fertig gestellt
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Kurzfassung<br />
Eine zu Beginn des <strong>SPES</strong>-Projekts durchgeführte Studie zum Stand der Praxis im<br />
modellbasierten Requirements Engineering ([LaGaSiTe10], [DaSiLa10]) hat gezeigt,<br />
dass die Betrachtung von Zielen und Szenarien sowie deren explizite Modellierung<br />
derzeit eine tendenziell eher untergeordnete Rolle im modellbasierten Requirements<br />
Engineering spielen. Zudem wurde im Rahmen der durchgeführten Befragung von<br />
den Industrieunternehmen mehrheitlich konstatiert, dass die systematische Verfeinerung<br />
von Anforderungen über mehrere Abstraktionsebenen eine Reihe von Potenzialen<br />
zur Verbesserung der Praxis im Requirements Engineering und zur Verbesserung<br />
von Entwicklungsprozess besitzt. Ziele dokumentieren die Begründungen für<br />
Anforderungen. Szenarien beschreiben exemplarische Ereignisfolgen, die zur Erfüllung<br />
bzw. zur expliziten Nichterfüllung eines Ziels führen. Für die systematische Erhebung<br />
und Verfeinerung von Anforderungen ist es für einen entsprechenden Ansatz<br />
wesentlich, Ziele durch Szenarien zu konkretisieren, um anhand der in den Szenarien<br />
dokumentierten Ereignisfolgen an der Systemgrenze, die detaillierten Anforderungen<br />
an den Entwicklungsgegenstand zu definieren. Im modellbasierten Requirements<br />
Engineering werden einzelne Szenarien unter anderem in Form von Sequenzdiagrammen<br />
der UML oder in Form von Message Sequence Charts (MSCs)<br />
dokumentiert (siehe [FrMoSt09]). Um die Anwendbarkeit von ziel- und szenariobasierten<br />
Requirements-Engineering-Ansätzen in der Praxis zu fördern, ist es dabei<br />
notwendig, eine geeignete Modellierungsunterstützung für kommerziell verfügbare<br />
Werkzeuge anzubieten. Das vorliegende Ergebnisdokument stellt die im Rahmen<br />
des <strong>SPES</strong>-Projekts entwickelte Unterstützung zur Modellierung von Szenarien im<br />
ziel- und szenariobasierten Requirements Engineering mit Hilfe des kommerziellen<br />
Werkzeugs Enterprise Architect vor<br />
Zuletzt geändert: 02.03.2011 11:26 3/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Inhalt<br />
1 Einordnung und Kurzbeschreibung ..................................................................... 5<br />
1.1 Motivation und Einordnung ............................................................................ 5<br />
1.2 Management Summary ................................................................................. 5<br />
1.3 Überblick ....................................................................................................... 5<br />
2 Einführung zur Szenariomodellierung und UML/SysML ...................................... 7<br />
2.1 Szenariomodellierung .................................................................................... 7<br />
2.2 UML/SysML ................................................................................................... 8<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA ............................. 8<br />
3 Beschreibung des MDG-Plug-Ins zur Szenariomodellierung in SysML ............... 9<br />
3.1 Überblick über das SysML-Profil ................................................................... 9<br />
3.2 Das Paket “SysML Scenario Diagram Definitions” ........................................ 9<br />
3.3 Das Paket “Scenario Modeling Elements” ................................................... 10<br />
3.4 Das Paket “SysML Scenario Modeling” ....................................................... 10<br />
4 Verwendung des MDG-Plug-Ins ........................................................................ 12<br />
4.1 Installation der MDG-Technologie ............................................................... 12<br />
4.2 Verwendung des Profils ............................................................................... 12<br />
4.3 Erweiterung des Profils ................................................................................ 14<br />
5 Zusammenfassung ............................................................................................ 15<br />
6 Literaturverzeichnis ........................................................................................... 16<br />
Zuletzt geändert: 02.03.2011 11:26 4/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
1 Einordnung und Kurzbeschreibung<br />
1.1 Motivation und Einordnung<br />
Das vorliegende Ergebnisdokument beschreibt das Enterprise Architect Plug-In<br />
„SysML Szenario Modeling“, welches ein Profil zur Modellierung von Use-Cases und<br />
Sequenzdiagrammen beinhaltet. Der Erweiterungsmechanismus mittels Profilen ist in<br />
der UML Superstucture spezifiziert (siehe [OMG10a] und [AvTe11]), jedoch handelt<br />
es sich bei dem vorliegenden Profil um ein SysML-Profil, da das vorliegende Profil im<br />
Speziellen auf der SysML-Sprache aufbaut. Es ist jedoch zu beachten, dass SysML<br />
selbst wiederum ein Profil der UML ist (vgl. [OMG10b0]).<br />
Das vorliegende Dokument ist das Zweite in einer Reihe von Dokumenten, die die<br />
Anforderungsartefakte des initialen, modellbasierten RE-Ansatzes ([LaSiStTe09]) in<br />
SysML-Profilen bereitstellt. Damit soll eine Grundlage für eine rudimentäre Werkzeugunterstützung<br />
für den initialen, modellbasierten RE-Ansatz gewährleistet werden.<br />
In einem abschließenden Deliverable D2.1C wird das integrierte Gesamtprofil<br />
mit allen Anforderungsartefakten für den initialen Ansatz vorgestellt. In diesem Ergebnisdokument<br />
wird isoliert das Profil zur Modellierung von Szenarien vorgestellt.<br />
Das vorliegende Dokument beschreibt den Aufbau des Plug-Ins, gibt eine Beschreibung<br />
der Architektur des SysML-Profils und erläutert die Verwendung des Profils in<br />
Enterprise Architect (EA) aus einer anwendungsnahen Sicht.<br />
1.2 Management Summary<br />
In diesem Dokument wird ein SysML-Profil zur Szenariomodellierung auf Basis der<br />
Systems Modeling Language (SysML, siehe [OMG10b0]) vorgestellt. Dieses Profil<br />
wurde im Rahmen der Ausarbeitung zweier Fallstudien in Kooperation mit Bosch und<br />
EADS entwickelt und basiert auf den Ausführungen zur Szenariomodellierung aus<br />
dem initialen, modellbasierten Requirements Engineering Ansatz für Embedded Systems<br />
([LaSiStTe09]). Die Studie zum Stand der Praxis zum modellbasierten Requirements<br />
Engineering ([LaGaSiTe10], [DaSiLa10], [SiTePo10], [SiTePo11]) hat gezeigt,<br />
dass Ziel/Szenario-basiertes Vorgehen und Modellierung derzeit nur eine geringe<br />
Rolle im modellbasierten Requirements Engineering spielen. Ferner wurde gezeigt,<br />
dass durch die systematische Verfeinerung von Anforderungen auf mehreren<br />
Abstraktionsebenen Vorteile für das Requirements Engineering entstehen können.<br />
Zielen liegen Anforderungen zu Grunde und werden mit Szenarien erfüllt bzw. verfeinert.<br />
Für die systematische Erhebung und Verfeinerung von Anforderungen ist es<br />
daher unerlässlich, Ziele mit Hilfe von Szenarien zu konkretisieren. Im modellbasierten<br />
Requirements Engineering werden Szenarien in Szenario-Diagrammen<br />
([Pohl10]) modelliert, beispielsweise in Use-Case-Diagrammen oder Sequenzdiagrammen<br />
(siehe [FrMoSt09]).<br />
1.3 Überblick<br />
Im folgenden Abschnitt 2 wird eine kurze Einführung zur Szenario-Modellierung sowie<br />
zu UML/SysML gegeben. In Abschnitt 3 wird das EA-Plug-In „SysML Scenario<br />
Modeling“ erläutert, indem zunächst der Aufbau der zugehörigen EA-Projektdatei<br />
dargestellt wird (Abschnitt 3.1) und anschließend das SysML-Profil anhand seiner<br />
Implementierung in Enterprise Architect erläutert wird (Abschnitte 3.2 bis 3.4). In Abschnitt<br />
4 wird die Installation, Verwendung und Erweiterung des EA-Plug-In als MDG-<br />
Zuletzt geändert: 02.03.2011 11:26 5/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Technologie erläutert. Eine Zusammenfassung dieses Dokumentes kann Abschnitt 5<br />
entnommen werden.<br />
Zuletzt geändert: 02.03.2011 11:26 6/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
2 Einführung zur Szenariomodellierung und UML/SysML<br />
2.1 Szenariomodellierung<br />
Szenarien sind konkrete Beispiele für Interaktionsfolgen mit oder innerhalb eines<br />
Systems. Sie bestehen aus Interaktionsschritten, die die Interaktionen des betrachteten<br />
Systems detailliert beschreiben. Außerdem spezifizieren Szenarien Informationen<br />
über den Kontext eines Systems, wie z.B. Akteure (Nutzer oder andere Systeme),<br />
Bedingungen, Örtlichkeiten und Ressourcen, die für die Ausführung eines Szenarios<br />
relevant sind. Da Szenarien wesentlich konkreter (in Bezug auf Interaktionsabfolgen)<br />
als andere Anforderungsmodelle sind, tragen sie zum Verständnis dieser bei. Szenarien<br />
werden mit Zielen an das System assoziiert. Die assoziierten Ziele werden durch<br />
Szenarien erfüllt (siehe [Pohl10]).<br />
Szenarien können entweder in textueller Form (strukturiert oder unstrukturiert), oder<br />
als Modelle dokumentiert werden. Die meistverwendeten Modellierungssprachen für<br />
die letztgenannte Kategorie sind Sequenzdiagramme und Use-Case-Diagramme, die<br />
sowohl in der UML als auch in der SysML bereits enthalten sind.<br />
Sequenzdiagramme repräsentieren einen Nachrichtenaustausch der beteiligten Akteure<br />
im Szenario in einer bestimmten Zeit. Ein Akteur kann eine Person, ein System<br />
oder Teile eines Systems repräsentieren. Unter jedem Akteur wird eine senkrechte<br />
Lebenslinie gezeichnet, die angibt, wann ein Akteur für das Senden oder Empfangen<br />
von Nachrichten bereit ist. Nachrichten in Sequenzdiagrammen können synchron<br />
oder asynchron gesendet werden. Beim ersten Typ wartet ein Akteur, der eine Nachricht<br />
an einem anderen Akteur gesendet hat, auf die entsprechende Antwort. Wenn<br />
der Nachrichtenaustausch asynchron erfolgt, wird keine Antwort erwartet. Darüber<br />
hinaus bieten Sequenzdiagramme die Möglichkeit, Nachrichtenaustausche, Alternativen,<br />
Ausnahmeinteraktionen und Referenzen zu anderen Sequenzdiagrammen,<br />
darstellen. (siehe [FrMoSt09])<br />
Anders als die Sequenzdiagramme, können Use-Case-Diagramme keine Interaktionen<br />
zwischen den Akteuren darstellen. Durch das Konzept des Anwendungsfalles<br />
(engl.: Use Case) werden Mengen von konkreten Interaktionsschritten zusammengefasst<br />
und miteinander in Relation gestellt. Dadurch sind Use-Case-Diagramme gut<br />
geeignet, eine Übersicht über die möglichen Szenarien im Rahmen eines betrachteten<br />
Systems zu geben, und Aussagen über deren Beziehungen untereinander und<br />
mit beteiligten Akteuren zu treffen. In einem Use-Case-Diagramm werden die relevanten<br />
Use Cases durch eine Systemgrenze umrandet. Die Akteure, die außerhalb<br />
dieser Grenze stehen, werden mit den Use Cases verbunden, an denen sie sich beteiligen.<br />
Die Use Cases können untereinander auch Beziehungen aufweisen, die<br />
durch die Beziehungstypen „Generalisierung“, „Extend“ und „Include“ modelliert werden.<br />
Mit der Generalisierungsbeziehung wird dokumentiert, dass ein Use Case bestimmte<br />
Interaktionsschritte von einem anderen Use Case erbt. Die Extend-<br />
Beziehung gibt an, dass ein Use Case ein anderes um bestimmte Interaktionsschritte<br />
beim Eintritt eines Ereignisses erweitert. Durch die Include-Beziehung wird spezifiziert,<br />
dass ein Use Case Interaktionsschritte von einem anderen Use Case beinhaltet<br />
(siehe [Pohl10]).<br />
Zuletzt geändert: 02.03.2011 11:26 7/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
2.2 UML/SysML<br />
SysML ist eine universelle Sammlung, graphischer Modellierungssprachen zur Darstellung<br />
und Spezifikation von Verhaltens-, Zustands- und Strukturaspekten von Systemen<br />
([FrMoSt09], [OMG10b0]). SysML baut auf der Unified Modelling Language<br />
Version 2.0 (UML) auf. UML wird durch SysML domänenunabhängig erweitert und<br />
erlaubt es, ein System lösungsunabhängig zu spezifizieren. Szenariomodellierung<br />
wird in SysML durch die beiden Diagrammtypen „Use-Case-Diagramm“ und „Sequenzdiagramm“<br />
ermöglicht. Das in diesem Ergebnisdokument beschriebene Profil<br />
für SysML stellt eine Einschränkung von SysML zur Modellierung von Szenarien dar.<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA<br />
Die beiden Diagrammarten „Use-Case-Daigramm“ und „Sequenzdiagramm“ zur<br />
Spezifizierung von Szenarien werden als Grundlage für das SysML-Profil zur Szenariomodellierung<br />
verwendet. Da diese Diagrammtypen bereits Bestandteil von SysML<br />
sind, werden in einen Scenario-Viewpoint importiert (siehe Abb. 2–1). Da sich die<br />
Implementierung dieses Imports in Enterprise Architect technisch anders gestaltet als<br />
durch den in Abb. 2–1 dargestellten Mechanismus, wird die technische Implementation<br />
mit EA in Abschnitt 3 diskutiert.<br />
Abb. 2–1 Definition des SysML-Profils aus importierten Konzepten<br />
Zuletzt geändert: 02.03.2011 11:26 8/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
3 Beschreibung des MDG-Plug-Ins zur Szenariomodellierung<br />
in SysML<br />
In diesem Abschnitt wird das Enterprise Architect Plug-In beschrieben, in dem das<br />
SysML-Profil zur Modellierung von Szenarien implementiert wurde. Der nächste Unterabschnitt<br />
3.1 gibt einen Überblick über den Inhalt der entsprechenden Enterprise<br />
Architect (EA) Projektdatei. In den darauffolgenden Unterabschnitten 3.2 bis 3.4 werden<br />
die Bestandteile (und somit die technische Realisierung des Import-<br />
Mechanismus aus Abschnitt 2.3) des SysML-Profils erläutert.<br />
3.1 Überblick über das SysML-Profil<br />
Die EA-Projektdatei, die das SysML-Profil für Szenarien beschreibt, besteht aus drei<br />
Paketen, wie in Abb. 3–1 zu sehen ist. Sie werden in den folgenden Abschnitten erläutert.<br />
Deren Kennzeichnung gibt an, dass es sich bei dem jeweiligen<br />
Paket um eine benutzerdefinierte Erweiterung des SysML-Metamodells bzw. des<br />
Enterprise Architect Programmumfangs handelt. Eine Anleitung zur Erstellung von<br />
Erweiterungen in Enterprise Architect kann in [Sparx09] und [Sparx10] gefunden<br />
werden.<br />
Abb. 3–1 SysML-Paketdiagramm des UML/SysML-Profil für Szenarien<br />
3.2 Das Paket “SysML Scenario Diagram Definitions”<br />
Das Paket „SysML Scenario Diagram Definitions“ definiert die Diagrammtypen für die<br />
Sequenz- und Use-Case-Diagramme in Enterprise Architect. Wie in Abb. 3–1 zu sehen<br />
ist, hat das Paket „SysML Scenario Diagram Definitions“ vier Bestandteile („Diagram_Sequence“,<br />
„Diagram_Use Case“, „SysML Scenario Diagram“ und „SysML<br />
Use Case Diagram“). Eine detailliertere Sicht auf dieses Paket wird in Abb. 3–2 gegeben.<br />
Die oberen zwei Klassen „Diagram_Sequence“ und „Diagram_Use Case“ sind EA<br />
interne Klassen und beschreiben jeweils UML/SysML Sequenzdiagramme und<br />
UML/SysML Use-Case-Diagramme in Enterprise Architect. Die unten abgebildeten<br />
Klassen „SysML Scenario Diagram“ und „SysML Use Case Diagram“ sind benutzerdefinierte<br />
Stereotypen und erweitern die jeweiligen internen EA-Klasse. Durch die<br />
Vererbungsbeziehung wird spezifiziert, dass die Erweiterungsdiagramme jeweils Sequenzdiagramme<br />
und Use-Case-Diagramme als Grundlage benutzen. Mit dieser<br />
Vererbungsbeziehung wird die technische Umsetzung des in Abschnitt 2.3 erläuterten<br />
Import-Mechanismus erreicht.<br />
Eine Erläuterung der Attribute der EA-Klassen „Diagram_Sequence“ und „Diagram_Use<br />
Case“ kann [Sparx09] entnommen werden. Eine besondere Bedeutung<br />
hat das Attribut „toolbox“ in beiden Klassen, das die zu verwendete Toolbox für jeden<br />
Zuletzt geändert: 02.03.2011 11:26 9/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Diagrammtyp angibt. Die Toolbox wird im Paket „SysML Scenario Modeling“ spezifiziert<br />
und wird näher in Abschnitt 3.4 erläutert.<br />
Abb. 3–2 UML-Klassendiagramm des Inhaltes des Paketes „Scenario Diagram Definitions“<br />
3.3 Das Paket “Scenario Modeling Elements”<br />
Im Paket “Scenario Modeling Elements” können die zulässigen Modellelemente für<br />
das SysML-Profil zur Szenariomodellierung spezifiziert werden. Die Modellelemente<br />
sind bereits durch den Import der Diagramme festgelegt und bedürfen keiner weiteren<br />
Anpassung. Aus diesem Grund müssen keine neuen Modellelemente spezifiziert<br />
werden; es können die Vorhandenen im SysML-Profil verwendet werden. Das Paket<br />
„Scenario Modeling Elements“ bleibt daher leer und dient als Platzhalter für mögliche,<br />
spätere Erweiterungen.<br />
3.4 Das Paket “SysML Scenario Modeling”<br />
Im Paket “SysML Scenario Modeling” werden die GUI-Elemente für das erstellte<br />
SysML-Profil spezifiziert. Bei diesem Paket handelt es sich um ein technisches Profil,<br />
welches die sogenannte Enterprise Architect „Toolbox“ implementiert. Die Toolbox ist<br />
ein Teil des Enterprise Architect Diagramm-Editors, von dem die Modellelemente des<br />
verwendeten Diagramtyps ausgewählt werden können. Im Falle des SysML-Profils<br />
für Szenariomodellierung muss, ähnlich wie beim Paket „Scenario Modeling Elements“,<br />
keine neue Toolbox definiert werden. Da die in diesem SysML-Profil spezifizierten<br />
Sequenz- und Use-Case-Diagramme ein Bestandteil von UML und SysML<br />
sind, können ihre Toolboxen aus Enterprise Architect verwendet werden. Das Paket<br />
„SysML Sequence Diagram Toolbox Definition“ bleibt aus diesem Grund leer und<br />
dient als Platzhalter für eventuelle Erweiterungen (siehe Abb. 3–1).<br />
Abb. 3–3 zeigt Screenshots der Toolboxen für die Sequenzdiagramme und die Use-<br />
Case-Diagramme in Enterprise Architect. Diese werden immer automatisch geöffnet,<br />
sobald ein neues Sequenz- oder Use-Case-Diagramm in EA erstellt wird. Die Toolboxen<br />
können ebenfalls in einem beliebigen anderen Diagramm verwendet werden,<br />
wenn sie manuell nach einem Aufruf von „More tools…“ (siehe Abb. 3–3) aus dem<br />
Menü ausgewählt werden.<br />
Zuletzt geändert: 02.03.2011 11:26 10/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Abb. 3–3 Screenhots der Toolboxen für Sequenz- und Use-Case-Diagramme in EA<br />
Zuletzt geändert: 02.03.2011 11:26 11/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
4 Verwendung des MDG-Plug-Ins<br />
Das SysML Scenario Modeling Profile wird in Form eines MDG-Plug-Ins (siehe<br />
[Sparx10]) für Enterprise Architect zur Verfügung gestellt. In diesem Abschnitt wird<br />
die Installation, Verwendung und Erweiterung des Profils kurz erläutert. Detaillierte<br />
Informationen zur MDG-Technologie, zur Verwendung und Erweiterung von<br />
UML/SysML-Profilen in Enterprise Architect und zur Modellierung mit Enterprise Architect<br />
werden in [Sparx09] und [Sparx10] erläutert.<br />
4.1 Installation der MDG-Technologie<br />
Dieses MDG-Plug-In befindet sich zusammen mit der Enterprise Architect Projektdatei<br />
des Profils im ZIP-Archiv „SysML-Scenario-Modeling v4.zip“. Im Folgenden wird<br />
beschrieben, wie das SysML Scenario Modeling Profile in Enterprise Architect eingebunden<br />
werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie Enterprise Architect. Starten Sie die Enterprise Architect Anwendung,<br />
um das MDG-Plug-In einzubinden.<br />
3. Öffnen Sie den MDG-Technologie-Dialog. Klicken Sie dazu im Enterprise-<br />
Architect-Menü auf „Settings“ und danach auf die Menüoption „MDG Technologies“.<br />
4. Definieren Sie einen neuen MDG-Pfad. Im MDG-Technologie-Dialog, klicken<br />
Sie auf „Advance“ und im darauf folgenden Fenster auf „Add“ und dann auf „Add<br />
Path…“. Geben Sie den Ordner an, in den Sie die ZIP-Datei in Schritt 1 entpackt<br />
haben. Der Zielordner ist der Ordner, in dem die XML-Datei entpackt wurde. Klicken<br />
Sie anschließend auf OK. Enterprise Architect wird Sie darauf hinweisen,<br />
dass die Änderungen erst nach einem Neustart übernommen werden.<br />
5. Starten Sie Enterprise Architect neu, um die Änderungen zu übernehmen.<br />
6. Überprüfen Sie, ob die MDG-Technologie eingebunden ist, indem Sie den<br />
MDG-Technologie-Dialog wie unter Schritt 4 öffnen. Es sollte nun unter „Technologies“<br />
das SysML Scenario Modeling-Plug-In aufgeführt werden.<br />
Weitere Möglichkeiten zur Einbindung von MDG-Plug-Ins in Enterprise Architect sind<br />
in [Sparx10] erläutert.<br />
4.2 Verwendung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Scenario Modeling-Profil in Enterprise<br />
Architect verwendet werden kann.<br />
1. Erstellen Sie eine neue EA-Projektdatei. Klicken Sie dazu in Enterprise Architect<br />
auf „File“ und dann „New Project“. Wählen Sie einen geeigneten Pfad und<br />
Dateinamen für die Projektdatei und klicken Sie auf „speichern“.<br />
2. Erstellen Sie ein neues Paket unter dem Wurzelknoten „Model“ im „Project<br />
Browser“. Verwenden Sie dazu entweder die „Add a Package“ oder drücken Sie<br />
„Strg+W“. Geben Sie dem Projekt einen geeigneten Namen und verwenden Sie<br />
„Use Case“ oder „Dynamic“ als Sicht auf die Modelle in diesem Paket, wie in Abb.<br />
4–1 dargestellt. Klicken Sie anschließend auf OK.<br />
Zuletzt geändert: 02.03.2011 11:26 12/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Abb. 4–1 Screenshot zur Erstellung eines neuen Paketes für die Szenariomodellierung<br />
3. Erstellen Sie ein neues Szenariodiagramm, indem Sie mit der rechten Maustaste<br />
auf das in Schritt 2) erstellte Paket klicken und unter dem Menüeintrag<br />
„Add“ auf „New Diagram…“ klicken. Wählen Sie einen geeigneten Namen für Ihr<br />
Zieldiagramm und wählen Sie unter „Type“ die MDG-Technologie „SysML Scenario<br />
Modeling“ aus. Wählen Sie anschließend unter „Diagram Types“ den Eintrag<br />
„SysML Scenario Diagram“ oder „SysML Use Case Diagram“. Abb. 4–2 zeigt die<br />
für diesen Schritt notwendigen Einstellungen.<br />
Abb. 4–2 Screenshot zur Erstellung eines neuen Szenariodiagrammes<br />
4. Erstellen Sie ein Szenariodiagramm im Enterprise Architect Editor. Genaue<br />
Informationen zur Verwendung von Enterprise Architect können aus [Sparx09]<br />
entnommen werden. Informationen zur Szenariomodellierung können Sie in<br />
[FrMoSt09] und [Pohl10] finden. Abb. 4–3 zeigt ein Beispiel zur Modellierung mit<br />
dem Zieldiagramm.<br />
Zuletzt geändert: 02.03.2011 11:26 13/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
Abb. 4–3 Screenshot zur Modellierung von Szenarien in einem Sequenzdiagramm<br />
4.3 Erweiterung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Scenario Modeling Profile in Enterprise<br />
Architect erweitert werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie die EAP-Datei in Enterprise Architect. Starten Sie die Enterprise<br />
Architect Anwendung und öffnen Sie die EAP-Datei. Diese Datei enthält die Profildefinition<br />
sowie die Definitionen für den Diagrammtypen und die EA-Toolbox.<br />
3. Modellieren Sie Ihre Erweiterung zu. Nun können Sie Änderungen am Profil<br />
oder den Diagramm- und Toolbox-Definitionen vornehmen oder weitere Profile<br />
hinzufügen. Hinweise zur Erweiterung von MDG-Technologien und zum Umgang<br />
mit Enterprise Architect können aus [Sparx09] und [Sparx10] entnommen werden.<br />
Zuletzt geändert: 02.03.2011 11:26 14/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
5 Zusammenfassung<br />
In diesem Dokument wurde das SysML Scenario Modeling Profile für Enterprise Architect<br />
vorgestellt. Bei dem SysML-Profil handelt es sich um eine MDG-Technologie,<br />
die als Plug-In für Enterprise Architect verwendet werden kann. Das Profil besteht<br />
aus drei Teilen: Einem Platzhalter für die Modellierungselemente des Szenario-<br />
Profils im Paket „Scenario Modeling Elements“, der Definition der Szenariodiagramtypen<br />
im Paket „Scenario Diagram Definition“ und dem Platzhalter für die Definition<br />
für die User-Interface-Komponenten als EA-Toolbox im Paket „SysML Scenario<br />
Modeling“. Das Profil ist eine Einschränkung der SysML-Sprachfamilie hinsichtlich<br />
der Modellierung von Szenarien und importiert die Diagrammtypen „Sequenzdiagramm“<br />
und „Use-Case-Diagramm“. Die technische Umsetzung dieses Imports in EA<br />
wurde zusammen mit der Erläuterung der Bestandteile des SysML Scenario Modelling-Profils<br />
beschrieben.<br />
Zukünftige Arbeiten zu diesem Thema werden sich mit der Erweiterung dieses Profils<br />
und mit Plug-Ins zur Anwendung auf mehreren Abstraktionsstufen befassen. Weitere<br />
Arbeiten befassen sich mit der Erstellung eines Profils für lösungsorientierte Anforderungen,<br />
sowie einem Gesamtprofil, welches den gesamten, initialen modellbasierten<br />
RE-Ansatz abbildet.<br />
Zuletzt geändert: 02.03.2011 11:26 15/16
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Szenariomodellierung<br />
auf Basis von SysML<br />
6 Literaturverzeichnis<br />
[AvTe11] Untersuchung des State-of-the-Art zur Erstellung von Domänenspezifischen<br />
Modellierungssprachen und UML/SysML-Profilen.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version 1.0 vom<br />
09.02.2011<br />
[DaSiLa10] Daun, Marian; Sikora, Ernst; Lauenroth, Kim. Stand der Praxis im<br />
modellbasierten Requirements Engineering. <strong>SPES</strong> <strong>2020</strong> Deliverable<br />
D2.1.A, 2010.<br />
[FrMoSt09] Friedenthal, Sanford; Moore, Alan; Steiner, Rick. A Practical<br />
Guide to SysML. Morgan Kaufman & OMG, 2009.<br />
[LaGaSiTe10] Lauenroth, Kim; Gabrisch, Sebastian; Sikora, Ernst; Tenbergen,<br />
Bastian. Beschreibung der Durchführung der Studie zum Stand<br />
der Praxis im Requirements Engineering für Embedded Systems.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version 1.0 vom<br />
16.07.2010.<br />
[LaSiStTe09] Lauenroth, Kim; Sikora, Ernst; Stallbaum, Heiko; Tenbergen, Bastian.<br />
Initialer modellbasierter Requirements Engineering Ansatz für<br />
Embedded Systems. <strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version<br />
0.9 vom 18.09.2009.<br />
[OMG10a] Object Management Group: UML Superstructure Version 2.3,<br />
OMG formal/10-05-05 http://www.omg.org/spec/UML/2.3/ (2010)<br />
[OMG10b0] Object Management Group. OMG Systems Modeling Language<br />
(OMG SysML) Language Specification v1.2. OMG Document<br />
Number: formal/2010-06-02. 2010.<br />
[Pohl10] Pohl, Klaus. Requirements Engineering – Foundations, Principles,<br />
Techniques. Springer, 2010.<br />
[SiStLa10] Sikora, Ernst; Stallbaum, Heiko, Lauenroth, Kim. Anforderungen<br />
an den zu entwickelnden Ansatz für modellbasiertes Requirements<br />
Engineering. <strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version<br />
1.0 vom 01.03.2010.<br />
[SiTePo10] Sikora, E., Tenbergen, B., Pohl, K.: Modellbasiertes Requirements<br />
Engineering - Eine Situationsanalyse zum Stand der Praxis. Softwaretechnik<br />
Trends 30(1) (2010)<br />
[SiTePo11] Sikora, E.; Tenbergen, B.; Pohl, K.: Requirements Engineering for<br />
Embedded Systems: - An Investigation of Industry Needs . To appear<br />
in Proceedings of the 17 th International Working Conference<br />
on Requirements Engineering: Foundations of Software Quality<br />
REFSQ (2011)<br />
[Sparx09] SparxSystems. Enterprise Architect User Guide. 2009.<br />
[Sparx10] SparxSystems. Enterprise Architect Software Developers’ Kit.<br />
2010.<br />
Zuletzt geändert: 02.03.2011 11:26 16/16
Anhang D – ZP-AP2 Teilergebnis: SysML-Profil und MDG-<br />
Plug-In für Enterprise Architect zur Modellierung von lösungsorientierten<br />
Anforderungen auf Basis von SysML
- ZP-AP2 Teilergebnis: SysML-Profil und MDG-Plug-In für Enterprise Architect<br />
zur Modellierung von lösungsorientierten Anforderungen auf Basis von SysML-<br />
Projektbezeichnung <strong>SPES</strong> <strong>2020</strong><br />
Version: 1.1<br />
Verantwortlich Bastian Tenbergen (Universität Duisburg-Essen)<br />
QS-Verantwortlich Jörg Holtmann (UPB)<br />
Erstellt am 01.03.2011<br />
Zuletzt geändert 14.04.2011 08:37<br />
Freigabestatus Vertraulich für Partner: ; ; …<br />
Projektöffentlich<br />
X Öffentlich<br />
Bearbeitungszustand in Bearbeitung<br />
vorgelegt<br />
X fertig gestellt
Weitere Produktinformationen<br />
Erzeugung Sebastian Gabrisch (SG), Bastian Tenbergen (BT)<br />
Mitwirkend Marian Daun (MD), Thorsten Weyer (TW)<br />
Änderungsverzeichnis<br />
Änderung<br />
Nr. Datum Version<br />
Geänderte<br />
Kapitel<br />
Beschreibung der Änderung Autor Zustand<br />
1 01.03.11 0.1 Alle Initiale Produkterstellung BT In Bearbeitung<br />
2 03.03.11 0.2 2-3 Überarbeitung SG In Bearbeitung<br />
3 04.03.11 0.3 Alle Inhaltliche Überarbeitung BT In Bearbeitung<br />
4 17.03.11 - - Internes Review MD In Bearbeitung<br />
5 21.03.11 0.4 Alle Überarbeitung nach<br />
internem Review<br />
BT Vorgelegt<br />
6 05.04.11 - - Externes Review UPB Vorgelegt<br />
7 08.04.11 1.0 Alle Überarbeitung nach<br />
externem Review<br />
BT Fertig gestellt<br />
8 14.04.11 1.1 Alle Kleinere Verbesserungen BT Fertig gestellt
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
Kurzfassung<br />
Eine zu Beginn des <strong>SPES</strong>-Projekts durchgeführte Studie zum Stand der Praxis im<br />
modellbasierten Requirements Engineering ([LaGaSiTe10], [DaSiLa10], [SiTePo11])<br />
hat gezeigt, dass die Betrachtung und explizite Modellierung von lösungsorientierten<br />
Anforderungen in den drei Perspektiven Daten, Verhalten und Struktur (vgl. [Davis93]<br />
und [Pohl10]) derzeit eine tendenziell eher untergeordnete Rolle im modellbasierten<br />
Requirements Engineering spielen. Während die Diagrammarten zur Modellierung<br />
dieser Anforderungsartefakte häufige Verwendung während der Gewinnungs- und<br />
Abstimmungsphasen des RE finden, werden sie doch nicht durchgängig während<br />
des Gesamten RE-Prozesses, insbesondere zur Dokumentation verwendet; es fehlt<br />
an methodischer Anleitung und methodenbezogener Werkzeugunterstützung (siehe<br />
[SiTePo11]). Eine methodische Unterstützung wurde bereits durch den initialen RE-<br />
Ansatz [LaSiStTe09] zur Verfügung gestellt. Das in diesem Dokument beschriebene<br />
Profil zur Modellierung von lösungsorientierten Anforderungen stellt einen der Kernaspekte<br />
für eine Werkzeugunterstützung durch ein methodenspezifisches Profil dar.<br />
In vorangegangenen Arbeiten wurden bereits Profile für die Modellierung von Zielen<br />
und Szenarien mit dem Ziel vorgestellt, ein einheitliches, methodenspezifisches Profil<br />
für SysML zu entwickeln. Dieses Profil soll dem Anforderungsingenieur helfen, die für<br />
den initialen RE-Ansatz zu verwendenden Diagramme einfacher auszuwählen und<br />
anhand der Ansatzbeschreibung anzuwenden. Ferner wurde im Rahmen der durchgeführten<br />
Befragung von den Industrieunternehmen mehrheitlich konstatiert, dass<br />
die systematische Verfeinerung von Anforderungen über mehrere Abstraktionsebenen<br />
eine Reihe von Potenzialen zur Verbesserung der Praxis im Requirements Engineering<br />
und zur Verbesserung von Entwicklungsprozessen besitzt [SiTePo11]. Die<br />
durch Ziele und Szenarien dokumentierten Anforderungen werden durch lösungsorientierte<br />
Anforderungen verfeinert. Für die systematische Verfeinerung von Anforderungen<br />
ist es für einen entsprechenden Ansatz wesentlich, das Wirkungsgefüge des<br />
Systems in allen drei Perspektiven getrennt zu betrachten und auf Basis gemeinsamer<br />
Szenarien schrittweise Anforderungen an das System zu modellieren. Im modellbasierten<br />
Requirements Engineering werden lösungsorientierte Anforderungen in<br />
Form von Block-, Klassen-, oder EER-Diagrammen in der Datenperspektive modelliert.<br />
Lösungsorientierte Anforderungen in der Verhaltensperspektive werden mit Automatenmodellen,<br />
wie beispielsweise Input/Output-Automaten oder Statecharts modelliert.<br />
In der Funktionsperspektive dienen Aktivitätsdiagramme oder Datenflussdiagramme<br />
zur Modellierung. Die Modellierung von lösungsorientierten Anforderungen<br />
bildet zusammen mit der systematischen Erhebung von Zielen und Szenarien den<br />
Hauptfokus im initialen, modellbasierten Requirements-Engineering-Ansatz. Um die<br />
Anwendbarkeit von modellbasierten Requirements-Engineering-Ansätzen in der Praxis<br />
zu fördern, ist es dabei notwendig, eine geeignete Modellierungsunterstützung für<br />
kommerziell verfügbare Werkzeuge anzubieten. Das vorliegende Ergebnisdokument<br />
stellt die im Rahmen des <strong>SPES</strong>-Projekts entwickelte Unterstützung zur Modellierung<br />
von lösungsorientierten Anforderungen mit Hilfe des kommerziellen Werkzeugs<br />
Enterprise Architect vor.<br />
Zuletzt geändert: 14.04.2011 08:37 3/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
Inhalt<br />
1 Einordnung und Kurzbeschreibung ..................................................................... 5<br />
1.1 Motivation und Einordnung ............................................................................ 5<br />
1.2 Management Summary ................................................................................. 5<br />
1.3 Überblick ....................................................................................................... 6<br />
2 Einführung zur Modellierung lösungsorientierter Anforderungen und SysML ...... 7<br />
2.1 Modellierung von lösungsorientierten Anforderungen ................................... 7<br />
2.2 UML/SysML ................................................................................................... 7<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA ............................. 8<br />
3 Beschreibung des Plug-Ins für lösungsorientierter Anforderungen in SysML .... 10<br />
3.1 Überblick über das SysML-Profil ................................................................. 10<br />
3.2 Das Paket “SysML Solution-Oriented Diagram Definitions” ......................... 10<br />
3.3 Das Paket “Solution-Oriented Modeling Elements” ..................................... 11<br />
3.4 Das Paket “SysML Solution-Oriented Modeling” ......................................... 11<br />
4 Verwendung des MDG-Plug-Ins ........................................................................ 13<br />
4.1 Installation der MDG-Technologie ............................................................... 13<br />
4.2 Verwendung des Profils ............................................................................... 13<br />
4.3 Erweiterung des Profils ................................................................................ 15<br />
5 Zusammenfassung ............................................................................................ 16<br />
6 Literaturverzeichnis ........................................................................................... 17<br />
Zuletzt geändert: 14.04.2011 08:37 4/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
1 Einordnung und Kurzbeschreibung<br />
In diesem Abschnitt wird eine kurze Einordnung in den Projektkontext beschrieben<br />
und ein Überblick über den Dokumenteninhalt sowie den vorhergehenden Arbeiten<br />
gegeben.<br />
1.1 Motivation und Einordnung<br />
Das vorliegende Ergebnisdokument beschreibt das Enterprise Architect Plug-In<br />
„SysML Solution-Oriented Modeling“, welches ein Profil zur Modellierung von lösungsorientierten<br />
Anforderungen in der Daten-, Verhaltens- und Funktionsperspektive<br />
unter Verwendung von State Machine Diagramme, Aktivitäts- und Blockdiagrammen<br />
beinhaltet. Der Erweiterungsmechanismus mittels Profilen ist in der UML Superstucture<br />
spezifiziert (siehe [OMG10a] und [AvTe11]). Allerdings handelt es sich bei<br />
dem vorliegenden Profil um ein SysML-Profil, da das vorliegende Profil insbesondere<br />
auf der SysML-Sprache aufbaut. Es ist jedoch zu beachten, dass SysML selbst wiederum<br />
ein Profil der UML ist (vgl. [OMG10a]). Das vorliegende Dokument ist das Dritte<br />
in einer Reihe von Dokumenten, die die Anforderungsartefakte des initialen, modellbasierten<br />
RE-Ansatzes ([LaSiStTe09]) in SysML-Profilen bereitstellen. Damit soll<br />
eine Grundlage für eine rudimentäre Werkzeugunterstützung für den initialen, modellbasierten<br />
RE-Ansatz gegeben werden. In einem abschließenden Deliverable<br />
D2.1C wird das integrierte Gesamtprofil mit allen Anforderungsartefakten für den initialen<br />
Ansatz vorgestellt. Das vorliegende Dokument beschreibt den Aufbau des<br />
Plug-Ins, gibt eine Beschreibung der Architektur des SysML-Profils und erläutert die<br />
Verwendung des Profils in Enterprise Architect (EA).<br />
1.2 Management Summary<br />
In diesem Dokument wird ein SysML-Profil zur Modellierung lösungsorientierter Anforderungen<br />
auf Basis der Systems Modeling Language (SysML) vorgestellt. Dieses<br />
Profil wurde im Rahmen der Ausarbeitung zweier Fallstudien in Kooperation mit<br />
Bosch und EADS entwickelt und basiert auf den Ausführungen zur Modellierung lösungsorientierter<br />
Anforderungen aus dem initialen, modellbasierten Requirements<br />
Engineering Ansatz für Embedded Systems ([LaSiStTe09]). Die Studie zum Stand<br />
der Praxis zum modellbasierten Requirements Engineering ([LaGaSiTe10], [Da-<br />
SiLa10], [SiTePo10], [SiTePo11]) hat gezeigt, dass strukturierte Modellierung und<br />
Verfeinerung, der durch Ziele und Szenarien erhobenen Anforderungen, mittels lösungsorientierten<br />
Anforderungsmodellen derzeit nur eine geringe Rolle im modellbasierten<br />
Requirements Engineering spielen. Während die Diagrammarten zur Modellierung<br />
dieser Anforderungsartefakte häufige Verwendung während der Gewinnungs-<br />
und Abstimmungsphasen des RE finden, werden sie doch nicht durchgängig während<br />
des Gesamten RE-Prozesses, insbesondere zur Dokumentation verwendet; es<br />
fehlt an methodischer Anleitung und methodenbezogener Werkzeugunterstützung<br />
(siehe [SiTePo11]). Eine methodische Unterstützung wurde bereits durch den initialen<br />
RE-Ansatz [LaSiStTe09] zur Verfügung gestellt. Das in diesem Dokument beschriebene<br />
Profil zur Modellierung von lösungsorientierten Anforderungen stellt einen<br />
der Kernaspekte für eine Werkzeugunterstützung durch ein methodenspezifisches<br />
Profil dar. In vorangegangenen Arbeiten wurden bereits Profile für die Modellierung<br />
von Zielen und Szenarien mit dem Ziel vorgestellt, ein einheitliches, methodenspezifisches<br />
Profil für SysML zu entwickeln. Dieses Profil soll dem Anforderungsingenieur<br />
helfen, die für den initialen RE-Ansatz zu verwendenden Diagramme einfacher aus-<br />
Zuletzt geändert: 14.04.2011 08:37 5/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
zuwählen und anhand der Ansatzbeschreibung anzuwenden. Ferner wurde gezeigt,<br />
dass durch die systematische Verfeinerung von Anforderungen auf mehreren Abstraktionsebenen<br />
Vorteile für das Requirements Engineering entstehen können. Zielen<br />
liegen Anforderungen zu Grunde, sie werden von Szenarien erfüllt bzw. verfeinert.<br />
Die Szenarien werden ihrerseits durch lösungsorientierte Anforderungen in den drei<br />
Perspektiven „Daten“, „Verhalten“ und „Funktion“ verfeinert (vgl. [Davis93] und<br />
[Pohl10]). Im modellbasierten Requirements Engineering wird die Verhaltensperspektive<br />
in State Machine Diagrammen modelliert, die Datenperspektive in Blockdiagrammen,<br />
und die Funktionsperspektive in Aktivitätsdiagrammen ([FrMoSt09],<br />
[Pohl10]).<br />
1.3 Überblick<br />
Im folgenden Abschnitt 2 wird eine kurze Einführung zur Modellierung lösungsorientierter<br />
Anforderungen sowie zur UML/SysML gegeben. In Abschnitt 3 wird das EA-<br />
Plug-In „SysML Solution-Oriented Modeling“ erläutert, indem zunächst der Aufbau<br />
der zugehörigen EA-Projektdatei dargestellt wird (Abschnitt 3.1) und anschließend<br />
das SysML-Profil anhand seiner Implementierung in Enterprise Architect erläutert<br />
wird (Abschnitte 3.2 bis 3.4). In Abschnitt 4 wird die Installation, Verwendung und<br />
Erweiterung des EA-Plug-In als MDG-Technologie erläutert. Eine Zusammenfassung<br />
dieses Dokumentes kann Abschnitt 5 entnommen werden.<br />
Zuletzt geändert: 14.04.2011 08:37 6/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
2 Einführung zur Modellierung lösungsorientierter Anforderungen<br />
und SysML<br />
In diesem Abschnitt wird die Modellierung von lösungsorientierten Anforderungsartefakten<br />
kurz erläutert. Die Erläuterungen stützen sich auf die im initialen RE-Ansatz<br />
[LaSiStTe09] enthaltenen Erläuterungen zum Begriff der lösungsorientierten Anforderungen<br />
sowie dessen Modellierung.<br />
2.1 UML/SysML<br />
SysML ist eine universelle Sammlung, graphischer Modellierungssprachen zur Darstellung<br />
und Spezifikation von Verhaltens-, Zustands- und Strukturaspekten von Systemen<br />
([FrMoSt09], [OMG10a]). SysML baut auf der Unified Modeling Language<br />
Version 2.0 (UML, siehe [OMG10b]) auf. Während UML in der Softwaretechnik gängig<br />
ist, findet SysML Anwendung im Bereich des System Engineering. UML wird<br />
durch SysML fachdisziplinunabhängig erweitert und erlaubt es, ein System lösungsorientiert<br />
zu spezifizieren. Die Modellierung lösungsorientierter Anforderungen wird<br />
in SysML durch die drei Diagrammarten „State Machine Diagramm“, „Aktivitätsdiagramm“<br />
und „Blockdiagramm“ ermöglicht. Das in diesem Ergebnisdokument beschriebene<br />
Profil für SysML stellt eine Einschränkung von SysML zur Modellierung<br />
lösungsorientierter Anforderungen dar.<br />
2.2 Modellierung von lösungsorientierten Anforderungen<br />
Lösungsorientierte Anforderungen spezifizieren die für die technische Umsetzung<br />
des Systems relevanten Details. Dabei werden sowohl die Anforderungen bezüglich<br />
der geforderten Funktionalität in Form von Daten, Funktionen und Verhalten, als<br />
auch Qualitätsaspekte des geplanten Systems abgedeckt. Die Gesamtmenge der<br />
lösungsorientierten Anforderungen sollte dabei im Hinblick auf die Realisierung des<br />
Systems möglichst vollständig, präzise und widerspruchsfrei sein (siehe [Pohl10]).<br />
Drei in der SysML vorhandene Diagrammtypen um lösungsorientierte Anforderungen<br />
zu modellieren sind State Machine Diagramme, Aktivitätsdiagramme und Blockdiagramme<br />
(siehe [OMG10a]).<br />
State Machine Diagramme in SysML modellieren das diskrete Verhalten eines Systems<br />
und wurden aus der UML-Spezifikation übernommen (siehe [OMG10a] und<br />
[OMG10b], Abschnitte 13.1 und 13.3). State Machines besitzen, so wie einfache Automaten,<br />
ebenfalls Zustände und Zustandsübergänge. Ein Zustand definiert hierbei<br />
eine Zeitspanne, in dem das modellierte System ein bestimmtes Verhalten zeigt.<br />
Durch das Eintreten eines definierten Ereignisses innerhalb dieses Zustandes wird<br />
dann ein Übergang in einen anderen Zustand ausgelöst, gekennzeichnet durch einen<br />
Pfeil zwischen den Zuständen. State Machine Diagramme bieten zudem die Möglichkeit<br />
zur Definition von Ereignissen und Bedingungen für Zustandsübergänge und<br />
zur Modellierung von Nebenläufigkeit. Darüber hinaus lässt sich durch hierarchische<br />
Zerlegung in Teilautomaten und „Superzustände“ die Komplexität der Betrachtung<br />
des Systems verringern (siehe [Pohl10]).<br />
Mit Aktivitätsdiagrammen lässt sich die funktionale Perspektive des Systems, bzw.<br />
der Kontrollfluss zwischen den diskreten und (in begrenztem Maße) kontinuierliche<br />
Aktivitäten eines Systems modellieren. Der Fokus bei dieser Art der Modellierung<br />
liegt dabei auf der Abfolge der Aktivitäten sowie auf den Daten- und Objektflüssen<br />
zwischen den Aktivitäten. Eine Aktivität kann dabei erst zu dem Zeitpunkt ausgeführt<br />
werden, wenn die im Kontrollfluss vorgelagerten Aktivitäten terminiert sind und alle<br />
Zuletzt geändert: 14.04.2011 08:37 7/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
einlaufenden Daten- und Objektflüsse zur Verfügung stehen. Die möglichen Pfade<br />
zwischen den Aktivitäten im System werden dabei durch die Daten- bzw. Kontrollflüsse<br />
modelliert. Aktivitätsdiagramme ermöglichen die Darstellung verschiedenster<br />
Verzweigungen von Kontrollflüssen, wie z.B. Nebenläufigkeit, Alternativen (sog.<br />
„Entscheidungsknoten“, i.d.R. mit Bedingungen verknüpft) und dem Zusammenführen<br />
von alternativen Kontrollflüssen (siehe [Pohl10]).<br />
In der Datenperspektive lassen sich verschiedene statische Strukturen des Systems<br />
modellieren, wie beispielsweise Datenentitäten, sowie deren Attribute und (siehe<br />
[Pohl10]). In der SysML existiert zur Datenmodellierung das Blockdiagramm. Dieses<br />
basiert auf dem UML-Klassendiagramm, sodass ebenfalls Assoziationen, Aggregationen,<br />
Kompositionen und Generalisierungen modelliert werden können. In der<br />
SysML wird ein Block allerdings als ein universelles Modellelement verstanden<br />
([OMG10a]), mit dem sowohl logische als auch physische Komponenten des Systems<br />
beschrieben werden können. In einem SysML-Blockdiagramm lassen sich die<br />
interne Struktur eines Blocks mit einer Vielzahl von möglichen Eigenschaften, als<br />
auch seine Verbindungen zu anderen Blöcken oder zu externen Akteuren beschreiben<br />
(siehe [OMG10a], [Sparx09]).<br />
2.3 Hinweise zur Implementierung des SysML-Profils mit EA<br />
Die drei Diagrammarten „State Machine Diagramm“, „Aktivitätsdiagramm“ und „Strukturdiagramm“<br />
werden als Grundlage für das SysML-Profil zur Modellierung lösungsorientierter<br />
Anforderungen verwendet. Da diese Diagrammtypen bereits Bestandteil<br />
von SysML sind, werden sie in einen Viewpoint namens „Solution-Oriented-<br />
Requirements“ importiert (siehe Abb. 2–1). Da sich die Implementierung dieses Imports<br />
in Enterprise Architect technisch anders gestaltet als durch den in Abb. 2–1<br />
dargestellten Mechanismus, wird die technische Implementierung mit EA in Abschnitt<br />
3 diskutiert.<br />
Zuletzt geändert: 14.04.2011 08:37 8/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
Abb. 2–1 Definition des SysML-Profils aus importierten Konzepten<br />
Zuletzt geändert: 14.04.2011 08:37 9/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
3 Beschreibung des Plug-Ins für lösungsorientierter Anforderungen<br />
in SysML<br />
In diesem Abschnitt wird das Enterprise Architect Plug-In beschrieben, in dem das<br />
SysML-Profil zur Modellierung von lösungsorientierten Anforderungen implementiert<br />
wurde. Der nächste Unterabschnitt 3.1 gibt einen Überblick über den Inhalt der entsprechenden<br />
Enterprise Architect (EA) Projektdatei. In den darauffolgenden Unterabschnitten<br />
3.2 bis 3.4 werden die Bestandteile (und somit die technische Realisierung<br />
des Import-Mechanismus aus Abschnitt 2.3) des SysML-Profils erläutert.<br />
3.1 Überblick über das SysML-Profil<br />
Die EA-Projektdatei, die das SysML-Profil für lösungsorientierte Anforderungen beschreibt,<br />
besteht aus drei Paketen, wie in Abb. 3–1 zu sehen ist. Sie werden in den<br />
folgenden Abschnitten erläutert. Deren Kennzeichnung gibt an, dass es<br />
sich bei dem jeweiligen Paket um eine benutzerdefinierte Anpassung des SysML-<br />
Metamodells bzw. des Enterprise Architect Programmumfangs handelt. Eine Anleitung<br />
zur Erstellung von Erweiterungen in Enterprise Architect kann in [Sparx09] und<br />
[Sparx10] gefunden werden.<br />
Abb. 3–1 SysML-Paketdiagramm des UML/SysML-Profil für lösungsorientierte Anforderungen<br />
3.2 Das Paket “SysML Solution-Oriented Diagram Definitions”<br />
Das Paket „SysML Solution-Oriented Diagram Definitions“ definiert die Diagrammtypen<br />
für die Aktivitäts- und Blockdiagramme, sowie State Machine Diagramme in<br />
Enterprise Architect. Wie in Abb. 3–1 zu sehen ist, hat das Paket „SysML Solution-<br />
Oriented Diagram Definitions“ sechs Bestandteile („Diagram_Activity“, „Diagram_CompositeStructure“,<br />
„Diagram_Statechart“ „SysML Activity Diagram“ „SysML<br />
Internal Block Diagram“ und „SysML State Machine Diagram“). Eine detailliertere<br />
Sicht auf dieses Paket wird in Abb. 3–2 gegeben.<br />
Die oberen drei Klassen „Diagram_Activity“, „Diagram_CompositeStructure“, „Diagram_Statechart“<br />
sind EA interne Klassen und beschreiben jeweils UML Aktivitätsdiagramme,<br />
UML Strukturdiagramme und UML State Machine Diagramme in Enterprise<br />
Architect. Die unten abgebildeten Klassen „SysML Activity Diagram“ „SysML Internal<br />
Block Diagram“ und „SysML State Machine Diagram“ sind benutzerdefinierte<br />
Klassen und erweitern die jeweiligen internen EA-Klasse. Durch die Vererbungsbeziehung<br />
wird spezifiziert, dass die Erweiterungsdiagramme jeweils Aktivitätsdiagramme,<br />
Strukturdiagramme und State Machine Diagramme als Grundlage benut-<br />
Zuletzt geändert: 14.04.2011 08:37 10/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
zen. Mit dieser Vererbungsbeziehung wird die technische Umsetzung des in Abschnitt<br />
2.3 erläuterten Import-Mechanismus erreicht.<br />
Eine Erläuterung der Attribute der Klassen „Diagram_Activity“, „Diagram_CompositeStructure“,<br />
„Diagram_Statechart“ kann [Sparx09] entnommen werden.<br />
Eine besondere Bedeutung hat das Attribut „toolbox“ in beiden Klassen, das die<br />
zu verwendende Toolbox für jeden Diagrammtyp angibt. Die Toolbox wird im Paket<br />
„SysML Solution-Oriented Modeling“ spezifiziert und wird näher in Abschnitt 3.4 erläutert.<br />
Abb. 3–2 UML-Klassendiagramm des Inhaltes des Paketes „Solution Oriented Diagram Definitions“<br />
3.3 Das Paket “Solution-Oriented Modeling Elements”<br />
Im Paket „Solution-Oriented Modeling Elements” können die zulässigen Modellelemente<br />
für das SysML-Profil zur Modellierung von lösungsorientierten Anforderungen<br />
spezifiziert werden. Die Modellelemente sind bereits durch den Import der Diagramme<br />
festgelegt und bedürfen keiner weiteren Anpassung. Aus diesem Grund müssen<br />
keine neuen Modellelemente spezifiziert werden; es können die vorhandenen im<br />
SysML-Profil verwendet werden. Das Paket „Solution-Oriented Modeling Elements“<br />
bleibt daher leer und dient als Platzhalter für mögliche, spätere Erweiterungen.<br />
3.4 Das Paket “SysML Solution-Oriented Modeling”<br />
Im Paket „SysML Solution-Oriented Modeling” werden die GUI-Elemente für das erstellte<br />
SysML-Profil spezifiziert. Bei diesem Paket handelt es sich um ein technisches<br />
Profil, welches die sogenannte Enterprise Architect „Toolbox“ implementiert. Die<br />
Toolbox ist ein Teil des Enterprise Architect Diagramm-Editors, von dem die Modellelemente<br />
des verwendeten Diagramtyps ausgewählt werden können. Im Falle<br />
des SysML-Profils für die Modellierung lösungsorientierter Anforderungen muss, ähnlich<br />
wie beim Paket „Solution-Oriented Modeling Elements“, keine neue Toolbox definiert<br />
werden. Da die in diesem SysML-Profil spezifizierten Aktivitäts-, Struktur- und<br />
Verhaltensdiagramme ein Bestandteil von SysML sind, können ihre Toolboxen aus<br />
Enterprise Architect verwendet werden. Das Paket „SysML Solution-Oriented Modeling<br />
Toolbox Definition“ bleibt aus diesem Grund leer und dient als Platzhalter für<br />
eventuelle Erweiterungen (siehe Abb. 3–1).<br />
Abb. 3–3 zeigt Screenshots der Toolboxen für State Machine Diagramme, Aktivitätsund<br />
Blockdiagramme in Enterprise Architect. Diese werden immer automatisch ge-<br />
Zuletzt geändert: 14.04.2011 08:37 11/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
öffnet, sobald ein neues Diagramm eines dieser drei Typen in EA erstellt wird. Die<br />
Toolboxen können ebenfalls in einem beliebigen anderen Diagramm verwendet werden,<br />
wenn sie manuell nach einem Aufruf von „More tools…“ (siehe Abb. 3–3) im<br />
Menü ausgewählt werden.<br />
Abb. 3–3 Screenshots der Toolboxen für die drei Modelltypen in EA<br />
Zuletzt geändert: 14.04.2011 08:37 12/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
4 Verwendung des MDG-Plug-Ins<br />
Das SysML Solution-Oriented Modeling Profile wird in Form eines sogenannten<br />
MDG-Plug-Ins (siehe [Sparx10]) für Enterprise Architect zur Verfügung gestellt. In<br />
diesem Abschnitt wird die Installation, Verwendung und Erweiterung des Profils kurz<br />
erläutert. Detaillierte Informationen zur MDG-Technologie, zur Verwendung und Erweiterung<br />
von UML/SysML-Profilen in Enterprise Architect und zur Modellierung mit<br />
Enterprise Architect werden in [Sparx09] und [Sparx10] erläutert.<br />
4.1 Installation der MDG-Technologie<br />
Dieses MDG-Plug-In befindet sich zusammen mit der Enterprise Architect Projektdatei<br />
des Profils im ZIP-Archiv „SysML- Solution-Oriented-Modeling v4.zip“. Im Folgenden<br />
wird beschrieben, wie das SysML Solution-Oriented-Modeling-Profil in Enterprise<br />
Architect eingebunden werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie Enterprise Architect. Starten Sie die Enterprise Architect Anwendung,<br />
um das MDG-Plug-In einzubinden.<br />
3. Öffnen Sie den MDG-Technologie-Dialog. Klicken Sie dazu im Enterprise-<br />
Architect-Menü auf „Settings“ und danach auf die Menüoption „MDG Technologies“.<br />
4. Definieren Sie einen neuen MDG-Pfad. Im MDG-Technologie-Dialog, klicken<br />
Sie auf „Advance“ und im darauf folgenden Fenster auf „Add“ und dann auf „Add<br />
Path…“. Geben Sie den Ordner an, in den Sie die ZIP-Datei in Schritt 1 entpackt<br />
haben. Der Zielordner ist der Ordner, in dem die XML-Datei entpackt wurde. Klicken<br />
Sie anschließend auf OK. Enterprise Architect wird Sie darauf hinweisen,<br />
dass die Änderungen erst nach einem Neustart übernommen werden.<br />
5. Starten Sie Enterprise Architect neu, um die Änderungen zu übernehmen.<br />
6. Überprüfen Sie, ob die MDG-Technologie eingebunden ist, indem Sie den<br />
MDG-Technologie-Dialog wie unter Schritt 4 öffnen. Es sollte nun unter „Technologies“<br />
das SysML Solution-Oriented Modeling-Plug-In aufgeführt werden.<br />
Weitere Möglichkeiten zur Einbindung von MDG-Plug-Ins in Enterprise Architect sind<br />
in [Sparx10] erläutert.<br />
4.2 Verwendung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Solution-Oriented Modeling-Profil in<br />
Enterprise Architect verwendet werden kann.<br />
1. Erstellen Sie eine neue EA-Projektdatei. Klicken Sie dazu in Enterprise Architect<br />
auf „File“ und dann „New Project“. Wählen Sie einen geeigneten Pfad und<br />
Dateinamen für die Projektdatei und klicken Sie auf „speichern“.<br />
2. Erstellen Sie ein neues Paket unter dem Wurzelknoten „Model“ im „Project<br />
Browser“. Verwenden Sie dazu entweder die „Add a Package“ oder drücken Sie<br />
„Strg+W“. Geben Sie dem Projekt einen geeigneten Namen und verwenden Sie<br />
„Dynamic“ als Sicht auf die Modelle in diesem Paket, wie in Abb. 4–1 dargestellt.<br />
Klicken Sie anschließend auf OK.<br />
Zuletzt geändert: 14.04.2011 08:37 13/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
Abb. 4–1 Screenshot zur Erstellung eines neuen Paketes für die Modellierung<br />
lösungsorientierter Anforderungen<br />
3. Erstellen Sie ein neues Diagramm für lösungsorientierte Anforderungen,<br />
indem Sie mit der rechten Maustaste auf das in Schritt 2) erstellte Paket klicken<br />
und unter dem Menüeintrag „Add“ auf „Add Diagram…“ klicken. Wählen Sie einen<br />
geeigneten Namen für Ihr Zieldiagramm und wählen Sie unter „Type“ die MDG-<br />
Technologie „SysML Solution-Oriented Modeling“ aus. Wählen Sie anschließend<br />
unter „Diagram Types“ den Eintrag „SysML Activity Diagram“, „SysML Internal<br />
Block Diagram“ oder „SysML State Machine Diagram“. Abb. 4–2 zeigt die für diesen<br />
Schritt notwendigen Einstellungen.<br />
Abb. 4–2 Screenshot zur Erstellung eines neuen Aktivitätsdiagrammes<br />
4. Erstellen Sie ein Diagramm für lösungsorientierte Anforderungen im Enterprise<br />
Architect Editor. Genaue Informationen zur Verwendung von Enterprise Architect<br />
können aus [Sparx09] entnommen werden. Informationen zur Modellierung<br />
lösungsorientierter Anforderungen können Sie in [Davis93] und [Pohl10] finden.<br />
Abb. 4–3 zeigt ein Beispiel zur Modellierung eines Aktivitätsdiagrammes.<br />
Zuletzt geändert: 14.04.2011 08:37 14/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
Abb. 4–3 Screenshot zur Modellierung von lösungsorientierten Anforderungen<br />
in einem Aktivitätsdiagramm<br />
4.3 Erweiterung des Profils<br />
Im Folgenden wird beschrieben, wie das SysML Solution-Oriented Modeling Profil in<br />
Enterprise Architect erweitert werden kann.<br />
1. Entpacken der ZIP-Datei. Entpacken Sie die ZIP-Datei in einen Ordner auf der<br />
lokalen Festplatte. Es werden zwei Dateien entpackt: eine EAP-Datei und eine<br />
XML-Datei.<br />
2. Öffnen Sie die EAP-Datei in Enterprise Architect. Starten Sie die Enterprise<br />
Architect Anwendung und öffnen Sie die EAP-Datei. Diese Datei enthält die Profildefinition<br />
sowie die Definitionen für den Diagrammtypen und die EA-Toolbox.<br />
3. Modellieren Sie Ihre Erweiterung zu. Nun können Sie Änderungen am Profil<br />
oder den Diagramm- und Toolbox-Definitionen vornehmen oder weitere Profile<br />
hinzufügen. Hinweise zur Erweiterung von MDG-Technologien und zum Umgang<br />
mit Enterprise Architect können aus [Sparx09] und [Sparx10] entnommen werden.<br />
Zuletzt geändert: 14.04.2011 08:37 15/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
5 Zusammenfassung<br />
In diesem Dokument wurde das SysML Solution-Oriented Modeling Profile für Enterprise<br />
Architect vorgestellt. Bei dem SysML-Profil handelt es sich um eine MDG-<br />
Technologie, die als Plug-In für Enterprise Architect verwendet werden kann. Das<br />
Profil besteht aus drei Teilen: Einem Platzhalter für die Modellierungselemente des<br />
Profils für lösungsorientierte Anforderungen im Paket „Solution-Oriented Modeling<br />
Elements“, der Definition der Diagrammtypen im Paket „Solution-Oriented Diagram<br />
Definition“ und dem Platzhalter für die Definition für die User-Interface-Komponenten<br />
als EA-Toolbox im Paket „SysML Solution-Oriented Modeling“. Das Profil ist eine<br />
Einschränkung der SysML-Sprachfamilie hinsichtlich der Modellierung von lösungsorientierten<br />
Anforderungen und importiert die Diagrammtypen „State Machine Diagramm“<br />
„Aktivitätsdiagramm“ und „internes Blockdiagramm“. Die technische Umsetzung<br />
dieses Imports in EA wurde zusammen mit der Erläuterung der Bestandteile<br />
des SysML Solution-Oriented Modelling-Profils beschrieben.<br />
Zukünftige Arbeiten zu diesem Thema werden sich mit der Erweiterung dieses Profils<br />
und mit Plug-Ins zur Anwendung auf mehreren Abstraktionsstufen befassen. Weitere<br />
Arbeiten befassen sich mit der Erstellung eines Gesamtprofils, welches den gesamten<br />
modellbasierten RE-Ansatz abbildet.<br />
Zuletzt geändert: 14.04.2011 08:37 16/17
SysML-Profil und MDG-Plug-In für Enterprise Architect zur Modellierung von<br />
lösungsorientierten Anforderungen auf Basis von SysML<br />
6 Literaturverzeichnis<br />
[AvTe11] Untersuchung des State-of-the-Art zur Erstellung von Domänenspezifischen<br />
Modellierungssprachen und UML/SysML-Profilen.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis des ZP-AP2, Version 1.0.<br />
[DaSiLa10] Daun, Marian; Sikora, Ernst; Lauenroth, Kim. Stand der Praxis im<br />
modellbasierten Requirements Engineering. <strong>SPES</strong> <strong>2020</strong> Deliverable<br />
D2.1.A, 2010.<br />
[Davis93] Davis, A. M.: Software Requirements – Objects, Functions, and<br />
States. 2 nd Edition. Prentice Hall (1993)<br />
[FrMoSt09] Friedenthal, Sanford; Moore, Alan; Steiner, Rick. A Practical<br />
Guide to SysML. Morgan Kaufman & OMG, 2009.<br />
[LaGaSiTe10] Lauenroth, Kim; Gabrisch, Sebastian; Sikora, Ernst; Tenbergen,<br />
Bastian. Beschreibung der Durchführung der Studie zum Stand<br />
der Praxis im Requirements Engineering für Embedded Systems.<br />
<strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0 vom 16.07.2010.<br />
[LaSiStTe09] Lauenroth, Kim; Sikora, Ernst; Stallbaum, Heiko; Tenbergen, Bastian.<br />
Initialer modellbasierter Requirements Engineering Ansatz für<br />
Embedded Systems. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 0.9 vom<br />
18.09.2009.<br />
[OMG10a] Object Management Group. OMG Systems Modeling Language<br />
(OMG SysML) Language Specification v1.2. OMG Document<br />
Number: formal/2010-06-02. 2010.<br />
[OMG10b] Object Management Group: UML Superstructure Version 2.3,<br />
OMG formal/10-05-05 http://www.omg.org/spec/UML/2.3/ (2010)<br />
[Pohl10] Pohl, Klaus. Requirements Engineering – Foundations, Principles,<br />
Techniques. Springer, 2010.<br />
[SiStLa10] Sikora, Ernst; Stallbaum, Heiko, Lauenroth, Kim. Anforderungen<br />
an den zu entwickelnden Ansatz für modellbasiertes Requirements<br />
Engineering. <strong>SPES</strong> <strong>2020</strong> Teilergebnis, Version 1.0.<br />
[SiTePo10] Sikora, E., Tenbergen, B., Pohl, K.: Modellbasiertes Requirements<br />
Engineering - Eine Situationsanalyse zum Stand der Praxis. Softwaretechnik<br />
Trends 30(1) (2010)<br />
[SiTePo11] Sikora, E.; Tenbergen, B.; Pohl, K.: Requirements Engineering for<br />
Embedded Systems: - An Investigation of Industry Needs . To appear<br />
in Proceedings of the 17 th International Working Conference<br />
on Requirements Engineering: Foundations of Software Quality<br />
REFSQ (2011)<br />
[Sparx09] SparxSystems. Enterprise Architect User Guide. 2009.<br />
[Sparx10] SparxSystems. Enterprise Architect Software Developers’ Kit.<br />
2010.<br />
Zuletzt geändert: 14.04.2011 08:37 17/17