Engineering tagging languages for DSLs

To keep a DSL clean, readable and reusable in different contexts, it is useful to define a separate tagging language. A tag model logically adds information to the tagged DSL model while technically keeping the artifacts separated. Using a generic tagging language leads to promiscuous tag models, whereas defining a target DSL-specific tag language has a high initial overhead. This paper presents a systematic approach to define a DSL-specific tag language and a corresponding schema language, combining the advantages of both worlds: (a) the tag language specifically fits to the DSL, (b) the artifacts are kept separated and enabling reuse with different tag decorations, (c) the tag language follows a defined type schema, and (d) systematic derivation considerably reduces the effort necessary to implement the tag language. An example shows that it can at least partially be realized by a generator and applied for any kind of DSL.

[1]  Jordi Cabot,et al.  EMF Profiles: A Lightweight Extension Approach for EMF Models , 2012, J. Object Technol..

[2]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[3]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[4]  Bernhard Rumpe,et al.  Black-box Integration of Heterogeneous Modeling Languages for Cyber-Physical Systems , 2014, ArXiv.

[5]  Juan de Lara,et al.  Towards the Systematic Construction of Domain-Specific Transformation Languages , 2014, ECMFA.

[6]  Bernhard Rumpe,et al.  MontiCore: a framework for compositional development of domain specific languages , 2010, International Journal on Software Tools for Technology Transfer.

[7]  Bran Selic,et al.  A Systematic Approach to Domain-Specific Language Design Using UML , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[8]  Sébastien Gérard,et al.  MARTE: Also an UML Profile for Modeling AADL Applications , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[9]  Thomas Baar,et al.  On the Usage of Concrete Syntax in Model Transformation Rules , 2006, Ershov Memorial Conference.

[10]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[11]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[12]  Bernhard Rumpe,et al.  A Domain Specific Transformation Language , 2014, ArXiv.

[13]  Gerti Kappel,et al.  JUMP - From Java Annotations to UML Profiles , 2014, MoDELS.

[14]  Hans Grönniger,et al.  Systemmodell-basierte Definition objektbasierter Modellierungssprachen mit semantischen Variationspunkten , 2010, Aachener Informatik-Berichte, Software Engineering.

[15]  Luciano Baresi,et al.  Extending UML for modeling Web applications , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[16]  Roy Grønmo,et al.  Comparison of Three Model Transformation Languages , 2009, ECMDA-FA.

[17]  Holger Krahn MontiCore: agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering , 2010, Aachener Informatik-Berichte, Software Engineering.

[18]  Martin Schindler,et al.  Eine Werkzeuginfrastruktur zur agilen Entwicklung mit der UML-P , 2012, Aachener Informatik-Berichte, Software Engineering.

[19]  W. A. Muhammad,et al.  SOA4DERTS: A Service-Oriented UML profile for Distributed Embedded Real-Time Systems , 2012, 2012 IEEE Symposium on Computers & Informatics (ISCI).

[20]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[21]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[22]  Bernhard Rumpe,et al.  A comparison of mechanisms for integrating handwritten and generated code for object-oriented programming languages , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[23]  Bart Meyers,et al.  ProMoBox: A Framework for Generating Domain-Specific Property Languages , 2014, SLE.

[24]  Bernhard Rumpe Agile Modellierung mit UML - Codegenerierung, Testfälle, Refactoring , 2005, Xpert.press.

[25]  Jean-Marc Jézéquel,et al.  UMLAUT: an extendible UML transformation framework , 1999, 14th IEEE International Conference on Automated Software Engineering.

[26]  Kangde Yao,et al.  A Brief Guide to the Standard Object Modelling Language , 2000 .

[27]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[28]  T. Mens,et al.  A Taxonomy of Model Transformations , 2004 .

[29]  Colin Atkinson,et al.  Reducing accidental complexity in domain models , 2008, Software & Systems Modeling.

[30]  Bernhard Rumpe,et al.  Integration of heterogeneous modeling languages via extensible and composable language components , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[31]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[32]  Hans Vangheluwe,et al.  T-Core: a framework for custom-built model transformation engines , 2013, Software & Systems Modeling.

[33]  Bernhard Rumpe,et al.  Engineering delta modeling languages , 2013, SPLC '13.

[34]  Juan de Lara,et al.  When and How to Use Multilevel Modelling , 2014, ACM Trans. Softw. Eng. Methodol..