Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Core J2EE Patterns: Best Practices and Design Strategies
Core J2EE Patterns: Best Practices and Design Strategies
Muir: A Tool for Language Design
Muir: A Tool for Language Design
XAspects: an extensible system for domain-specific aspect languages
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Practical declarative model transformation with tefkat
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
A phasing mechanism for model transformation languages
Proceedings of the 2007 ACM symposium on Applied computing
Type-Safe model transformation languages as internal DSLs in scala
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Hi-index | 0.00 |
Model transformation is a key technology of model driven software development approaches. Several transformation languages have appeared in the last few years, but more research is still needed for an in-depth understanding of the nature of model transformations and to discover desirable features of transformation languages. Research interest is primarily focused on experimentation with languages by writing transformations for real problems. RubyTL is a hybrid transformation language defined as a Ruby internal domain specific language, and is designed as an extensible language: a plugin mechanism allows new features to be added to core features. In this paper, we describe this plugin mechanism, devised to facilitate the experimentation with possible features of RubyTL. Through an example, we show how to add a new language feature, specifically we will develop a plugin to organize a transformation in several phases. Finally, we discuss the advantages of this extensible language design.