Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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/
Arbab, F., Herman, I., Spilling, P.: An Overview of Manifold and its Implementation. Concurrency - Practice and Experience 5(1), 23–70 (1993)
Bettini, L., Bono, V., Venneri, B.: Coordinating Mobile Object-Oriented Code. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 56–71. Springer, Heidelberg (2002)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley Professional Computing Series (1994)
Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)
Gelernter, D., Carriero, N.: Coordination Languages and Their Significance. Communications of the ACM 35(2), 97–107 (1992)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A Flexible Framework for AOP in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, p. 1. Springer, Heidelberg (2001)
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)
Roman, G.-C., McCann, P.J., Plun, J.Y.: Mobile UNITY: reasoning and specification in mobile computing. ACM Transactions on Software Engineering and Methodology 6(3), 250–282 (1997)
Wyckoff, P., McLaughry, S., Lehman, T., Ford, D.: T spaces. IBM Systems Journal 37(3), 454–474 (1998)
Waldo, J., et al.: Javaspace specification - 1.0. Technical report, Sun Microsystems (March 1998)
Hapner, M., et al.: Java Message Service specification - 1.1. Technical report, Sun Microsystems (April 2002)
Xerox Corporation. The AspectJ Programming Guide (1998-2000), http://www.aspectj.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Capizzi, S., Solmi, R., Zavattaro, G. (2004). From Endogenous to Exogenous Coordination Using Aspect-Oriented Programming. In: De Nicola, R., Ferrari, GL., Meredith, G. (eds) Coordination Models and Languages. COORDINATION 2004. Lecture Notes in Computer Science, vol 2949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24634-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-24634-3_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21044-3
Online ISBN: 978-3-540-24634-3
eBook Packages: Springer Book Archive