SIGMA: Scala Internal Domain-Specific Languages for Model Manipulations [chapter]

Filip Křikava, Philippe Collet, Robert B. France
2014 Lecture Notes in Computer Science  
Model manipulation environments automate model operations such as model consistency checking and model transformation. A number of external model manipulation Domain-Specific Languages (DSL) have been proposed, in particular for the Eclipse Modeling Framework (EMF). While their higher levels of abstraction result in gains in expressiveness over general-purpose languages, their limitations in versatility, performance, and tool support together with the need to learn new languages may
more » ... y contribute to accidental complexities. In this paper, we present Sigma, a family of internal DSLs embedded in Scala for EMF model consistency checking, model-to-model and modelto-text transformations. It combines the benefits of external model manipulation DSLs with general-purpose programming taking full advantage of Scala versatility, performance and tool support. The DSLs are compared to the state-of-the-art Epsilon languages in non-trivial model manipulation tasks that resulted in 20% to 70% reduction in code size and significantly better performance.
doi:10.1007/978-3-319-11653-2_35 fatcat:znyh5jdribezbcclp666qqkcxi