next up previous
Next: Language Extensions for Components Up: Related Work Previous: Intercession

Aspect-Oriented Software Development

Pluggability can be characterized as a separation of concerns--reflective information's use separated from its access. In fact, an attempt to apply VISITOR to effect a form of Aspect-Oriented Programming (AOP) [16] was the genesis of this research. We first characterized implicit invocation combined with VISITOR as an aspect-oriented pattern [20]. Then we developed a taxonomy of JavaBeans [22]. This paper builds on those works.

We introduced two variants of javadoc (classdoc and reflectdoc) that use reflection instead of a repository. More complex tools corroborate the trade-offs and potential benefits of pluggable reflection. Demeter/J [18], for example, is a repository-based tool for adaptive programming (AP). A variant of Demeter/J called DJ uses Java's reflection instead of a repository [29,26]. Its developers report similar trade-offs in using reflection versus a repository. The effort required to implement DJ underscores the need for pluggability. Ideally, it would have been trivial to retarget Demeter/J; unifying the reflection-repository duality can be viewed as an adaptability problem--the raison d'être of the Demeter system. Demeter achieves structure-shy adaptability through traversal strategies. This may suggest applying a notion similar to the VISITOR approach to achieve better unification in DJ.


next up previous
Next: Language Extensions for Components Up: Related Work Previous: Intercession
David H. Lorenz 2003-02-17