Implementing Tag-Driven Transformers with Tango

Using explicit tags at the programming language level has been attracting a lot of attention recently with technologies like xDoclet [41] which automates EJB [30] related tasks, and .NET attributes [21] which are a vital part of the .NET framework [34]. However there are currently no systematic ways for adding and transforming tag-driven product line specific constructs. This results often in implementations which are not very modular and hence that are difficult to reuse.

[1]  Ted J. Biggerstaff,et al.  A New Control Structure for Transformation-Based Generators , 2000, ICSR.

[2]  Jeff Prosise Programming Microsoft .NET , 2002 .

[3]  James R. Cordy,et al.  TXL - A Language for Programming Language Tools and Applications , 2004, LDTA@ETAPS.

[4]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

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

[6]  E. Visser,et al.  Program Transformation Mechanics. A Classification of Mechanisms for Program Transformation with a Survey of Existing Transformation Systems , 2003 .

[7]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[8]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[9]  Tom Mens,et al.  A formal foundation for object-oriented software evolution , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[10]  Gail C. Murphy,et al.  Explicit programming , 2002, AOSD '02.

[11]  Walid Taha,et al.  Multi-Stage Programming. , 1997, ICFP 1997.

[12]  James Newkirk,et al.  How .NET's custom attributes affect design , 2002, IEEE Software.

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

[14]  I.D. Baxter,et al.  DMS/spl reg/: program transformations for practical scalable software evolution , 2004, Proceedings. 26th International Conference on Software Engineering.

[15]  Jonathan Bachrach,et al.  The Java syntactic extender (JSE) , 2001, OOPSLA '01.

[16]  Rémi Douence,et al.  Detection and resolution of aspect interactions , 2002 .

[17]  Annette Wagner,et al.  MIDP style guide for the Java 2 platform, micro edition , 2003 .

[18]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[19]  Eelco Visser,et al.  Stratego: A Language for Program Transformation Based on Rewriting Strategies , 2001, RTA.

[20]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[21]  Aaron Skonnard,et al.  Essential XML Quick Reference: A Programmer's Reference to XML, XPath, XSLT, XML Schema, SOAP, and More , 2001 .

[22]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[23]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

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

[25]  Jean-Marc Jézéquel,et al.  Design by Contract: The Lessons of Ariane , 1997, Computer.

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

[27]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[28]  Paul W. Calnan EXTRACT: Extensible Transformation and Compiler Technology , 2003 .

[29]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[30]  Martín Abadi,et al.  Extensible Syntax with Lexical Scoping , 1994 .

[31]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[32]  Yannis Smaragdakis,et al.  Object-oriented frameworks and product lines , 2000, SPLC.