Spring 2002 - Michael Elhadad

Explorations of Aspect Oriented Programming - Spring 2002

This seminar (2 credits) focuses on the exploration of a new approach to programming called Aspect Oriented Programming (AOP). The seminar will involve presenting papers and short exploratory programming assignments.

Objectives

The objectives of the seminar are:
  1. Learn the motivation for AOP (separation of concern, modularization of crosscutting aspects, aspectual recomposition).
  2. Get practical experience with existing AOP tools (AspectJ, JAC)
  3. Learn about underlying techniques making AOP possible - including compile-time extensions (AspectJ), generic programming, development tools (AspectJ), runtime meta-programming (MOP: OpenJava, JavaAssist, OpenC++).

Lectures

  1. Introduction to AOP: motivation, starting points. Overview of AspectJ.
  2. JAC Java Aspect Components (Yuval Nir and Limor Lahiani)
  3. AOP in Python (Miki Tebeka)
  4. JavAssist (Lior and Olga)
  5. OpenJava:
  6. AOP in Scheme
  7. JSE (Java Syntax Expander) and JTS (Jakarta Tool Suite)
  8. AOP for GUI and Publish/Subscribe programming
  9. AOP and CORBA

Assignments

Resources

  1. Aspect Oriented Programming portal
  2. AspectJ
  3. OpenJava
  4. Aspect C
  5. AMT
  6. Composition Filters

Last modified 14 Apr 2002 Michael Elhadad