AJEER: an aspectJ-enabled eclipse runtime

  • Authors:
  • Martin Lippert

  • Affiliations:
  • University of Hamburg & it-wps GmbH, Germany

  • Venue:
  • OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

There are a number of technologies designed to improve modularity in software systems. The technique presented here combines two of them seamlessly to exploit their respective benefits: Eclipse plugins and AspectJ. The Eclipse runtime is based on the idea of plugins, enabling large systems to be built from smaller components. AspectJ is an AOP-enhanced version of the Java language that allows developers to modularize crosscutting concerns into aspects. While both technologies offer a number of interesting features, their seamless combination is not trivial. Several limitations make it impossible to exploit all the features of the combined technologies. AspectJ-Enabled Eclipse Runtime (AJEER) is designed to overcome these limitations. It integrates load-time weaving for AspectJ into the Eclipse runtime, thus allowing developers to implement aspects that modularize crosscutting concerns beyond the capability of individual plugins. In addition, the dynamic features of the OSGi-based Eclipse 3.0 runtime are preserved in this setting - making it possible to plug AspectJ aspects into and out of the running system dynamically.