Aspects and Data Refinement

We give an introduction to aspect-oriented programming from the viewpoint of data refinement. Some data refinements are conveniently expressed via aspects. Unlike traditional programming language features for data refinement, aspects conceptually transform run-time events, not compile-time programs.

[1]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[2]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[3]  Hidehiko Masuhara,et al.  A Compilation and Optimization Model for Aspect-Oriented Programs , 2003, CC.

[4]  Yanhong A. Liu,et al.  Incrementalization across object abstraction , 2005, OOPSLA '05.

[5]  Robert Paige,et al.  Programming with Invariants , 1986, IEEE Software.

[6]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[8]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[9]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[10]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[11]  Ondrej Lhoták,et al.  Optimising aspectJ , 2005, PLDI '05.

[12]  Dennis M. Volpano,et al.  The Transform - a New Language Construct , 1990, Struct. Program..

[13]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .