IIoT & Energietechnik

Eine Entwicklungsplattform, auf der der Kunde seine Produktvarianten selbst baut

Für eine Produktfamilie von Antriebssteuerungen eine Plattform in C++, auf der der Auftraggeber die Abläufe seiner Kundenanwendungen als Zustandsdiagramm festlegt, daraus Code erzeugt, zu Firmware baut und auf das Gerät flasht. KI hilft beim Weg von der Anforderung zum Diagramm, nicht im Produkt.

Die Aufgabe

Wer Verstellantriebe an Gerätehersteller liefert, liefert zu jedem Kunden eine eigene Steuerung: andere Tasten, andere Fahrfolgen, andere Sonderfunktionen. Bisher war jede dieser Varianten ein eigenes Entwicklungsprojekt, mit Firmware-Wissen, das der Auftraggeber im Haus nicht hatte, oder mit einem externen Partner für jede Anpassung.

Zugleich verändert KI-gestützte Entwicklung, wie aus einer Anforderung Software wird. Der Auftraggeber wollte diesen Schritt mitgehen, ohne die Sicherheit eines Antriebs von einem Sprachmodell abhängig zu machen. Gefordert war eine Plattform, auf der er die kundenspezifischen Abläufe selbst festlegt und in ein lauffähiges Gerät bringt, und die alles, was Fachwissen verlangt, bereits enthält.

Die Lösung

Die Plattform trennt, was allen Varianten gemeinsam ist, von dem, was je Kunde anders ist. Gemeinsam sind Motoransteuerung, Positionserfassung, Kalibrierung, Speicherung, Funk und Bluetooth, Spannungsüberwachung und die Werkzeugkette; das alles liegt im Kern in C++ auf semf, unserer Softwarearchitektur. Je Kunde anders ist nur das Verhalten: welche Taste was auslöst, in welcher Folge die Antriebe fahren, welche Positionen gespeichert werden.

Dieses Verhalten ist ein Zustandsdiagramm. Der Auftraggeber legt es mit StateSmith fest, der Generator erzeugt daraus den C++-Zustandsautomaten, die Pipeline baut je Verhalten eine Firmware, und die wird geflasht. Es entsteht kein handgeschriebener Code für eine Variante, und der Kern bleibt unberührt. Das Verhalten einer Variante lässt sich am Diagramm prüfen; generierter Code und Integration sichert die Pipeline mit denselben Tests ab wie den Kern.

KI kommt vor der Codeerzeugung ins Spiel: Sie nimmt die Anforderungen des Endkunden auf und macht daraus den Diagrammentwurf, den der Auftraggeber mit seinem Kunden bespricht, bevor eine Zeile Firmware entsteht. Der Entwurf ist unverbindlich: Ein verantwortlicher Ingenieur des Auftraggebers prüft das Diagramm und gibt es frei, erst dann wird Code erzeugt. Die Abstimmung läuft am Diagramm, das beide Seiten lesen können.

Wir haben die Plattform gebaut: die Systemarchitektur und den Firmware-Kern. Der Auftraggeber baut darauf seine Produkte: Modellierung, Prüfung und Freigabe bleiben bei ihm, Programmierarbeit am Firmware-Kern und Spezialwissen von außen braucht er für eine Variante nicht mehr.