Gegenstand der Tätigkeit des Ingenieurbüros ist die
Erarbeitung von Entwürfen bzw. Software-Lösungen für
Messung (bzw. Auswertung von Messwerten), Steuerung und/oder Regelung dynamischer Systeme (Strecken)
auf Basis einer Mess-Sensorik, Stell-Aktorik, Kommunikationsinterface und
programmierbare informationsverarbeitende Systeme (i.a. Mikrokontroller oder Schaltlogiken wie FPGA) umfassenden Hardware.
Diese in der Hardware implementierte Software bestimmt insbesondere bei Steuerungen und Regelungen im unmittelbaren Zusammenwirken
mit der Strecke das Verhalten des entstehenden Gesamtsystems, das auf diese Weise spezifische Anforderungen erfüllen soll
('Embedded System' bzw. 'Embedded Software').
Im Mittelpunkt der Softwareentwicklung für diese 'Embedded Systeme' stehen dabei zwei Hauptschritte:
1. Modellgestützter Entwurf der Algorithmen
Von trivialen Algorithmen abgesehen, erfolgt der Entwurf modell- und simulationsgestützt, d.h. er erfordert zunächst die Modellierung der Strecke
(wobei die entstehenden Modelle natürlich außer für MSR auch für andere Zwecke verwendet werden können).
Mit Vorliegen des Modells und den Anforderungen an das Verhalten des Gesamtsystems kann dann der eigentliche Entwurf durchgeführt,
auf Simulationsebene implementiert und verifiziert bzw. vorvalidiert werden.
Die Entwürfe/Simulationen lassen sich mit Mathworks' Matlab/Simulink/Stateflow von ausführen.
2. Die Implementation des Entwurfs auf zur Verfügung stehender Hardware
Aus dem Entwurf auf Modell- bzw. Simulationsebene wird dann manuell oder mit Hilfe von Codegeneratoren Programmcode erzeugt, der im weiteren Build-Prozess
compiliert und im Programmspeicher der Hardware platziert wird. Um lauffähige Software zu erhalten müssen allerdings vorher noch einige Interface- bzw.
infrastrukturelle Softwareteile hinzugefügt werden (Betriebsystemfunktionen, Treiber für Host- und Streckeninterface).
Entwicklungsprozess
Der gesamte Entwicklungsprozess für die Embedded Software ist angesichts fortschreitender Komplexität und Arbeitsteilung entsprechenden Anforderungen
an Qualität und Effizienz unterworfen. Er wird deshalb nach definierten Prozessmodellen aufgebaut, die sich in ihrer Struktur i.a. am
V-Modell orientieren.
Das V-Modell definiert neben Analyse der Anforderungen, Architektur/Design und Implementation auch die entsprechenden
Verifizierungs- bzw. Validierungsschritte und bildet den Hintergrund für die oben genannten Arbeitsschritte Entwurf und Implementation.
Unterstützung zur Gestaltung solcher Entwicklungsprozesse nach aktuellen Standards, einschließlich entwicklungsbegleitenden
Risiko-Managements ist ein dritter Bestandteil des Leistungsportfolios.
Im Folgenden soll auf die Problematiken des Entwurfs, der Implementation und des Entwicklungsprozesses selbst näher eingegangen werden, unter Bezug auf diese mehr oder weniger abstrakte Darstellung sollen einige Anwendungen/Referenzbeispiele beschrieben werden.