Skip to main content

From Endogenous to Exogenous Coordination Using Aspect-Oriented Programming

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2949))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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/

  2. Arbab, F., Herman, I., Spilling, P.: An Overview of Manifold and its Implementation. Concurrency - Practice and Experience 5(1), 23–70 (1993)

    Article  Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  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 

  6. Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)

    Article  MATH  Google Scholar 

  7. Gelernter, D., Carriero, N.: Coordination Languages and Their Significance. Communications of the ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. 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)

    Chapter  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 

  11. 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)

    Article  Google Scholar 

  12. Wyckoff, P., McLaughry, S., Lehman, T., Ford, D.: T spaces. IBM Systems Journal 37(3), 454–474 (1998)

    Article  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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics