From Endogenous to Exogenous Coordination Using Aspect-Oriented Programming
One of the main goals of coordination models and languages is to support a clear and distinct separation between computation and coordination in applications based on cooperating components. Nevertheless, this separation is not always reflected at the level of the source code. This is the case for the so-called endogenous coordination models and languages (see e.g. Linda) that provide coordination primitives that must be incorporated within a computational language. In this way, there is no piece of source code identifiable as the coordination module, thus losing the advantages of a distinct design and development.
In this paper, we investigate aspect-oriented programming as a technology for supporting the modularization of the coordination part even if an endogenous coordination model is considered. More precisely, we propose to encapsulate the coordination actions inside aspects while describing the single points of the computational part in which coordination comes into play as join points. Following this approach, we show that we can rewrite a distributed application, moving from an underlying endogenous data-driven to an endogenous event-driven coordination model, simply by replacing the coordination aspects and leaving the computational code unchanged.
KeywordsCoordination Model Expression Tree Tuple Space Coordination Part Coordination Language
Unable to display preview. Download preview PDF.
- 1.Arbab, F.: What Do You Mean, Coordination?. In: The March 1998 Issue of the Bulletin of the Dutch Association for Theoretical Computer Science (NVTI), Available at http://homepages.cwi.nl/~farhad/
- 4.Bracha, G., Cook, W.: Mix-in Based Inheritance. In: Proc. of of the Conference on Object-Oriented Programming: Systems, Languages, and Applications (OOPSLA 1990), pp. 303–311. ACM Press, New York (1990)Google Scholar
- 5.Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional Computing Series (1994)Google Scholar
- 10.Popovici, A., Gross, T., Alonso, G.: Dynaminc Weaving for Aspect Oriented Programming. In: Proc. of em1st International Conference on Aspect-Oriented Software Development (AOSD 2002), Enschede, The Netherlands (April 2002)Google Scholar
- 13.Waldo, J., et al.: Javaspace specification - 1.0. Technical report, Sun Microsystems (March 1998)Google Scholar
- 14.Hapner, M., et al.: Java Message Service specification - 1.1. Technical report, Sun Microsystems (April 2002)Google Scholar
- 15.Xerox Corporation. The AspectJ Programming Guide (1998-2000), http://www.aspectj.org