Skip to main content

A Fine-Grained Join Point Model for More Reusable Aspects

  • Conference paper
Programming Languages and Systems (APLAS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4279))

Included in the following conference series:

Abstract

We propose a new join point model for aspect-oriented programming (AOP) languages. In most AOP languages including AspectJ, a join point is a time interval of an action in execution. While those languages are widely accepted, they have problems in aspects reusability, and awkwardness when designing advanced features such as tracematches. Our proposed join point model, namely the point-in-time join point model redefines join points as the moments both at the beginning and end of actions. Those finer-grained join points enable us to design AOP languages with better reusability and flexibility of aspects. In this paper, we designed an AspectJ-like language based on the point-in-time model. We also give a denotational semantics of a simplified language in a continuation passing style, and demonstrate that we can straightforwardly model advanced language features such as exception handling and cflow pointcuts.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allan, C., et al.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005, pp. 345–364 (2005)

    Google Scholar 

  2. Bodkin, R., Almaer, D., Laddad, R.: aTrack: an enterprise bug tracking system using AOP. In: Demonstration at AOSD 2004 (2004)

    Google Scholar 

  3. Bonér, J.: What are the Key Issues for Commercial AOP use: How Does AspectWerkz Address Them? In: AOSD 2004 (2004); 5–6 Invited Industry Paper

    Google Scholar 

  4. Brichau, J., Meuter, W.D., De Volder, K.: Jumping aspects. In: ECOOP 2000 (2000)

    Google Scholar 

  5. Brichau, J., et al.: An initial metamodel for aspect-oriented programming languages. AOSD-Europe-VUB-12, Vrije Universiteit Brussel (2006)

    Google Scholar 

  6. Burke, B., Brok, A.: Aspect-oriented programming and JBoss. Published on The O’Reilly Network (2003), http://www.oreillynet.com/pub/a/onjava/2003/05/28/aop_jboss.html

  7. Clifton, C., Leavens, G.T.: MiniMAO: Investigating the semantics of proceed. In: FOAL 2005 (2005)

    Google Scholar 

  8. Danvy, O., Filinski, A.: Abstracting control. In: LFP 1990, pp. 151–160 (1990)

    Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Douence, R., Fritz, T., Loriant, N., Menaud, J.M., Ségura-Devillechaise, M., Südholt, M.: An expressive aspect language for system applications with Arachne. In: AOSD 2005, pp. 27–38 (2005)

    Google Scholar 

  11. Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming. Communications of the ACM 44(10), 29–32 (2001)

    Article  Google Scholar 

  12. Endoh, Y., Masuhara, H., Yonezawa, A.: Continuation join points. In: FOAL 2006, pp. 1–10 (2006)

    Google Scholar 

  13. Endoh, Y.: Continuation join points. Master’s thesis, Department of Computer Science, University of Tokyo (2006); Revised version is available at: http://www.graco.c.u-tokyo.ac.jp/ppp/projects/pit/

  14. Harbulot, B., Gurd, J.R.: A join point for loops in AspectJ. In: Masuhara, H., Rashid, A. (eds.) Proceedings of the 4th International Conference on Aspect-Oriented Software Development (AOSD 2006), pp. 63–74. ACM Press, New York (2006)

    Chapter  Google Scholar 

  15. 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–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  16. Kiczales, G.: The fun has just begun. Keynote Speech at AOSD 2003 (2003)

    Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Rajan, H., Sullivan, K.: Aspect language features for concern coverage profiling. In: AOSD 2005, pp. 181–191 (2005)

    Google Scholar 

  19. Usui, Y., Chiba, S.: Bugdel: An aspect-oriented debugging system. In: The First Asian Workshop on AOSD, pp. 790–795 (2005)

    Google Scholar 

  20. van Deursen, A., Marin, M., Moonen, L.: AJHotDraw: A showcase for refactoring to aspects. In: Proceedings of Workshop on Linking Aspect Technology and Evolution (LATE 2005) (2005)

    Google Scholar 

  21. Walker, R.J., Murphy, G.C.: Implicit context: Easing software evolution and reuse. In: FSE-8. ACM SIGSOFT Software Engineering Notes, vol. 25(6), pp. 69–78 (2000)

    Google Scholar 

  22. Walker, D., Zdancewic, S., Ligatti, J.: A theory of aspects. In: ICFP 2003 (2003)

    Google Scholar 

  23. Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. In: FOAL 2002, pp. 1–8 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Masuhara, H., Endoh, Y., Yonezawa, A. (2006). A Fine-Grained Join Point Model for More Reusable Aspects. In: Kobayashi, N. (eds) Programming Languages and Systems. APLAS 2006. Lecture Notes in Computer Science, vol 4279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11924661_8

Download citation

  • DOI: https://doi.org/10.1007/11924661_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48937-5

  • Online ISBN: 978-3-540-48938-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics