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.
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
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)
Chiba, S.: Javassist - A Reflection-based Programming Wizard for Java. In: ACM OOPSLA 1998 Workshop on Reflective Programming in C++ and Java (October 1998)
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)
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)
Hagimont, D., Boyer, F.: A Configurable RMI Mechanism for Sharing Distributed Java Objects. IEEE Internet Computing 5(1) (January 2001)
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)
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)
Object Management Group, CORBA Components: Joint Revised Submission, OMG TC Document orbos/99-08 (August 1999)
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)
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)
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)
Smith, B.: Reflection and Semantics in a Procedural Language. Technical Rapport, Laboratory for Computer Science, Massachussets Institute of Technology (1982)
Sun Microsystems, Enterprise Java Beans Specifications, Version 2.0 (2001)
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)
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)
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)
BCEL (2002), http://bcel.sourceforge.net/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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