Systemmodellierung Requirements Engineering mit der SysML

Autor / Redakteur: Frank Lippert * / Franz Graser

Systemmodellierung und Requirements Engineering lassen sich per SysML nahtlos kombinieren. Parametrische Diagramme erlauben zudem Machbarkeitsanalysen in einem frühen Projektstadium.

Anbieter zum Thema

Bild 1: Beispiel für ein Kontextdiagramm. Die Aktoren stellen externe Systeme dar, die mit dem Standheizungssystem kommunizieren. Als Umgebung zählen sowohl Personen, technische Systeme als auch Umwelteinflüsse.
Bild 1: Beispiel für ein Kontextdiagramm. Die Aktoren stellen externe Systeme dar, die mit dem Standheizungssystem kommunizieren. Als Umgebung zählen sowohl Personen, technische Systeme als auch Umwelteinflüsse.
(Grafik: Mixed Mode)

Mit der Systems Modeling Language (SysML) hat die Object Management Group (OMG SysML Version 1.3, 2012) eine formale Modellierungssprache für die Entwicklung eingebetteter Systeme mit Softwareanteil zur Verfügung gestellt.

SysML ist eine von der UML abgeleitete Modellierungssprache und behält den Großteil ihrer Modellelemente und Diagrammtypen bei. Das SysML-Profil der UML verleiht allerdings einigen Elementen eine zusätzliche, angepasste Semantik, die weniger softwarelastig ist. Zentrales SysML-Element ist der „Block“, ein von der „Klasse“ der objektorientierten Programmierung abgeleitetes Element.

Ein Block kann praktisch alles bedeuten: Softwareartefakte, Hardware, Funktionen, Prozesse oder auch Personen. Klassen- werden zu Blockdiagrammen, Kompositionsstrukturdiagramme zu internen Blockdiagrammen. Die aus der UML bekannten Ports werden um Flowports für den Transport von Stoffen oder physikalischen Eigenschaften ergänzt. Auch das Aktivitätsdiagramm wird um physikalische Objektflüsse und Aktivitätsparameter ergänzt. Andere Diagrammformen wie Use-Case-Diagramm, Sequenzdiagramm oder Zustandsdiagramm sind unverändert.

Komponentendiagramm und Verteilungsdiagramm kommen in der SysML nicht vor. Üblicherweise sind aber SysML-Tools lediglich Erweiterungen von UML-Tools, so dass diese Diagrammtypen trotzdem erstellt werden können.

SysML definiert aber nicht nur einige der aus UML bekannten Sprachelemente um, so dass sie in einem Kontext außerhalb reiner Softwareentwicklung genutzt werden können, sondern führt auch Sprachkonstrukte speziell für das Requirements Engineering ein. Damit lassen sich nicht nur funktionale Anforderungen mit Hilfe von Use Cases oder Interaktionsszenarien modellieren, sondern auch nichtfunktionale Anforderungen darstellen und sogar simulieren (unter Zuhilfenahme externer Gleichungslöser wie Matlab/Simulink oder Modelica). Im Folgenden stellen wir an Hand eines Beispiels aus dem Embedded-Umfeld das Requirements Engineering mit SysML vor.

Anforderungen sind in SysML ein direkt unterstütztes Sprachkonstrukt. Sie werden dargestellt als Klassensymbol mit dem Stereotyp „Requirement“ und können wie Klassensymbole eigene Abschnitte (Compartments) haben, in denen zum Beispiel eine ID oder der Text der Anforderung selbst stehen kann. Anforderungen können analog zu Paketdiagrammen andere Anforderungen enthalten. In SysML ist die Semantik von Nachverfolgungsbeziehungen (Trace Links) zwischen Anforderungen, aber auch zu anderen Modellelementen wie zu Blöcken oder Aktivitäten reichhaltiger, als es üblicherweise in Anforderungsmanagement-Werkzeugen der Fall ist, die normalerweise nur Traces zwischen Anforderungen untereinander beziehungsweise zwischen Testfällen und Anforderungen anlegen können.

Eine Auto-Standheizung als Beispiel

Der SysML-Standard definiert nur die Modellierung parametrischer Diagramme. Gelöst bzw. simuliert werden müssen diese mit Zusatztools. Wie hier z.B. die Software ParaSolver und OpenModelica, die zusammen mit dem Modellierungstools Artisan Studio eingesetzt werden, um die Brennerleistung (hier das „Target“) aus gegebenen Größen für Masse, Start- und Endtemperatur des Wärmeüberträgers, also Wasser, und der Dauer der Heizperiode zu ermitteln.
Der SysML-Standard definiert nur die Modellierung parametrischer Diagramme. Gelöst bzw. simuliert werden müssen diese mit Zusatztools. Wie hier z.B. die Software ParaSolver und OpenModelica, die zusammen mit dem Modellierungstools Artisan Studio eingesetzt werden, um die Brennerleistung (hier das „Target“) aus gegebenen Größen für Masse, Start- und Endtemperatur des Wärmeüberträgers, also Wasser, und der Dauer der Heizperiode zu ermitteln.
(Bild: Mixed Mode)

Ein Automobilzulieferer stellt Standheizungen her. Welche Anforderungen hat er an sein System? Es ergeben sich Fragen nach der physikalischen Beschaffenheit und der Anordnung des Heizbrenners und anderer Bauteile,Fragen des Betriebs und der Wartung sowie Forderungen des Marktes: hat das Gerät einen eigenen Kraftstofftank, benutzt es den Tank des Autos oder funktioniert es mit Strom? Falls es an der Kraftstoffversorgung des Fahrzeugs hängt, muss es Varianten für Diesel und Benzin geben. Wie wird das Gerät eingeschaltet und die Startzeit programmiert? Soll eine Startvariante mittels Handy existieren? Was darf die Standheizung höchstens kosten, wie viel Kraftstoff oder Strom darf sie höchstens verbrauchen, wie lange mindestens muss sie fehlerfrei laufen? Wir haben es also mit einer großen Bandbreite an funktionalen und nichtfunktionalen Anforderungen zu tun.

(ID:39616810)