Model-Based Language Engineering with EMFText

Model-based techniques are in wide-spread use for the design and implementation of domain specific languages (DSLs) and their tooling. The Eclipse Modeling Framework (EMF) is a frequently used environment for model-based language engineering. With its underlying modelling language Ecore, its XML serialisation support and its versatile extensibility it provides a solid grounding for many task-specific language development tools. In this tutorial, we give an introduction to model-based language engineering using EMFText, which allows users to develop powerful textual editors for Ecore-based DSLs that are tightly integrated with the EMF.

[1]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[2]  Robin Milner,et al.  Handbook of Theoretical Computer Science (Vol. B) , 1990 .

[3]  Görel Hedin,et al.  Reference Attributed Grammars , 2000, Informatica.

[4]  Markus Voelter,et al.  Language and IDE Modularization , Extension and Composition with MPS , 2011 .

[5]  Bernhard Merkle Textual modeling tools: overview and comparison of language workbenches , 2010, SPLASH/OOPSLA Companion.

[6]  Anthony M. Sloane,et al.  A Pure Object-Oriented Embedding of Attribute Grammars , 2010, LDTA.

[7]  Renaud Pawlak Spoon: Compile-time Annotation Processing for Middleware , 2006, IEEE Distributed Systems Online.

[8]  Görel Hedin An Introductory Tutorial on JastAdd Attribute Grammars , 2009, GTTSE.

[9]  Eric Van Wyk,et al.  Silver: An extensible attribute grammar system , 2008, Sci. Comput. Program..

[10]  H. Conrad Cunningham,et al.  A little language for surveys: constructing an internal DSL in Ruby , 2008, ACM-SE 46.

[11]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[12]  Mirko Seifert,et al.  Derivation and Refinement of Textual Syntax for Models , 2009, ECMDA-FA.

[13]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

[14]  Eelco Visser,et al.  MetaBorg in Action: Examples of Domain-Specific Language Embedding and Assimilation Using Stratego/XT , 2005, GTTSE.

[15]  Uwe Aßmann,et al.  Reference Attribute Grammars for Metamodel Semantics , 2010, SLE.

[16]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[17]  Christian Wende,et al.  Applying attribute grammars for metamodel semantics , 2010 .

[18]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[19]  Eelco Visser,et al.  The spoofax language workbench: rules for declarative specification of languages and IDEs , 2010, OOPSLA.

[20]  Marcel Böhme,et al.  Generating safe template languages , 2009, GPCE '09.

[21]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[22]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[23]  Michael R. Clarkson,et al.  Polyglot: An Extensible Compiler Framework for Java , 2003, CC.

[24]  Mirko Seifert,et al.  Static Source Code Analysis using OCL , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[25]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

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

[27]  Torbjörn Ekman,et al.  The jastadd extensible java compiler , 2007, OOPSLA.

[28]  Guy L. Steele,et al.  Java(TM) Language Specification , 2005 .

[29]  Eelco Visser,et al.  Stratego/XT 0.17. A language and toolset for program transformation , 2008, Sci. Comput. Program..

[30]  Steffen Becker,et al.  Classification of Concrete Textual Syntax Mapping Approaches , 2008, ECMDA-FA.

[31]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[32]  Eric Van Wyk,et al.  Attribute Grammar-Based Language Extensions for Java , 2007, ECOOP.

[33]  Anthony M. Sloane,et al.  Eli: a complete, flexible compiler construction system , 1992, CACM.

[34]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .