Aspect-Oriented Programming and Component Weaving: Using XML Representations of Abstract Syntax Trees

Aspect-Oriented Programming (AOP) and related techniques propose solutions to the problem of crosscutting requirements, usually by providing a weaver that reimplements major parts of a compiler. This paper proposes XML based “operators” as an extensible aspect language. We work on XML representations of abstract syntax trees (AST) for the base language. These can be generated by modifying an existing compiler and allow us to use XML tools for tree query and manipulation. A prototype that encompasses constructs from several aspect languages, in particular AspectJ and Composition Filters, has been implemented.

[1]  Mehmet Aksit,et al.  Composing Multiple Concerns Using Composition Filters , 2001 .

[2]  Mira Mezini,et al.  Reusability of Concerns , 2000 .

[3]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[4]  Olivier Motelet,et al.  A Formal Definition of Crosscuts , 2001, Reflection.

[5]  Greg J. Badros JavaML: a markup language for Java source code , 2000, Comput. Networks.

[6]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[7]  Mitchell Wand A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming , 2001, SAIG.

[8]  Benedikt Schulz,et al.  Design Patterns as Operators Implemented with Refactorings , 1998, ECOOP Workshops.

[9]  James H. Andrews,et al.  Process-Algebraic Foundations of Aspect-Oriented Programming , 2001, Reflection.

[10]  Stanley M. Sutton,et al.  Multi-Dimensional Separation of Concerns , 1999 .

[11]  Bart De Decker,et al.  Towards an open weaving process , 2001 .

[12]  Pascal Fradet,et al.  Fowards a Generic Framework for AOP , 1998, ECOOP Workshops.

[13]  Andreas Ludwig,et al.  Aspect Weaving with Graph Rewriting , 1999, GCSE.

[14]  Mik Kersten,et al.  Atlas: a case study in building a web-based learning environment using aspect-oriented programming , 1999, OOPSLA '99.

[15]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[16]  J. C. Wichman Composej: the development of a preprocessor to facilitate composition filters in the java language , 1999 .

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

[18]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[19]  Ralf Lämmel,et al.  A semantical approach to method-call interception , 2002, AOSD '02.