IEC 61508 Functional Safety Requirements Specification Traceability: A Practical Guide for Energy & Utility Teams
Learn more about the DFARS CyberSecurity requirements, its core clauses...
Ein traditioneller Entwicklungsablauf, den die Teams befolgten, sah in etwa so aus:
Anforderungen in einer Microsoft Word-Datei festhalten -> Designsystem und Benutzeroberfläche in PowerPoint entwerfen -> Manuell programmieren -> System testen.
Das Hauptproblem bei diesem Ansatz bestand darin, dass die Teams erst nach der vollständigen Implementierung des Systems überprüfen konnten, ob es funktioniert. Wurde die Logik falsch verstanden, traten Probleme auf, deren Behebung mit hohen Kosten verbunden war.
Wenn beispielsweise bei der Implementierung eines Tempomats für Autos die Steuerungslogik direkt auf der Grundlage der reinen Anforderungen programmiert wird, können Teams bei Testfahrten Probleme wie plötzliche Beschleunigung, langsame Reaktion oder falsches Bremsverhalten feststellen. Die Behebung dieser Probleme dauert anschließend Wochen.
Um diese Herausforderungen zu bewältigen, wurde um 1960 in der Luft- und Raumfahrtindustrie die modellbasierte Entwicklung (MBD) eingeführt. Dabei wird die Systemlogik mithilfe ausführbarer Modelle erstellt und getestet, bevor der endgültige Code geschrieben wird.
Lassen Sie uns genauer betrachten, was MBD ist, wie es Schritt für Schritt funktioniert, wie es sich von der herkömmlichen Entwicklung unterscheidet und welche bewährten Methoden es für eine erfolgreiche Umsetzung gibt.
Die modellbasierte Entwicklung oder das modellbasierte Design ist ein Ansatz zur Systementwicklung im Ingenieurwesen, bei dem digitale Modelle verwendet werden, um Systeme zu entwerfen, zu simulieren und zu testen, bevor auch nur eine einzige Zeile Code geschrieben wird. Digitale Modelle werden anhand verschiedener Arten von Anforderungsdiagrammen erstellt, darunter Blockdiagramme, Zustandsdiagramme, Aktivitätsdiagramme usw., die Informationen über das Systemverhalten, die Steuerlogik, Ein- und Ausgänge sowie den zeitlichen Ablauf enthalten.
Der Hauptvorteil von MBD ist die Echtzeitsimulation. Anstatt komplette Systeme zu entwickeln und zu testen, können Teams das Modell wie einen funktionierenden Prototyp ausführen und prüfen, wie es unter realen Bedingungen reagiert. Dies trägt dazu bei, das Design frühzeitig zu validieren, Überraschungen in späteren Phasen zu vermeiden und die Entwicklungskosten erheblich zu senken.
MBD wird vor allem in Branchen wie der Luft- und Raumfahrt, der Verteidigungsindustrie, der Automobilindustrie, der Robotik usw. eingesetzt, in denen Teams komplexe Software, Hardware oder physische Bauteile entwickeln müssen.
Kurz gesagt: MDB hilft Teams dabei, bereits in der Entwurfsphase zu überprüfen, wie sich das gesamte System verhält, und die Genauigkeit des Systems zu verbessern.
Bei der modellbasierten Entwicklung (MBD) wird ein strukturierter Arbeitsablauf befolgt, bei dem das Modell als zentrales Arbeitsinstrument und nicht nur als einfache Zeichnung betrachtet wird. Hier ein kurzer Überblick über den Lebenszyklus der modellbasierten Entwicklung:
Der erste Schritt besteht darin, auf der Grundlage definierter Anforderungen Anforderungsdiagramme (digitale Modelle) zu erstellen. Diese stellen das Systemverhalten dar und zeigen, wie das System in verschiedenen Szenarien auf unterschiedliche Eingaben und Bedingungen reagiert. Diese Modelle können mithilfe von Zustandsmaschinen, Gleichungen oder einem Diagramm auf Architekturebene erstellt werden. Die Teams müssen sicherstellen, dass das Diagramm Eingaben, Ausgaben, Logik, Steuerungsverhalten, Zeitabläufe usw. klar darstellt.
Verwenden Sie anschließend ein beliebiges Simulationswerkzeug wie Modern Requirements4DevOps, um das Verhalten des Systems in einer virtuellen Umgebung zu simulieren. Damit können Teams testen, wie sich das System in realistischen Szenarien verhält, und potenzielle Probleme aufdecken, ohne Systemprototypen entwickeln zu müssen.
Sobald die Simulationsergebnisse vorliegen, sollten Verifikation und Validierung des Systems durchgeführt werden. Die Verifikation dient dazu, sicherzustellen, dass das System alle dokumentierten Anforderungen erfüllt, während die Validierung gewährleistet, dass das System seinen beabsichtigten Zweck erfüllt.
In ausgereiften MBD-Projekten prüfen die Teams außerdem:
Diese Rückverfolgbarkeit in Echtzeit stärkt das Vertrauen der Teams, die in regulierten Branchen tätig sind.
Wenn das System einwandfrei funktioniert, wird der Code in der gewünschten Programmiersprache (bei eingebetteten Systemen üblicherweise C/C++) automatisch auf der Grundlage des Modells generiert. Bei der automatischen Codegenerierung mithilfe eines KI-Tools ist die Fehlerwahrscheinlichkeit sehr gering.
Sollte das System ausfallen oder sollten bestimmte Bedingungen aktualisiert werden müssen, passen Sie den Entwurf an und testen Sie das System erneut. Durch diesen wiederholten Zyklus lässt sich das System in kurzen Abständen kontinuierlich verbessern.
Darüber hinaus können Teams die Systeme auf der Grundlage von Daten aus realen Testläufen optimieren und so die Genauigkeit des Systems im Laufe der Zeit verbessern.
Der generierte Code wird dann mit dem Rest des Systems verbunden, etwa so:
Dieser Schritt bestätigt, dass die modellierte Logik in der realen Umgebung korrekt funktioniert.
Aspekt | Traditionelle Entwicklung | Modellbasierte Entwicklung (MBD) |
|---|---|---|
Ausgangspunkt | Die Teams formulieren die Anforderungen und setzen diese anschließend in Code um. | Die Teams entwickeln zunächst das digitale Modell, testen das System und schreiben den Code, wenn alles in Ordnung ist. |
Frühzeitige Validierung | Die Validierung kann erst nach der vollständigen Implementierung des Systems erfolgen. | Die Logikvalidierung erfolgt durch die Simulation digitaler Modelle, bevor die Entwicklung beginnt. |
Umgang mit komplexem Verhalten | Es ist schwierig, komplexe zeitliche Abläufe und modellbasiertes Verhalten vor der Implementierung des Systems zu handhaben. | Durch die Simulation von Blockdiagrammen und Zustandsmaschinen können Teams die Komplexität von Systemen leicht überblicken. |
Änderungen und Überarbeitungen | Änderungen an den Anforderungen führen oft zu großem Nacharbeitsaufwand, da sie erst spät erfolgen. | Die Änderungen werden zunächst auf das Modell angewendet und anschließend erneut simuliert, um die Auswirkungen schnell zu überprüfen. |
Codequalität und Konsistenz | Die Codequalität hängt vom Stil und der Auslegung des Entwicklers ab. | Modellgesteuerte Arbeitsabläufe verringern Interpretationsunterschiede und fördern eine einheitliche Umsetzung. |
Iterationsgeschwindigkeit | Iterationen dauern länger, da die Teams in jeder Iteration Code schreiben und Fehler beheben müssen. | Die Iterationen verlaufen zügig, da die Simulationen ein schnelles Feedback zum Verhalten liefern. |
Rückverfolgbarkeit | Die Rückverfolgbarkeit erfolgt größtenteils manuell und ist mit einem hohen Dokumentationsaufwand verbunden. | Die Verknüpfung von Anforderungen mit Modellen und von Modellen mit Tests ist einfacher und strukturierter. |
Eines ist klar: Bei MDB wird das Modell so entwickelt, dass es den Anforderungen entspricht. Sind die Anforderungen also unklar, unvollständig, nicht nachvollziehbar oder über verschiedene Dokumente und E-Mails verstreut, wird auch das Modell unvollständig sein, was zu falschen Annahmen und Nacharbeiten führen kann.
Ein ordnungsgemäßes Anforderungsmanagement sorgt hierfür für Struktur, indem es sicherstellt, dass alle Anforderungen an einem Ort gespeichert und so formuliert sind, dass sie getestet werden können. Darüber hinaus können Teams bei der gemeinsamen Überprüfung oder dem Audit anhand des Versionsverlaufs nachvollziehen, wie sich die Anforderungen entwickelt haben und wer Änderungen vorgenommen hat.
An dieser Stelle sollten Teams damit beginnen, eine Anforderungsmanagement-Software wie Modern Requirements4DevOps einzusetzen, die umfassende Unterstützung für MBD bietet. Sie umfasst Traceability-Tools, um aktualisierte Anforderungen mit Anforderungsmodellen zu verknüpfen, Diagrammtools zur Erstellung verschiedener Diagrammtypen sowie Simulationstools zur Validierung von Modellen anhand verschiedener Anwendungsfälle.
Darüber hinaus bietet Modern Requirements4DevOps eine Funktion zur Überprüfung, mit der Anforderungen gemeinsam und mittels elektronischer Signatur geprüft werden können. Mithilfe der Funktionen zur Bewertung der Auswirkungen von Änderungen und durch Simulationen mit Modellen können Teams bereits vor der Umsetzung erkennen, wie sich die Änderung auf das System auswirken wird.
Möchten Sie die Vorteile der modellbasierten Entwicklung in Verbindung mit einem soliden Anforderungsmanagement kennenlernen?
✅ Definieren, verwalten und verfolgen Sie Anforderungen innerhalb von Azure DevOps
✅ Arbeiten Sie nahtlos mit regulierten Teams zusammen
✅ Starten Sie KOSTENLOS – keine Kreditkarte erforderlich
Learn more about the DFARS CyberSecurity requirements, its core clauses...
Learn more about the DFARS CyberSecurity requirements, its core clauses...
Learn more about what MIL-STD-882E System Safety is, how important...
End-to-end requirements management in Azure DevOps.
AI-powered assistance for DevOps workflows.
Autonomous AI agents for DevOps execution.
Real-time data sync across tools and systems.
Designed to work natively within Azure DevOps, Modern Requirements extends the platform with powerful capabilities that help teams capture, manage, and validate requirements more effectively.