From Requirements to Architecture: Semi-Automatically Generating Software Architectures
Tobias Eisenreich
TL;DR
The paper addresses the challenge of producing high-quality software architectures in the presence of complex domains and incomplete requirements, particularly for less experienced architects. It proposes a tool-supported, LLM-driven process that guides architects through Domain-Driven Design activities, including domain-model and use-case creation, generation of architecture candidates, and structured evaluation, with the aim of improving quality and reducing development time. The approach emphasizes prompt engineering over fine-tuning, and adopts a Design Science Research methodology to iteratively develop and evaluate both individual tooling and the integrated process, using mixed-methods and industry case studies. If successful, the work could significantly enhance architectural decision support and execution in industrial settings by enabling scalable collaboration between human architects and AI-assisted tooling.
Abstract
To support junior and senior architects, I propose developing a new architecture creation method that leverages LLMs' evolving capabilities to support the architect. This method involves the architect's close collaboration with LLM-fueled tooling over the whole process. The architect is guided through Domain Model creation, Use Case specification, architectural decisions, and architecture evaluation. While the architect can take complete control of the process and the results, and use the tooling as a building set, they can follow the intended process for maximum tooling support. The preliminary results suggest the feasibility of this process and indicate major time savings for the architect.
