Skip to main content

Leveraging Artificial Intelligence for Model-based Software Analysis and Design

  • Chapter
  • First Online:
Optimising the Software Development Process with Artificial Intelligence

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 2.

    https://www.jetbrains.com/mps.

  3. 3.

    https://www.eclipse.org/sirius.

  4. 4.

    https://jenetics.io.

  5. 5.

     https://github.com/jku-win-se/ai-soft-bookchapter.

  6. 6.

    MOMoT (Marrying Optimization and Model Transformations).

  7. 7.

    http://moeaframework.org.

  8. 8.

     https://github.com/jku-win-se/ai-soft-bookchapter.

  9. 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

  1. A. Dennis, B.H. Wixom, R.M. Roth, Systems Analysis and Design, (John Wiley & Sons, 2008)

    Google Scholar 

  2. M. Harman, S.A. Mansouri, Y. Zhang, Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. (CSUR). 45(1), 1–61 (2012)

    Google Scholar 

  3. P.P.S. Chen, The entity-relationship model-toward a unified view of data. ACM Trans. Database Syst. (TODS). 1(1), 9–36 (1976)

    Google Scholar 

  4. G. Booch, J. Rumbaugh, I. Jacobson, Unified Modeling Language User Guide,(The 2nd Edition). (2005)

    Google Scholar 

  5. D. Bork, D. Karagiannis, B. Pittl, A survey of modeling language specification techniques. Inf. Syst. 87, 101425 (2020)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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

    Google Scholar 

  8. I. Boussaïd, P. Siarry, M. Ahmed-Nacer, A survey on search-based modeldriven engineering. Autom. Softw. Eng. 24(2), 233–294 (2017)

    Google Scholar 

  9. M. Harman, The current state and future of search based software engineering, inFuture of Software Engineering (FOSE’07), (IEEE, 2007), pp. 342–357

    Google Scholar 

  10. M. Brambilla, J. Cabot, M. Wimmer, Model-Driven Software Engineering in Practice, (Morgan & Claypool Publishers, 2017)

    Google Scholar 

  11. D. Schmidt, Guest editor’s introduction: model-driven engineering. Comput. 39(2), 25–31 (2006)

    Google Scholar 

  12. 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

    Google Scholar 

  13. A. Jaszkiewicz, On the computational efficiency of multiple objective metaheuristics. The knapsack problem case study. Eur. J. Oper. Res. 158(2), 418–433 (2004)

    Google Scholar 

  14. D.L. Parnas, Software structures: a careful look. IEEE Softw. 35(6), 68–71 (2018)

    Google Scholar 

  15. 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

    Google Scholar 

  16. S. Sendall, W. Kozaczynski, Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)

    Google Scholar 

  17. K. Czarnecki, S. Helsen, Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)

    Google Scholar 

  18. T. Mens, P.V. Gorp, A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)

    Google Scholar 

  19. R. Heckel, G. Taentzer, Graph Transformation for Software Engineers: With Applications to Model-Based Development and Domain-Specific Language Engineering, (Springer, 2020)

    Google Scholar 

  20. S. Kelly, J.P. Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, (John Wiley & Sons, 2008)

    Google Scholar 

  21. D. Steinberg, F. Budinsky, M. Paternostro et al., EMF: Eclipse Modeling Framework, 2nd edn. (Addison-Wesley Professional, 2008)

    Google Scholar 

  22. 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

    Google Scholar 

  23. N. Kahani, M. Bagherzadeh, J.R. Cordy et al., Survey and classification of model transformation tools. Softw. Syst. Model. 18(4), 2361–2397 (2019)

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. 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

    Google Scholar 

  27. P. Jaeschke, A. Oberweis, W. Stucky, Extending ER model clustering by relationship clustering, in International Conference on Conceptual Modeling, (Springer, 1993), pp. 451–462

    Google Scholar 

  28. M. Tavana, P. Joglekar, M.A. Redmond, An automated entity-relationship clustering algorithm for conceptual database design. Inf. Syst. 32(5), 773–792 (2007)

    Google Scholar 

  29. 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

    Google Scholar 

  30. P. Feldman, D. Miller, Entity model clustering: structuring a data model by abstraction. Comput. J. 29(4), 348–360 (1986)

    Google Scholar 

  31. G. Simsion, A structured approach to data modelling. Aust. Comput. J. 21(3), 108–117 (1989)

    Google Scholar 

  32. 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

    Google Scholar 

  33. 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

    Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Google Scholar 

  36. 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)

    Google Scholar 

  37. 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

    Google Scholar 

  38. 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

    Google Scholar 

  39. C. Abid, V. Alizadeh, M. Kessentini et al., 30 years of software refactoring research: a systematic literature review (2020), arXiv preprint arXiv:2007.02194

  40. R. Bill, M. Fleck, J. Troya et al., A local and global tour on MOMoT. Softw. Syst. Model. 18(2), 1017–1046 (2019)

    Google Scholar 

  41. 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

    Google Scholar 

  42. 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

    Google Scholar 

  43. M. Kessentini, H. Sahraoui, M. Boukadoum et al., Search-based model transformation by example. Softw. & Syst. Model. 11(2), 209–226 (2012)

    Google Scholar 

  44. 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

    Google Scholar 

  45. M. Fleck, J. Troya, M. Wimmer, Proc. of the 9th Transformation Tool Contest @ STAF. vol. 1758. CEUR Workshop Proc. 2016, pp. 1–8

    Google Scholar 

  46. F. Rothlauf, Representations for Genetic and Evolutionary Algorithms, (Springer, 2006), pp. 9–32

    Google Scholar 

  47. S. Rizzi, Genetic operators for hierarchical graph clustering. Pattern Recognit. Lett. 19(14), 1293–1300 (1998)

    Google Scholar 

  48. A.E. Eiben, J.E. Smith et al., Introduction to Evolutionary Computing, vol. 53, (Springer, 2003)

    Google Scholar 

  49. 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

    Google Scholar 

  50. M. Fleck, J. Troya, and M. Wimmer, “Search-based model transformations". J. Softw. Evol. Process. 28.12 (2016), pp. 1081–1117

    Google Scholar 

  51. 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

    Google Scholar 

  52. 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)

    Google Scholar 

  53. 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)

    Google Scholar 

  54. 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)

    Google Scholar 

Download references

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

Authors

Corresponding authors

Correspondence to Antonio Garmendia or Manuel Wimmer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics