Skip to main content

Can Aspects Be Injected? Experience with Replication and Protection

  • Conference paper
On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE (OTM 2003)

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

Abstract

Separation of concerns, which allows programming the nunfunctional aspects of an application in a more or less orthogonal manner from the functional code, is be-coming a general trend in software development. The most widely used architectural pattern for implementing aspects involves indirection objects, raising a performance overhead at execution time. Thus, it appears as being an attractive challenge to be able to inject the code of aspects within the business components of an application in order to avoid indirection objects. With regard to two aspects (replication and protection), this paper replies to the following question: being given the code of an aspect as with an indirection-based implementation, is it possible to use a generic (aspect-independent) tool which would automatically inject this code within the application components? The results show that this injection process is feasible and can be automated through the handling of a specific injection pattern.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Binder, W., Hulaas, J., Villazón, A., Vidal, R.: Portable Resource Control in Java: The JSEAL2 Approach. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2001 (October 2001)

    Google Scholar 

  2. Chiba, S.: Javassist - A Reflection-based Programming Wizard for Java. In: ACM OOPSLA 1998 Workshop on Reflective Programming in C++ and Java (October 1998)

    Google Scholar 

  3. Hagimont, D., Mossière, J., Rousset de Pina, X., Saunier, F.: Hidden Software Capabilities. In: Sixteenth International Conference on Distributed Computing Systems (ICDCS) (May 1996)

    Google Scholar 

  4. Hagimont, D., Louvegnies, D.: Javanaise: Distributed Shared Objects for Internet Cooperative Applications. In: IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware 1998) (September 1998)

    Google Scholar 

  5. Hagimont, D., Boyer, F.: A Configurable RMI Mechanism for Sharing Distributed Java Objects. IEEE Internet Computing 5(1) (January 2001)

    Google Scholar 

  6. Kiczales, G., Lamping, J., Menhdhekar, 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 

  7. Killijian, M.O., Ruiz, J.C., Fabre, J.C.: Portable Serialization of CORBA Objects: a Reflective Approach. In: 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2002), Seattle, WA, USA (November 2002)

    Google Scholar 

  8. Object Management Group, CORBA Components: Joint Revised Submission, OMG TC Document orbos/99-08 (August 1999)

    Google Scholar 

  9. Pawlak, R., Duchien, L., Florin, G.: An automatic aspect weaver with a reflective programming language. In: Cointe, P. (ed.) Reflection 1999. LNCS, vol. 1616, p. 147. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. Popovici, A., Gross, T., Alonso, G.: Dynamic weaving for aspect-oriented programming. In: 1st Aspect Oriented Software Development (AOSD 2002), Enshede, The Netherlands (April 2002)

    Google Scholar 

  11. Sakamoto, T., Sekiguchi, T., Yonezawa, A.: Bytecode Transformation for Portable Thread Migration in Java. In: Kotz, D., Mattern, F. (eds.) MA 2000, ASA/MA 2000, and ASA 2000. LNCS, vol. 1882, pp. 16–28. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Smith, B.: Reflection and Semantics in a Procedural Language. Technical Rapport, Laboratory for Computer Science, Massachussets Institute of Technology (1982)

    Google Scholar 

  13. Sun Microsystems, Enterprise Java Beans Specifications, Version 2.0 (2001)

    Google Scholar 

  14. Tatsubori, M., Sasaki, T., Chiba, S., Itano, K.: A Bytecode Translator for Distributed Execution of ”Legacy” Java Software. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 236. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Wahbe, R., Lucco, S., Anderson, T., Graham, S.: Efficient Software-Based Fault Isolation. In: 14th ACM Symposium on Operating System Principles (SOSP 1993), pp. 203–216 (December 1993)

    Google Scholar 

  16. Zhang, C., Jacobsen, H.-A.: Quantifying Aspects in Middleware Platforms. In: Conference on Aspect-oriented software development (AOSD 2003), pp. 130–139, Boston, Massachusetts (March 2003)

    Google Scholar 

  17. BCEL (2002), http://bcel.sourceforge.net/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bouchenak, S., Boyer, F., De Palma, N., Hagimont, D. (2003). Can Aspects Be Injected? Experience with Replication and Protection. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds) On The Move to Meaningful Internet Systems 2003: CoopIS, DOA, and ODBASE. OTM 2003. Lecture Notes in Computer Science, vol 2888. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39964-3_88

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39964-3_88

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20498-5

  • Online ISBN: 978-3-540-39964-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics