Exploration des Einsatzes von LLMs zur Architekturdokumentation, Werkzeug zur Dokumentation und Verwaltung von Architekturentscheidungen mittels LLMs


Hintergrund: Ein Softwaresystem zu dokumentieren und die Dokumentation aktuell zu halten, zählt noch immer zu den Herausforderungen in der Softwareentwicklung. In der Praxis haben sich in den letzten Jahren sogenannte Architecture Decision Records (ADRs) zur Dokumentation wichtiger Architekturentscheidungen etabliert. Dabei werden Entscheidungen hinsichtlich der eingesetzten Technologien, der Struktur eines Softwareprojektes, der eingesetzten Werkzeuge und Prozesse als Markdown-Dateien mit einer vordefinierten Struktur dokumentiert, die als Teil eines Software Repositories abgelegt und mit dem Code verwaltet werden.

Ziel der Arbeit:  Auch wenn ADRs eine Struktur für die Dokumentation vorgeben, müssen Sie noch immer manuell erstellt werden. In dieser Arbeit soll untersucht werden, wie ADRs mit Hilfe von Sprachmodellen wie GPT möglichst effizient erstellt und verwaltet werden können. Beispiele wären die Erzeugung einer strukturierte ADR Beschreibung aus unstrukturierten Daten, das Einbeziehen von Kontext (wie Dateien und Code) und das Erkennen von Abhängigkeiten zwischen ADRs und das Ergänzen von ADRs um Diagramme. Ein darauf aufbauender Aspekt ist die Beantwortung von Fragestellungen zur Architektur auf der Basis der erfassten ADRs.

Aufgaben:

  • Literaturrecherche zu Architekturentscheidungen im Allgemeinen und ADRs im Speziellen
  • Entwicklung eines Werkzeuges zum Erstellen und Verwalten von ADRs (Lesen der ADRs aus einem Git-Repository, Erstellen neuer ADRs, Suche nach ADRs bzw. allg. Abfragen zur Architektur auf Basis von ADRs)
  • Exploration des Einsatzes von LLMs für das Management von ADRs. Es sollen Ideen für den Einsatz von LLMs für die Erstellung, Verwaltung, oder Abfrage von ADRs entwickelt und exemplarisch gezeigt. werden
  • Beispiele sind die Erstellung von ADRs aus textuellen Beschreibungen unter Berücksichtigung des Kontextes (hier könnte man überlegen, welche Information als Kontext sinnvoll ist, z.B. Komponenten aus denen das System besteht, ev. sogar Code, etc.) oder Beantwortung von Fragen zur Architektur auf Basis der ADRs
  • Die Arbeit hat einen stark explorativen Charakter. Ziel ist es Ideen für den Einsatz von LLMs zur Architekturdokumentation auf der Basis einer in der Praxis eingesetzten Ansatzes zur Architkturdokumentation zu generieren.

Erwartete Ergebnisse:

  • (Webbasiertes) Werkzeug zum Erstellen und Verwalten von ADRs
  • Exploration des Einsatzes von LLMs für die Erstellung und Verwaltung von LLMs
  • Ausarbeitung typischer Fragestellungen zur Architektur auf Basis von LLMs

Betreuung: Rainer Weinreich

KI-unterstützte Architekturdokumentation