AOSD Conference  
Program Overview
Technical Program
Student Extravaganza
Social Events
Technical Papers
Practitioner Reports
Student Extravaganza
Places to Eat
Internet Access
Lancaster & Lake District Photos

An AspectJ-enabled Eclipse Runtime Engine

Martin Lippert, University of Hamburg

Thursday, March 25, 11:00
Friday, March 26, 11:30

The Eclipse system can be used for different purposes. Where most developers use the Eclipse Java Tooling as an IDE, the Core Runtime Platform can be used as a framework or platform for general applications. It provides a basic runtime infrastructure that allows designing and implementing applications as combinations of plugins and extensions. The base plugin infrastructure is almost independent of any IDE-specific concepts. A goal of the version 3.0 of the Eclipse system is to improve this independence even further. Aside of the Eclipse plugin technology another interesting enhancement to the Java world is aspect-oriented programming using AspectJ. It allows you to modularize crosscutting concerns within aspects.

But what happens if you try to combine these two worlds (develop applications using the Eclipse plugin technology and AspectJ in combination)? Wouldn't it be nice to develop a logging aspect, for example, as a single plugin? It would allow you to develop aspects that modularize crosscutting concerns across plugin boundaries. This demonstration presents an enhanced version of the Eclipse Core Runtime Platform that integrates load-time weaving functionality for the AspectJ language into the Eclipse runtime. The enhanced runtime allows you to stick aspects via plugins into your system without the need for recompilation across plugin boundaries. Because the implementation of the AspectJ-enabled version of the runtime is backward compatible with the standard Eclipse runtime you can run any Eclipse applications or plugins on top of it, even the complete Eclipse Java IDE. It allows you to enhance existing Eclipse projects using the AspectJ programming language. Attendees of the demonstration will see the running system (based on the new OSGi-based runtime of Eclipse), example plugins and how it can be used. The implementation of the enhanced Eclipse runtime in the current version will be described as well.

Edited by the AOSD Conference Committee.  Send comments to: