TY - CHAP
T1 - Leveraging Artificial Intelligence for Model-based Software Analysis and Design
AU - Garmendia, Antonio
AU - Bork, Dominik
AU - Eisenberg, Martin
AU - Ferreira, Thiago
AU - Kessentini, Marouane
AU - Wimmer, Manuel
PY - 2023/7
Y1 - 2023/7
N2 - Fundamental decisions are made in the early phases of software development. The typical outcomes of these phases are models of different kinds, such as architectural models, data models, and process models. Automation support is required to efficiently and effectively handle large models and conduct continuous quality improvement processes. Thus, several approaches have been proposed that integrate modeling with Artificial Intelligence (AI) methods such as Genetic Algorithms (GAs), among others. These approaches, e.g., transform models to improve their quality by searching for good solutions within the potential solution space. In this chapter, we first review existing applications of AI methods to model-based software engineering problems. Subsequently, we show a representative use case of how a model-based software analysis and design problem can be solved using GAs. In particular, we focus on the well-known and challenging modularization problem: splitting an overarching, monolithic model into smaller modules. We present two encodings, the model-based and the transformation-based encoding, which are both applied for the modularization of Entity-Relationship (ER) diagrams. We further discuss how these encodings may be adapted to other structural models and conclude with an outlook on future research lines related to software modeling intelligence.
AB - Fundamental decisions are made in the early phases of software development. The typical outcomes of these phases are models of different kinds, such as architectural models, data models, and process models. Automation support is required to efficiently and effectively handle large models and conduct continuous quality improvement processes. Thus, several approaches have been proposed that integrate modeling with Artificial Intelligence (AI) methods such as Genetic Algorithms (GAs), among others. These approaches, e.g., transform models to improve their quality by searching for good solutions within the potential solution space. In this chapter, we first review existing applications of AI methods to model-based software engineering problems. Subsequently, we show a representative use case of how a model-based software analysis and design problem can be solved using GAs. In particular, we focus on the well-known and challenging modularization problem: splitting an overarching, monolithic model into smaller modules. We present two encodings, the model-based and the transformation-based encoding, which are both applied for the modularization of Entity-Relationship (ER) diagrams. We further discuss how these encodings may be adapted to other structural models and conclude with an outlook on future research lines related to software modeling intelligence.
UR - https://www.scopus.com/pages/publications/85165999193
U2 - 10.1007/978-981-19-9948-2_4
DO - 10.1007/978-981-19-9948-2_4
M3 - Chapter
SN - 978-981-19-9947-5
T3 - Natural Computing Series
SP - 93
EP - 117
BT - Optimising the Software Development Process with Artificial Intelligence
PB - Springer
CY - Singapure
ER -