A semantics for advice and dynamic join points in aspect-oriented programming

被引:87
作者
Wand, M
Kiczales, G
Dutchyn, C
机构
[1] Northeastern Univ, Coll Comp & Informat Sci, Boston, MA 02115 USA
[2] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1Z4, Canada
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2004年 / 26卷 / 05期
关键词
design; languages; theory; advice; AspectJ; aspect-oriented programming; Aspect Sand Box; join point; pointcut;
D O I
10.1145/1018203.1018208
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A characteristic of aspect-oriented programming, as embodied in AspectJ, is the use of advice and pointcuts to define behavior that crosscuts the structure of the rest of the code. The events during execution at which advice may execute are called join points. A pointcut is a set of join points. An advice is an action to be taken at the join points in a particular pointcut. In this model of aspect-oriented programming, join points are dynamic in that they refer to events during the flow of execution of the program. We give a denotational semantics for a minilanguage that embodies the key features of dynamic join points, pointcuts, and advice. This is the first semantics for aspect-oriented programming that handles dynamic join points and recursive procedures. It is intended as a baseline semantics against which future correctness results may be measured.
引用
收藏
页码:890 / 910
页数:21
相关论文
共 29 条
[1]  
AKSIT M, 1993, LECT NOTES COMPUTER, V791, P152
[2]  
Andrews J. H., 2001, LECT NOTES COMPUTER, P187
[3]  
BOBROW DG, 1986, P C OBJ OR PROGR SYS, P17
[4]  
CANNON HI, 1982, FLAVORS NONHIERARCHI
[5]  
DEMEUTER W, 1997, INT WORKSH ASP OR PR, V25
[6]  
DOUENCE R, 2001, LECT NOTES COMPUTER, V2192, P170, DOI DOI 10.1007/3-540-45429-2_13
[7]  
DUTCHYN C, 2002, ASPECT SAND BOX
[8]  
ELRAD T, 2001, COMMUN ACM, V44, P10
[9]  
Friedman Daniel P, 2001, ESSENTIALS PROGRAMMI
[10]  
Gamma E., 1995, Design Patterns: Elements of Reusable Object-Oriented Software, V206, P395