ABSTRACT
Distribution-related concerns, such as data replication, often crosscut the business code of a distributed application. Currently such crosscutting concerns are frequently realized on top of distributed frameworks, such as EJBs, and initial AO support for the modularization of such crosscutting concerns, e.g., JBoss AOP and Spring AOP, has been proposed.Based on an investigation of the implementation of replicated caches using JBoss Cache, we motivate that crosscutting concerns of distributed applications benefit from an aspect language for explicit distributed programming. We propose AWED, a new aspect language with explicit distributed programming mechanisms, which provides three contributions. First, remote pointcut constructors which are more general than those of previous related approaches, in particular, supporting remote sequences. Second, a notion of distributed advice with support for asynchronous and synchronous execution. Third, a notion of distributed aspects including models for the deployment, instantiation and state sharing of aspects. We show several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations. Finally, we present a prototype implementation of AWED, which we have realized by extending JAsCo, a system providing dynamic aspects for Java.
- JBoss AOP. http://jboss.com/products/aop.Google Scholar
- JBoss home page. http://jboss.com.Google Scholar
- Spring AOP. http://www.springframework.org/.Google Scholar
- C. Allan et al. Adding trace matching with free variables to AspectJ. In R. P. Gabriel, editor, Proc. of OOPSLA'05. ACM Press, Oct. 2005. Google ScholarDigital Library
- J. H. Andrews. Process-algebraic foundations of aspect-oriented programming. In Proc. of the 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, volume 2192 of LNCS, pages 187--209, 2001. Google ScholarDigital Library
- B. Ban. JGroups, a toolkit for reliable multicast communication. http://www.jgroups.org/, 2002.Google Scholar
- B. Ban and B. Wang. JBossCache Reference Manual V. 1.2. JBoss Inc., 2005.Google Scholar
- G. Barish and K. Obraczka. World wide web caching: Trends and techniques. IEEE Communications Magazine, May 2000. Google ScholarDigital Library
- D. Benavides Navarro, M. Südholt, W. Vanderperren, B. De Fraine, and D. Suvée. Explicitly distributed AOP using AWED. Technical report, INRIA, Feb. 2006.Google Scholar
- S. Bouchenak, A. Cox, S. Dropsho, S. Mittal, and W. Zwaenepoel. AOP-based caching of dynamic web content: Experience with J2EE applications. Technical Report RR-5483, INRIA, 2005.Google Scholar
- T. Cohen and J. Gil. Aspect J2EE = AOP + J2EE: Towards an aspect based, programmable and extensible middleware framework. In Proc. ECOOP '04, volume 3086 of LNCS. Springer-Verlag, 2004.Google Scholar
- A. Colyer and A. Clement. Large-scale AOSD for middleware. In Proc. of AOSD'04. ACM Press, 2004. Google ScholarDigital Library
- B. De Fraine, W. Vanderperren, D. Suvée, and J. Brichau. Jumping aspects revisited. In R. E. Filman, M. Haupt, and R. Hirschfeld, editors, Dynamic Aspects Workshop, pages 77--86, Mar. 2005.Google Scholar
- R. Douence, P. Fradet, and M. Südholt. A framework for the detection and resolution of aspect interactions. In Proceedings of GPCE'02, volume 2487 of LNCS, pages 173--188. Springer-Verlag, Oct. 2002. Google ScholarDigital Library
- R. Douence, P. Fradet, and M. Südholt. Composition, reuse and interaction analysis of stateful aspects. In Proc. AOSD'04. ACM Press, Mar. 2004. Google ScholarDigital Library
- R. Douence, T. Fritz, N. Loriant, J.-M. Menaud, M. Ségura-Devillechaise, and M. Südholt. An expressive aspect language for system applications with arachne. In Proc. AOSD'05. ACM Press, Mar. 2005. Google ScholarDigital Library
- F. Duclos, J. Estublier, and P. Morat. Describing and using non functional aspects in component based applications. In Proc. of AOSD'02, pages 65 -- 75. ACM Press, 2002. Google ScholarDigital Library
- L. Fan, P. Cao, J. M. Almeida, and A. Z. Broder. Summary cache: a scalable wide-area web cache sharing protocol. IEEE/ACM Transactions on Networking, 8(3):281--293, 2000. Google ScholarDigital Library
- ICP. Internet Cache Protocol. http://icp.ircache.net/.Google Scholar
- JAsCo. JAsCo website. http://ssel.vub.ac.be/jasco/.Google Scholar
- G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In J. L. Knudsen, editor, Proc. ECOOP 2001, LNCS 2072, pages 327--353, Berlin, June 2001. Springer-Verlag. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, et al. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, Proc. ECOOP 1997, volume 1241 of LNCS, pages 220--242. Springer Verlag, 1997.Google Scholar
- M. Mezini and K. Ostermann. Variability management with feature-oriented programming and aspects. In Proc. ESEC/FSE'04, pages 127--136, 2004. Google ScholarDigital Library
- M. Nishizawa, S. Shiba, and M. Tatsubori. Remote pointcut - a language construct for distributed AOP. In Proc. of AOSD'04. ACM Press, 2004. Google ScholarDigital Library
- R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. JAC: A flexible solution for aspect-oriented programming in Java. In Proceedings of Reflection'01, volume 2192 of LNCS. Springer-Verlag, Sept. 2001. Google ScholarDigital Library
- M. Pinto, L. Fuentes, M. Fayad, and J. Troya. Separation of coordination in a dynamic aspect oriented framework. In Proc. of AOSD'02. ACM Press, 2002. short paper. Google ScholarDigital Library
- A. Popovici, T. Gross, and G. Alonso. Dynamic weaving for aspect-oriented programming. In G. Kiczales, editor, Proc. AOSD 2002, pages 141--147. ACM Press, Apr. 2002. Google ScholarDigital Library
- M. Ségura-Devillechaise, J.-M. Menaud, G. Muller, and J. L. Lawall. Web cache prefetching as an aspect. In Proc. of AOSD'03. ACM Press, 2003. Google ScholarDigital Library
- S. Soares, E. Laureano, and P. Borba. Implementing distribution and persistence aspects with AspectJ. In Proceedings of OOPSLA '02, pages 174--190. ACM Press, 2002. Google ScholarDigital Library
- D. Suvée and W. Vanderperren. JAsCo: An aspect-oriented approach tailored for component based software development. In M. Akşit, editor, Proc. AOSD 2003, pages 21--29. ACM Press, Mar. 2003. Google ScholarDigital Library
- E. Truyen et al. Dynamic and selective combination of extensions in component-based applications. In Proc. ICSE 2003, May 2001. Google ScholarDigital Library
- W. Vanderperren and D. Suvée. Optimizing JAsCo dynamic AOP through HotSwap and Jutta. In R. Filman, M. Haupt, K. Mehner, and M. Mezini, editors, DAW: Dynamic Aspects Workshop, pages 120--134, Mar. 2004.Google Scholar
- W. Vanderperren, D. Suvee, M. A. Cibran, and B. De Fraine. Stateful aspects in JAsCo. In Proc. of Software Composition (SC'05), volume 3628 of LNCS. Springer-Verlag, Apr. 2005. Google ScholarDigital Library
- C. Videira Lopes. D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University, 1997.Google Scholar
Index Terms
- Explicitly distributed AOP using AWED
Recommendations
Modularization of distributed web services using aspects with explicit distribution (AWED)
ODBASE'06/OTM'06: Proceedings of the 2006 Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, DOA, GADA, and ODBASE - Volume Part IIWith the adoption of Web services technology to realize Service Oriented Architectures, the need arises for more flexible and dynamic technologies for the just-in-time integration and composition of services As the runtime integration, selection and ...
Pluggable AOP: designing aspect mechanisms for third-party composition
Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Aspect-oriented programming
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringAspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. This tutorial shows how to use ...
Comments