Implementing QVT-R Bidirectional Model Transformations Using Alloy [chapter]

Nuno Macedo, Alcino Cunha
2013 Lecture Notes in Computer Science  
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
more » ... ints (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.
doi:10.1007/978-3-642-37057-1_22 fatcat:5kz36orjzrhbblowr4ntcatmem