Das Projekt MBO-KISS nutzt existierende LLMs und entwickelt Methoden, um diese trotz der genannten Einschränkungen für die Generierung von Steuerungsanwendungen nach IEC 61131-3 einzusetzen. LLMs kommen dabei entlang des gesamten Entwicklungsprozesses zum Einsatz, von der Anforderungsspezifikation bis zur Testfallgenerierung.
Um die verfügbaren LLM-Modelle zu verbessern, werden sie mit eigenen Datensätzen nachtrainiert. Bei der Prompt-Erstellung kommen außerdem Techniken wie Retrieval-Augmented Generation (RAG) zum Einsatz. RAG verbessert die LLM-Ergebnisse und vermeidet Halluzinationen der KI, indem das LLM auf externe, vertrauenswürdige Datenquellen zugreift.
Die generierten Steuerungsanwendungen durchlaufen anschließend einen dreistufigen Testworkflow, um die Ergebnisse abzusichern:
- Code-Review: Statische Analyse des generierten Steuerungscodes
- Unit-Tests: Automatisierte Codeanalysen auf Funktionsebene
- 3D-Simulation: Ausführung des Codes in einer Simulation der Maschine
Die Ergebnisse aus diesen statischen und dynamischen Tests fließen in die kommenden Generierungsdurchgänge ein. Damit wird der Code iterativ und mit jedem Testdurchlauf verbessert.