Back to list of tutorials
T6 : abc : A Workbench for Aspect-Oriented Programming Language Research
Date |
Tuesday, March 21, 2006 (full day) |
Presenters |
Oege de Moor, Oxford University
Laurie Hendren, McGill University
Ondrej Lhoták, University of Waterloo |
Level |
Intermediate: Knowledge of Java and AspectJ required. |
Abstract
The proliferation of new features, analyses and optimisations 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 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 optimisation, but also to enable static detection of bugs.
By working through concrete examples from the literature, participants will learn how to integrate
their own language extensions, analyses and optimisations into abc.
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 characterisation 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).
Since 1994 he has been a faculty member at Oxford, where he founded the Algebra of Programming
research group, jointly with Richard Bird. After the publication of a textbook on that subject in 1997,
he turned to the general area of meta-programming, and founded the Programming Tools Group.
Research topics in the group include type systems for metaprogramming, mechanised support for
refactoring, and aspect-orientation. During the 2003-2004 academic year Professor Hendren visited
Oxford University, and they started the joint abc project, the topic of this tutorial.
Summary of Teaching Experience: Oege de Moor has taught at Oxford for 11 years, on topics ranging
from computational geometry to database systems. He has also lectured at specialist summer schools
in Brazil, Denmark, Germany, the Netherlands and Portugal. For the past two years he has taught a a
course at Oxford that focuses on code queries, refactoring and aspect-oriented programming.
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.
Since 1990 she has been a faculty member in the School of Computer Science at McGill University
where she has led the McCAT optimizing/parallelizing compiler project, and currently leads the Sable
project that concentrates on compiling and optimizing Java. During the 2003-2004 academic year she
visited Professor de Moor at Oxford University, where they started the joint abc project, the topic of
this tutorial.
Summary of Teaching Experience: Professor Hendren has had substantial teaching experience, 15 years
teaching at McGill where she has taught courses on Java, compiler design, and advanced compiler
topics. Since 2006, she has been teaching a course on advanced object-oriented and aspect-oriented
programming. Detailed course web pages are available from her web site. She has twice been nominated
for the award as best teacher in the Faculty of Science at McGill.
Ondrej Lhoták received a B.Math. (Honours) degree in Computer Science from the University
of Waterloo in Waterloo, Ontario, Canada. He received M.Sc. and Ph.D. degrees in Computer
Science from McGill University in Montreal, Quebec, Canada. His thesis was in the area of interprocedural
analysis of object-oriented and aspect-oriented programming languages.
Since January 2006, he has been an assistant professor at the University of Waterloo. During his graduate
studies at McGill University, he was a maintainer of the Soot framework on which abc is built. He
was a member of the abc team from the beginning of the project, and continues to contribute.
Summary of Teaching Experience: Professor Lhot´ak has been a teaching assistant for courses on compilers,
as well as introductory computer science courses. At PLDI 2003 and CASCON 2003, he was one
of the presenters of a tutorial on the Soot framework.
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|
|