Tentative Schedule

 

The following is an outline of the schedule for this course. Because this is the first time that this course has been offered, 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 22

Course Introduction

 

Quiz

 

August 27

Computational and Object Reflection

[Smith, 1984]

[Maes, 1987]

 

 

August 29

Java Reflection

[Liang and Bracha, 1998]

Java Reflection API

 

Quiz

September 3

Java Extensions

[Kniesel et al., 2001]

[Tatsubori et al., 2000]

 

 

September 5

OpenC++

[Baker and Hsieh, 2002]

[Chiba, 1995]

[Kiczales et al., 1993]

 

Quiz

September 10

OpenC++

MetaProgramming

[Lee and Zachary, 1995]

 

In Class:

[Hobatr & Malloy, 2000]

 

 

September 12

MetaProgramming

Static Metaprogramming

[Veldhuizen, 1995]

Quiz

HW 1 Assigned

 

September 17

Separation of Concerns

AOSD

 

AspectJ Intro

 

[Parnas, 1972]

[Kiczales et al., 1997]

[Filman and Friedman, 2000]

 

 

September 19

AspectJ

[Kiczales et al., 2001a]

[Kiczales et al., 2001b] [Coady et al., 2001a]

 

Quiz

September 24

AspectJ

[Lippert & Lopes, 2000]

[Walker et al., 1999]

[Murphy et al., 2001]

 

 

September 26

HyperJ

[Ossher et al., 1996]

[Ossher and Tarr, 2001]

[Tarr et al., 1999]

 

Quiz

 

October 1

Open Implementations

[Kiczales, 1996]

Video by Gregor Kiczales

HW 1 Due

 

October 3

Demeter

[Lieberherr & Holland, 1989]

[Ovlinger and Wand, 1999]

[Lieberherr et al., 2001]

 

 

October 8

Composition Filters

 

Composition Patterns

 

 

AODM

 

[Bergmans and Aksit, 2001]

 

[Clarke et al., 1999]

[Clarke and Walker, 2001]

 

[Gray et al., 2001]

 

HW 2 Assigned

October 10

Modeling Intro

UML

OCL

MOF metamodeling

 

 

 

TBA

Quiz

October 15

MIC Motivation

 

GME Intro

[Karsai, 1995]

[Long et al., 1998]

[Sztipanovits & Karsai, 1997]

[Sztipanovits et al., 1998]

 

 

October 17

MIC

 

GME Metamodeling

 

[Lédeczi et al., 2001]

[Nordstrom et al., 1999]

 

Quiz

 

 

October 22

MIC

 

GME Metamodeling

 

[Milicev, 2002]

HW 2 Due

 

 

October 24

MIC

 

Interpreter Writing

 

n/a

Quiz

 

October 29

MIC

 

Interpreter Writing

 

n/a

 

 

October 31

MIC

 

n/a

Midterm review

 

November 5

Midterm Exam

 

 

 

November 7

Early AOP

 

 

Intentional Programming

 

 

 

[Simonyi, 1996]

 

Video by Gregor Kiczales

 

IP Video

November 12

Other Metamodeling Tools:

 

MetaCASE

DOME

UMLaut

 

 

 

[Pohjonen and Kelly, 2002]

[Ho et al., 2002]

HW 3 Assigned

November 14

Adaptive Reflective Middleware

[Wang et al., 200]

CACM special issue

[Schmidt et al., 2001]

 

Quiz

November 19

Adaptive Reflective Middleware

[Kon et al., 2000]

[Astley et al., 2001]

 

 

November 21

Adaptive Middleware: QuO

[Karr et al., 2001]

[Loyall et al., 2002]

 

Quiz

November 26

Adaptive Middleware: BoldStroke

[Hunleth et al., 2001]

[Sharp, 1998]

 

HW 3 Due

November 28

No Class

Thanksgiving

 

 

December 3

Adaptive Reflective Middleware

[Filman et al., 2002]

Java Beans paper- TBA

.NET Reflection - TBA

 

 

December 5

Frameworks

Open (Reflective) Development Environments

[Johnson, 1997]

Quiz

Eclipse

Open Tools API

 

December 7-13

Final Exam