CURRICULUM VITAE

 

Brian Foote

 

209 W. Iowa

Urbana, IL 61801

(217) 328-3523 (H/O)

 

Thursday, 6 September 2001

 

Educational History

 

1994- University of Illinois at Urbana-Champaign

Ph. D. (Computer Science, in progress)

1989-1994: University of Illinois at Urbana-Champaign

Graduate Study. (Computer Science)

1985-1988: University of Illinois at Urbana-Champaign

M.S. (Computer Science)

1972-1976: University of Illinois at Urbana-Champaign

B.S. (Computer Science/Psychology)

 

Employment History

 

1999 Senior Scientist

The Refactory, Inc.

1997-1998 Visiting Resarch Progammer

Dept. of Computer Science

University of Illinois at Urbana-Champaign

1991 President for Life, Brian Foote Enterprises, Inc.

1983-1997 Laboratory and Realtime Software Specialist

(Academic Professional)

Cognitive Psychophysiology Laboratory

University of Illinois at Urbana-Champaign

1979-1983 Senior Systems/Research Programmer

Cognitive Psychophysiology Laboratory

University of Illinois at Urbana-Champaign

1977-1979 Research Assistant/Programmer

Cognitive Psychophysiology Laboratory

University of Illinois at Urbana-Champaign

 

Teaching Experience

 

Design Patterns in Java

Caterpillar, Inc., Peoria, IL

April, 2001

 

Industrial Logic Design Patterns Workshop

Sun Microsystems, New York, NY

November, 2000

 

Industrial Logic Design Patterns Workshop

Chesapeake Technologies

September, 2000

 

Industrial Logic Design Patterns Workshop

Chesapeake Technologies

July, 2000

 

Design Patterns in Java

Caterpillar, Inc., Peoria, IL

July, 2000

 

Industrial Logic Design Patterns Workshop

Siemens, Boca Raton, FL

June, 2000

 

Writing Patterns

Lucent Technologies, Naperville, IL, 8 December 1999

 

Writing Patterns

Lucent Technologies, Holmdel, NJ, 7 September 1999

 

Tutorial: Design Patterns

Comdex Enterprise 98, San Francisco, CA, 9 September 1998

 

Design Patterns in Java

Caterpillar, Inc., Peoria, IL

24-27 August, 1998

 

Tutorial: Design Patterns

Object World West 97, San Francisco, CA, 21 July, 1997

 

Design Patterns in Smalltalk

Ralston-Purina, Inc.

9-11 June, 1998

 

Tutorial: Design Patterns

Object World East 97, Boston, MA., 3 March, 1997

 

Design Patterns

Illinois Software Summer School

University of Illinois at Urbana-Champaign

20-22 July, 1996

 

Laboratory Programming in C++

Psychology 496, Spring 1993

University of Illinois at Urbana-Champaign

 

Laboratory Programming in C

Psychology 496, Spring 1989

University of Illinois at Urbana-Champaign

 

The Computer as a Laboratory Instrument

Psychology/Computer Science 301, Fall, 1985

University of Illinois at Urbana-Champaign

 

Publications and Presentations

 

Brian Foote and Laura Hill
Programming at the Edge of Chaos: The Emergence of eXtreme Programming
XP 2000, Caligari, Sardinia, 21-23 June 2000
(Extended Abstract, Accepted but Undelivered)

 

Neil Harrison, Brian Foote, and Hans Rohnert, editors

Pattern Languages of Program Design 4

Software Patterns Series

Addison-Wesley Longman, Winter 2000

 

Brian Foote

Smalltalk Patterns Safari

Tutorial, Smalltalk Soltutions 99, New York, NY

 

Brian Foote and Joseph Yoder

Metadata and Active Object-Models

Workshop on Metadata and Active Object-Models

OOPSLA '98, Vancouver, Canada

Sunday, 18 October 1998

Joseph Yoder, Brian Foote, Dirk Riehle, and Michel Tilman, organizers

 

Brian Foote

An Object-Oriented Framework

for Reflective Metalevel Architectures

Doctoral Dissertation, in progress. (Advisor: Ralph E. Johnson)

Dept. of Computer Science

University of Illinois at Urbana-Champaign

 

Brian Foote

