demos
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: webmaster@aosd.net
|