Advertisement

Pointcuts as Functional Queries

  • Michael Eichberg
  • Mira Mezini
  • Klaus Ostermann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3302)

Abstract

Most aspect-oriented languages provide only a fixed, built-in set of pointcut designators whose denotation is only described informally. As a consequence, these languages do not provide operations to manipulate or reason about pointcuts beyond weaving. In this paper, we investigate the usage of the functional query language XQuery for the specification of pointcuts. Due to its abstraction and module facilities, XQuery enables powerful composition and reusability mechanisms for pointcuts.

Keywords

Query Language Path Expression Class Node Method Node Dynamic Adaptive Programming 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bockisch, C., Eichberg, M.: BAT (2004), http://www.st.informatik.tu-darmstadt.de/bat
  2. 2.
    Chiba, S., Nakagawa, K.: Josh: An Open AspectJ-like Language. In: Proceedings of AOSD 2004, Lancaster, England. ACM Press, New York (2004)Google Scholar
  3. 3.
    Chiba, S., Nishizawa, M.: An Easy-to-Use Toolkit for Efficient Java Bytecode Translators. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 364–376. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Eichberg, M., Mezini, M., Ostermann, K., Schäfer, T.: XIRC: A kernel for cross-artifact information engineering in software development environments. In: Proceedings of 11th IEEE Working Conference on Reverse Engineering (to appear, 2004)Google Scholar
  5. 5.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison Wesley, Reading (1995)zbMATHGoogle Scholar
  6. 6.
    Gybels, K., Brichau, J.: Arranging Language Features for More Robust Pattern–Based Crosscuts. In: Proceedings of AOSD 2003, Boston, Massachusetts, pp. 60–69. ACM Press, New York (2003)Google Scholar
  7. 7.
    Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Proc. of AOSD 2004. ACM Press, New York (2004)Google Scholar
  8. 8.
    IBM Watson Research Center. Concern manipulation environment (CME): A flexible, extensible, interoperable environment for AOSD, http://www.eclipse.org/cme/
  9. 9.
    Janzen, D., De Volder, K.: Navigating and querying code without getting lost. In: Proceedings of the 2nd international conference on Aspect-oriented software development, pp. 178–187. ACM Press, New York (2003)CrossRefGoogle Scholar
  10. 10.
    Kiczales, G.: Keynote talk at AOSD (2003), http://www.cs.ubc.ca/~gregor/
  11. 11.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–355. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-Oriented Programming with Adaptive Methods. Communications of the ACM 44(10), 39–41 (2001)CrossRefGoogle Scholar
  13. 13.
    Lieberherr, K.J.: Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns. PWS Publishing Company, Boston (1996)Google Scholar
  14. 14.
    Mashuhara, H., Kiczales, G., Dutchyn, C.: Compilation semantics of aspect-oriented programs. In: Foundations of Aspect-Oriented Languages Workshop at AOSD 2002 (2002)Google Scholar
  15. 15.
    Masuhara, H., Kawauchi, K.: Dataflow Pointcut in Aspect-Oriented Programming. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 105–121. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Orleans, D., Lieberherr, K.: DJ: Dynamic adaptive programming in Java. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, p. 8. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  17. 17.
    Ossher, H., Tarr, P.: Hyper/J: Multi-dimensional separation of concerns for Java. In: Proc. of ICSE 2000. ACM Press, New York (2000)Google Scholar
  18. 18.
    World Wide Web Consortium. XQuery 1.0: An XML query language, W3C working draft, June 7 (2001), http://www.w3.org/tr/xquery/
  19. 19.
    World Wide Web Consortium. XQuery 1.0 formal semantics (2001), http://www.w3.org/tr/query-semantics

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Michael Eichberg
    • 1
  • Mira Mezini
    • 1
  • Klaus Ostermann
    • 1
  1. 1.Software Modularity Lab, Department of Computer ScienceDarmstadt University of TechnologyGermany

Personalised recommendations