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