Towards well-formed fragment composition with reference attribute grammars

Invasive Software Composition (ISC) provides a generic, flexible and powerful approach for software composition. Based upon the principles of grey-box composition, ISC systems can compose partial programs (fragments) and provide syntactic (context-free) correct composition results. However, many composition domains require additional composition constraints for fragments (fragment contracts) to guarantee well-formedness of composition results. In this paper, we propose the application of reference attribute grammars (RAGs) for the implementation of ISC systems supporting fragment contracts. We show how RAGs can be used to specify semantics-aware fragment component models on top of a language specification and introduce RAG-based fragment contracts to enable advanced guarantees for fragment composition.

[1]  John Tang Boyland,et al.  Remote attribute grammars , 2005, JACM.

[2]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[3]  B. J. Arnoldus,et al.  An illumination of the template enigma : software code generation with templates , 2011 .

[4]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

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

[6]  Jendrik Johannes,et al.  Component-based model-driven software development , 2010 .

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

[8]  S. Doaitse Swierstra,et al.  Higher order attribute grammars , 1989, PLDI '89.

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

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

[11]  Anthony M. Sloane,et al.  Lightweight Language Processing in Kiama , 2009, GTTSE.

[12]  Torbjörn Ekman,et al.  The JastAdd system - modular extensible compiler construction , 2007, Sci. Comput. Program..

[13]  Eric Van Wyk,et al.  Silver: an Extensible Attribute Grammar System , 2008, Electron. Notes Theor. Comput. Sci..

[14]  PaakkiJukka Attribute grammar paradigmsa high-level methodology in language implementation , 1995 .

[15]  Jakob Henriksson,et al.  A lightweight framework for universal fragment composition: with an application in the semantic web , 2008 .

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

[17]  Shan Shan Huang,et al.  Statically safe program generation with safegen , 2005, GPCE'05.

[18]  Görel Hedin,et al.  An Object-Oriented Notation for Attribute Grammars , 1989, European Conference on Object-Oriented Programming.

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

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

[21]  Tim Furche,et al.  Modular Web Queries - From Rules to Stores , 2007, OTM Workshops.

[22]  Uwe Aßmann,et al.  Invasive Software Composition , 2003, Springer Berlin Heidelberg.

[23]  Uwe Aßmann,et al.  Extending grammars and metamodels for reuse: the Reuseware approach , 2008, IET Softw..

[24]  Elmer Sandvad,et al.  An Overview of the Mj?lner BETA System , 1991 .