Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Implementing Collaboration-Based Designs Using Aspect-Oriented Programming
Santa Barbara, California
July 30-August 03
ISBN: 0-7695-0774-3
The collaboration-based approach is a powerful means to develop modularized systems by stepwise refinement. In this paper, we introduce a new approach to realize a collaboration-based design. Our approach is based on the well-known observation that the knowledge about inter-object collaborations cannot be localized within objects but crosscuts many objects. Such crosscutting concerns are effectively addressed by applying the separation of concern 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.
Index Terms:
Collaboration-based Design, Separation of Concerns, Aspect-Oriented Programming, Mixin Layers, Contracts
Citation:
Elke Pulvermüller, Andreas Speck, Awais Rashid, "Implementing Collaboration-Based Designs Using Aspect-Oriented Programming," tools, pp.95, Technology of Object-Oriented Languages and Systems (TOOLS 34'00), 2000