Pit: Point-in-time Join Point Model for Aspect-Oriented Programming Languages

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.



Yusuke Endoh, Hidehiko Masuhara and Akinori Yonezawa, Continuation Join Points. In Proceedings Foundations of Aspect-Oriented Languages Workshop (FOAL 2006) at AOSD 2006, pp.1-10, March 2006.
PDF file

Yusuke Endoh, Continuation join points. Master’s thesis, Department of Computer Science, University of Tokyo, February 2006.
Revised on August 2006.
PDF file: fileendoh-masterthesis.pdf

Hidehiko Masuhara, Yusuke Endoh and Akinori Yonezawa, A Fine-Grained Join Point Model for More Reusable Aspects. In Proceedings of the Fourth ASIAN Symposium on Programming Languages and Systems (APLAS 2006).
PDF file