Systemmodelle sind leistungsstarke Werkzeuge, die zur Verbesserung vieler Aspekte des System Engineering beitragen können, von der Rückverfolgbarkeit und dem Änderungsmanagement bis hin zur Generierung von Testfällen. Aber es gibt auch eine dunkle Seite: Modellierung kann zum Selbstzweck werden, ohne klare Zieldefinition für das Modell. Chaotische, schwer lesbare Modelle können mehr Probleme verursachen, als sie lösen. Ein Problem aus dem Software Engineering namens “Codefäule” gilt auch für Modelle. Modelle müssen, wie Softwarecode, Konventionen folgen und regelmäßig überarbeitet werden.
Aber genug der Probleme: Modelle können für sehr viele nützliche Tätigkeiten eingesetzt werden und die Effizienz steigern. Hier ist unsere – voraussichtlich unvollständige – Liste. Was lässt sich noch mit Systemmodellen machen? Haben Sie weitere Ideen? Teilen Sie uns diese gerne im Kommentarbereich mit.Kommentare).
1. Kommunikation
Eine grafische Ansicht des Modells im Besonderen kann ein wirkungsvolles Werkzeug zur Kommunikation sein. Es ist wichtig, klar zu definieren, ob es sich um “nur eine Zeichnung” oder eine “Ansicht eines Modells” handelt.”
2. Dokumentengenerierung
Die Dokumentenerstellung geht Hand in Hand mit der Kommunikation: Es ist nicht ungewöhnlich, dass nur eine kleine Gruppe von Personen Modelle erstellt, während die meisten (80%-90%) Nutzer Modelle nutzen, oft indem sie die generierten Dokumente lesen. Die Dokumentenerstellung ermöglicht zudem die schrittweise Einführung von MBSE.
Ein generiertes Dokument oder ein ausgedrucktes Diagramm ist oft der erste Kontaktpunkt mit dem Modell
3.Erstellen von Ansichten
Das Erstellen einer Ansicht des Modells ist lediglich ein zusätzlicher Schritt gegenüber dem vorherigen Punkt: Im Gegensatz zu Dokumenten können Ansichten jedoch interaktiv sein oder Informationen aus dem Modell aggregieren.
4. Generieren von Testfällen
Ein gut strukturiertes Modell erleichtert die Ableitung von Testfällen enorm. So impliziert jede Vorbedingung oder Invariante eine oder mehrere Testfälle. Abhängig von der Formalität des Modells können Testfälle sogar automatisch generiert werden.
5. Code generieren
Besonders bei der Entwicklung von eingebetteten Systemen werden häufig Modelle für die Code-Generierung eingesetzt. Die größte Herausforderung besteht darin, den generierten Code sauber in das Gesamtsystem einzubetten. Es ist fast nie praktikabel, das System komplett zu generieren.
6. Fortschritt verfolgen
Das Coole an Systemmodellen ist, dass man eine formale Definition von Fortschritt geben kann. Zum Beispiel: “Alle Anforderungen haben den Status ‘genehmigt’.” Fortschritt kann jederzeit abgefragt und weiterverarbeitet werden, zum Beispiel durch das Projektmanagement.
7. Vollständigkeit prüfen
Ähnlich wie bei der Nachverfolgung von Prozessen kann auch die Vollständigkeit überprüft werden. Dies erfordert eine angemessene Definition von Vollständigkeit und ein korrekt gepflegtes Modell.
8. Aggregierte Informationen
Neben Fortschritt und Vollständigkeit können beliebige Informationen jederzeit aggregiert und ansprechend präsentiert werden, von der Anzahl der Modellelemente bis zur Testabdeckung. Aber Vorsicht, operative Zahlen können in den falschen Händen großen Schaden anrichten.
9. Automatische Überprüfung
Mit einem angemessen formalen Systemmodell ist es sogar möglich, die manuelle Überprüfung ganz zu überspringen, da Werkzeuge diese automatisch durchführen können. Ein Beispiel wäre die Überprüfung, ob ein Zustandsautomat jemals eine Invariante verletzt.
Wenn sie richtig eingesetzt werden, können Modelle die Effektivität von V&V-Aktivitäten erheblich steigern.
10. Auswirkungen von Änderungen nachvollziehen
Da die Granularität der Modelle im Vergleich zur Arbeit mit Dokumenten viel feiner ist, können die Auswirkungen von Änderungen schnell analysiert werden. Beachten Sie, dass dies eine saubere und aktuelle Rückverfolgbarkeit sowie eine angemessene Werkzeugunterstützung erfordert.
11. Risiko einschätzen
Die Risikobewertung ist nur eine von vielen Analysen, die mit einem ordnungsgemäß strukturierten und gepflegten Modell durchgeführt werden können.
12. Konflikte erkennen
Ein triviales Beispiel: Ein System, das 12V Strom benötigt, kann nicht ohne Transformator an 240V angeschlossen werden. Ein Modell macht dies offensichtlich, da man die Schnittstellen einfach nicht verbinden kann.
13. Inkonsistenzen identifizieren
Stellen Sie sich eine Spezifikation von 200 Seiten vor: Auf Seite 12 heißt es, dass das Gehäuse grün sein soll, auf Seite 158 wird gefordert, dass das Gehäuse blau sein soll. Wie wahrscheinlich ist es, dass Sie diesen Widerspruch bemerken? In einem guten Modell wäre die Farbe eine Eigenschaft des Gehäuses und würde genau einmal angegeben werden.
14. Modell animieren (Simulation)
Statische Aspekte des Systems sind selten das Problem: Die meisten Herausforderungen sind auf dynamische Aspekte zurückzuführen. Einige Modelle ermöglichen die Analyse dynamischer Aspekte mittels Simulation. Das kann unbezahlbar sein!
15. Das Modell als Spezifikation
Fast trivial: Das Modell kann als Spezifikation verwendet werden. Übrigens ist dies die dritte Stufe des SYSMOD Intensitätsmodelle.
Wenn das Modell zur Spezifikation wird, haben wir endlich “echtes” MBSE
16. Strukturmodell
Dokumente sind in Kapitel gegliedert. Aber saubere Grenzen zwischen den verschiedenen Untersystemen gibt es selten, und diszipliniertes Arbeiten ist notwendig. Mit einer guten Modellstruktur lassen sich auch große Systeme in sauber isolierte Untersysteme zerlegen.
17. Wissen verwalten
Wissensmanagement kann viele Formen annehmen, aber ein spezifisches Beispiel ist Domänenwissen, das sich in einem sauberen Domänenmodell manifestieren kann. Dieses liefert einen klaren, präzisen Wortschatz, der sonst nur schwer zu realisieren ist.
18. Wiederverwendung
Modelle erlauben eine Wiederverwendbarkeit in einem Ausmaß, das sonst schwer zu erreichen ist. Unterstrukturen, die sauber definiert und isoliert sind, können wiederverwendet werden.





