Bessere Software-Modelle mit dem Richtlinien-Checker

Mit Modell-basierten Entwurfs- und Testmethoden kann die Automobilindustrie komplexes funktionales und nicht-funktionales Verhalten auf verschiedenen Abstraktionsebenen abbilden und frühzeitig validieren. Dabei können Funktions- und Testmodelle unterschiedlich umgesetzt werden. Dies reicht von der Anordnung und Benennung der einzelnen Elemente bis zur Tiefe ihrer Verschachtelung. Zwei Modellierer können bereits für einfache, gleiche Problemstellungen unterschiedliche Modelle erzeugen.

Dies erschwert nicht nur das Zurechtfinden in den Modellen anderer, sondern auch die Möglichkeit, schnell Fehler zu erkennen oder die Modelle weiter bzw. Teile davon wiederzuverwenden. Um dem entgegenzuwirken, werden informelle Vorgaben erarbeitet, die bei der Modellierung befolgt werden sollen.

Richtlinien für die Modellierung

© Foto Fraunhofer ESK

Durch eine Formalisierung dieser Richtlinien wird ein firmeneigener Standard für die Modellausprägung geschaffen, der zu einheitlicheren Modellen führt. Somit wird ein schnelles Review der Modelle möglich, um dabei Fehler zu entdecken. Modellierungsrichtlinien können beispielsweise spezifisch auf wiederkehrende Fehler in der Modellierung eingehen, indem sie eine korrekte Vorgehensweise festlegen oder falsche Modellkomponenten verhindern.

Basishilfen zur Überprüfung und Korrektur der Modelle

Um sicherzustellen, dass die Modellierungsrichtlinien eingehalten werden, bieten einige Programme vorgegebene Tests für eine Überprüfung der Modelle. Zum Teil können eigene Tests eingebunden werden. Dennoch ist die Umsetzung und Überprüfung der Modellierungsrichtlinien mit diesen Testumgebungen nicht zufriedenstellend. Beispielsweise müssen nicht alle Richtlinien in jeder Modellierungsstufe befolgt werden, was die Standard-Tools nicht berücksichtigen. Ebenso ist es mit diesen nicht möglich, die gefundenen Probleme zur Dokumentation oder Weitergabe zu speichern.

Mehr Funktionen mit dem ESK-Richtlinien-Checker

Das Fraunhofer ESK hat für das in der Automobilbranche verbreitete Entwicklungswerkzeug Rhapsody exemplarisch einen Richtlinien-Checker entworfen und implementiert.

Der Richtlinien-Checker ist ein eigenständiges Programm. Nach dem Start verbindet er sich auf Knopfdruck mit Rhapsody über dessen API und lädt das dort aktive Projekt. Im nächsten Schritt kann das gewünschte Anwendungsprofil, z. B. das Profil für einen Integrationstestentwickler, ausgewählt und die Überprüfung angestoßen werden. Die Modelle werden jetzt analysiert und dem Benutzer wird in einem Dialog der Fortschritt angezeigt. Bei Bedarf kann der Vorgang auch abgebrochen werden.

Anschließend wird eine kurze Zusammenfassung der Analyse angezeigt. Ebenso ist eine Liste mit den genauen Problemen verfügbar. Zu jedem Problem wird eine kurze Beschreibung angezeigt sowie die Richtlinie, aufgrund der das Problem gefunden wurde. Um die betroffene Stelle im Modell zu finden, kann das Element eines Problems in Rhapsody hervorgehoben werden. In der Liste können Probleme ausgewählt und, je nach Unterstützung durch die Richtlinie, automatisch oder interaktiv durch den Benutzer behoben werden.

Die Liste der gefundenen Fehler kann gespeichert werden, um sie z. B. zu protokollieren, später weiter zu bearbeiten oder an einen Kollegen weiterzugeben.

Mit Profilen verschiedene Regel-Sets testen

Die Profile definieren ein Set von Regeln, die der Entwickler selbst definieren kann. So können beispielsweise spezielle Profile für Abnahmetests von Modellen definiert werden, die die Übernahme zugelieferter Modelle absichern. Auch können gezielt Profile für Entwickler genutzt werden, welche bekannte Fallstricke und die Einhaltung Framework-spezifischer Anforderungen überprüfen. Hiermit können Fehler in Modellen frühzeitig vermieden werden, die ansonsten in der Regel erst zu einem späteren Zeitpunkt bemerkt werden, wenn ihre Beseitigung teuer wird.

Mit Hilfe des von Fraunhofer ESK entwickelten Prototyps zur Richtlinienüberprüfung und -korrektur können Modellierungsrichtlinien effektiv eingeführt und kontrolliert werden. Unternehmen, die den Richtlinien-Checker einsetzen möchten, unterstützt das Fraunhofer ESK bei der Definition der Regel-Sets und bei der Einführung des Tools in die vorhandene Werkzeugumgebung.

Funktionen

  • Überprüfung von UML-Modellen mit Richtlinien
  • Markierung gefundener Probleme im Modell
  • Automatische oder interaktive Korrektur gefundener Probleme
  • Speichern und Laden der Liste mit gefundenen Problemen
  • Einbindung selbst erstellter Richtlinien als Plug-In
  • Parametrisierung einzelner Richtlinien
  • Erstellung, Import und Export von Profilen mit einer Vorauswahl an Richtlinien
  • Übernahme bestehender Test Plug-Ins
  • Überprüfung informeller Aspekte in Statecharts