|
ABSTRACT
We study a language construct superimpose for method-call interception (MCI). The construct enables a programmer to attach additional functionality to certain join points along the execution of specified method calls. This is done in a completely type-safe manner where the additional functionality shares its state with the registry location. We present the static and the dynamic semantics of MCI. We use a disciplined style of Natural semantics for an accessible specification of MCI. We organize the constructs in a design space so that we can add expressiveness to a simple object-oriented language core in a stepwise fashion. It is one simple extension to enable interactive MCI, that is, MCI code can interact with the objects involved in a method call. Another simple extension is to allow for collective MCI by using patterns for the calls to be intercepted.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
M. Auguston. Program behavior model based on event grammar and its application for debugging automation. In M. Ducassé, editor, AADEBUG, 2nd International Workshop on Automated and Algorithmic Debugging, pages 277-291, Saint Malo, France, 22-24 May 1995. IRISA-CNRS.
|
| |
3
|
E. Avdicaušević, M. Lenic, M. Mernik, and V. Zumer. Separate Compilation of an Aspect-Oriented Language. Draft; University of Maribor, 2001.
|
 |
4
|
|
| |
5
|
S. Brandt and R. W. Schmidt. The Design of a Meta-Level Architecture for the BETA Language. In Proceedings of META '95: Workshop on Advances in Metaobject Protocols and Reflection at ECOOP'95, Aug. 1995.
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
I. R. Forman. JEM: A proposal for extending Java with metaclasses. Draft; IBM Austin TX, 2001.
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, Proc. ECOOP'97---Object-Oriented Programming, 11th European Conference, volume 1241 of LNCS, pages 220-242, Jyväskylä, Finland, 9-13 June 1997. Springer-Verlag.
|
| |
15
|
R. Lämmel. Declarative aspect-oriented programming. In O. Danvy, editor, Proc. 1999 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'99), San Antonio (Texas), BRICS Notes Series NS-99-1, pages 131-146, Jan. 1999.
|
| |
16
|
R. Lämmel. Semantics of Method Call Interception. In Proc. Workshop Aspekt-Orientierung der GI-Fachgrupppe 2.1.9 Objektorientierte Software-Entwicklung, 3.- 4. Mai 2001, Universität Paderborn, 2001. Technical Report tr-ri-01-223 Universität-Gesamthochschule Paderborn.
|
| |
17
|
|
| |
18
|
W. D. Meuter. Monads as a theoretical foundation for AOP. In S. Mitchell and J. Bosch, editors, Workshop Reader, ECOOP'97, volume 1357 of LNCS. Springer-Verlag, 1998.
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
M. Wand, G. Kiczales, and C. Dutchyn. A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming, Jan. 2002. To appear in FOOL 9.
|
| |
23
|
AspectJ.org Site © XEROX Corporation, 2002. http://aspectj.org.
|
CITED BY 12
|
|
|
|
|
Sergei Kojarski , David H. Lorenz, Domain driven web development with WebJinn, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
|
|
|
Sergei Kojarski , David H. Lorenz, AOP as a first class reflective mechanism, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pavel Avgustinov , Elnar Hajiyev , Neil Ongkingco , Oege de Moor , Damien Sereni , Julian Tibble , Mathieu Verbaere, Semantics of static pointcuts in aspectJ, ACM SIGPLAN Notices, v.42 n.1, January 2007
|
|
|
|
|
|
|
|
|
|
|