Skip to content
#Architecture

From Requirements to Architecture: An AI-Based Journey to Semi-Automatically Generate Software Architectures (Category Architecture)

#Architecture #LLM #AI #Software #Engineering #Management #Processes

It's another academic. whitepaper about the use of AI in software development. Here are the researchers. 4 pagetime Expose your research plan, all significant promises in the next series Review previous articles on the generation of architecture from documentation and automatic assessment of its quality.

Conceptually, the process of generation from children looks like this.

  1. Take qualitative requirements and generate LLMs domain model and set of use cases
  2. Take a file and a little pens to finalize the resulting domain model and scenarios
  3. Take the modified model and scenarios and generate LLMs multiple architecture candidates + pull out somehow the key ADRs that were adopted in their design. It's supposed to be good old-fashioned.4+1 Model" by P. Kruchten (from 1995 year) + Charts in PlantUML and Mermaid
  4. Take candidates and run through automated assessment (standard ATAM other approaches). If automation does not work out, then the authors are ready for a backup option in the form of a manual assessment.
  5. Further, if you need these architecture-candidates to finalize through the prompts to LLMs with requests for improvements
  6. The final step is to manually select the best candidate. The process of pain is ICONIX In terms of generating architecture from requirements, but automated. By the way, I’m talking about ICONIX today. remembered.

As part of the study, the authors posed the following questions:

RQ1: Can state-of-the-art NLP technology generate reproducible, correct, and elaborate domain models and use case scenarios based on requirements in natural language? RQ2: Can state-of-the-art AI technology generate software architectures based on a domain model, use case scenarios, and requirements that can appropriately fulfill these requirements? RQ3: Can quantitative and qualitative software architecture evaluations and trade-off analyses be automated through the use of AI? RQ4: Does a method for semi-automatic architecture generation improve the architecture’s quality while reducing the time required? There are no answers to the questions in this article, but there is a plan for further research that includes:

  1. Manual analysis of several reference architectures to restore the list of requirements for them
  2. Next, feed these requirements back to LLMs and get architecture candidates
  3. Comparison of these candidates with reference eye architectures
  4. Attempt to make automatic evaluation of candidate architectures

Separately, the authors note that in the next stages, they want to submit not only the requirements, but also the current architecture of the system, as well as the architectural solutions that led to it. This will allow us to arrive at an iterative-evolutionary model of the development of the system architecture as it is created from the initial set of requirements, and then its changes as the external context and requirements for the system change.

From the references to the article I found interesting

I also remembered. Architecture Anti-patterns: Automatically Detectable Violations of Design Principles here

  • "Enhancing Software Design and Developer Experience Via LLMs" here

Actually, this paper is weak in terms of practical elaboration, but theoretically the research plan looks interesting.

#LLM #AI #Architecture #Software #Engineering #Management #Processes