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

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

25 Jan 2024 | Tobias Eisenreich, Sandro Speth, Stefan Wagner
This paper presents a vision for semi-automatically generating software architectures based on requirements using artificial intelligence (AI) techniques. The goal is to reduce the time and effort required for architectural design and improve the quality of the resulting architectures. The proposed method involves generating domain models and use-case scenarios using large language models (LLMs), then deriving multiple architecture candidates based on these models and evaluating them to make informed decisions. The process includes manual refinement and selection of the best architecture candidate. The paper discusses the challenges of architectural design, particularly in complex domains, and highlights the limitations of current approaches that rely heavily on manual effort. It argues that AI techniques, such as LLMs, can significantly reduce this manual effort by automating the generation of domain models and architecture candidates. However, the paper also acknowledges the need for manual intervention to refine and select the best architecture. The paper outlines a semi-automated process for generating software architectures, which includes generating domain models and use-case scenarios, deriving architecture candidates, evaluating them, and selecting the best one. The process is iterative and can be applied throughout the software development lifecycle. The paper also discusses the use of various AI techniques, including LLMs, for generating architecture candidates and evaluating them. The paper presents an exploratory analysis of the use of LLMs for generating domain models from textual requirements. It shows that while LLMs can generate domain models, they may not always capture the correct relationships between concepts. The paper also discusses the use of various architecture evaluation techniques, including ATAM, to evaluate the generated architecture candidates. The paper concludes that the proposed semi-automated approach can significantly improve the quality and efficiency of software architecture design. It also highlights the need for further research to evaluate the effectiveness of the approach in real-world scenarios. The paper suggests that the approach can be applied in agile environments and that the results of the exploratory analysis can be used to improve the final evaluation process.This paper presents a vision for semi-automatically generating software architectures based on requirements using artificial intelligence (AI) techniques. The goal is to reduce the time and effort required for architectural design and improve the quality of the resulting architectures. The proposed method involves generating domain models and use-case scenarios using large language models (LLMs), then deriving multiple architecture candidates based on these models and evaluating them to make informed decisions. The process includes manual refinement and selection of the best architecture candidate. The paper discusses the challenges of architectural design, particularly in complex domains, and highlights the limitations of current approaches that rely heavily on manual effort. It argues that AI techniques, such as LLMs, can significantly reduce this manual effort by automating the generation of domain models and architecture candidates. However, the paper also acknowledges the need for manual intervention to refine and select the best architecture. The paper outlines a semi-automated process for generating software architectures, which includes generating domain models and use-case scenarios, deriving architecture candidates, evaluating them, and selecting the best one. The process is iterative and can be applied throughout the software development lifecycle. The paper also discusses the use of various AI techniques, including LLMs, for generating architecture candidates and evaluating them. The paper presents an exploratory analysis of the use of LLMs for generating domain models from textual requirements. It shows that while LLMs can generate domain models, they may not always capture the correct relationships between concepts. The paper also discusses the use of various architecture evaluation techniques, including ATAM, to evaluate the generated architecture candidates. The paper concludes that the proposed semi-automated approach can significantly improve the quality and efficiency of software architecture design. It also highlights the need for further research to evaluate the effectiveness of the approach in real-world scenarios. The paper suggests that the approach can be applied in agile environments and that the results of the exploratory analysis can be used to improve the final evaluation process.
Reach us at info@study.space
[slides] From Requirements to Architecture%3A An AI-Based Journey to Semi-Automatically Generate Software Architectures | StudySpace