Daten-Management im modellbasierten Entwicklungsprozess Vorteile einer toolgestützten Datenhaltung

Für die softwaretechnische Implementierung der immer komplexer werdenden Regelungsalgorithmen in Steuergeräte-Anwendungen erweist sich die Datenhaltung als wichtiger Aspekt. Zur Beherrschung der umfangreichen Datenmengen bietet sich entsprechende Toolunterstützung in Form von Data Dictionaries an, um die Effizienz der Entwicklungsprozesse zu steigern.

Daten-Management im  modellbasierten Entwicklungsprozess

Für die softwaretechnische Implementierung der immer komplexer werdenden Regelungsalgorithmen in Steuergeräte-Anwendungen erweist sich die Datenhaltung als wichtiger Aspekt. Zur Beherrschung der umfangreichen Datenmengen bietet sich entsprechende Toolunterstützung in Form von Data Dictionaries an, um die Effizienz der Entwicklungsprozesse zu steigern.

Einsatz eines Data Dictionaries

Zur Bewältigung der oben beschriebenen Herausforderungen werden in modellbasierten Entwicklungsprozessen oftmals Data Dictionaries (DD) eingesetzt, um die Gesamtheit der Daten zu verwalten.  Diese Data Dictionaries unterscheiden sich in Aufbau und Leistungsfähigkeit teils deutlich. So werden einerseits einfache In-House-Lösungen verwendet, andererseits aber auch hochspezialisierte, kommerzielle Werkzeuge.

Bild 1 zeigt speziell anhand des Data Dictionary von dSpace, wie sich ein solches Werkzeug in den modellbasierten Entwicklungsprozess integrieren lässt. Das DD wird in Kombination mit Simulink und dem Seriencode-Generator TargetLink eingesetzt und dient dabei als zentraler Container, um die im Rahmen der Funktionsentwicklung und automatischen Code-Generierung anfallenden Daten aufzunehmen. Dazu müssen zunächst existierende Daten ins DD importiert werden, seien es Modell-Parameter aus M-Files oder Software-bezogene Informationen wie Variablen, Datentypen und Skalierungen aus Datenbanken. Anschließend werden die nun im DD befindlichen Daten mit dem eigentlichen Modell verknüpft, was durch einen einfachen Referenzierungsmechanismus geschieht. Das Modell wird somit durch die im DD abgelegten Parameter und Implementierungsinformationen bedatet, wodurch eine strukturell saubere Trennung zwischen dem Modell (Algorithmus) einerseits und den eigentlichen Daten andererseits erzielt wird.

Hierdurch lassen sich beispielsweise spezielle Funktionalitäten des DD gewinnbringend nutzen, etwa ein integriertes Varianten-Management, um Simulationen für unterschiedliche Datenvarianten durchzuführen. Der Referenzierungsmechanismus erweist sich insbesondere  im Zusammenhang mit automatischer Code-Generierung als überaus nützlich, da Modelle hierfür typischerweise mit einer umfangreichen Menge an Implementierungsinformationen angereichert werden. Dies erfolgt nun direkt durch die Referenzierung von DD-Objekten, so dass eine erneute Spezifikation entfällt. Modelle sind damit optimal für Simulationen und die automatische Code-Generierung vorbereitet und das DD gut in die Simulink-TargetLink-Toolkette integriert.

Bild 2 zeigt die logische Struktur des DD anhand des Data Dictionary Managers, welcher als grafische Benutzeroberfläche des DD fungiert. Das DD selbst ist in Form einer Baumstruktur organisiert, wobei einzelne Äste speziell zur Ablage von Variablen, Datentypen, Skalierungsformeln und weiteren Software-bezogenen Objekten vorgesehen sind. Jedem der DD-Objekte ist eine genau definierte Menge von obligatorischen Attributen zugeordnet. So weist beispielsweise ein Skalierungs-Objekt als inhärente Attribute immer einen Skalierungsfaktor und einen Offset auf. Zusätzlich gibt es neben diesen durch das Datenmodell des DD vorgegebenen Zweigen, Objekten und Attributen auch die Möglichkeit, selbst definierte Objekte und Attribute anzulegen, um benutzerspezifische Informationen geordnet zu administrieren. Damit ist das DD nicht nur an die Code-Generierung mit TargetLink angepasst, sondern auch generell geeignet, Parameter aus M-Files sowie Software-bezogene Daten wie Variablen, Datentypen und Skalierungen aufzunehmen.

Für die effiziente Entwicklung in großen Teams ist Multi-User-Unterstützung für ein Data Dictionary von großer Bedeutung. Daten von projektglobaler Relevanz wie etwa globale Größen, Schnittstellenvari-ablen oder Applikationsparameter müssen mehreren Entwicklern gleichzeitig zugänglich gemacht und die Konsistenz der Daten sichergestellt werden. Aus Gründen des Versions- und Konfigurationsmanagements ist es zudem wünschenswert, die Steuergeräte-Daten in mehrere Dateien partitionieren zu können, beispielsweise je eine Datei für die Spezifikation global relevanter Skalierungsformeln und Datentypen. Des Weiteren empfiehlt sich die Verwendung unterschiedlicher Benutzungsrechte, um Datenbestände gegen unerwünschte Modifikation zu schützen und somit den Entwicklungsprozess abzusichern.

Bild 5 zeigt, wie sich das Multi-User-Konzept mit dem dSpace Data Dictionary umsetzen lässt. Ein zentraler Administrator erzeugt und verwaltet exklusiv projektglobale Daten und partitioniert diese in einzelne DD-Dateien. Diese werden anschließend von individuellen Komponentenentwicklern mittels eines speziellen Include-Mechanismus in ihre lokalen Data Dictionaries eingebunden. Der einzelne Entwickler arbeitet dann exklusiv mit seinem lokalen DD und verwaltet dort seine komponentenspezifischen Daten, hat aber über den Include-Mechanismus dennoch Zugriff auf Daten von globaler Relevanz, wie beispielsweise vom Administrator angelegte Datentypen oder Skalierungsformeln. Der Include-Mechanismus stellt dabei sicher, dass das Single-Source-Prinzip für die global relevanten Daten gewahrt ist und diese allen Entwicklern konsistent zur Verfügung gestellt werden. Das DD unterstützt zudem Mechanismen, um Schreib- und Leserechte für Daten einzeln festzulegen, was zur Absicherung gegen unerwünschte Änderung genutzt werden kann.