Abstract
Refinements are model transformations that leave large parts of the source models unchanged. Therefore, if refinements are executed outplace, model elements need to be copied to the target model. Refinements written in imperative languages are increasingly verbose, unless suitable language facilities exist for creating these copies implicitly. Thus, for languages restricted to general-purpose facilities, the verbosity of refinements is still an open problem. Existing approaches towards reducing this verbosity suffer from the complexity of developing a higher-order transformation to synthesize the copying code. In this paper, we propose a generic transformation library for creating implicit copies, reducing the verbosity without a higher-order transformation. We identify the underlying general-purpose language facilities, and compare state-of-the-art languages against these requirements. We give a proof of concept using the imperative QVTo language, and showcase the ability of our library to reduce the verbosity of an industrial-scale transformation chain.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Amstel, M.F., Brand, M.G.J.: Model transformation analysis: staying ahead of the maintenance nightmare. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 108–122. Springer, Heidelberg (2011). doi:10.1007/978-3-642-21732-6_8
Anjorin, A., Saller, K., Lochau, M., Schürr, A.: Modularizing triple graph grammars using rule refinement. In: Gnesi, S., Rensink, A. (eds.) FASE 2014. LNCS, vol. 8411, pp. 340–354. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54804-8_24
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
Batot, E., Sahraoui, H.A., Syriani, E., Molins, P., Sboui, W.: Systematic mapping study of model transformations for concrete problems. In: MODELSWARD 2016, pp. 176–183. SciTePress (2016)
Becker, S., Dziwok, S., Gerking, C., Heinzemann, C., Schäfer, W., Meyer, M., Pohlmann, U.: The MechatronicUML method. In: ICSE Companion 2014, pp. 614–615. ACM (2014)
Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? transformation models!. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 440–453. Springer, Heidelberg (2006). doi:10.1007/11880240_31
Denil, J., Cicchetti, A., Biehl, M., Meulenaere, P.D., Eramo, R., Demeyer, S., Vangheluwe, H.: Automatic deployment space exploration using refinement transformations. Electronic Communications of the EASST 50 (2011)
Freund, M., Braune, A.: A generic transformation algorithm to simplify the development of mapping models. In: MoDELS 2016, pp. 284–294. ACM (2016)
Gerking, C., Dziwok, S., Heinzemann, C., Schäfer, W.: Domain-specific model checking for cyber-physical systems. In: MoDeVVa 2015, pp. 18–27 (2015)
Gerpheide, C.M., Schiffelers, R.R.H., Serebrenik, A.: Assessing and improving quality of QVTo model transformations. Software Qual. J. 24(3), 797–834 (2016)
Giese, H., Tichy, M., Burmester, S., Schäfer, W., Flake, S.: Towards the compositional verification of real-time UML designs. In: ESEC/FSE 2003, pp. 38–47. ACM (2003)
Goldschmidt, T., Wachsmuth, G.: Refinement transformation support for QVT relational transformations. In: MDSE 2008 (2008)
Gorp, P., Keller, A., Janssens, D.: Transformation language integration based on profiles and higher order transformations. In: Gašević, D., Lämmel, R., Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 208–226. Springer, Heidelberg (2009). doi:10.1007/978-3-642-00434-6_14
Hebig, R., Khelladi, D., Bendraou, R.: Approaches to co-evolution of metamodels and models: a survey. IEEE Trans. Softw. Eng. 43(5), 396–414 (2016)
Hemel, Z., Kats, L.C.L., Groenewegen, D.M., Visser, E.: Code generation by model transformation: a case study in transformation modularity. Softw. Syst. Model. 9(3), 375–402 (2010)
Herrmannsdörfer, M., Wachsmuth, G.: Coupled evolution of software metamodels and models. In: Mens, T., Serebrenik, A., Cleve, A. (eds.) Evolving Software Systems, pp. 33–63. Springer, Heidelberg (2014)
Jézéquel, J.M.: Model driven design and aspect weaving. Softw. Syst. Model. 7(2), 209–218 (2008)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)
Kapová, L., Goldschmidt, T.: Automated feature model-based generation of refinement transformations. In: SEAA 2009, pp. 141–148 (2009)
Kapová, L., Goldschmidt, T., Happe, J., Reussner, R.H.: Domain-specific templates for refinement transformations. In: MDI 2010, pp. 69–78. ACM (2010)
Kolovos, D.S., Paige, R.F., Polack, F., Rose, L.M.: Update transformations in the small with the Epsilon Wizard Language. J. Object Technol. 6(9), 53–69 (2007)
Kraas, A.: Realizing model simplifications with QVT operational mappings. In: OCL 2014, pp. 53–62 (2014)
Krause, C., Dyck, J., Giese, H.: Metamodel-specific coupled evolution based on dynamically typed graph transformations. In: Duddy, K., Kappel, G. (eds.) ICMT 2013. LNCS, vol. 7909, pp. 76–91. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38883-5_10
Lano, K., Kolahdouz Rahimi, S.: Model-transformation design patterns. IEEE Trans. Softw. Eng. 40(12), 1224–1259 (2014)
Lúcio, L., Amrani, M., Dingel, J., Lambers, L., Salay, R., Selim, G.M.K., Syriani, E., Wimmer, M.: Model transformation intents and their properties. Softw. Syst. Model. 15(3), 647–684 (2016)
Mens, T., van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)
Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. No. formal/15-02-01 (2015)
Paige, R.F., Matragkas, N.D., Rose, L.M.: Evolving models in model-driven engineering: State-of-the-art and future challenges. J. Syst. Softw. 111, 272–280 (2016)
Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C., Poulding, S.M.: Epsilon Flock: a model migration language. Softw. Syst. Model. 13(2), 735–755 (2014)
Stahl, T., Völter, M.: Model-driven software development: technology, engineering, management. Wiley (2013)
Tisi, M., Cabot, J., Jouault, F.: Improving higher-order transformations support in ATL. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 215–229. Springer, Heidelberg (2010). doi:10.1007/978-3-642-13688-7_15
Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02674-4_3
Wagelaar, D., van der Straeten, R., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. Softw. Syst. Model. 9(3), 285–309 (2009)
Willink, E.D.: Modeling the OCL standard library. Electronic Communications of the EASST 44 (2011)
Acknowledgments
The authors thank Marie Christin Platenius and Anthony Anjorin for helpful comments on earlier versions of the paper, and Mario Treiber for assisting in our validation.
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
Gerking, C., Schubert, D., Budde, I. (2017). Reducing the Verbosity of Imperative Model Refinements by Using General-Purpose Language Facilities. 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_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-61473-1_2
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)