Startseite » Systems Engineering »

Mit Simulink beim Systems Engineering den Überblick behalten

Entwicklung komplexer Systeme
Mit Simulink beim Systems Engineering den Überblick behalten

 

Der interdisziplinäre Ansatz des Systems Engineering (SE) ist eine Aufgabe von immer größerer Komplexität. Nur wenn Arbeitsschritte und Modifikationen über alle Designebenen hinweg rückverfolgbar sind und synchronisiert werden, können groß angelegte Entwicklungsprogramme rationalisiert werden. Häufig fehlt in einem Top-down-Designprozess jedoch ein Bindeglied zwischen dem Systems Engineering und der Design-Implementierung. MathWorks bietet hier mit Tools wie System Composer und Simulink Requirements Möglichkeiten, SE-Funktionalität in die Entwicklungsumgebung zu integrieren. Damit lässt sich per Model-Based Design ein vollständiger Workflow von den Systemanforderungen bis hin zum virtuellen Produkt realisieren.

Dr. Marc Segelken, Principal Application Engineer, MathWorks

Inhaltsverzeichnis

1. Zerlegung der Anforderungen und Zuordnung zum Architekturmodell
2. Umgang mit Komplexität – Definition der passenden Ansichten
3. Die richtigen Werkzeuge

Systems Engineering kommt die große Aufgabe zu, den Balanceakt zwischen immer größeren und komplexeren Systemen und deren vielfältige Anforderungen sowie den Einschränkungen hinsichtlich Leistung, Kosten, Markteinführungszeit, Energieverbrauch, Gewicht und anderen Bereichen zu meistern. Das Ergebnis dieses Prozesses ist in der Regel eine Reihe von Ausgangspunkten für das Design der Unterkomponenten mit Schnittstellenbeschreibungen, Unterbeschränkungen und abgeleiteten Anforderungen.

Die größte Herausforderung besteht darin, sich auf jede Komponente im System zu konzentrieren, ohne den Überblick zu verlieren. Essentielle Informationen zum Systemkontext oder die Rückverfolgbarkeit der Anforderungen auf Systemebene und (abgeleiteter) Komponentenebene sind dabei von entscheidender Bedeutung. Ein einfacher Übergang für eine Weiterentwicklung des Systems und garantierte Konsistenz sind weitere wichtige Erfolgsfaktoren.

Zerlegung der Anforderungen und Zuordnung zum Architekturmodell

Zuerst muss ein Anforderungsprofil erstellt werden. Ein Systems-Engineering-Projekt beginnt typischerweise mit Anforderungen auf hoher Ebene und optional einem Vorgängersystem, das unter Umständen bis zu einem gewissen Grad wiederverwendet werden kann. Die Hauptaufgabe besteht dann in der Erstellung einer Architektur mit Unterkomponenten, die jeweils abgeleiteten Anforderungen zugeordnet sind, um ihren Anteil an der Gesamtfunktionalität zu erfüllen. Hierbei sind so viele Hierarchieebenen beteiligt wie nötig. Diese strukturelle Zerlegung geht also mit einer korrespondierenden Zerlegung der Anforderungen einher, so dass die Einschränkungen jeder Unterkomponente ausreichend definiert sind.

  • Nicht-funktionale Anforderungen:
    Viele Anforderungen beziehen sich auf Fragen des Lebenszyklus oder andere nicht-funktionale Einschränkungen wie zum Beispiel Gewicht, Kosten, Zuverlässigkeit, Entwicklungsaufwand und andere domänenspezifische Designdaten. Dementsprechend muss eine Hierarchie von Stereotypen definiert werden, die jede Art von Unterkomponente repräsentiert und Eigenschaften nach Bedarf erfasst, einschließlich der oben erwähnten nicht-funktionalen Anforderungen.
  • Funktionale Anforderungen:
    Abgesehen von zeitlichen Randbedingungen werden funktionale Anforderungen in der Regel auf der Architekturebene nicht speziell behandelt, außer dass sie parallel zur Systemzerlegung ebenfalls in abgeleitete Anforderungen zerlegt werden. Die Durchführung einer vollständigen Analyse in diesem frühen Stadium ist mit formalisierten Anforderungen prinzipiell möglich – aber aufgrund der Schwierigkeit, einen vollständigen Satz von Anforderungen und Annahmen zu erhalten, wird sie in der Praxis nur sehr selten angewandt. Stattdessen wird eine Simulation auf Komponenten- und Architekturebene vorgeschlagen, um die Konsistenz der Anforderungen sowohl lokal als auch im Gesamtsystemverhalten zu validieren. Dafür ist es essenziell, dass man das Gesamtarchitekturmodell simulieren kann, das zur Definition der Komponenten mit ihren Schnittstellen und Verbindungen verwendet wurde. So lassen sich Fehler vermeiden, die durch einen Bruch des Systems Engineering und des Designablaufs verursacht werden.

Umgang mit Komplexität – Definition der passenden Ansichten

Per Definition sind Systeme komplexer als nur die Software oder nur die Hardware oder jede andere Segmentierung des Systems. Die Konzentration auf Teile des Systems während jeder Entwurfstätigkeit ist jedoch zwingend erforderlich, um sich nicht in Komplexitätsfragen zu verheddern. Wenn jedoch wichtige Kontextinformationen über die Rolle einer Komponente oder ihrer systeminternen Umgebung fehlen, führt dies unweigerlich zu Spezifikations- oder Designfehlern.

