skip to main content
10.1145/1119655.1119665acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Explicitly distributed AOP using AWED

Published:20 March 2006Publication History

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.

References

  1. JBoss AOP. http://jboss.com/products/aop.Google ScholarGoogle Scholar
  2. JBoss home page. http://jboss.com.Google ScholarGoogle Scholar
  3. Spring AOP. http://www.springframework.org/.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. B. Ban. JGroups, a toolkit for reliable multicast communication. http://www.jgroups.org/, 2002.Google ScholarGoogle Scholar
  7. B. Ban and B. Wang. JBossCache Reference Manual V. 1.2. JBoss Inc., 2005.Google ScholarGoogle Scholar
  8. G. Barish and K. Obraczka. World wide web caching: Trends and techniques. IEEE Communications Magazine, May 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle Scholar
  12. A. Colyer and A. Clement. Large-scale AOSD for middleware. In Proc. of AOSD'04. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. ICP. Internet Cache Protocol. http://icp.ircache.net/.Google ScholarGoogle Scholar
  20. JAsCo. JAsCo website. http://ssel.vub.ac.be/jasco/.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. M. Mezini and K. Ostermann. Variability management with feature-oriented programming and aspects. In Proc. ESEC/FSE'04, pages 127--136, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Nishizawa, S. Shiba, and M. Tatsubori. Remote pointcut - a language construct for distributed AOP. In Proc. of AOSD'04. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. E. Truyen et al. Dynamic and selective combination of extensions in component-based applications. In Proc. ICSE 2003, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. C. Videira Lopes. D: A Language Framework for Distributed Programming. PhD thesis, College of Computer Science, Northeastern University, 1997.Google ScholarGoogle Scholar

Index Terms

  1. Explicitly distributed AOP using AWED

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development
        March 2006
        247 pages
        ISBN:159593300X
        DOI:10.1145/1119655

        Copyright © 2006 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 20 March 2006

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate41of139submissions,29%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader