Abstrakt

SysML ist eine visuelle Modellierungssprache, die von der UML abgeleitet ist und insbesondere für die modellbasierte Entwicklung von softwareintensiven Systemen gedacht ist. Die Modellierungssprache ermöglicht insbesondere die systematische Anwendung und Dokumentation der Entwurfslogik. Es gibt vier Haupttreiber für die SysML.

Erstens versucht es, einen integralen Ansatz für alle technischen Disziplinen zu bieten, indem es eine Modellierungssprache anbietet, die verschiedene technische Aspekte auf kohärente und konsistente Weise visualisieren kann.

Zweitens bietet es die Möglichkeit, Anforderungen zu modellieren, und hilft dabei, diese Anforderungen systematisch zu den verschiedenen Systemdesignentscheidungen zurückzuverfolgen.

Drittens bietet es eine modellbasierte statt einer dokumentenbasierten Entwicklung (MBSE: model based system engineering).

Und nicht zuletzt unterstützt sie die gemeinsame Entwicklung von Software und mechanischen und elektrotechnischen Aspekten eines Systems. SysML findet derzeit in Bereichen wie der Automobilbranche, der Entwicklung von Infrastrukturen und Befehls- und Kontrollsystemen große Beachtung.

Relevanz

Es gibt eine ganze Reihe von Anwendungsbereichen, in denen die Funktionalität und Komplexität von Systemen schnell zunimmt. Beispiele sind Automobil- und Luftfahrtsysteme mit vielen elektronischen Steuereinheiten, die auf vielfältige Weise miteinander verbunden sind. Aber auch scheinbar alltägliche Systeme wie Tunnel bestehen heutzutage aus vielen miteinander verbundenen technischen Komponenten, die nach komplexen Protokollen gesteuert werden müssen.

Um diese zunehmende Komplexität in den Griff zu bekommen, wird eine Reihe von Maßnahmen ergriffen, die von Standards (z.B. AUTOSAR) und Komponentenspezifikationen (wie dem niederländischen „Tunnelstandard“) bis hin zur Änderung des Entwicklungsprozesses und der Einführung ausgefeilter Werkzeugketten reichen. Allen diesen Bemühungen liegt der Gedanke zugrunde, dass das Systemdesign in Abstraktionsschichten unterteilt ist. Die Integration all dieser funktionalen Bausteine ist ein zentrales Thema, das häufig eine (Zeit- und Leistungs-)Analyse der Nutzung von Ressourcen auf niedriger Ebene (d.h. Prozessoren und Busse) erfordert.

Der Kurs„Design von Echtzeitsoftware/Workshop“ konzentriert sich auf solche Analysetechniken und wie sie in einem Designablauf angewendet werden können. Dieser Kurs geht das Problem aus einer übergeordneten Perspektive an: Systemdesign und Modellierung auf der Grundlage von Anforderungen. Die OMG, die Organisation hinter dem UML-Standard, hat Profile für diese beiden Perspektiven entwickelt. Das erste ist Marte (Modellierung und Analyse von Echtzeit- und eingebetteten Systemen), das zweite ist SysML (Systemmodellierungssprache).

Interessanterweise basieren die Modellierungsnotationen dieser beiden Standards auf der gleichen Teilmenge der UML (so genannte zusammengesetzte Strukturdiagramme). Der Vorteil der Verwendung von Standards wie diesen der OMG ist, dass sie dazu beitragen können, die Abhängigkeit von Methoden und Tools von bestimmten Anbietern zu verhindern. Dies kann als Nachteil für Organisationen angesehen werden, die bereits an einen bestimmten Anbieter gebunden sind.

Kursziele

Der Kurs bietet eine solide Einführung in die verschiedenen Modellierungstechniken, aus denen die SysML besteht, anhand von Beispielen aus den Bereichen Automobil und Infrastruktur. Besonderes Augenmerk wird auf die Modellierungssoftware in Verbindung mit mechanischen und elektrotechnischen Aspekten gelegt. Der Kurs enthält zahlreiche Übungen, die die Theorie festigen und die Anwendung der Techniken in der täglichen Praxis erleichtern sollen. Darüber hinaus wird der Kurs zeigen, wie Werkzeuge bei der Erstellung eines modellbasierten Arbeitsablaufs, der Validierung des Modells, der Verfolgung von Anforderungen und der Prüfung auf Vollständigkeit sowie der Verfolgung von Designmerkmalen und -entscheidungen zu den Anforderungen helfen können. Letzteres kann von besonderer Bedeutung sein, um die Auswirkungen von Änderungen oder Erweiterungen eines Systems zu analysieren.

Voraussetzungen

Der Kurs richtet sich an Software- und Systemingenieure, die an der Entwicklung von softwareintensiven Systemen beteiligt sind. Es wird dringend empfohlen, dass die Teilnehmer über Kenntnisse in objektorientierten Softwareentwicklungstechniken und den dazugehörigen Notationen (UML) verfügen, z.B. durch den Besuch des Kurses „Objektorientierte Analyse und Design„.

Fallstudien

Falls gewünscht, kann eines der unternehmenseigenen Projekte als Fallstudie eingereicht werden, die als alternative/zusätzliche Übung während des Kurses verwendet wird.

Kurs-Module
Einführung in SysML

Die wichtigsten Triebkräfte für die Entwicklung der SysML werden erläutert und diskutiert. Es werden einige Informationen zur Geschichte und zum Hintergrund geliefert.

Erfassen von Anforderungen in SysML

Eine wichtige Ergänzung der ursprünglichen UML-Sprache, die in SysML enthalten ist, ist die Modellierung von Anforderungen. In diesem Modul wird gezeigt, wie textuelle Anforderungen modelliert werden. Wichtige Beziehungen zwischen Anforderungen und zwischen Anforderungen und anderen Modellelementen werden besprochen. Ein wichtiger Aspekt der Systementwicklung ist die Möglichkeit, Anforderungen zu nachgelagerten Systemelementen zu verfolgen und umgekehrt. Es wird diskutiert und demonstriert, wie diese Rückverfolgbarkeit in der Praxis funktioniert und wie sie bei der Analyse der Auswirkungen von vorgeschlagenen Systemänderungen und -erweiterungen helfen kann.

Beschreiben und Modellieren von Anwendungsfällen

Es wird erörtert und demonstriert, wie Anwendungsfälle und die damit verbundenen Szenarien der Systemnutzung dazu beitragen können, die Anforderungen auf strukturierte und verständliche Weise zu verfeinern. Beim Systemdesign ist es wichtig, sich besonders auf Anforderungen zu konzentrieren, die sich auf die Sicherheit beziehen. Die oben erwähnte Rückverfolgung von Anforderungen kann dabei helfen, solche Szenarien zu identifizieren. Es wird auf die Beziehung zwischen Anwendungsfällen und Testfällen geachtet.

Modellierung der Systemstruktur

In SysML wird die Systemstruktur durch Blöcke mit Ports modelliert. Ports können die logischen und/oder physischen Schnittstellenaspekte eines Systemblocks darstellen. Die angemessene Strukturierung dieser Schnittstellen ist eine der wichtigsten Fragen beim Systemdesign. SysML ermöglicht die Modellierung von Schnittstellen, die entweder logischer Natur sind (Softwareschnittstellen, die Befehle oder Daten übermitteln) oder Schnittstellen, die den Fluss physischer Entitäten (wie Drehmoment) unterstützen. Im Kurs wird erörtert, wie die Modellierung auf verschiedenen Abstraktionsebenen durchgeführt werden kann, d.h. abstrahiert von den Details der zugrundeliegenden Software- und Hardwareplattformen und auf verschiedenen Ebenen der Dekomposition.

Modellierung des Systemverhaltens

Die korrekte Verhaltensmodellierung ist ein wesentlicher Aspekt der modellbasierten Systementwicklung (MBSE). Ein Verhaltensmodell ist nicht nur eine Möglichkeit, viele Systemanforderungen darzustellen und zu validieren, sondern es ist auch wichtig für die Erstellung oder Konstruktion von Softwareimplementierungen des Systemmanagements. Es ist daher ein wesentliches Bindeglied zwischen den Anforderungen und der Realisierung des Systems. Es werden drei Arten von SysML-Verhaltensdiagrammen behandelt.

  1. Zustandsautomatendiagramme (endliche Automaten) stellen ein auf diskreten Ereignissen basierendes Verhalten dar. Zustandsautomaten können auch dazu verwendet werden, sowohl diskretes als auch kontinuierliches Verhalten zu modellieren (z.B. zur Spezifikation einer kontinuierlichen Steuerung).
  2. Sequenzdiagramme helfen dabei, die Verhaltensspezifikationen auf Anwendungsfälle zurückzuführen.
  3. Aktivitätsdiagramme helfen dabei, fließendes Verhalten zu modellieren.
Modellierung für die Trade-off-Analyse

Schließlich bietet SysML die Möglichkeit, physische und logische Einschränkungen zu modellieren, die dabei helfen können, die Systemparameter so abzustimmen, dass die Anforderungen optimal erfüllt werden. Es kann helfen, Designalternativen zu vergleichen. Es werden die so genannten parametrischen Diagramme behandelt und einige kleine Beispiele gegeben.

Die Systemmodellierungssprache SysML wurde von der OMG (Object Management Group) spezifiziert und entwickelt und wird von INCOSE (International Council for System Engineering) unterstützt.