OOPSLA '97 Workshop on

Developing Successful Object-Oriented Frameworks

OOPSLA 97 -- Atlanta, GA

Todd Hansen, Steven Fraser, Craig Hilsenrath, and Bill Opdyke, organizers


Brian Foote

5 October 1997



Pearl Battery Skeleton (early 80s)

Smaltalk Battery Framework (86-87)

OSIRIS (91-)

SuperEgo (91-)

An object-oriented framework is

a collection of cooperating classes that together define a generic or template solution to a family of domain specific requirements.


Frameworks are often characterized by an inversion of control in which the framework plays the role of a main program in coordinating and sequencing application activity.


Frameworks embody design insight

Patterns tell us how to put our reusable pieces together and guide us when designing new ones


Abstract Classes, Frameworks, and Components are those pieces

They embody architectural insight


What lifecycle/people deployment practices work for people?



Brian Foote foote@cs.uiuc.edu