|[PuSpRa00]||Elke PulvermĂĽller, Andreas Speck, Awais Rashid, Implementing collaboration-based Designs using Aspect-Oriented Programming, Proceedings of TOOLS-USA, 2000 (Technology of Object-Oriented Languages and Systems), p. 95 - 104, IEEE Computer Society Press, Jul 2000.
The collaboration-based approach is a powerful means
to develop modularised systems by stepwise refinement.
In this paper we introduce a new approach
to realise a collaboration-based design.
Our approach is based on the well-known observation
that the knowledge about inter-object collaborations
cannot be localised within objects but cross-cuts many objects.
Such cross-cutting concerns are effectively addressed by
applying the separation of concerns principle.
We have, therefore, employed Aspect-Oriented Programming (AOP)
to build collaboration-based designs.
In the paper we illustrate and discuss our aspect-oriented
approach both for the horizontal (i.e. the collaborations) and
vertical (i.e. the refinements) dimensions.
Although the example implementations are based on
AspectJ0.4beta7 from Xerox PARC, the approach is generic
enough to be implemented using other AOP techniques.