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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Please note that we use the terms “model-based” and “model-driven” in an interchangeable manner in this book chapter. While model-driven approaches are focusing on using models as the main driver in the software engineering process, they can be also considered as model-based approaches which use models as supporting artefacts but not as the main driver. However, as we mostly focus in this book chapter on the techniques proposed by the model-driven engineering community, these techniques can be of course also used in a model-based setting.
- 2.
- 3.
- 4.
- 5.
- 6.
MOMoT (Marrying Optimization and Model Transformations).
- 7.
- 8.
- 9.
Editors note: The source code linked in this chapter could change after publishing this book. A snapshot of the source code accompanying this chapter can be found at https://doi.org/10.5281/zenodo.6965479.
References
A. Dennis, B.H. Wixom, R.M. Roth, Systems Analysis and Design, (John Wiley & Sons, 2008)
M. Harman, S.A. Mansouri, Y. Zhang, Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. (CSUR). 45(1), 1–61 (2012)
P.P.S. Chen, The entity-relationship model-toward a unified view of data. ACM Trans. Database Syst. (TODS). 1(1), 9–36 (1976)
G. Booch, J. Rumbaugh, I. Jacobson, Unified Modeling Language User Guide,(The 2nd Edition). (2005)
D. Bork, D. Karagiannis, B. Pittl, A survey of modeling language specification techniques. Inf. Syst. 87, 101425 (2020)
A. Wortmann, O. Barais, B. Combemale et al., Modeling languages in Industry 4.0: An extended systematic mapping study. Softw. Syst. Model. 19(1), 67–94 (2020)
M. Harman, The role of artificial intelligence in software engineering, in First International Workshop on Realizing AI Synergies in Software Engineering (RAISE 2012), (IEEE, 2012), pp. 1–6
I. Boussaïd, P. Siarry, M. Ahmed-Nacer, A survey on search-based modeldriven engineering. Autom. Softw. Eng. 24(2), 233–294 (2017)
M. Harman, The current state and future of search based software engineering, inFuture of Software Engineering (FOSE’07), (IEEE, 2007), pp. 342–357
M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering in Practice, (Morgan & Claypool Publishers, 2017)
D. Schmidt, Guest editor’s introduction: model-driven engineering. Comput. 39(2), 25–31 (2006)
H. Ishibuchi, Y. Nojima, T. Doi, Comparison between single-objective and multi-objective genetic algorithms: performance comparison and performance measures, in Proceedings of the IEEE International Conference on Evolutionary Computation, (IEEE, 2006), pp. 1143–1150
A. Jaszkiewicz, On the computational efficiency of multiple objective metaheuristics. The knapsack problem case study. Eur. J. Oper. Res. 158(2), 418–433 (2004)
D.L. Parnas, Software structures: a careful look. IEEE Softw. 35(6), 68–71 (2018)
D.L. Moody, A. Flitman, A methodology for clustering entity relationship models–a human information processing approach, in Proceedings of the International Conference on Conceptual Modeling, (Springer, 1999), pp. 114–130
S. Sendall, W. Kozaczynski, Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)
K. Czarnecki, S. Helsen, Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)
T. Mens, P.V. Gorp, A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)
R. Heckel, G. Taentzer, Graph Transformation for Software Engineers: With Applications to Model-Based Development and Domain-Specific Language Engineering, (Springer, 2020)
S. Kelly, J.P. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, (John Wiley & Sons, 2008)
D. Steinberg, F. Budinsky, M. Paternostro et al., EMF: Eclipse Modeling Framework, 2nd edn. (Addison-Wesley Professional, 2008)
T. Arendt, E. Biermann, S. Jurack et al., Henshin: advanced concepts and tools for in-place EMF model transformations, in International Conference on Model Driven Engineering Languages and Systems, (Springer, 2010), pp. 121–135
N. Kahani, M. Bagherzadeh, J.R. Cordy et al., Survey and classification of model transformation tools. Softw. Syst. Model. 18(4), 2361–2397 (2019)
D.L. Moody, Comparative evaluation of large data model representation methods: the analyst’s perspective, in Proceedings of the International Conference on Conceptual Modeling, (Springer, 2002), pp. 214–231
D. Moody, A multi-level architecture for representing enterprise data models, in Proceedings of the International Conference on Conceptual Modeling, (Springer, 1997), pp. 184–197
D. Bork, A. Garmendia, M. Wimmer, Towards a Multi-Objective Modularization Approach for Entity-Relationship Models. ER Forum, Demo and Poster 2020. (CEUR, 2020), pp. 45–58
P. Jaeschke, A. Oberweis, W. Stucky, Extending ER model clustering by relationship clustering, in International Conference on Conceptual Modeling, (Springer, 1993), pp. 451–462
M. Tavana, P. Joglekar, M.A. Redmond, An automated entity-relationship clustering algorithm for conceptual database design. Inf. Syst. 32(5), 773–792 (2007)
A. Burdusel, S. Zschaler, S. John, Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model Engineering, in Proceedings of the 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), (IEEE, 2019), pp. 106–116
P. Feldman, D. Miller, Entity model clustering: structuring a data model by abstraction. Comput. J. 29(4), 348–360 (1986)
G. Simsion, A structured approach to data modelling. Aust. Comput. J. 21(3), 108–117 (1989)
K.S. Komar, A. Santra, S. Bhowmick et al., EER->MLN: EER Approach for Modeling, Mapping, and Analyzing Complex Data Using Multilayer Networks (MLNs), in International Conference on Conceptual Modeling, (Springer, 2020), pp. 555–572
Y. Tzitzikas, J.L. Hainaut, How to tame a very large ER diagram (using link analysis and force-directed drawing algorithms), in Proceedings of the International Conference on Conceptual Modeling, (Springer, 2005), pp. 144–159
F. Pérez, J. Font, L. Arcega et al., Empowering the human as the fitness function in search-based model-driven engineering. IEEE Trans. Softw. Eng. 10(10), 1–16 (2021)
A. Burdusel, S. Zschaler, S. John, Automatic generation of atomic multiplicity-preserving search operators for search-based model engineering. Softw. Syst. Model. 20(6), 1857–1887 (2021)
W. Mkaouer, M. Kessentini, A. Shaout et al., Many-objective software remodularization using NSGA-III. ACM Trans. Softw. Eng. Methodol. (TOSEM). 24(3), 1–45 (2015)
W. Kessentini, M. Wimmer, H. Sahraoui, Integrating the designer in-the-loop for metamodel/model co-evolution via interactive computational search, in Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, (2018), pp. 101–111
W. Kessentini, V. Alizadeh, Interactive metamodel/model co-evolution using unsupervised learning and multi-objective search, in Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, (2020), pp. 68–78
C. Abid, V. Alizadeh, M. Kessentini et al., 30 years of software refactoring research: a systematic literature review (2020), arXiv preprint arXiv:2007.02194
R. Bill, M. Fleck, J. Troya et al., A local and global tour on MOMoT. Softw. Syst. Model. 18(2), 1017–1046 (2019)
A. Burdusel, S. Zschaler, D. Strüber, MDEoptimiser: a search based model engineering tool, in Companion Proceedings of the 21stACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), (ACM, 2018), pp. 12–16
H. Abdeen, D. Varró, H.A. Sahraoui et al., Multi-objective optimization in rule-based design space exploration, in Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE), (ACM, 2014), pp. 289–300
M. Kessentini, H. Sahraoui, M. Boukadoum et al., Search-based model transformation by example. Softw. & Syst. Model. 11(2), 209–226 (2012)
A. García Domínguez, F. Krikava, and L. M. Rose, eds. Proc. of the 9th Transformation Tool Contest @ STAF. Vol. 1758. CEUR Workshop Proc. 2016
M. Fleck, J. Troya, M. Wimmer, Proc. of the 9th Transformation Tool Contest @ STAF. vol. 1758. CEUR Workshop Proc. 2016, pp. 1–8
F. Rothlauf, Representations for Genetic and Evolutionary Algorithms, (Springer, 2006), pp. 9–32
S. Rizzi, Genetic operators for hierarchical graph clustering. Pattern Recognit. Lett. 19(14), 1293–1300 (1998)
A.E. Eiben, J.E. Smith et al., Introduction to Evolutionary Computing, vol. 53, (Springer, 2003)
Goldberg DE, Lingle R, et al. “Alleles, loci, and the traveling salesman problem". Proc. of the International Conference on Genetic Algorithms and their Applications. 1985, pp. 154–159
M. Fleck, J. Troya, and M. Wimmer, “Search-based model transformations". J. Softw. Evol. Process. 28.12 (2016), pp. 1081–1117
M Eisenberg, H Pichler, A Garmendia, et al. Towards Reinforcement Learning for In-Place Model Transformations. 24th International Conference on Model Driven Engineering Languages and Systems (MODELS). IEEE, 2021, pp. 82–88
S. Zschaler, L. Mandow, Towards Model-Based Optimisation: Using Domain Knowledge Explicitly. Software Technologies: Applications and Foundations STAF, CollocatedWorkshops. Vol. 9946. LNCS. Springer 2016, 317–329 (2016)
M. Li, T. Chen, X. Yao, How to evaluate solutions in pareto-based search-based software engineering? a critical review and methodological guidance. IEEE Trans. Softw. Eng. (2020)
A. Ramirez, J.R. Romero, C.L. Simons, A systematic review of interaction in search-based software engineering. IEEE Trans. Softw. Eng. 45(8), 760–781 (2018)
Acknowledgements
Work partially funded by the Austrian Science Fund (FWF) under grant number P 30525-N31, the Austrian Federal Ministry for Digital and Economic Affairs, and the National Foundation for Research, Technology, and Development (CDG).
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Garmendia, A., Bork, D., Eisenberg, M., Ferreira, T., Kessentini, M., Wimmer, M. (2023). Leveraging Artificial Intelligence for Model-based Software Analysis and Design. In: Romero, J.R., Medina-Bulo, I., Chicano, F. (eds) Optimising the Software Development Process with Artificial Intelligence. Natural Computing Series. Springer, Singapore. https://doi.org/10.1007/978-981-19-9948-2_4
Download citation
DOI: https://doi.org/10.1007/978-981-19-9948-2_4
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-19-9947-5
Online ISBN: 978-981-19-9948-2
eBook Packages: Computer ScienceComputer Science (R0)