Abstract
QVT Relations (QVT-R) is the standard language proposed by the OMG to specify bidirectional model transformations. Unfortunately, in part due to ambiguities and omissions in the original semantics, acceptance and development of effective tool support has been slow. Recently, the checking semantics of QVT-R has been clarified and formalized. In this paper we propose a QVT-R tool that complies to such semantics. Unlike any other existing tool, it also supports meta-models enriched with OCL constraints (thus avoiding returning ill-formed models), and proposes an alternative enforcement semantics that works according to the simple and predictable “principle of least change”. The implementation is based on an embedding of both QVT-R transformations and UML class diagrams (annotated with OCL) in Alloy, a lightweight formal specification language with support for automatic model finding via SAT solving.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling 9, 69–86 (2010)
Boronat, A., Carsí, J.Á., Ramos, I.: Algebraic Specification of a Model Transformation Engine. In: Baresi, L., Heckel, R. (eds.) FASE 2006. LNCS, vol. 3922, pp. 262–277. Springer, Heidelberg (2006)
Bradfield, J., Stevens, P.: Recursive Checkonly QVT-R Transformations with General when and where Clauses via the Modal Mu Calculus. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 194–208. Springer, Heidelberg (2012)
Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software 83(2), 283–302 (2012)
Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: JTL: A Bidirectional and Change Propagating Transformation Language. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 183–202. Springer, Heidelberg (2011)
Cunha, A., Garis, A., Riesco, D.: Translating between Alloy specifications and UML class diagrams annotated with OCL (2012), http://www.di.uminho.pt/~mac/Publications/AlloyMDA.pdf
Garcia, M.: Formalization of QVT-Relations: OCL-based static semantics and Alloy-based validation. In: MDSD Today 2008. pp. 21–30. Shaker Verlag (2008)
Greenyer, J., Kindler, E.: Comparing relational model transformation technologies: implementing Query/View/Transformation with Triple Graph Grammars. Software and System Modeling 9(1), 21–46 (2010)
Guerra, E., de Lara, J.: An algebraic semantics for QVT-relations check-only transformations. Fundam. Inform. 114(1), 73–101 (2012)
ikv++ technologies ag: medini QVT, http://projects.ikv.de/qvt/
Jackson, D.: Software Abstractions: Logic, Language, and Analysis, revised edn. MIT Press, London (2012)
de Lara, J., Guerra, E.: Formal Support for QVT-Relations with Coloured Petri Nets. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 256–270. Springer, Heidelberg (2009)
Meertens, L.: Designing constraint maintainers for user interaction (1998), manuscript available at http://www.kestrel.edu/home/people/meertens
Milicevic, A., Jackson, D.: Preventing Arithmetic Overflows in Alloy. In: Derrick, J., Fitzgerald, J., Gnesi, S., Khurshid, S., Leuschel, M., Reeves, S., Riccobene, E. (eds.) ABZ 2012. LNCS, vol. 7316, pp. 108–121. Springer, Heidelberg (2012)
OMG: MOF 2.0 Query/View/Transformation specification (QVT), version 1.1 (January 2011), http://www.omg.org/spec/QVT/1.1/
OMG: OMG Unified Modeling Language (UML), version 2.4.1 (August 2011), http://www.omg.org/spec/UML/2.4.1/
OMG: OMG Object Constraint Language (OCL), version 2.3.1 (January 2012), http://www.omg.org/spec/OCL/2.3.1/
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Software and System Modeling 9(1), 7–20 (2010)
Stevens, P.: A simple game-theoretic approach to checkonly QVT relations. Software and System Modeling (2011), http://dx.doi.org/10.1007/s10270-011-0198-8
Tata Research Development and Design Centre: ModelMorf, http://www.tcs-trddc.com/trddc_website/ModelMorf/ModelMorf.html
Voigt, K.: Structural Graph-based Metamodel Matching. Ph.D. thesis, University of Desden (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Macedo, N., Cunha, A. (2013). Implementing QVT-R Bidirectional Model Transformations Using Alloy. In: Cortellessa, V., Varró, D. (eds) Fundamental Approaches to Software Engineering. FASE 2013. Lecture Notes in Computer Science, vol 7793. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37057-1_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-37057-1_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37056-4
Online ISBN: 978-3-642-37057-1
eBook Packages: Computer ScienceComputer Science (R0)