[../../include_name.htm]
 

CPSC 539D : AOP & Middleware

Final Presentations: April 18, 2pm-4:30pm, Location (ICICS 238), Tuesday morning

Time and Place

Term 2, 2005-2006
Monday and Wednesday
2:00-3:30
DMP 201

Course Format (Slides)

Each class will be focused around the presentation and discussion of (usually) two research papers . Students are required to read both papers and submit a paper review for one of the two papers per class. Each paper will be presented by a student in a short (10-15 minute) informal slide presentation. After the presentations we will discuss both papers. Throughout the term students are required to complete a research project by implementing or extending a tool or middleware platform (see Term Project).

Paper Reviews

Students will submit a paper review for 1 paper per class. Presenting a paper counts as a paper review. Each review should be between 3/4 and 1 page. Reviews will be graded on a 0-2 point scale and returned the following day of class. In my experience, the easiest way to write a review will simply be to make notes as you read, rather than trying to write a review after having read the entire paper. No late paper reviews will be accepted.

Attendance

Attendance is required. You will not be able to submit paper reviews for classes which you did not attend. Exceptions will be made for students with documented medical excuses or academic related travel obligations.

Papers for Reading (More details TBD)

January 11th (Wed)

Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An overview of AspectJ (Paper Link). ECOOP 2001.

AOP Slides from first day of class

AspectJ Programming Guide

Jan 16 (Mon)

Lecture on middleware (Slides)
No paper review due

Jan 18 (Wed)

Gregor Kiczales and Mira Mezini.Separation of Concerns with Procedures, Annotations, Advice and Pointcuts. ECOOP 2005.

Charles Zhang and Hans-Arno Jacobsen. Quantifying aspects in middleware platforms. AOSD 2003.

Jan 23 (Mon)

Y. Smaragdakis and D. Batory. Implementing layered designs with mixin layers. In Proc. of the European Conference on Object-Oriented Programming, pages 550 570, 1998.

Chiba, S. A Metaobject Protocol for C++. In Proc. of OOPSLA, 1995.

Jan 25 (Wed)

AOP Does it make sense? The case of concurrency and failures. In Proc. of the European Conference on Object-Oriented Programming, 2002.

Just in Time Aspects. In Proc. of AOSD, 2003.

Jan 30 (Mon)

D. Batory., J. Sarvela, A. RauschmayerScaling Step-Wise Refinement. ICSE 2004.

Interoperability among Independently Evolving Web Services. Middleware 2004.

Feb 1 (Wed)

Nishizawa, M. et al. Remote Pointcut. AOSD 2004.

Hridesh Rajan and Kevin Sullivan Eos: Instance-Level Aspects for Integrated System Design. FSE 2003.

Feb 6 (Mon)

Mezini, Ostermann Conquering Aspects with Caeser. AOSD 2003.

Yvonne Coady, Gregor Kiczales, Mike Feeley and Greg Smolyn. Using AspectC to improve the modularity of path-specific customization in operating system code. FSE 2001.

Feb 8 (Wed)

Aspectizing Server-Side Distribution. ASE 2003.

Robert Walker and Gail Murphy. Implicit context: Easing software evolution and reuse. FSE 2000.

Feb 21 (Tue)

Jan Hanneman and Gregor KiczalesDesign Pattern Implementation in Java and AspectJ OOPSLA.

Allesandro Garcia et al. Modularizing design patterns with aspects: a quantitative study . AOSD 2005.

Feb 22 (Wed)

Martin Robillard and Gail MurphyConcern Graphs: finding and describing concerns using structural program dependencies ICSE 2002.

Model-View-Controller and Object Teams: A Perfect Match of Paradigms. AOSD 2003.

Feb 27 (Mon)

Optimising Java RMI Programs by Communication Restructuring
Kwok C. Yeung and Paul H.J. Kelly (Imperial College)

Towards Context-Aware Adaptable Web Services
M. Keidl, A. Kemper, Universität Passau

March 1 (Wed)

Jon Salz and Hari Balakrishnan. TESLA: A transparent, extensible session-layer architecture for end-to-end network services. USITS 2003.

D. Laferty and V. Cahill. Language-independent aspect-oriented program-
ming. (http://citeseer.ist.psu.edu/644656.html)


March 8 (Wed)

Causeway: Support for Controlling and Analyzing the Execution of Web-Accessible Applications
Anupam Chanda, Khaled Elmeleegy, Alan Cox, Willy Zwaenepoel

Flexible and Adaptive QoS Control for Distributed Real-time and Embedded Middleware
Richard Schantz, Joseph Loyall, Craig Rodrigues, Doug Schmidt, Y. Krishnamurthy and Irfan Pyarali


March 13 (Mon)

Association Aspects
Reusable Aspect-Oriented Implementations of Concurrency Patterns and Mechanisms


March 15 (Wed)

Pluggable AOP: Designing Aspect Mechanisms for Third-party Composition
Sergei Kojarski, David Lorenz
A concrete solution for web services adaptability using policies and aspects. International Conference On Service Oriented Computing 2004.


March 27 (Mon)

Towards a Catalog of Aspect-Oriented Refactorings
abc: Aspect Bench Compiler


April 3/5 (Mon/Wed)

AOP: Myths and Realities
Term Project

The purpose of the research project is to give students the opportunity to become familiar with AOP and/or middleware tools, languages, and platforms. Projects will be presented at the end of the term with a short motivating slide presentation and then a software demonstration. Submission of all source code and a 4-8 page report is required.

The instructor can give concrete suggestions for term projects and project guidance. However, since this is a research project and not simply a programming project, the responsibility ultimately falls on the students to design the scope of their individual projects. 

Grading (Updated April 17th)

Your grade will be the larger from these two options:

Option 1

Project Proposal: 10%
Project Update Report: 20%
Final Software Implementation and Report: 20%
Project Presentation: 30%
Paper Reviews: 20%

Option 2

Project Proposal: 20%
Project Update Report: 15%
Final Software Implementation and Report: 15%
Project Presentation: 30%
Paper Reviews: 20%