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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allan, C., et al.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005, pp. 345–364 (2005)
Bodkin, R., Almaer, D., Laddad, R.: aTrack: an enterprise bug tracking system using AOP. In: Demonstration at AOSD 2004 (2004)
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
Brichau, J., Meuter, W.D., De Volder, K.: Jumping aspects. In: ECOOP 2000 (2000)
Brichau, J., et al.: An initial metamodel for aspect-oriented programming languages. AOSD-Europe-VUB-12, Vrije Universiteit Brussel (2006)
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
Clifton, C., Leavens, G.T.: MiniMAO: Investigating the semantics of proceed. In: FOAL 2005 (2005)
Danvy, O., Filinski, A.: Abstracting control. In: LFP 1990, pp. 151–160 (1990)
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)
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)
Elrad, T., Filman, R.E., Bader, A.: Aspect-oriented programming. Communications of the ACM 44(10), 29–32 (2001)
Endoh, Y., Masuhara, H., Yonezawa, A.: Continuation join points. In: FOAL 2006, pp. 1–10 (2006)
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/
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)
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)
Kiczales, G.: The fun has just begun. Keynote Speech at AOSD 2003 (2003)
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)
Rajan, H., Sullivan, K.: Aspect language features for concern coverage profiling. In: AOSD 2005, pp. 181–191 (2005)
Usui, Y., Chiba, S.: Bugdel: An aspect-oriented debugging system. In: The First Asian Workshop on AOSD, pp. 790–795 (2005)
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)
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)
Walker, D., Zdancewic, S., Ligatti, J.: A theory of aspects. In: ICFP 2003 (2003)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)