Abstract
Formal semantics is a convenient tool to equip a model transformation language with precise meaning for its model transformations. Hence, clarifying their usage in complex scenarios and helping in the development of robust model transformation engines. In this paper, we focus on the formal specification of a model transformation engine for the declarative part of ATL.
We present an implementation-agnostic, big-step, structural operational semantics for ATL transformation rules and a rule scheduler, which form the specification of an interpreter for ATL. Hence, avoiding a complex compilation phase. The resulting semantics for rules enjoys a compositional nature and we illustrate its advantages by reusing an interpreter for OCL. The semantics discussed has been validated with the implementation of an interpreter in Maude, enabling the execution of model transformations and their formal analysis using Maude’s toolkit. We also present an evaluation of the interpreter’s performance and scalability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The other ATL rules used in the case study are available at [10] or by accessing the experiment resources at https://github.com/arturboronat/fma-atl-experiments.
- 2.
The extension to several in-pattern elements does not necessarily affect the order of magnitude of the performance obtained in the experiments in Sect. 4. In practice, matching different in-pattern elements in the model consists of independent queries together with the evaluation of the filter condition, whose cost may become the dominating factor.
- 3.
This constraint does not apply to OCL expressions in the filter condition.
- 4.
Lazy rule recursion is conditioned by the containment structure specified in the meta-model, including infinite recursive structures, as in the composite design pattern.
- 5.
This notation is a convenient representation both for executing a function and for decomposing its results with projections. Hence, unification is not required.
- 6.
At the moment, we only consider one target domain. To consider more than one target domain, we only need to add an additional rule to iterate over the different domain actions appropriately.
- 7.
The case study and the resources for the experiments performed can be found at https://github.com/arturboronat/fma-atl-experiments.
- 8.
Note that the authors also showed how to implement lazy rules in [14] as functions although there are no experimental results. However, such semantics for lazy rules differs from that of FMA-ATL where the semantics of a lazy rule is exactly the same as that of a matched rule, including the production of trace links.
References
Ab. Rahim, A., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)
Amrani, M., Combemale, B., Lucio, L., Selim, G.M.K., Dingel, J., Traon, Y.L., Vangheluwe, H., Cordy, J.R.: Formal verification techniques for model transformations: a tridimensional classification. JOT 14(3), 1:1–43 (2015)
Boronat, A.: Well-Behaved Model Transformations with Model Subtyping. CoRR abs/1703.08113 (2017)
Boronat, A., Heckel, R., Meseguer, J.: Rewriting logic semantics and verification of model transformations. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 18–33. Springer, Heidelberg (2009). doi:10.1007/978-3-642-00593-0_2
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers (2012)
Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of ATL transformations using transformation models and model finders. In: Aoki, T., Taguchi, K. (eds.) ICFEM 2012. LNCS, vol. 7635, pp. 198–213. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34281-3_16
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)
Di Ruscio, D., Jouault, F., Kurtev, I., Bézivin, J., Pierantonio, A.: Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs. Laboratoire d’Informatique de Nantes-Atlantique, LINA (2006)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)
Lawlew, M., Duddy, K., Gerber, A., Raymond, K.: Language Features for Re-Use and Maintainability of MDA Transformations. In: OOPSLA & GPCE Workshop (2004). adapted in. https://www.eclipse.org/atl/atlTransformations/#Class2Relational
Roldán, M., Durán, F.: The mOdCL evaluator: Maude + OCL (2013). http://maude.lcc.uma.es/mOdCL/. Accessed 3 Mar 2016
Oakes, B.J., Troya, J., Lucio, L., Wimmer, M.: Fully verifying transformation contracts for declarative ATL. In: ACM/IEEE MoDELS 2015, pp. 256–265 (2015)
Troya, J., Vallecillo, A.: Towards a rewriting logic semantics for ATL. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 230–244. Springer, Heidelberg (2010). doi:10.1007/978-3-642-13688-7_16
Troya, J., Vallecillo, A.: A rewriting logic semantics for ATL. J. Object Technol. 10(5), 1–29 (2011)
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
Boronat, A. (2017). Experimentation with a Big-Step Semantics for ATL 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_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-61473-1_1
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)