Skip to main content
Log in

A local and global tour on MOMoT

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Many model transformation scenarios require flexible execution strategies as they should produce models with the highest possible quality. At the same time, transformation problems often span a very large search space with respect to possible transformation results. Recently, different proposals for finding good transformation results without enumerating the complete search space have been proposed by using meta-heuristic search algorithms. However, determining the impact of the different kinds of search algorithms, such as local search or global search, on the transformation results is still an open research topic. In this paper, we present an extension to MOMoT, which is a search-based model transformation tool, for supporting not only global searchers for model transformation orchestrations, but also local ones. This leads to a model transformation framework that allows as the first of its kind multi-objective local and global search. By this, the advantages and disadvantages of global and local search for model transformation orchestration can be evaluated. This is done in a case-study-based evaluation, which compares different performance aspects of the local- and global-search algorithms available in MOMoT. Several interesting conclusions have been drawn from the evaluation: (1) local-search algorithms perform reasonable well with respect to both the search exploration and the execution time for small input models, (2) for bigger input models, their execution time can be similar to those of global-search algorithms, but global-search algorithms tend to outperform local-search algorithms in terms of search exploration, (3) evolutionary algorithms show limitations in situations where single changes of the solution can have a significant impact on the solution’s fitness.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. http://www.moeaframework.org.

  2. Barring some small connotations, for simplicity, we treat the terms global search, evolutionary and population-based algorithms equally.

  3. Zero is assigned to the result of a division whenever its denominator is zero.

  4. http://moeaframework.org/javadoc/org/moeaframework/core/Variation.html.

  5. http://martin-fleck.github.io/momot/.

  6. Please note that MOMoT supports different Henshin transformation units and more complex transformations. We refer the interested reader to [28].

  7. Please note that the x:y notation used in Henshin is inspired from the UML object diagram notation. Thus, it contains as first part the variable name used for the element match and as second part the type the element match has to conform to.

  8. The only exception is the distinction between single-valued and multi-valued features, which is strictly enforced by Henshin.

  9. https://cdl-mint.big.tuwien.ac.at.

  10. http://www.transformation-tool-contest.eu/2016/solutions_cra.html.

References

  1. Abdeen, H., Varró, D., Sahraoui, H., Nagy, A.S., Debreceni, C., Hegedüs, A., Horváth, A.: Multi-objective optimization in rule-based design space exploration. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering (ASE), pp. 289–300 (2014)

  2. Agrawal, A.: Graph rewriting and transformation (GReAT): a solution for the model integrated computing (MIC) Bottleneck. In: Proceedings of the 18th International Conference on Automated Software Engineering (ASE’03), pp. 364–368 (2003)

  3. Arcuri, A., Briand, L.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE), pp. 1–10 (2011)

  4. Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced concepts and tools for in-place EMF model transformations. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 121–135 (2010)

  5. Baki, I., Sahraoui, H.A., Cobbaert, Q., Masson, P., Faunes, M.: Learning implicit and explicit control in model transformations by example. In: Proceedings of 17th International Conference on Model-Driven Engineering Languages and Systems (MODELS), pp. 636–652 (2014)

  6. ben Fadhel, A., Kessentini, M., Langer, P., Wimmer, M.: Search-based detection of high-level model changes. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM), pp. 212–221 (2012)

  7. Biermann, E., Ermel, C., Taentzer, G.: Lifting parallel graph transformation concepts of model transformation based on the eclipse modeling framework. Electron. Commun. EASST 26, 1–19 (2010)

    Google Scholar 

  8. Bowman, M., Briand, L., Labiche, Y.: Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms. IEEE TSE 36(6), 817–837 (2010)

    Google Scholar 

  9. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool, San Rafael (2012)

    Book  Google Scholar 

  10. Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: MoDisco: A generic and extensible framework for model driven reverse engineering. In: Proceedings of the 25th International Conference on Automated Software Engineering (ASE), pp. 173–174 (2010)

  11. Cohen, W.: Machine learning proceedings 1994: Proceedings of the Eighth International Conference. Elsevier Science (2014)

  12. Cuadrado, J.S., Molina, J.G., Tortosa, M.M.: RubyTL: A practical, extensible transformation language. In: Proceedings of the 2nd European Conference on Model Driven Architecture—Foundations and Applications (ECMDA-FA), pp. 158–172 (2006)

  13. Darwin, C.: On the origin of species by means of natural selection. John Murray, London (1859)

    Google Scholar 

  14. Deb, K., Jain, H.: Handling many-objective problems using an improved NSGA-II procedure. In: Proceedings of the 7th World Congress on Evolutionary Computation (CEC), pp. 1–8 (2012)

  15. Deb, K., Jain, H.: An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints. IEEE Trans. Evol. Comput. 18(4), 577–601 (2014)

    Article  Google Scholar 

  16. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)

    Article  Google Scholar 

  17. Denil, J., Jukss, M., Verbrugge, C., Vangheluwe, H.: Search-based model optimization using model transformations. In: Amyot, D., Fonseca i Casas, P., Mussbacher, G. (eds.) Proceedings of the 8th International Conference on System Analysis and Modeling (SAM), pp. 80–95 (2014)

  18. Drago, M.L., Ghezzi, C., Mirandola, R.: Towards quality driven exploration of model transformation spaces. In: Proceedings of the 14th International Conference on Model Driven Engineering Languages and Systems (MoDELS’11), pp. 2–16 (2011)

  19. Drago, M.L., Ghezzi, C., Mirandola, R.: A quality driven extension to the QVT-relations transformation language. Comput. Sci. R&D 30(1), 1–20 (2015)

    Google Scholar 

  20. Efstathiou, D., Williams, J.R., Zschaler, S.: Crepe complete: multi-objective optimisation for your models. In: Proceedings of the First International Workshop on Combining Modelling with Search- and Example-Based Approaches (CMSEBA’14) @ MODELS, vol. 1340, pp. 25–34. CEUR-WS.org (2014)

  21. Eiben, A.E., Smit, S.K.: Parameter tuning for configuring and analyzing evolutionary algorithms. Swarm Evol. Comput. 1(1), 19–31 (2011)

    Article  Google Scholar 

  22. Fatiregun, D., Harman, M., Hierons, R.M.: Search based transformations. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’03), LNCS, vol. 2724, pp. 2511–2512. Springer (2003). https://doi.org/10.1007/3-540-45110-2_154

  23. Fatiregun, D., Harman, M., Hierons, R.M.: Evolving transformation sequences using genetic algorithms. In: Proceedings of the 4th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM), pp. 66–75 (2004)

  24. Faunes, M., Sahraoui, H.A., Boukadoum, M.: Genetic-programming approach to learn model transformation rules from examples. In: Proceedings of the 6th International Conference on Theory and Practice of Model Transformations (ICMT), pp. 17–32 (2013)

  25. Fleck, M., Troya, J., Wimmer, M.: Marrying search-based optimization and model transformation technology. In: Proceedings of the 1st North American Search Based Software Engineering Symposium (NasBASE) (2015)

  26. Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations with MOMoT. In: Proceedings of the 9th International Conference on Theory and Practice of Model Transformations (ICMT), pp. 79–87 (2016)

  27. Fleck, M., Troya, J., Wimmer, M.: The class responsibility assignment case. In: Proceedings of the 9th Transformation Tool Contest (TTC 2016), pp. 1–10 (2016)

  28. Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations. J. Softw. Evol. Process 28(12), 1081–1117 (2016)

    Article  Google Scholar 

  29. Fleck, M., Troya, J., Kessentini, M., Wimmer, M., Alkhazi, B.: Model transformation modularization as a many-objective optimization problem. IEEE Trans. Softw. Eng (2017). https://doi.org/10.1109/TSE.2017.2654255

  30. Fogel, L.J.: Toward inductive inference automata. In: Proceedings of the 2nd International Federation for Information Processing (IFIP), pp. 395–399 (1962)

  31. Fogel, L.J.: Intelligence Through Simulated Evolution. Wiley, New York (1966)

    MATH  Google Scholar 

  32. Glover, F.: Future paths for integer programming and links to artificial intelligence. Comput. Operat. Res 13(5), 533–549 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  33. Gogolla, M., Hamann, L., Hilken, F.: On static and dynamic analysis of UML and OCL transformation models. In: Proceedings of the Workshop on Analysis of Model Transformations (AMT) @ MODELS, CEUR Workshop Proceedings, vol. 1277, pp. 24–33. CEUR-WS.org (2014)

  34. Goldberg, D.E., Lingle Jr., R.: Alleles, loci, and the traveling salesman problem. In: Proceedings of the 1st International Conference on Genetic Algorithms (ICGA), pp. 154–159 (1985)

  35. Harman, M.: The current state and future of search based software engineering. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 342–357 (2007)

  36. Herrmannsdoerfer, M.: COPE—a workbench for the coupled evolution of metamodels and models. In: Proceedings of the 3rd International Conference on Software Language Engineering (SLE), pp. 286–295 (2010)

  37. Holland, J.H.: Outline for a logical theory of adaptive systems. J. ACM 9(3), 297–314 (1962)

    Article  MATH  Google Scholar 

  38. Holland, J.H.: Adaptation in Natural and Artificial Systems. MIT Press, Cambridge (1975)

    Google Scholar 

  39. Holland, J.H.: Adaptation in Natural and Artificial Systems. MIT Press, Cambridge (1992)

    Book  Google Scholar 

  40. Ishibuchi, H., Kaige, S.: Implementation of simple multiobjective memetic algorithms and its applications to knapsack problems. Int. J. Hybrid Intell. Syst. 1(1), 22–35 (2004)

    Article  Google Scholar 

  41. Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Conceptual Modelling and Its Theoretical Foundations. LNCS, vol. 7260, pp. 197–215. Springer, Heidelberg (2012)

  42. Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Model transformation as an optimization problem. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems (MoDELS’08), LNCS, vol. 5301, pp. 159–173. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-87875-9_12

  43. Kessentini, M., Bouchoucha, A., Sahraoui, H.A., Boukadoum, M.: Example-based sequence diagrams to colored petri nets transformation using heuristic search. In: Proceedings of the 6th European Conference on Modelling Foundations and Applications (ECMFA), pp. 156–172 (2010)

  44. Kessentini, M., Sahraoui, H.A., Boukadoum, M., Benomar, O.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2012)

    Article  Google Scholar 

  45. Kessentini, M., Langer, P., Wimmer, M.: Searching models, modeling search: on the synergies of SBSE and MDE. In: Proceedings of the 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE) @ ICSE, pp. 51–54 (2013)

  46. Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  47. Kleiner, M., Didonet Del Fabro, M., Queiroz Santos, D.: Transformation as search. In: Proceedings of the 9th European Conference on Modelling Foundations and Applications (ECMFA), pp. 54–69 (2013)

  48. Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations (ICMT), pp. 46–60 (2008)

  49. Koza, J.R.: Genetic Programming. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  50. Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 18(1), 50–60 (1947)

    Article  MathSciNet  MATH  Google Scholar 

  51. Masoud, H., Jalili, S.: A clustering-based model for class responsibility assignment problem in object-oriented analysis. JSS 93, 110–131 (2014)

    Google Scholar 

  52. Mkaouer, W., Kessentini, M., Shaout, A., Koligheu, P., Bechikh, S., Deb, K., Ouni, A.: Many-objective software remodularization using NSGA-III. ACM Trans. Softw. Eng. Methodol. 24(3), 17:1–17:45 (2015)

  53. Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), pp. 742–745 (2000)

  54. OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, Version 1.1 (2011). http://www.omg.org/spec/QVT/1.1/

  55. Rechenberg, I.: Cybernetic solution path of an experimental problem. Library Translation 1112, Royal Aircraft Establishment (1965)

  56. Rechenberg, I.: Evolutionsstrategie: Optimierung Technischer Systeme Nach Prinzipien der Biologischen Evolution. Frommann-Holzboog, Stuttgart (1973)

    Google Scholar 

  57. Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model migration with epsilon flock. In: Proceedings of the 3rd International Conference on Theory and Practice of Model Transformations (ICMT), pp. 184–198 (2010)

  58. Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–164 (2009)

    Article  Google Scholar 

  59. Ruscio, D.D., Etzlstorfer, J., Iovino, L., Pierantonio, A., Schwinger, W.: Supporting variability exploration and resolution during model migration. In: Proceedings of the 12th European Conference on Modelling Foundations and Applications (ECMFA), pp. 231–246 (2016)

  60. Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 3rd edn. Prentice-Hall, Upper Saddle (2009)

    MATH  Google Scholar 

  61. Saada, H., Huchard, M., Nebut, C., Sahraoui, H.A.: Recovering model transformation traces using multi-objective optimization. In: Proceedings of the 28th International Conference on Automated Software Engineering (ASE), pp. 688–693 (2013)

  62. Schürr, A.: Specification of graph translators with triple graph grammars. In: Graph-Theoretic Concepts in Computer Science, 20th International Workshop, WG ’94, Herrsching, Germany, June 16–18, 1994, Proceedings, pp. 151–163 (1994)

  63. Shelburg, J., Kessentini, M., Tauritz, D.: Regression testing for model transformations: a multi-objective approach. In: Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE), pp. 209–223 (2013)

  64. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2008)

  65. Talbi, E.G.: Metaheuristics: From Design to Implementation. Wiley Publishing, New York (2009)

    Book  MATH  Google Scholar 

  66. Troya, J., Wimmer, M., Burgueño, L., Vallecillo, A.: Towards approximate model transformations. In: Proceedings of the Workshop on Analysis of Model Transformations (AMT) @ MODELS, pp. 44–53 (2014)

  67. Van Laarhoven, P.J., Aarts, E.H.: Simulated annealing. In: Simulated Annealing: Theory and Applications. Springer, Berlin (1987)

    Book  MATH  Google Scholar 

  68. Varró, D.: Model transformation by example. In: Proceedings of 9th International Conference on Model-Driven Engineering Languages and Systems (MODELS), pp. 410–424 (2006)

  69. Varró, D., Bergmann, G., Hegedüs, Á., Horváth, Á., Ráth, I., Ujhelyi, Z.: Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework. Softw. Syst. Model. 15(3), 609–629 (2016)

    Article  Google Scholar 

  70. Visser, E.: A survey of rewriting strategies in program transformation systems. Electron. Note. Theor. Comput. Sci. 57(2), 109–143 (2001)

    Article  MATH  Google Scholar 

  71. Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: Proceedings of the 40th Hawaii International Conference on Systems Science (HICSS), p. 285b (2007)

  72. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B.: Experimentation in Software Engineering. Springer, Berlin (2012)

    Book  MATH  Google Scholar 

  73. Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the strength pareto evolutionary algorithm. TIK-Report 103, Computer Engineering and Networks Laboratory (TIK) and Swiss Federal Institute of Technology (ETH) Zurich (2001)

  74. Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C.M., da Fonseca, V.G.: Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans. Evol. Comput. 7(2), 117–132 (2003)

    Article  Google Scholar 

Download references

Acknowledgements

The work of Javier Troya is funded by the European Commission (FEDER) and the Spanish and the Andalusian R&D&I programmes under grants and projects BELI (TIN2015-70560-R) and COPAS (P12-TIC-1867). Finally, the work of Manuel Wimmer is funded by the Austrian Federal Ministry of Science, Research and Economy and the National Foundation for Research, Technology and Development as well as by the Austrian Science Fund (FWF): P 28519-N31.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Javier Troya.

Additional information

Communicated by Prof. Andrzej Wasowski and Pieter van Gorp.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bill, R., Fleck, M., Troya, J. et al. A local and global tour on MOMoT. Softw Syst Model 18, 1017–1046 (2019). https://doi.org/10.1007/s10270-017-0644-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0644-3

Keywords

Navigation