Sunday, Morning
Putting Metaclasses to Work
Convention Ctr – 205D
Ira Forman, IBM

This tutorial’s purpose is to demystify metaclasses and demonstrate a theory of how they can be used to increase productivity and reusability in object-oriented programming. The tutorial starts from first principles to construct an object model that is class-based (every object has a class) with first-class classes (every class is an object). After the object model is established, we introduce a metaobject protocol for manipulating the model. The metaobject protocol supports a new dimension for inheritance: inheritance of metaclass constraints. Based on this, we describe facilities required for composable metaclasses, that is, how a metaclass imparts to its instances the composite properties of its ancestor metaclasses. We conclude by demonstrating a number of useful metaclasses that do compose with each other.

The attendee will attain an understanding of why metaclasses are a natural extension of object-oriented programming, how an object model with metaclasses can be easily programmed, how to construct a metaobject protocol, how metaclasses are composed, and what are some useful composable metaclasses.

Presentation Format: Presentation.

Attendee Background: The tutorial is intended for programmers who have a good understanding of object-oriented programming. Although the tutorial defines “class,” “method,” “inheritance,” etc., the tutorial is definitely an advanced course and one has to know the basics.

Dr. Ira R. Forman works for IBM in Austin. As a member of IBM’s Object Technology Products Group, which produced the SOMobjects Toolkit, he worked on the SOM Metaclass Framework. He started working in the area of object-oriented programming in 1984, when he worked at ITT Programming Technology Center. Forman received his Ph.D. in Computer Science from the University of Maryland, where he studied under Harlan Mills. Forman’s specialties are object-oriented distributed systems and object composition. He is the coauthor of two books: “Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming” and “Putting Metaclasses to Work: A New Dimension in Object-Oriented Programming.”

at a Glance
Tutorials by Track
Full Description
of all Tutorials
Final Program

 OOPSLA'98 Home