ChatGPT, Simulink & C/C++ effizient in der Software-Produktlinien-Entwicklung einsetzen – mit iCon-L

iCon-L ist ein Werkzeug, das die Produktlinienentwicklung ganzheitlich unterstützt. Es ermöglicht, programmierte Komponenten in einer grafischen Fachsprache zu vollständigen Produkten zusammenzusetzen – genau das, was man von einem leistungsfähigen Produktlinienkonfigurator erwartet.

In der klassischen SPLE unterscheidet man:

  • Domain Engineering
  • Application Engineering

sowie die Bereiche:

  • Problem Space
  • Solution Space

ProSign ergänzt diese Struktur um einen dritten, entscheidenden Prozess: Hardware Abstraction Layer Engineering (HAL Engineering)

Damit wird echte Hardwareunabhängigkeit im Produktlinienkonzept möglich.

Im Variabilitätsmodell werden die Symbole und die Schnittstellen (Ein- und Ausgänge, Parameter) der Softwarekomponenten festgelegt und somit die Variabilität der Komponenten bestimmt.

Weiterhin wird auf der Modellebene meist der transformationale Ansatz gewählt und ein Kernmodell (eine Kernarchitektur) für die Produktlinie erstellt. Die Symbole für die elementaren Bausteine können per XML oder einer speziellen Sprache erstellt werden.

Während der Implementierung im Domain-Engineering-Prozess werden die Softwarekomponenten implementiert. Hier ist der Entwickler frei in seiner Entscheidung.

Er kann:

  • manuell C/C++-Code schreiben
  • vorhandenen Code nutzen
  • generierten Code von Codegeneratoren wie Simulink nutzen
  • den Code für die Bausteine durch eine KI wie ChatGPT generieren

Gerade in kleinen, abgeschlossenen Problembereichen erzeugen KIs noch überschaubaren Code, der hinreichend verifiziert werden kann.

Bei der Nutzung von altem oder generiertem Code muss meist noch ein Wrapper entwickelt werden. Die KI kann so trainiert werden, dass ein Wrapper nicht notwendig ist.

Bei der Konfiguration im Application Engineering-Prozess wird auf Basis der Kernarchitektur und der Symbole für die spezifizierten Softwarekomponenten das eigentliche Produkt konfiguriert.

Für die Konfiguration können:

  • die Komponenten aus der Kernarchitektur entfernt oder hinzugefügt werden
  • die Verknüpfungen der Komponenten verändert werden
  • die Parameter der Komponenten produktspezifisch geändert werden

Bei der Produktgenerierung wird eine Modulverbindungsliste als maschinenlesbare Konfiguration erzeugt und in das Zielsystem übertragen.

Das Zielsystem ruft in diesem Kontext die Instanzen der Softwarekomponenten auf.

Durch den getrennten Prozess des HAL Engineering ist das Modell der Anwendung auf allen Systemen lauffähig, für die ein entsprechender Laufzeitkern existiert. Die Produktlinienentwicklung ist somit auch in Grenzen hardwareunabhängig.

iCon-L bringt SPLE in die Praxis – offen für moderne Werkzeuge, offen für die Zukunft.

(Publ. 24.04.2025 auf Linkedin)

Ähnliche Beiträge