On OCL-based Imperative Languages

Abstract : 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.
Type de document :
Article dans une revue
Science of Computer Programming, Elsevier, 2013
Liste complète des métadonnées

https://hal.inria.fr/hal-00876206
Contributeur : Salvador Martínez Pérez <>
Soumis le : jeudi 24 octobre 2013 - 09:50:24
Dernière modification le : mercredi 11 avril 2018 - 02:01:14

Identifiants

  • HAL Id : hal-00876206, version 1

Citation

Fabian Büttner, Martin Gogolla. On OCL-based Imperative Languages. Science of Computer Programming, Elsevier, 2013. 〈hal-00876206〉

Partager

Métriques

Consultations de la notice

502