Tentative Schedule

 

The following is an outline of the schedule for this course. The schedule itself may need to be somewhat “adaptive” (i.e., some papers may be dropped from the list at a later time due to lack of time, or other papers may be added in the event new papers are published during the course of the semester).

 

Date

Topic

Readings

Remarks

August 21

Course Introduction

 

 

 

 

Reflection Quarter

 

 

 

August 26

 

 

Computational and Object Reflection

[Smith, 1984]

[Maes, 1987]

 

 

August 28

Java Reflection

[Liang and Bracha, 1998]

Java Reflection API

 

Quiz 1

September 2

OpenC++

OpenJava

 

[Chiba, 1995]

[Tatsubori et al., 2000]

 

 

September 4

Meta-objects

Static Metaprogramming

[Kiczales et al., 1993]

[Veldhuizen, 1995]

 

Quiz 2

[Lee/Zachary, 1995]

 

September 9

Bytecode Manipulation

JMangler

 

[Kniesel et al., 2001]

 

September 11

 

JavaAssist

 

[Chiba, 2000]

 

Quiz 3

HW 1 Assigned

 

 

 

 

AOSD Quarter

 

 

 

September 16

 

Separation of Concerns

AOSD

 

AspectJ Intro

 

[Kiczales et al., 1997]

[Filman/Friedman, 2000]

[Parnas, 1972]

 

September 18

 

Benefits of AOSD

[Lippert/Lopes, 2000]

[Coady/Kiczales, 2003]

 

Quiz 4

 

September 23

 

At GPCE

In Germany

 

Industry examples of reflection usage

 

Guest Lecture:

Arvind Chavar (SunGard)

September 25

 

At GPCE

In Germany

Early AOP

 

 

Intentional Programming

 

Gregor AOP Video

 

IP Video

 

Quiz 5

 

September 30

AspectJ

[Kiczales et al., 2001]

 

[Walker et al., 1999]

[Murphy et al., 2001]

 

HW 1 Due

 

October 2

AspectJ

 

Quiz 6

 

October 7

 

AspectJ Lab Exercises

AOSD Foundations

 

[Masuhara/Kiczales, 03]

 

 

October 9

 

DemeterJ

[Lieberherr et al., 2001]

[Shonle et al., 2003]

 

Quiz 7

HW 2 Assigned

October 14

HyperJ/CME

Composition Filters

[Tarr et al., 1999]

[Ossher/Tarr, 2001]

 

[Bergmans/Aksit, 01]

 

October 16

Dynamic weaving for

Java and .Net

 

[Popovici, 2003]

[Lafferty/Cahill, 2003]

Quiz 8

 

October 21

 

At UML

San Francisco

 

 

 

Mid-term Exam

 

 


October 23

 

At UML

San Francisco

 

Open Implementations

[Kiczales, 1996]

Video by Gregor Kiczales

 


 

October 28

 

At OOPSLA

Anaheim

 

Modeling Intro

UML

OCL

MOF metamodeling

Composition Patterns

 

[Clarke/Walker, 2001]

 

 

October 30

 

At OOPSLA

Anaheim

 

JBoss

DADO

TBA

[Wohlstadter et al., 2003]

 

 

 

 

 

 

MIC Quarter

 

 

 

November 4

MIC Motivation

 

GME Intro

[Karsai, 1995]

[Long et al., 1998]

[Sztipanovits/Karsai, 97]

[Sztipanovits et al., 1998]

 

HW 2 Due

November 6

MIC

AODM

 

[Gray et al., 2001]

[Batory, 2003]

Quiz 9

HW 3 Assigned

 

November 11

GME Metamodeling

 

[Lédeczi et al., 2001]

[Nordstrom et al., 1999]

 

 

 

November 13

GME Metamodeling (Lab)

 

 

 

 

November 18

GME Interpreter Writing

 

 

Quiz 10

November 20

GME Interpreter Writing (Lab)

 

 

 

 

 

Adaptive Middleware Quarter

 

 

 

November 25

Motivation

[Wang et al., 2000]

CACM special issue

[Schmidt et al., 2001]

 

Quiz 11

 

November 27

Thanksgiving

 

No class

 

December 2

Adaptive Middleware: QuO

 

[Karr et al., 2001]

[Loyall et al., 2002]

 

 

December 4

Adaptive Middleware:

Bold Stroke

[Sharp, 1998]

[Pratap/Cytron, 2003]

 

HW 3 Due

[Zhang/Jacobsen, 03]

Zen

December 7-13

Final Exam