Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Strongly typed heterogeneous collections
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Approaches for Model Transformation Reuse: Factorization and Composition
ICMT '08 Proceedings of the 1st international conference on Theory and Practice of Model Transformations
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Domain Specific Languages
Lightweight language processing in Kiama
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
TRACECONTRACT: a scala DSL for trace analysis
FM'11 Proceedings of the 17th international conference on Formal methods
A plugin-based language to experiment with model transformation
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
ScalaQL: language-integrated database queries for scala
SLE'09 Proceedings of the Second international conference on Software Language Engineering
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
RubyTL: a practical, extensible transformation language
ECMDA-FA'06 Proceedings of the Second European conference on Model Driven Architecture: foundations and Applications
Towards combinators for bidirectional model transformations in scala
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
EMF modeling in traffic surveillance experiments
Proceedings of the Modelling of the Physical World Workshop
Hi-index | 0.00 |
Although there are powerful model transformation languages (MTLs) like ATL, model-to-model transformations still are often implemented in general-purpose languages (GPLs) like Java, especially in EMF-based projects. Developers might hesitate to learn another language, use new tools, or they feel limited by the specific but less versatile constructs an MTL provides. However, model transformation code written in a GPL is less readable, contains redundancies or verbose expressions, and there are fewer possibilities for formal reasoning. Our approach combines some benefits of MTLs with GPL programming. We use the GPL Scala to realize MTLs similar to ATL as internal domain-specific languages. The benefits are seamless integration with EMF and state-of-the-art tool support as well as the possibility to extend MTLs and to mix MTL and GPL code. In contrast to similar approaches with dynamically typed languages like Ruby, Scala allows for static type-safety without adding syntactic clutter.