Leveraging Artificial Intelligence for Model-based Software Analysis and Design

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

Abstract

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.
Original languageEnglish
Title of host publicationOptimising the Software Development Process with Artificial Intelligence
Place of PublicationSingapure
PublisherSpringer
Pages93-117
Number of pages25
ISBN (Print)978-981-19-9947-5
DOIs
Publication statusPublished - Jul 2023

Publication series

NameNatural Computing Series
VolumePart F1169
ISSN (Print)1619-7127

Fields of science

  • 102006 Computer supported cooperative work (CSCW)
  • 102015 Information systems
  • 102016 IT security
  • 102020 Medical informatics
  • 102022 Software development
  • 102027 Web engineering
  • 102034 Cyber-physical systems
  • 509026 Digitalisation research
  • 502032 Quality management
  • 502050 Business informatics
  • 503015 Subject didactics of technical sciences

JKU Focus areas

  • Digital Transformation

Cite this