Korrektheitsbegriffe für modellbasierte Codegeneratoren
Am Beispiel von modellbasierten Codegeneratoren wie TargetLink (dSPACE)
oder Real-Time Workshop (MathWorks), die Simulink/Stateflow-Modelle in C-Code
übersetzen, sollen Korrektheitsbegriffe für diese Codegeneratoren
untersucht werden. Diese Codegeneratoren werden insbesondere bei der
Softwareentwicklung im Automobilbereich eingesetzt.
Dabei sollten möglichst viele der folgenden Aspekte untersucht werden:
- Gleitkommarithmetik bei der Simulation der Modelle vs. Festkommarithmetik
auf dem eingebetteten Zielprozessor. Das entsprechende Skalierungsrauschen
bedingt durch die Konversion soll durch den Korrektheitsbegriff toleriert
werden.
- Ressourcenbeschränkungen auf dem Zielprozessor
- Korrektheit der Abbildung der Datentypen der Modellebene auf die entsprechenden
Datentypen des Zielprozessors (die Simulation kennt einen NaN-Wert, auf dem
Zielprozessor gibt es overflow/underflow exceptions).
- Die unterschiedliche Ausführungsgeschwindigkeiten auf Modell
und Zielprozessor muss im Korrektheitsbegriff reflektiert werden.
Der Korrektheitsbegriff soll dabei helfen zu entscheiden, ob zwei Outputsignalverläufe
(o(t) Modell, o'(t) Code), die man erhält, wenn man Modell und Code
mit dem gleichen Input i(t) stimuliert hinreichend ähnlich sind, so
dass von einer korrekten Transformation durch den Codegenerator ausgegangen
werden kann.
Diese Diplomarbeit wird gemeinsam
mit DaimlerChrysler Research Berlin betreut. Der Ansprechpartner bei DaimlerChrysler
Berlin ist Herr Dr. Mirko Conrad. Der Bearbeiter bzw. die Bearbeiterin
wird einen Teil der Bearbeitungszeit im Forschungszentrum von DaimlerChrysler
in Berlin verbringen.