Reflective Programming in Smalltalk

Tutorial, Smalltalk Soltutions 98, New York, NY

 

Brian Foote and Don Roberts

Lingua Franca

Firth Conference on Pattern Languages of Programs (PLOP '98)

Monticello, Illinois, August, 1998

 

John Brant, Brian Foote, Ralph E. Johnson, and Donald Roberts

Wrappers to the Rescue

Proceedings of the 12th European Conferences on Object-Oriented Programming (ECOOP '98)

Brussels, Belgium, 20-24 July 1998

 

Brian Foote and Joseph Yoder

Metadata and Active Object-Models

Firth Conference on Pattern Languages of Programs (PLOP '98)

Monticello, Illinois, August, 1998

 

Brian Foote and Joseph Yoder

The Selfish Class

Pattern Languages of Program Design

Robert Martin, Dirk Riehle, and Frank Buschmann, editors

Addison-Wesley, 1998

 

Brian Foote

Confessions of a Framwork Zealot

Workshop on Developing Successful Object-Oriented Frameworks

OOPSLA 97, Atlanta, GA

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

 

Brian Foote and Joseph Yoder

Big Ball of Mud

Fourth Conference on Pattern Languages of Programs (PLOP '97)

Monticello, Illinois, September, 1997

 

Brian Foote and Joseph Yoder

Attracting Reuse/The Selfish Class

Third Conference on Pattern Languages of Programs (PLOP '96)

Monticello, Illinois, September, 1996

 

Brian Foote

An Objective Look at Subjectivity

Workshop on Subjectivity in Object-Oriented Programming

William Harrison, Harold Ossher, and Hafedh Mili, organizers

OOPSLA 95, Austin, TX

 

Brian Foote

Process and Predicability in an Age of Reuse

(Leave the Predictions to Jean Dixon)

Workshop on OO Process and Metric for Effort Estimation

15 October, 1995

Dennis de Champeaux, Simon Horner, and Granville Miller, organizers

OOPSLA 95, Austin, TX

 

Brian Foote and Joseph Yoder

Evolution, Architecture, and Metamorphosis

Second Conference on Pattern Languages of Programs (PLOP '95)

Monticello, Illinois, September, 1995

Pattern Languages of Programs Design 2

John M. Vlissides, James O. Coplien, and Norman L. Kerth, editors

Addison-Wesley, 1996

 

Brian Foote

Where Do Reusable Objects Come From?

Presentation, Software Engineering Summer School

Illinois State University, Normal, IL

June, 1995, Billy Lim, organizer

 

Brian Foote

Reflection as a Basis for Subjectivity

Workshop on Subjectivity in Object-Oriented Programming

William Harrison, Harold Ossher,

Randall B. Smith, and David Ungar, organizers

OOPSLA 94, Portland, OR

 

Brian Foote and William F. Opdyke.

Life Cycle and Refactoring Patterns that

Support Evolution and Reuse

First Conference on Pattern Languages of Programs (PLOP '94)

Monticello, Illinois, August, 1994.

Pattern Languages of Program Design

James O. Coplien and Douglas C. Schmidt, editors

Addison-Wesley, 1995.

 

Brian Foote

Object-Oriented Reflection and Metalevel Architectures

Workshop Report

OOPSLA 93 Addendum to the Proceedings, pages 123-126

OOPS Messenger Volume 5, Number 2, April 1994

 

Brian Foote

A Fractal Model of the Lifecyle of Reusable Objects (abstract)

Workshop on Process Standards and Iteration

OOPSLA '93 Washington, DC

Jim Coplein, Russel Winder, and Susan Hutz, organizers

 

Brian Foote

Architectural Balkanization in the Post-Linguistic Era

Workshop on Object-Oriented Reflection and Metalevel Architectures

OOPSLA '93 Washington, DC

Brian Foote, chair

Pierre Cointe, Dan Friedman, Jacques Malenfant,

Dave Thomas, and Yasuhiko Yokote, organizers

 

Brian Foote

Objects, Reflection, and Open Languages (abstract)

IMSA 1992 Workshop on Reflection and Metalevel Architectures

Tokyo, Japan

Akinori Yonezawa and Brian C. Smith, editors

 

Brian Foote

Living Languages

Workshop on Progamming Languages: The Next Generation

OOPSLA '92, Vancouver, British Columbia, Canada

Mamdouh Ibrahim, chair

 

Brian Foote

Objects, Reflection, and Open Languages

Workshop on Object-Oriented Reflection and Metalevel Architectures

ECOOP '92 Utrecht, The Netherlands

Brian Foote, chair

Satoshi Matsuoka, Pierre Cointe, organizers

Mamdouh Ibrahim, Gregor Kiczales, advisors

 

Designing Reusable Classes

Ralph E. Johnson and Brian Foote

Ruben Prieto-Diaz and Guillermo Arango

Domain Analysis and Software Systems Modeling

(IEEE Computer Society Press Tutorial)

IEEE Computer Society Press, Los Alamitos, CA

May 1991, 299 p.

ISBN: 081868996X (case), 0818659963 (mf)

 

Brian Foote

Flexible Foundations and Movable Walls

Workshop on Reflection and Metalevel Architectures

OOPSLA '91, Phoenix, AZ

Mamdouh Ibrahim, Brian Foote, Pierre Cointe, Gregor Kiczales,

Satoshi Matsuoka, and Takuo Watanabe, organizers

 

Brian Foote

A Fractal Model of the Lifecyle of Reusable Objects

Workshop on Reuse

OOPSLA '91, Phoenix, AZ

Rebecca Joos and John D. McGregor, organizers

 

Brian Foote

Object-Oriented Reflective Metalevel Architectures: Pyrite or Panacea?

Workshop on Reflection and Metalevel Architectures

OOPSLA/ECOOP '90, Ottawa, Ontario, Canada

Mamdouh Ibrahim, Brian Foote, Jean-Pierre Briot, Gregor Kiczales,

Satoshi Matsuoka, and Takuo Watanabe, organizers

 

Brian Foote

The Craftsmen vs. the Scavengers:

The Ruminations of a Foot Soldier on the Reuse Revolution

Workshop on the Reusable Component Marketplace

OOPSLA '89 New Orleans, LA

John T. Mason, organizer

 

Brian Foote

Class Warfare: Classes vs. Prototypes

Workshop on Objects Without Classes

OOPSLA '89 New Orleans, LA

David Ungar, organizer

 

Brian Foote and Ralph E. Johnson

Reflective Facilities in Smalltalk-80

OOPSLA '89, New Orleans, LA

October 1-6 1989 pages 327-335

SIGPLAN Notices, Volume 24, Number 10, October 1989

 

Brian Foote

Reflective Facilities in Smalltalk-80

Presentation to the Spring 1989 Meeting of the

Midwest Association for Programming Languages and Systems (MAPLAS)

University of Wisconsin, Madison, WI

 

Brian Foote

Domain Specific Frameworks Emerge as a System Evolves

Workshop on Methodologies and Object-Oriented Programming

OOPSLA '88, San Diego, CA

Norman L. Kerth, organizer

 

Brian Foote

Designing Reusable Realtime Frameworks

Workshop on Realtime Systems

OOPSLA '88 San Diego, CA

John Gilbert, organizer

 

Ralph E. Johnson and Brian Foote

Designing Reusable Classes

Journal of Object-Oriented Programming

Volume 1, Number 2, June/July 1988

pages 22-35

 

Brian Foote

Designing to Facilitate Change with Object-Oriented Frameworks

Masters Thesis, 1988 (Advisor: Ralph E. Johnson)

Department of Computer Science

University of Illinois at Urbana-Champaign

 

Earle Heffley, Brian Foote, Tony Mui, and Emanuel Donchin

The Pearl II System Hardware and Software

Behavioral Toxicology and Teratology, 1985

 

Brian Foote

Pearl II System Subroutine Manual

CPL Technical Report, 1985

University of Illinois at Urbana-Champaign

 

Brian Foote

ZAP Z8000 Cross-Assembler Reference Manual

Supersoft, Inc., 1984

 

Brian Foote, Earle Heffley, and R. Michael Anderson

The Pearl II System (Presentation and Workshop)

Convention of the Human Factors Society, Norfolk, VA, 1984

 

Object-Oriented Programming Languages

 

1984- Object Pascal/Classcal (Apple Lisa Toolkit)

1985- Smalltalk-80 (Berkeley, Apple Lisa/Mac, ParcPlace, VisualWorks, Digitalk, IBM/VA)

1987- C++ (cfront, MPW, IBM AIX C++, DOS/Windows (MS, Borland, Zortech, Symantec)

1989- Common Lisp/CLOS (PCL, Franz Allegro, Mac)

1990 Objective-C (NextSTEP)

1995- Java

 

Object-Oriented Frameworks

 

Lisa Toolkit, MVC, MacApp, OWL, MFC, AWT, JFC

 

Professional Organizations

 

1979-present IEEE Computer Society

1977-present Association for Computing Machinery

1977-present SIGPLAN

 

Professional Activities

 

2002 Panels Chair, OOPSLA 2002, Seattle, WA

2001 Invited Speaker, NetObject Days, Erfurt, Germany

2001 Panel Organizer, OO Survivor, Tampa Bay, FL

2001 Program Committee Member, OOPSLA 2001, Tampa Bay, FL

2001 Workshop Organizer, Metadata and Adaptive Object Models, Smalltalk Solutions 2001

2000 Hillside Group, Fall Retreat, Minneapolis

2000 Panel Organizer, Worse-is-Better, OOPSLA2K, Minneapolis

2000 Workshop Organizer, Pattern Refactoring, OOPSLA2K, Minneapolis

2000 OOPSLA Tutorial Committee, OOPSLA2K, Minneapolis

2000 TOOLS Europe Program Committee

1999 Workshop Organizer, Metadata and Active Object-Models, OOPSLA 99, Denver

1999 Workshop Organizer, System Envisioning, OOPSLA 99, Denver

1999 Panel Organizer, The Show Trial of the Gang of Four, OOPSLA 99, Denver

1999 Program Committee Member, PLoP 99, Monticello

1998 Workshop Organizer, Metadata and Active Object-Models, OOPSLA 98, Vancouver

1999 Program Committee Member, PLoP 98, Monticello

1998-1999 Editor, Pattern Languages of Program Design 4, Addison-Wesley Longman

1997                            Program Committee Member, PLoP 97, Monticello

1996-1999 UIUC Patterns/Software Architecture Group Coordinator

1996 Conference Chair, PLoP 96, Monticello

1996 Program Committee Member, Reflection 96, San Francisco

1996 Local Arrangements Chair, Reflection 96, San Francisco

1995 Local Arrangements Chair, PLoP 95, Monticello

1994                            Registration Coordinator, PLoP 94, Monticello

1993-present UIUC Patterns/Software Architecture Group Member

1993 Assistant to the Program Chair, OOPSLA 93, Washington

1993 Workshop Chair, Reflection and Metalevel Architectures, OOPSLA 93, Washington

1992 Workshop Chair, Reflection and Metalevel Architectures, ECOOP 92, Utrecht

1991 Workshop Organizer, Reflection and Metalevel Architectures, OOPSLA 91, Phoenix

1990 Workshop Organizer, Reflection and Metalevel Arch., OOPSLA/ECOOP 90, Ottawa

1986-2002 Participant, OOPSLA I-XVII

 

Consulting History

 

2000 Arthur Andersen, ePatterns (Patterns and e-Commerce) Workshop Mentor

1999- Illinois Dept. of Public Health (Smalltalk)

1999- Lucent, Patterns Course Development

1997-1998 Editor, Addison-Wesley Technology Exchange Co.

1994- University of Northern Colorado

1994- Queens College, Queens, NY

1991-1993 HBRL Inc., Potomac, MD

1985 University of Maryland, Baltimore, MD

1984 University of Manchester, Manchester, England

1984 Technion, Haifa, Israel

1984 NASA Langley Research Center, Langley, VA

1984-1988 ARD Corporation, Columbia, MD

1983-1985 National Institutes of Health, Bethesda, MD

1983-1991 Medical College of Pennsylvania, Philadelphia, PA

1983-1989 University of Connecticut Health Center, Fairfield, CT

1981-1989 SuperSoft, Inc., Sunnyvale, CA

1979 Stanford University/Palo Alto VA Hospital, CA