Zur effizienten Integration eines Data Dictionaries in eine Toolkette entsprechend Bild 1 ist ein leistungsfähiger Import/Export-Mechanismus erforderlich, um existierende Datenbestände aus M-Files, Datenbanken und weiteren Werkzeugen automatisiert in das Data Dictionary einzulesen und später auch wieder zu exportieren. Hierdurch wird der Aufwand für Mehrfachspezifikationen vermieden und die Fehleranfälligkeit der Datenhaltung reduziert. Für den automatisierten Datenaustausch bietet das dSpace Data Dictionary daher eine API sowie diverse Import/Export-Filter an (Bild 3). Neben ASAM-MCD 2MC (ASAP2) sowie OIL-Files (OSEK Implementation Language) wird insbesondere das generische XML-Format unterstützt, so dass von einer Vielzahl von Werkzeugen XML-Files exportiert und unmittelbar in das DD eingelesen werden können.
Von essentieller Bedeutung für den Datenaustausch mit anderen Werkzeugen ist ferner die Anwender-Programmierschnittstelle des DD in Form einer MATLAB M-API. Simulink-Modell-Parameter wie auch so genannte Simulink Data Objects können mittels In-House- oder im DD integrierten M-Skript-Lösungen unmittelbar als DD-Variablenobjekte eingelesen und später aus Modellen heraus referenziert werden. Zusätzlich ist die API für den Import/Export in Kombination mit Werkzeugen hilfreich, die etwa kein XML-Format unterstützen. Der Datenaustausch kann dann über proprietäre File-Formate oder den MATLAB Workspace erfolgen, wobei die Daten mit Hilfe von M-Skripten ins DD übernommen werden. Dem Anwender steht damit ein leistungsfähiges Instrumentarium zur Verfügung, um viele der anfallenden Daten im Rahmen der Steuergeräte-Entwicklung ins DD zu importieren und zu exportieren.
Die Visualisierung von Daten im DD wie auch deren manuelle Erzeugung und Editierung erfolgen durch den Data Dictionary Manager als grafische Benutzer-Oberfläche (Bild 2). Dieser bietet nicht nur eine Gesamtübersicht über alle Objekte und Attribute eines DD-Files, sondern stellt auch an die jeweiligen Objekttypen angepasste Dialoge bereit, um etwa Variablen- oder Typ-Objekte komfortabel zu erstellen und zu editieren. Eingebaute Validierungsmaßnahmen unterstützen den Benutzer hierbei, um fehlerhafte bzw. gegen das Datenmodell verstoßende Eingaben von vornherein zu verhindern. Ferner dient ein in den Data Dictionary Manager integrierter Modell-Browser zur Visualisierung von Simulink-Modellen sowie der Synchronisation mit DD-Objekten.
Integration in den Entwicklungsprozess
Das Hauptanwendungsgebiet des dSpace Data Dictionaries stellt der Einsatz bei der modellbasierten Entwicklung mit Simulink und dem automatischen Code-Generator TargetLink dar, wobei das DD die Bedatung des Modells liefert. Nach erfolgtem Import von existierenden Daten ins DD bzw. deren Erzeugung im Data Dictionary Manager können die Objekte aus dem eigentlichen Modell referenziert werden, wodurch dessen Simulations- wie auch Code-Generierungseigenschaften festgelegt sind. Die Verlinkung kann entweder automatisiert per M-Skript oder manuell aus dem Modell geschehen, wozu der Anwender lediglich das jeweils gewünschte DD-Objekt in TargetLink-Blockdialogen selektieren muss (Bild 4).
Die Spezifikation von Code-Generierungseinstellungen erfolgt also durch Referenzierung von DD-Objekten für Datentypen, Skalierungen oder kompletten Variablen. Hierdurch wird beispielsweise festgelegt, ob eine Variable im Code als globale, messbare Größe erscheint oder ob sie gegebenenfalls vom Code-Generator „wegoptimiert“ werden darf. Auch die Werte von Modell-Parametern können unmittelbar aus entsprechenden DD-Objekt-Attributen ausgelesen werden. Insgesamt entfallen durch diesen Mechanismus pflegeintensive Mehrfachspezifikationen, da die relevanten Daten ausschließlich im DD gehalten werden, was dem Single-Source-Prinzip entspricht.
Das DD dient jedoch nicht nur als Spezifikationsinstrument für den modellbasierten Entwurf, sondern auch als Container, in dem TargetLink nach der Generierung des Code wichtige Informationen hierüber ablegt. Dies beinhaltet beispielsweise Daten über generierte Files, Funktionen und Variablen, die nicht nur die Basis für den ASAP2-Datei-Export oder die automatische Dokumentationsgenerierung von TargetLink bilden, sondern auch von weiteren Tools einer Werkzeugkette ausgelesen werden können, um Informationen über den generierten Code zu erlangen.
Für die Integration in die Simulink/ TargetLink-Werkzeugkette leistet die M-API des DD auch im Hinblick auf die Prozessautomatisierung einen wichtigen Beitrag. Einzelne Arbeitsschritte im Rahmen der Modell- und Software-Entwicklung können hierdurch unter Einbeziehung des DD skriptbasiert und damit besonders effizient durchgeführt werden, was bei großen Modellen und Datenbeständen eine absolute Notwendigkeit darstellt.