On OCL-based imperative languages - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Science of Computer Programming Year : 2014

On OCL-based imperative languages


The Object Constraint Language (OCL) is a well-accepted ingredient in model-driven engineering and accompanying modeling languages such as UML (Unified Modeling Language) and EMF (Eclipse Modeling Framework) that support object-oriented software development. Among various possibilities, OCL offers the formulation of class invariants and operation contracts in form of pre- and postconditions, and side-effect free query operations. Much research has been done on OCL and various mature implementations are available for it. OCL is also used as the foundation for several modeling-specific programming and transformation languages. However, an intrusive way of embedding OCL into these language hampers us when we want to benefit from the existing achievements for OCL. In response to this shortcoming, we propose the language SOIL (Simple OCL-like Imperative Language), which we implemented in the UML and OCL modeling tool USE to amend its declarative model validation features. The expression sub-language of SOIL is identical to OCL. SOIL adds imperative constructs for programming in the domain of models. Thus by employing OCL and SOIL, it is possible to describe any operation in a declarative way and in an operational way on the modeling level without going into the details of a conventional programming language. In contrast to other similar approaches, the embedding of OCL into SOIL is done in a careful, non-intrusive way so that purity of OCL is preserved.

Dates and versions

hal-01204919 , version 1 (24-09-2015)



Fabian Buettner, Martin Gogolla. On OCL-based imperative languages. Science of Computer Programming, 2014, 92 (B), pp.162-178. ⟨10.1016/j.scico.2013.10.003⟩. ⟨hal-01204919⟩
696 View
0 Download



Gmail Facebook X LinkedIn More