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 |
|
|