Skip to Main content Skip to Navigation
Conference papers

On the Use of an Internal DSL for Enriching EMF Models

Filip Křikava 1 Philippe Collet 1
1 Laboratoire d'Informatique, Signaux, et Systèmes de Sophia-Antipolis (I3S) / Equipe MODALIS
Laboratoire I3S - SPARKS - Scalable and Pervasive softwARe and Knowledge Systems
Abstract : The 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.
Document type :
Conference papers
Complete list of metadata

Cited literature [18 references]  Display  Hide  Download
Contributor : Krikava Filip Connect in order to contact the contributor
Submitted on : Thursday, February 19, 2015 - 11:31:21 AM
Last modification on : Tuesday, December 7, 2021 - 4:10:15 PM
Long-term archiving on: : Thursday, May 28, 2015 - 3:57:25 PM


Files produced by the author(s)




Filip Křikava, Philippe Collet. On the Use of an Internal DSL for Enriching EMF Models. Proceedings of the 2012 International Workshop on OCL and Textual Modelling, 2012, Innsbruck, Austria. pp.25 - 30, ⟨10.1145/2428516.2428521⟩. ⟨hal-01117778⟩



Les métriques sont temporairement indisponibles