Extending grammars and metamodels for reuse: the Reuseware approach

The trend toward domain-specific languages leads to an ever-growing plethora of highly specialized languages. Developers of such languages focus on their specific domains rather than on technical challenges of language design. Generic features of languages are rarely included in special-purpose languages. One very important feature is the ability to formulate partial programs in separate encapsulated entities, which can be composed into complete programs in a well-defined manner. This paper presents a language-independent approach for adding useful constructs for defining components. We discuss the underlying concepts and describe a composition environment and tool supporting these ideas ‐ the Reuseware Composition Framework. To evaluate our approach we enrich the (Semantic) Web query language Xcerpt with an additional useful reuse concept—modules.

[1]  Matthew Alexander Webster,et al.  Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools , 2004 .

[2]  François Bry,et al.  The XML Query Language Xcerpt: Design Principles, Examples, and Semantics , 2002, Web, Web-Services, and Database Systems.

[3]  Olaf Spinczyk,et al.  AspectC++ – An AOP Extension for C++ , 2005 .

[4]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[5]  Als-Nscort Eclipse Platform Technical Overview , 2003 .

[6]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[7]  Dexter Kozen,et al.  Automata and Computability , 1997, Undergraduate Texts in Computer Science.

[8]  Ian Horrocks,et al.  A proposal for an owl rules language , 2004, WWW '04.

[9]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[10]  Christopher W. Pidgeon,et al.  DMS®: Program Transformations for Practical Scalable Software Evolution , 2002, IWPSE '02.

[11]  Ivan Porres,et al.  A Relation Between Context-Free Grammars and Meta Object Facility Metamodels , 2003 .

[12]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

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

[14]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[15]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

[16]  Tim Furche,et al.  Simulation Unification , 2005 .

[17]  Uwe Aßmann,et al.  How dark should a component black-box be? The Reuseware Answer , 2007 .

[18]  Harold Ossher,et al.  Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition , 2002 .

[19]  Dan Brickley,et al.  Rdf vocabulary description language 1.0 : Rdf schema , 2004 .

[20]  Paul Klint,et al.  Compiling language definitions: the ASF+SDF compiler , 2000, TOPL.

[21]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[23]  Adrian M. Colyer,et al.  Aspect-oriented programming with AspectJ , 2005, IBM Syst. J..

[24]  Jeffrey G. Gray,et al.  A technique for constructing aspect weavers using a program transformation engine , 2004, AOSD '04.

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

[26]  Tim Furche,et al.  I4-D6 Initial Draft of a Language Syntax , 2006 .

[27]  Uwe Aßmann,et al.  Reuseware - Adding Modularity to Your Language of Choice , 2007, J. Object Technol..

[28]  Oscar Nierstrasz,et al.  Research directions in software composition , 1995, CSUR.

[29]  James A. Hendler,et al.  The Semantic Web" in Scientific American , 2001 .

[30]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .