← Neueste Arbeiten
🤖 AI

Towards LLM-Assisted Architecture Recovery for Real-World ROS~2 Systems: An Agent-Based Multi-Level Approach to Hierarchical Structural Architecture Reconstruction

Dieser Beitrag stellt einen verbesserten agentenbasierten, mehrstufigen Ansatz zur Wiederherstellung hierarchischer Softwarearchitekturen in komplexen realen ROS~2-Systemen vor, der verfeinerte LLM-Prompting-Techniken und eine gestaffelte Wiederherstellungsstrategie nutzt, um die Einschränkungen bestehender Methoden auf Knotenebene zu überwinden.

Ursprüngliche Autoren: Dominique Briechle, Raj Chanchad, Tobias Geger, Ruidi He, Dhruv Jajadiya, Dhruv Kapadiya, Andreas Rausch, Meng Zhang

Veröffentlicht 2026-05-20
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Dominique Briechle, Raj Chanchad, Tobias Geger, Ruidi He, Dhruv Jajadiya, Dhruv Kapadiya, Andreas Rausch, Meng Zhang

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich vor, Sie haben ein riesiges, komplexes Lego-Set, das über mehrere Jahre von einem Team von Menschen gebaut wurde. Die ursprüngliche Bauanleitung ging verloren, oder vielleicht wurde sie von vornherein gar nicht niedergeschrieben. Alles, was noch übrig ist, sind die verstreuten Steine, die Schachteln, in denen sie kamen, und einige Notizen darüber, wie man sie zusammensteckt.

Ihr Ziel? Die ursprüngliche Bauanleitung wiederherzustellen, damit Sie verstehen können, wie die gesamte Maschine funktioniert, wie die Teile verbunden sind und wie man sie repariert, wenn sie kaputtgeht.

Diese Arbeit handelt davon, genau das zu tun, jedoch für Robotersoftware (insbesondere Systeme, die mit einem Werkzeug namens ROS 2 erstellt wurden).

Das Problem: Die „Geister"-Anweisungen

In der Welt der Robotik wird Software oft in Teilen geschrieben. Eine Person schreibt Code für eine Kamera, eine andere für einen Roboterarm und eine weitere für ein Förderband. Sie speichern ihre Arbeit in verschiedenen Dateien. Der „Klebstoff", der sie zusammenhält – der dem Computer sagt, welcher Teil zuerst gestartet werden soll und wie sie miteinander kommunizieren –, ist in „Launch-Dateien" und verstreuten Code-Kommentaren verborgen.

Das ist wie bei einem Rezept, bei dem die Zutaten in einem Notizbuch aufgelistet sind, die Schritte zum Mischen jedoch in einem anderen Notizbuch versteckt sind und die Ofentemperatur auf einer Serviette gekritzelt steht. Wenn Sie versuchen, das gesamte Rezept nur anhand der Zutaten zu erraten, könnten Sie sich irren. Sie könnten denken, der Kuchen soll bei 500 Grad gebacken werden, weil Sie diese Zahl auf einer Notiz gesehen haben, obwohl sie eigentlich für die Ofenbeleuchtung bestimmt war.

Zuvor versuchten Forscher, KI (Large Language Models) einzusetzen, um diese verstreuten Notizen zu lesen und das vollständige Rezept zu erraten. Doch die KI geriet manchmal in Verwirrung, erfand Fakten (halluzinierte) oder übersah, wie die verschiedenen Teile hierarchisch zusammenpassen (wie eine große Maschine, die aus kleineren Maschinen besteht).

Die Lösung: Ein „gestufter" Detektivansatz

Die Autoren dieser Arbeit verbesserten ihre KI-Detektivmethode. Anstatt die KI zu bitten, das gesamte Bild auf einmal zu erraten, unterteilten sie die Aufgabe in drei klare Schritte und verwendeten einen „Bauplan" (eine strikte Regelmenge), um die KI auf Kurs zu halten.

Stellen Sie sich das wie eine Baustelle mit drei spezialisierten Teams vor:

  1. Team 1: Die Inventarverwalter (NodeAnalyzer)
    Zuerst scannt die KI alle Code-Dateien und erstellt eine einfache Liste: „Hier sind alle einzelnen Roboterteile, die wir gefunden haben." Sie listet jeden Roboterarm, jede Kamera und jeden Sensor auf und notiert genau, wo sie im Code zu finden sind.

    • Analogie: Das ist wie das Sortieren aller Lego-Steine nach Farbe und Form, bevor man mit dem Bauen beginnt.
  2. Team 2: Die Bauplanleser (LaunchFileAnalyzer)
    Als Nächstes betrachtet die KI die „Launch-Dateien" (die Anweisungen zum Starten des Roboters). Sie ermittelt, welche Teile eingeschaltet werden, wie sie benannt sind und wie sie gruppiert werden. Sie erstellt eine Karte der Abhängigkeiten: „Die Kamera wird vor dem Roboterarm eingeschaltet, und beide gehören zur Gruppe 'Vision'."

    • Analogie: Das ist wie das Lesen der Montageanleitung, um zu sehen, welche Steine zu einem Rad zusammengefügt werden und welche Räder am Karosseriekörper befestigt werden.
  3. Team 3: Die Hauptarchitekten (SystemArchitectureTeam)
    Schließlich nimmt die KI die Teileliste (von Team 1) und die Karte der Verbindungen (von Team 2) und erstellt das endgültige, hochrangige Diagramm. Da sie die Zwischenschritt-Listen hat, muss sie nicht raten. Sie folgt einfach den Beweisen.

    • Analogie: Das ist der Architekt, der den endgültigen Bauplan des fertigen Hauses zeichnet und genau weiß, wohin jeder Stein und jeder Draht gehört, weil er die Inventarliste und die Montagehinweise hat.

Der Test: Der „BrickByBrick"-Roboter

Um diese neue Methode zu testen, verwendeten die Forscher ein reales Robotersystem namens BrickByBrick. Dies ist ein Roboter, der komplexe Strukturen aus Bausteinen zerlegen soll. Er verfügt über:

  • Zwei Roboterarme (Alice und Bob).
  • Kameras, um die Steine zu sehen.
  • Förderbänder, um sie zu bewegen.
  • Ein „Gehirn", das plant, wie die Steine auseinandergezogen werden, ohne sie zu beschädigen.

Dieses System war viel komplexer als die einfachen Beispiele, die sie in ihrer vorherigen Forschung verwendet hatten. Es umfasste viele verschiedene Softwaretypen, die zusammenarbeiteten.

Die Ergebnisse

Die neue „gestufte" Methode funktionierte sehr gut:

  • Genauigkeit: Die KI identifizierte fast jeden einzelnen Teil und jede Verbindung korrekt (98 % Genauigkeit bei der komplexen Systemebene-Karte).
  • Zuverlässigkeit: Sie erfand keine falschen Verbindungen. Jede Verbindung, die sie zeichnete, wurde durch tatsächliche Code-Beweise gestützt.
  • Verbesserung: Sie war deutlich besser darin zu verstehen, wie die verschiedenen Teile gruppiert waren, im Vergleich zu ihrer alten Methode.

Das Fazit

Die Arbeit zeigt, dass man, wenn man die Software eines komplexen Roboters verstehen möchte, eine KI nicht einfach bitten sollte, „das Ganze zu erraten". Stattdessen sollte man der KI einen strukturierten Prozess geben:

  1. Teile auflisten.
  2. Montageanweisungen kartieren.
  3. Das endgültige Diagramm basierend auf diesen Fakten erstellen.

Dieser Ansatz macht die KI viel zuverlässiger und verwandelt ein chaotisches Haufen Code in eine klare, verständliche Architekturkarte. Allerdings geben die Autoren zu, dass, wenn sich das Verhalten des Roboters während des Betriebs ändert (dynamische Änderungen), die aktuelle Methode immer noch Schwierigkeiten hat, diese beweglichen Ziele zu erfassen. Doch für das Verständnis der statischen Struktur des Systems ist dies ein großer Schritt nach vorn.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →