OXFORD UNIVERSITY COMPUTING LABORATORY

Object Oriented Design


Reading List

The main text for the course are the slides and lecture notes:
  • Oege de Moor. Slides and lecture notes on refactoring, open classes and aspects. Summer 2004.
Supplementary reading, as referenced in the synopsis: (where necessary, copies of these will be made available during the course)
  • Andrew Eisenberg and Kris de Volder. JQuery: finding your way through tangled code. ACM conference on Aspect-oriented Software Development, AOSD 2004.
  • Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
  • Frank Tip, Adam Kiezun, Dirk Bšaumer. Refactoring for generalization using type constraints. OOPSLA 2003: 13-26
  • Curtis Clifton, Gary Leavens, Craig Chambers and Todd Millstein. MultiJava: Modular symmetric multiple dispatch and open classes for Java. OOPSLA 2000: 130-145.
  • Todd Millstein, Mark Reay, and Craig Chambers. Relaxed MultiJava: Balancing extensibility and modular typechecking. OOPSLA 2003: 224-240.
  • Roberto E. Lopez-Herrejon and Don Batory. Using AspectJ to Implement Product-Lines: A Case Study. Technical Report. Department of Computer Sciences. University of Texas at Austin. September 2002.
  • Aske Christensen, Laurie Hendren, Sascha Kuzins, Oege de Moor, and Ganesh Sittampalam. AspectJ Precisely. Draft book, 2004.
  • Ramnivas Laddad. AspectJ in action. Practical Aspect-oriented Programming. Manning 2003.
  • Dale Asberry. Using AspectJ to implement and enforce coding standards. http://www. daleasberry.com/newsletters/200210/20021002.shtml
  • Karl Lieberherr and Ian Holland. Assuring Good Style for Object-Oriented Programs. IEEE Software, September 1989, pages 38-48.
  • Karl J. Lieberherr, David H. Lorenz, Pengcheng Wu. A case for statically executable advice: checking the law of Demeter with AspectJ. AOSD 2003: 40-49
  • Mitch Wand, Gregor Kiczales and Christopher Dutchyn. A semantics for advice and dynamic join points in aspect-oriented programming. ACM TOPLAS, 2004 (to appear).
  • Bruno Dufour, Christopher Goard, Laurie Hendren, Clark Verbrugge, Oege de Moor and Ganesh Sittampalam. Measuring the Dynamic Behaviour of AspectJ Programs. OOPSLA 2004 (to appear).
About the software used in practicals:
  • Eclipse: http://eclipse.org
  • The Concern Manipulation Environment: http://www.eclipse.org/cme
  • The AspectJ language: http://eclipse.org/aspectj/
  • The abc compiler for AspectJ: (to be released, August 2004)
  • MultiJava: the MultiJava home page http://multijava.sourceforge.net (not compulsory)


[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News