Abstract
Optimal support for continuous evolution in model-based software development requires tool environments to be customisable to domain-specific modelling languages. An important aspect is the set of change operations available to modify models. In-place model transformations are well-suited for that purpose. However, the specification of transformation rules requires a deep understanding of the language meta-model, limiting it to expert tool developers and language designers. This is at odds with the aim of domain-specific visual modelling environments, which should be customisable by domain experts.
We follow a model transformation by-example approach to mitigate that problem: Users generate transformation rules by creating examples of transformations using standard visual editors as macro recorders. Our ambition is to stick entirely to the concrete visual notation domain experts are familiar with, using rule inference to generalise a set of transformation examples. In contrast to previous approaches to the same problem, our approach supports the inference of complex rule features such as negative application conditions, multi-object patterns and global invariants. We illustrate the functioning of our approach by the inference of a complex and widely used refactoring operation on UML class diagrams.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Accompanying material for this paper (2017). http://icmt.mtrproject.uk
Acreţoaie, V., Störrle, H., Strüber, D.: VMTL: a language for end-user model transformation. Softw. Syst. Model., 1–29 (2016)
Alshanqiti, A., Heckel, R.: Extracting visual contracts from Java programs. In: ASE (2015)
Alshanqiti, A., Heckel, R., Khan, T.: Learning minimal and maximal rules from observations of graph transformations. In: ECEASST, vol. 58 (2013)
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16145-2_9
Baki, I., Sahraoui, H.: Multi-step learning and adaptive search for learning complex model transformations from examples. TOSEM 25(3), 20 (2016)
Balogh, A., Varró, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: ACM Symposium on Applied Computing (2006)
Balogh, Z., Varró, D.: Model transformation by example using inductive logic programming. SoSym 8(3), 347–364 (2009)
Bisztray, D., Heckel, R., Ehrig, H.: Verification of architectural refactorings: rule extraction and tool support. In: ECEASST, vol. 16 (2009)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, San Rafael (2012)
Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: An example is worth a thousand words: composite operation modeling by-example. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 271–285. Springer, Heidelberg (2009). doi:10.1007/978-3-642-04425-0_20
Bruggink, H.J.S.: Towards process mining with graph transformation systems. In: Giese, H., König, B. (eds.) ICGT 2014. LNCS, vol. 8571, pp. 253–268. Springer, Cham (2014). doi:10.1007/978-3-319-09108-2_17
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Heidelberg (2006)
Flamm, C., Merkle, D., Stadler, P.F., Thorsen, U.: Automatic inference of graph transformation rules using the cyclic nature of chemical reactions. In: Echahed, R., Minas, M. (eds.) ICGT 2016. LNCS, vol. 9761, pp. 206–222. Springer, Cham (2016). doi:10.1007/978-3-319-40530-8_13
García-Magariño, I., Gómez-Sanz, J.J., Fuentes-Fernández, R.: Model transformation by-example: an algorithm for generating many-to-many transformation rules in several model transformation languages. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 52–66. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02408-5_5
Getir, S., Rindt, M., Kehrer, T.: A generic framework for analyzing model co-evolution. In: ME@MoDELS (2014)
Grønmo, R.: Using concrete syntax in graph-based model transformations. Ph.D. thesis, University of Oslo (2009)
Hölldobler, K., Rumpe, B., Weisemoller, I.: Systematically deriving domain-specific transformation languages. In: MoDELS (2015)
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). doi:10.1007/978-3-642-28279-9_15
Kehrer, T., Kelter, U., Ohrndorf, M., Sollbach, T.: Understanding model evolution through semantically lifting model differences with silift. In: ICSM (2012)
Kehrer, T., Kelter, U., Reuling, D.: Workspace updates of visual models. In: ASE (2014)
Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: An analysis of approaches to support model differencing. In: CVSM@ICSE (2009)
Kühne, T., Hamann, H., Arifulina, S., Engels, G.: Patterns for constructing mutation operators: limiting the search space in a software engineering application. In: European Conference on Genetic Programming (2016)
Mens, T.: On the use of graph transformations for model refactoring. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 219–257. Springer, Heidelberg (2006). doi:10.1007/11877028_7
Mens, T., Van Gorp, P.: A taxonomy of model transformation. In: ENTCS, vol. 152 (2006)
Object Management Group: UML 2.5 superstructure specification. OMG Document Number: formal/15-03-01 (2015)
Sun, Y., White, J., Gray, J.: Model transformation by demonstration. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 712–726. Springer, Heidelberg (2009). doi:10.1007/978-3-642-04425-0_58
Taentzer, G., Crema, A., Schmutzler, R., Ermel, C.: Generating domain-specific model editors with complex editing commands. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 98–103. Springer, Heidelberg (2008). doi:10.1007/978-3-540-89020-1_8
You, C.h., Holder, L.B., Cook, D.J.: Learning patterns in the dynamics of biological networks. In: International Conference on Knowledge Discovery and Data Mining (2009)
Acknowledgments
The work of the first author was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design For Future – Managed Software Evolution.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Kehrer, T., Alshanqiti, A., Heckel, R. (2017). Automatic Inference of Rule-Based Specifications of Complex In-place Model Transformations. In: Guerra, E., van den Brand, M. (eds) Theory and Practice of Model Transformation. ICMT 2017. Lecture Notes in Computer Science(), vol 10374. Springer, Cham. https://doi.org/10.1007/978-3-319-61473-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-61473-1_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-61472-4
Online ISBN: 978-3-319-61473-1
eBook Packages: Computer ScienceComputer Science (R0)