Im Bereich der modellbasierten Entwicklung (MBD) ist die Qualität der Modelle entscheidend für den Erfolg der Endprodukte. Erfahren Sie, wie Sie die Modellqualität steigern und deren Konformität während des gesamten Entwicklungsprozesses sicherstellen können.
Einfach bessere Modelle erstellen
Was bedeutet besseres Modellieren?
Besseres Modellieren ist ein Ansatz zur Erstellung hochwertiger Softwaremodelle und unerlässlich für die Entwicklung erstklassiger Software. Zu den wichtigsten Aspekten dieses Ansatzes gehören die Beibehaltung eines konsistenten Gesamtbildes durch sorgfältiges Layout und Design, die Sicherstellung, dass Objekte und Informationen nicht verborgen oder verdeckt werden, sowie die Anwendung einer strukturierten Methodik. Beispielsweise sollte der Signalfluss von links nach rechts verlaufen, Signallinienüberkreuzungen sollten vermieden werden, und die Position der Blocknamen sollte für alle Blöcke einheitlich festgelegt sein, um Konsistenz zu gewährleisten. Dieser gründliche Ansatz stellt sicher, dass die Modelle nicht nur visuell klar, sondern auch robust und fehlerfrei sind, was letztlich zu einer verbesserten Codequalität führt.
Wie können Modelle verbessert werden?
Um bessere Modelle zu erreichen, ist es wichtig, sich auf mehrere zentrale Aspekte zu konzentrieren. Hier ist eine Auswahl dieser Aspekte im Detail:
1. Konsistentes Layout und Design:
Layout und Design sind wichtige Aspekte eines guten Modellierungsstils, um bessere Modelle mit einem konsistenten Gesamtbild zu erstellen. Zum Beispiel ist es wesentlich zu identifizieren, wie viele Inports und Outports das Modell hat. Zufällige Modellierungsstile können die Lesbarkeit und Verständlichkeit von Modellen erheblich beeinträchtigen, weshalb gängige Stilrichtlinien verwendet werden, um sicherzustellen, dass Modelle leicht verständlich sind, insbesondere zur externen Prüfung.
- Signalfluss: Der Signalfluss sollte von links nach rechts verlaufen, beginnend mit allen Inports auf der linken Seite des Modells und allen Outports auf der rechten Seite.
- Kreuzungen von Signallinien: Kreuzungen von Signallinien sollte vermieden oder deutlich gemacht werden.
- Blocknamen: Die Position der Blocknamen sollte für alle Blöcke auf eine bestimmte Position festgelegt sein, z.B. unter den Blöcken.
2. Lesbarkeit und Verständlichkeit:
Um sicherzustellen, dass Modelle leicht verständlich sind, werden gängige Stilrichtlinien verwendet, die darauf hinweisen, dass das Design keine Objekte und Informationen verbergen oder verschleiern sollte. Beispielsweise können einige Blöcke schwer zu identifizieren sein, wodurch unklar wird, ob es sich um Konstanten handelt oder welche numerischen Werte sie haben. Ein gut gestaltetes Modell stellt sicher, dass Blöcke klar erkennbar und angemessen dimensioniert sind, wobei Konstanten eindeutig benannt werden, um Verwirrung zu vermeiden.
- Magische Konstanten: "Magische Konstanten" sind Werte, deren Ursprung oder Bedeutung nicht klar ist. Diese sollten vermieden werden, da sie zu Missverständnissen und Fehlern führen können. Stilrichtlinien empfehlen, Konstanten zu benennen und im Workspace zu definieren, um das Verständnis und die Wartbarkeit zu verbessern. Dies hilft, verschiedene Konstanten zu unterscheiden und ihre Rollen innerhalb des Modells zu klären.
- Signalbenennung: Konsistente Signalbenennungen verbessern die Verständlichkeit des Datenflusses und reduzieren den Wartungsaufwand. Dadurch wird auch die allgemeine Nachvollziehbarkeit des Modells unterstützt.
3. Robustheit und Fehlervermeidung:
Neben der Sicherstellung eines konsistenten Layouts und einer klaren Lesbarkeit betonen Modellierungsstilrichtlinien auch die Robustheit der Modelle und die Vermeidung fehleranfälliger Modellierungsmuster. Diese Richtlinien zielen darauf ab, die Testbarkeit und Qualität des generierten Codes zu verbessern. Ein schlecht gestaltetes Modell kann zu funktionalen Problemen führen. Betrachten wir beispielsweise einen Produktblock mit drei Operanden; je nach Reihenfolge des Signalflusses und den Datentypen kann diese Operation unterschiedliche Ergebnisse liefern und potenziell Fehler verursachen. Um solche Probleme zu vermeiden, sollten Operationen in einer Kaskade modelliert werden, wobei die Reihenfolge der Operationen klar durch die Anforderungen definiert ist. Durch die Berücksichtigung aller Empfehlungen und die Anwendung der Stilrichtlinien wird das resultierende Modell robuster und zuverlässiger, was die Funktionalität erheblich verbessert und die Wahrscheinlichkeit von Fehlern verringert.
- Strikte Datenzuweisung: Datentypen von Signalen und Schnittstellen müssen streng festgelegt sein, da inkonsistente Datentypen zu ineffizientem Code, verringerter Genauigkeit oder Bereichsverletzungen führen können.
Wie können bessere Modelle erreicht werden?
Die Verbesserung der Modellqualität in MBD-Prozessen ist entscheidend für die erfolgreiche Bereitstellung von Endprodukten. Der MES Model Examiner® (MXAM) und MES Model & Refactor® (MoRe) sind wesentliche Werkzeuge zur Erreichung dieses Ziels. Mit der Integration von MoRe in alle MXAM-Nutzungslizenzen haben Benutzer:innen nun Zugriff auf erweiterte Modellierungsfunktionen.
MXAM bietet umfassende statische Analysen, die sicherstellen, dass Modelle Standards wie AUTOSAR und ISO 26262 entsprechen. Dabei werden die Modellstruktur und -metriken bewertet und optimierte Methoden zur Überprüfung von Modellierungsrichtlinien angeboten. Dies trägt dazu bei, ein konsistentes Layout und Design beizubehalten, sodass Modelle visuell klar und leicht navigierbar sind. Zusätzlich führt MXAM automatisierte Korrekturen bei Richtlinienverstößen durch, was die Lesbarkeit und Verständlichkeit verbessert, indem "magische Konstanten" vermieden und klare Namenskonventionen sichergestellt werden.
MoRe ergänzt MXAM, indem die Erstellung richtlinienkonformer Layouts in Simulink automatisiert wird, was die Refaktorierungszeit erheblich verkürzt und die Konsistenz fördert. Diese Automatisierung hilft, manuelle Fehler zu minimieren und erhöht die Robustheit und Zuverlässigkeit der Modelle. Durch die Modellierung von Abläufen in einer festgelegten Abfolge verringert MoRe die Wahrscheinlichkeit funktionaler Probleme, was zu robusteren und fehlerfreien Modellen führt.
Gemeinsam optimieren MXAM und MoRe den Entwicklungsprozess und ermöglichen die Erstellung von Modellen, die konsistent gestaltet, leicht verständlich, robust und weniger fehleranfällig sind. Diese Integration führt letztendlich zu einer höheren Softwarequalität und effizienteren Arbeitsabläufen.