skip to main content
10.1145/976270.976276acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Advice weaving in AspectJ

Published:22 March 2004Publication History

ABSTRACT

This paper describes the implementation of advice weaving in AspectJ. The AspectJ language picks out dynamic join points in a program's execution with pointcuts and uses advice to change the behavior at those join points. The core task of AspectJ's advice weaver is to statically transform a program so that at runtime it will behave according to the AspeetJ language semantics. This paper describes the 1.1 implementation which is based on transforming bytecode. We describe how AspectJ's join points are mapped to regions of bytecode, how these regions are efficiently matched by AspectJ's pointcuts, and how pieces of advice are efficiently implemented at these regions. We also discuss both run-time and compile-time performance of this implementation.

References

  1. The AspectJ Team. AspectJ programming guide. http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/index.htmlGoogle ScholarGoogle Scholar
  2. Jason Baker and Wilson Hsieh. Runtime Aspect Weaving Through Metaprogramming. AOSD 2002. Enschede, The Netherlands. April 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bill Burke and Adrian Brock. Aspect-Oriented Programming and JBoss. http://www.onjava.com/lpt/a/3878.Google ScholarGoogle Scholar
  4. Shigeru Chiba and Muga Nishizawa. An Easy-to-Use Toolkit for Etfficient Java Bytecode Translators. GPCE 2003. Springer-Verlag, 2003 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Joseph Gradecki and Nicholas Lesiecki. Mastering AspeetJ: Aspect-Oriented Programming in Java. John Wiley and Sons. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. JDT core compiler version 2.1.1. http://eclipse.orgGoogle ScholarGoogle Scholar
  7. Gregor Kiczales., et al. An Overview of AspectJ. 15th European Conference on Object Oriented Programming (ECOOP). Springer. June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gregor Kiczales et al. Getting Started with AspectJ. Communications of the ACM. Volume 44, Issue 10 (October 2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ivan Kiselev. Aspect-Oriented Programming with AspectJ. SAMS. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Günter Kniesel, Pascal Costanza, Michael Austermann. JMangler - A Framework for Load-Time Transformation of Java Class Files. IEEE Workshop on Source Code Analysis and Manipulation (SCAM), colocated with International Conference on Software Maintenance (ICSM). November 2001.Google ScholarGoogle Scholar
  11. Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Company. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Tim Lindholm and Frank Yellin. The Java Virtual Machine Specification 2nd Edition. Addison Wesley. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Martin Lippert. An AspectJ-Enabled Eclipse Core Runtime. OOPSLA 2003 Poster Session. Anaheim CA. October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Harold Ossher and Peri Tarr. Hyper/J: multi-dimensional separation of concerns for Java. In Proceedings of the International Conference on Software Engineering (ICSE). ACM, Limerick, Ireland. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Andrei Popovici, Gustavo Alonso, and Thomas Gross. Just-In-Time Aspects: Efficient Dynamic Weaving for Java. AOSD 2003, Boston, MA. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Xalan-2.5.1. http://xml.apache.org/xalan-j.Google ScholarGoogle Scholar
  17. XSLTMark-2.1.0. DataPower Technology. http ://www.datapower.com/xsltmark.Google ScholarGoogle Scholar

Index Terms

  1. Advice weaving in AspectJ

    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 Conferences
      AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development
      March 2004
      161 pages
      ISBN:1581138423
      DOI:10.1145/976270

      Copyright © 2004 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: 22 March 2004

      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