Personal tools
You are here: Home Members Oege de Moor Publications Adding Trace Matching with Free Variables to AspectJ
Document Actions

Adding Trace Matching with Free Variables to AspectJ

Accepted for publication at OOPSLA 2005, San Diego, October 2005.

Authors: Chris Allan, Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble
>

Abstract

An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the {\em current} action: it is not possible to directly observe the {\em history} of a computation.

Recently there have been several interesting proposals for new history-based language features, most notably by Douence et al. and also by Walker and Viggers. In this paper we present a new history-based language feature called tracematches, where the programmer can trigger the execution of extra code by specifying a regular pattern of events in a computation trace. We have fully designed and implemented tracematches as a seamless extension to AspectJ.

A key innovation in our tracematch approach is the introduction of free variables in the matching patterns. This enhancement enables a whole new class of applications where events can be matched not only by the event kind, but also by the values associated with the free variables. We provide several examples of applications enabled by this feature.

After introducing and motivating the idea of tracematches via examples, we present a detailed semantics of our language design, and we derive an implementation from that semantics. The implementation has been realised as an extension of the {\em abc} compiler for AspectJ.

(PDF, PS)

BIBTEX:

           @inproceedings{oopsla05abc, 
           author = "Chris Allan and
                         Pavel Avgustinov and 
                         Aske Simon Christensen and
                         Laurie Hendren and 
                         Sascha Kuzins and 
                         Ondrej Lhot{\'{a}}k and 
                         Oege de Moor and 
                         Damien Sereni and
                         Ganesh Sittampalam and
                         Julian Tibble", 
           title = "Adding trace matching with free variables to {AspectJ}", 
           booktitle = "ACM Conference on Object-Oriented Programming, Systems and Languages { (OOPSLA)}", 
           editor = "Richard P. Gabriel", 
           year = "2005", 
           publisher = "ACM Press"} 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: