z-logo
open-access-imgOpen Access
On the use of an internal DSL for enriching EMF models
Author(s) -
Filip Křikava,
Philippe Collet
Publication year - 2012
Publication title -
hal (le centre pour la communication scientifique directe)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/2428516.2428521
Subject(s) - digital subscriber line , computer science , object constraint language , programming language , constraint (computer aided design) , point (geometry) , invariant (physics) , unified modeling language , natural language processing , mathematics , software , telecommunications , applications of uml , geometry , mathematical physics
International audienceThe Object Constraint Language (OCL) is widely used to enrich modeling languages with structural constraints, side effect free query operations implementation and contracts. OCL was designed to be small and compact language with appealing short "to-the-point" expressions. When trying to apply it to larger EMF models some shortcomings appear in the language expressions, the invariant constructs as well as in the supporting tools. In this paper we argue that some of these shortcomings are mainly related to the scalability of the OCL language and its trade-offs be-tween domain-specificity and general-purpose. We present an alternative approach based on an internal DSL in Scala. By using this modern multi-paradigm programing language we can realize an internal DSL with similar features found in OCL while taking full advantage of the host language including state-of-the-art tool support. In particular, we discuss the mapping between the OCL and Scala concepts together with some additional constructs for better scalability in both expressiveness and reusability of the expressions

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom