Date
|
Topic
|
Paper(s)
|
Presenter
|
Slides
|
Sept 13
|
Introduction/Just Enough Type Theory
|
Featherweight Java: A Core Calculus for Java and GJ (first 11 pages)
|
Aldrich
|
intro.ppt fj.ppt
|
Advanced Object-Oriented Constructs
|
|
Sept 15
|
Prototypes
|
Self:
the Power of Simplicity |
Aldrich
|
self.ppt
|
Sept 20
|
Multi-methods
|
Object-Oriented
Multi-Methods in Cecil |
Bierhoff
|
multi-methods.ppt
|
Sept 22
|
OO & Functional PLs
|
Modular
Typechecking for Hierarchically Extensible Datatypes and Functions |
Reed
|
eml-talk.ppt
|
Sept 27
|
Mixins
|
Modular Object-Oriented Programming
with Units and Mixins |
Licata
|
unix-mixins.ppt
|
Sept 29
|
The Scala Language
|
Read one of the Scala overview, introduction, or browse the web site
|
Malayeri
|
scala.ppt
|
Object-Oriented Type Systems
|
Oct 4
|
F-Bounded Polymorphism
|
Constraint-Based
Polymorphism in Cecil: Towards a Practical and Static Type System |
Licata
|
(none-blackboard presentation)
|
Oct 6
|
Family Polymorphism and Nested Inheritance
|
Read either Family
Polymorphism or Scalable Extensibility via Nested Inheritance |
Voronenko
|
family-polymorphism.ppt
|
Oct 11
|
Typestate
|
Typestates
for Objects |
Abi-Antoun
|
typestates.ppt
|
Oct 13
|
Ownership
|
Ownership Domains:
Separating Aliasing Policy from Mechanism
|
Krishnaswami
|
ownership.pdf
|
Oct 18
|
Comparison of Techniques
|
(none)
|
Aldrich
|
part-one-discussion.ppt
|
Oct 20
|
OCaml - Row Polymorphism
|
A Polymorphic Type System for Extensible Records and Variants
|
Krishnaswami
|
rows.pdf
|
Oct 22
|
Data Groups
|
Using
Data Groups to Specify and Check Side Effects |
Aldrich
|
data-groups.ppt
|
Oct
25-Nov 5: No class - OOPSLA and FSE
|
Aspect-Oriented Programming
|
Nov 8
|
AspectJ
|
An
Overview of AspectJ |
Hauert
|
aspectj.ppt
|
Nov 10
|
CaesarJ
|
Variability Management with Feature-Oriented Programming and Aspects |
Rister
|
caesar.pdf
|
Nov 12
|
Hyper/J
|
Separating Features in Source Code: An Exploratory Study
|
Fairbanks
|
hyperj.ppt
|
Nov 15
|
Aspects in Practice |
Large-Scale AOSD for Middleware |
Jabes
|
aop-middleware.ppt
|
Nov 17
|
Aspect-Aware Interfaces |
(to be distributed in class)
|
Berendeyev
|
aop-interfaces.ppt
|
Nov 22
|
Modular Analysis for Aspects |
Verifying Aspect Advice Modularly
|
Licata
|
(none-blackboard presentation)
|
Nov 24: No
class - Thanksgiving holiday
|
Nov 29
|
Modules for Aspects
|
A Formal Model of Modularity in Aspect-Oriented Programming
|
Aldrich
|
open-modules.ppt
|
Dec 1
|
AOP in evolving OS code
|
Using AspectC to Improve the Modularity of Path-Specific Customization in Operating System Code
|
Hauert
|
AspectC.ppt
|
Dec 6
|
Verifying Object Invariants
|
Object Invariants in Dynamic Contexts
|
Aldrich
|
object-invariants.ppt
|
|
Dec 8
|
Wrap-up
|
|
Aldrich
|
|