tutorials
T1 : abc : A Workbench for Aspect-Oriented Programming Language Research
Date |
Monday, March 14, 2005 morning (half day) |
Presenters |
Oege de Moor, Oxford University
Laurie Hendren, McGill University
|
Level |
Advanced:
Attendees should have basic knowledge of Java and
AspectJ. To participate in the hands-on session, attendees
should also bring a laptop computer with Java installed.
|
Abstract
The proliferation of new features, analyses and optimizations for
aspect-oriented programming languages necessitates a workbench for realistic
experiments. The AspectBench Compiler (abc for short) provides such a
workbench. The base compiler is a full implementation of the AspectJ 1.2
language. abc has been designed to disentangle the implementation of new,
experimental features from the base compiler. abc has also been designed to
enable the implementation of advanced analyses, for the purpose of
optimization, but also to enable static detection of bugs.
The tutorial will first give a brief overview of the architecture of abc. It
will explain the details of abc in three parts: in the first part, attendees
will implement an extension to AspectJ that only requires changes in the
frontend. In the second part, we cover a new type of join point, which also
requires changes in the backend. In the third part, attendees will learn how
to implement aggressive optimizations for features such as cflow. All the
examples will be selected from papers by others that were presented at
previous AOSD conferences.
Each part of the tutorial will include a hands-on problem solving session, in
which attendees will be provided with a concrete task such as defining new
kinds of join points and pointcuts.
By working through concrete examples from the literature, and also by actually
implementing small language extensions, attendees will learn how to integrate
their own language extensions, analyses and optimizations into abc.
AspectBench Compiler is available at
http://aspectbench.org/.
Biographies
Oege de Moor received an M.Sc. degree from the University of Utrecht,
the Netherlands. He did his doctoral (D.Phil.) work at Oxford, on a
characterization in category theory of algorithmic paradigms such as
dynamic programming. He has held visiting appointments at the
University of Tokyo, Chalmers University and Microsoft Research (both
Redmond and Cambridge).
Laurie Hendren received the B.Sc.(Honours) and M.Sc degrees in
Computing and Information Science at Queen's University, Kingston,
Canada. She received the Ph.D. degree from Cornell University, Ithaca,
N.Y. Her Ph.D. thesis was in the area of automatic parallelization of
programs with pointer data structures.
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|