Abstract
Aspect-Oriented Programming (AOP) promotes better separation of concerns in software systems by introducing aspects for the modular implementation of crosscutting concerns. As a result, modularity and adaptability of software systems are greatly enhanced. To date, very few AOP proposals take distribution into account. This paper considers the explicit introduction of distribution in AOP, by proposing support for distributed aspects: all dimensions of aspects are studied in the light of distribution. The result of this work is a versatile kernel for distributed AOP in Java: a flexible infrastructure that allows aspects to be defined and applied in a distributed manner, on top of which various distributed aspect languages and frameworks can be defined.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-3-540-35127-6_28
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Aridor, Y., Factor, M., Teperman, A.: cJVM: A single system image of a JVM on a cluster. In: International Conference on Parallel Processing, pp. 4–11 (1999)
Avgustinov, P., Tibble, J., Bodden, E., Lhoták, O., Hendren, L., de Moor, O., Ongkingco, N., Sittampalam, G.: Efficient trace monitoring. Technical Report abc-2006-1, abc Group (March 2006)
Benavides Navarro, L.D.: Dhamaca – an aspect-oriented language for explicit distributed programming. Master’s thesis, Vrije Universiteit Brussel, Belgium (2005)
Benavides Navarro, L.D., Südholt, M., Vanderperren, W., De Fraine, B., Suvée, D.: Explicitly distributed AOP using AWED. In: Proceedings of the 5th International Conference on Aspect-Oriented Software Development (AOSD 2006), Bonn, Germany, March 2006, pp. 51–62. ACM Press, New York (2006)
Caromel, D., Mateu, L., Tanter, É.: Sequential object monitors. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 316–340. Springer, Heidelberg (2004)
Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Lieberherr [13], pp. 141–150 (2004)
Douence, R., Teboul, L.: A pointcut language for control-flow. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 95–114. Springer, Heidelberg (2004)
Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming. Communications of the ACM 44(10) (October 2001)
Haupt, M.: Virtual Machine Support for Aspect-Oriented Programming Languages. Ph.D thesis, Technischen Universität Darmstadt, Germany (December 2005)
JBoss AOP website (2004), http://www.jboss.org/developers/projects/jboss/aop
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)
Kon, F., Costa, F., Blair, G., Campbell, R.H.: The case for distributed middleware. Communications of the ACM 45(6), 33–38 (2002)
Lieberherr, K. (ed.): Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), Lancaster, UK. ACM Press, New York (2004)
Lopes, C.V.: D: A Language Framework for Distributed Programming. Ph.D thesis, College of Computer Science, Northeastern University (1997)
Nishizawa, M., Chiba, S., Tatsubori, M.: Remote pointcut – a language construct for distributed AOP. In: Lieberherr [13], pp. 7–15.
Pawlak, R., Seinturier, L., Duchien, L., Florin, G., Legond-Aubry, F., Martelli, L.: JAC: an aspect-oriented distributed dynamic framework. Software Practice and Experience 34(12), 1119–1148 (2004)
Rodríguez, L., Tanter, É., Noyé, J.: Supporting dynamic crosscutting with partial behavioral reflection: a case study. In: Proceedings of the XXIV International Conference of the Chilean Computer Science Society (SCCC 2004), Arica, Chile, November 2004. IEEE Computer Society Press, Los Alamitos (2004)
Soares, S., Laureano, E., Borba, P.: Implementing distribution and persistence aspects with AspectJ. In: Proceedings of the 17th International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2002), Seattle, Washington, USA, November 2002, pp. 174–190. ACM Press, New York (2002); ACM SIGPLAN Notices, 37(11)
SUN Microsystems. Remote Method Invocation (1998)
SUN Microsystems. Using custom socket factories with Java RMI(2005)
Tanter, É.: Aspects of composition in the Reflex AOP kernel. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, Springer, Heidelberg (2006)
Tanter, É.: An extensible kernel language for AOP. In: Proceedings of AOSD Workshop on Open and Dynamic Aspect Languages, Bonn, Germany (2006)
Tanter, É., Noyé, J.: Motivation and requirements for a versatile AOP kernel. In: 1st European Interactive Workshop on Aspects in Software (EIWAS 2004), Berlin, Germany (September 2004)
Tanter, É., Noyé, J.: A Versatile Kernel for Multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 173–188. Springer, Heidelberg (2005)
Tanter, É., Noyé, J., Caromel, D., Cointe, P.: Partial behavioral reflection: Spatial and temporal selection of reification. In: Crocker, R., Steele Jr., G.L. (eds.) Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2003), Anaheim, CA, USA, pp. 27–46. ACM Press, New York (2003); ACM SIGPLAN Notices, 38(11)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 IFIP International Federation for Information Processing
About this paper
Cite this paper
Tanter, É., Toledo, R. (2006). A Versatile Kernel for Distributed AOP. In: Eliassen, F., Montresor, A. (eds) Distributed Applications and Interoperable Systems. DAIS 2006. Lecture Notes in Computer Science, vol 4025. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11773887_25
Download citation
DOI: https://doi.org/10.1007/11773887_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35126-9
Online ISBN: 978-3-540-35127-6
eBook Packages: Computer ScienceComputer Science (R0)