Abstract
We apply methods of genetic programming to a general problem from software engineering, namely example-based generation of specifications. In particular, we focus on model transformation by example. The definition and implementation of model transformations is a task frequently carried out by domain experts, hence, a (semi-)automatic approach is desirable. This application is challenging because the underlying search space has rich semantics, is high-dimensional, and unstructured. Hence, a computationally brute-force approach would be unscalable and potentially infeasible. To address that problem, we develop a sophisticated approach of designing complex mutation operators. We define ‘patterns’ for constructing mutation operators and report a successful case study. Furthermore, the code of the evolved model transformation is required to have high maintainability and extensibility, that is, the code should be easily readable by domain experts. We report an evaluation of this approach in a software engineering case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
OMG – MOF http://www.omg.org/spec/MOF/2.4.1/, 2015/09/09.
- 2.
OMG – UML http://www.omg.org/spec/UML/2.4.1/, 2015/09/09.
- 3.
Eclipse Foundation – ETL http://www.eclipse.org/epsilon, 2015/09/09.
- 4.
Eclipse Foundation – EMF http://www.eclipse.org/emf/, 2015/09/09.
References
Astor, J.C., Adami, C.: A developmental model for the evolution of artificial neural networks. Artif. Life 6(3), 189–218 (2000)
Baki, I., Sahraoui, H., Cobbaert, Q., Masson, P., Faunes, M.: Learning implicit and explicit control in model transformations by example. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 636–652. Springer, Heidelberg (2014)
Banzhaf, W.: Artificial regulatory networks and genetic programming. In: Riolo, R., Worzel, B. (eds.) Genetic Programming Theory and Practice, pp. 43–62. Kluwer, Dordrecht (2003)
Bongard, J.: Evolving modular genetic regulatory networks. In: Proceedings of the World on Congress on Computational Intelligence, pp. 1872–1877. IEEE (2002)
Clune, J., Ofria, C., Pennock, R.T.: How a generative encoding fares as problem-regularity decreases. In: Rudolph, G., Jansen, T., Lucas, S., Poloni, C., Beume, N. (eds.) PPSN 2008. LNCS, vol. 5199, pp. 358–367. Springer, Heidelberg (2008)
Faunes, M., Sahraoui, H., Boukadoum, M.: Genetic-programming approach to learn model transformation rules from examples. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 17–32. Springer, Heidelberg (2013)
Gruau, F.: Automatic definition of modular neural networks. Adapt. Behav. 3(2), 151–183 (1994)
Hornby, G.S.: Generative representations for evolutionary design automation. Ph.D. thesis, Brandeis University (2003)
Hornby, G.S., Pollack, J.B.: Creating high-level components with a generative representation for body-brain evolution. Artif. Life 8(2), 223–246 (2002)
Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations. LNCS, vol. 7260, pp. 197–215. Springer, Heidelberg (2012)
Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2010)
Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Model transformation as an optimization problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Heidelberg (2008)
Matarić, M.J., Cliff, D.: Challenges in evolving controllers for physical robots. Robot. Auton. Syst. 19(1), 67–83 (1996)
O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Springer, New York (2003)
Acknowledgment
This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Centre ‘On-The-Fly Computing’ (SFB 901).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Kühne, T., Hamann, H., Arifulina, S., Engels, G. (2016). Patterns for Constructing Mutation Operators: Limiting the Search Space in a Software Engineering Application. In: Heywood, M., McDermott, J., Castelli, M., Costa, E., Sim, K. (eds) Genetic Programming. EuroGP 2016. Lecture Notes in Computer Science(), vol 9594. Springer, Cham. https://doi.org/10.1007/978-3-319-30668-1_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-30668-1_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30667-4
Online ISBN: 978-3-319-30668-1
eBook Packages: Computer ScienceComputer Science (R0)