Es muss also eine geeignete Teilmenge (eine Ansicht) des Systems eingerichtet werden, um ein spezifisches Design- oder Analyseanliegen zu verstehen, wobei nur die minimal erforderlichen Kontextinformationen enthalten sein dürfen. Alles, was für die vorliegende Aufgabe nicht relevant ist, muss ausgeblendet werden können.

Es ist zwar anspruchsvoll, eine angemessene Ansicht zu finden, die den oben genannten Kriterien entspricht, aber es reicht in der Regel nicht aus, nur eine Ansicht für einen Teil des Systems zu haben. Eine Ansicht für alle erforderlichen Betrachtungen funktioniert hier nicht, da verschiedene Perspektiven der Systembetrachtung verschiedene Ansichten erfordern, die sich überlappen. Dies sind zum Beispiel

  • funktionale Abhängigkeiten,
  • organisatorische Abhängigkeiten,
  • Engpassbetrachtungen,
  • Überlegungen zum Energieverbrauch,
  • Lieferantenabhängigkeiten,
  • Reifegrade,
  • Ansichten zur Ausfallwahrscheinlichkeit,
  • Abschnitte zum Sicherheitsintegritätsniveau usw.

Ein vollständiges Verständnis eines bestimmten Design- oder Analyseanliegens erfordert ein schnelles Umschalten zwischen einer großen Anzahl verschiedener Gruppierungen und Filter auf der (Teil-)System-Ebene. Da all diese unterschiedlichen Sichtweisen auf ein System stets einheitlich sein müssen, ist die Tool-Unterstützung für die Definition und Verwendung solcher Sichtweisen von entscheidender Bedeutung.

Die richtigen Werkzeuge

Aufgrund der Größe und Komplexität von Systemen sind klassische Ansätze mit Zeichentools und Tabellenkalkulationen zur Berücksichtigung benutzerdefinierter Eigenschaften und entsprechender Analysen nicht mehr angemessen. Die Wahrscheinlichkeit von Problemen durch fehlende Konsistenz oder veraltete Daten ist einfach zu hoch, wenn es keine spezielle Tool-Unterstützung gibt, um die Daten zusammen und konsistent zu halten. Dies gilt umso mehr für manuelle Ansätze.

Aus diesem Grund sind Systems-Engineering-Werkzeuge oder Entwicklungsumgebungen für Software und für Hardware, die Lösungen für die genannten Herausforderungen und Aufgaben bieten, anzuraten. Darüber hinaus sollte diese Systems-Engineering-Funktionalität in eine Entwicklungsumgebung integriert sein, so dass die Verwendung der strukturellen Architektur, der Schnittstellendefinitionen oder der Anforderungen für den anschließenden Entwurf der Verhaltensspezifikation innerhalb der Umgebung möglich ist. So wird eine nahtlose Fortsetzung der Arbeit auf Komponentenebene sowie eine automatische Integration in das Architekturmodell einschließlich der Systemsimulationsfunktionen für die Validierung ermöglicht.

Für Model-Based Design – also den Entwurf gemischter Software- und Hardwaresysteme mit automatischer Codegenerierung und unter Einbeziehung der physikalischen Teile und der Simulationsumgebung – stehen derartige Systems-Engineering-Funktionen zum Beispiel mit den Produkten System Composer und Simulink Requirements zur Verfügung, die Simulink mit allen oben genannten Funktionen integrieren und erweitern.

  • System Composer vereinfacht die Definition, Analyse und Spezifikation von Architekturen und Kompositionen bei der modellbasierten System- und Softwareentwicklung. Mit dem Tool lassen sich bei der Verfeinerung von Architekturmodellen Anforderungen zuweisen, die sich dann in Simulink entwerfen und simulieren lassen.
  • Mit Simulink Requirements lassen sich Anforderungen in Simulink erstellen, analysieren und verwalten. So können etwa Rich-Text-Anforderungen mit benutzerdefinierten Attributen erstellt und mit Designs, Code und Tests verknüpft werden. Anforderungen lassen sich auch aus externen Quellen importieren und der Anwender wird automatisch benachrichtigt, sobald sich die Anforderungen ändern.

Mit den neuen Systems-Engineering-Fähigkeiten bietet Model-Based Design damit einen vollständigen Workflow von den Systemanforderungen bis hin zum virtuellen Produkt. (co)

Weitere Details zu den genannten Tools:

System Composer: hier.pro/uV9L6

Simulink Requirements: hier.pro/VToMa

Kontakt:
The MathWorks GmbH
Adalperostraße 45
85737 Ismaning
Tel. +49 89/45235-6700
mathworks.com

Unsere Webinar-Empfehlung
Video-Tipp

Unterwegs zum Thema Metaverse auf der Hannover Messe...

Aktuelle Ausgabe
Titelbild KEM Konstruktion | Automation 4
Ausgabe
4.2024
LESEN
ABO
Newsletter

Abonnieren Sie unseren Newsletter

Jetzt unseren Newsletter abonnieren

Webinare & Webcasts
Webinare

Technisches Wissen aus erster Hand

Whitepaper
Whitepaper

Hier finden Sie aktuelle Whitepaper


Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de