OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES and APPLICATIONS
 
 
Program
 


Program (2mb PDF)

Explore
  Invited Speakers
  Onward!
  Panels
  Workshops
Discover
  Research Papers
  Student Research Comp.
  Posters
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
Understand
  Tutorials
  Essays
  Practitioner Reports
  Demonstrations
Create
  DesignFest
  Lightning Talks
  FlashBoF
  Instant Arts School Exp.
 
Other Events
 
Resort Map (364kb PDF)
 
Resort Map (JPG)

 

 
Basket
 

view, help

"Adding Trace Matching with Free Variables to AspectJ"

 

 
Page
 

Printer-friendly

 
 
  > Research Papers > Tracing Traces

 : Thursday

Adding Trace Matching with Free Variables to AspectJ

San Diego Room
Thursday, 8:30, 30 minutes

 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Chris Allan, Programming Tools Group, Oxford University
Pavel Avgustinov, Programming Tools Group, Oxford University
Aske Simon Christensen, BRICS, University of Aarhus
Laurie Hendren, Sable Research Group, McGill University
Sascha Kuzins, Programming Tools Group, Oxford University
Ondrej Lhoták, Sable Research Group, McGill University
Oege de Moor, Programming Tools Group, Oxford University
Damien Sereni, Programming Tools Group, Oxford University
Ganesh Sittampalam, Programming Tools Group, Oxford University
Julian Tibble, Programming Tools Group, Oxford University

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 current action: it is not possible to directly observe the 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 abc compiler for AspectJ.

 
.