OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"AspectJ Tools - New and Noteworthy"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 


 : Tuesday Demonstrations : All Demonstrations : Tuesday

AspectJ Tools - New and Noteworthy

Courtyard, Demo room 4
Tuesday, 12:30, 45 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

This event is also being given Wednesday at 12:30.

Mik Kersten, University of British Columbia
Adrian Colyer, IBM

Demonstration number: 19

AspectJ is an aspect-oriented programming (AOP) extension to Java that can be used to modularize crosscutting concerns such as error-handling and security policies. AspectJ controls code-tangling and makes the underlying concerns more apparent, making programs easier to develop and maintain. Using only OOP techniques, code for these concerns is scattered and tangled throughout entire programs. While modern Java IDEs provide features for working with encapsulation and inheritance, the AspectJ tools make it easy to work with this crosscutting modularity.

The updated AspectJ development tools suite and Eclipse AJDT plug-in will be used to demonstrate new tool features including incremental building, bytecode weaving, crosscutting structure views, code assist, and debugger support. Some common crosscutting concerns of an existing object-oriented system will be mined and refactored into a modular aspect-oriented implementation. The tools will be demonstrated on an enterprise system, and new features for working with crosscutting in large systems will be shown. The integration of AspectJ into existing development processes will also be reviewed along with JBuilder, NetBeans, Emacs, and command-line tool support. Installation of the tools and project setup will demonstrate how easily AspectJ can be applied to existing Java systems. In addition, a preview of the next-generation AJDT plugin will show how advanced IDE features such as refactoring support will work in upcoming releases of AJDT.