A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
USE: A UML-based specification environment for validating UML and OCL
Science of Computer Programming
Formal verification of QVT transformations for code generation
Proceedings of the 14th international conference on Model driven engineering languages and systems
Modular embedding of the object constraint language into a programming language
SBMF'11 Proceedings of the 14th Brazilian conference on Formal Methods: foundations and Applications
Hi-index | 0.00 |
MOF QVT introduces ImperativeOCL as an imperative language for operational descriptions of model transformations (QVT operational mappings). ImperativeOCL extends conventional OCL by expressions with side-effects. A couple of semantical problems arise from the way OCL is embedded into ImperativeOCL --- imperative expressions are modelled as a subtype of OCL expressions. This paper points out these semantical problems and proposes a change to the operational mappings language of QVT that resolves these problems, following an approach that reuses OCL by composition rather than by inheritance in the abstract syntax of ImperativeOCL. The proposed change reduces the complexity of the imperative language, removes undefinedness, and leaves OCL conformant to its original definition.