09.08.2013 Aufrufe

download - SPES 2020

download - SPES 2020

download - SPES 2020

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!