Proceedings

A Uniform Model for Object-Oriented Languages Using the Class Abstraction

Download BibTeX Cite

Proceedings of the Tenth International Joint Conference on Artificial Intelligence. Architectures and Languages. Pages 40-42.

© 1987 International Joint Conferences on Artificial Intelligence

Abstract

One of the main goals of object-oriented languages is to unify their universe: "every entity of the language is an object." The class concept, however, usually does not follow this wish: a class being not a real object, i.e., created from a class. The metaclass concept introduced in Smalltalk80, attempts to give classes a first class citizenship but complicates the instantiation scheme without solving its fundamental limitations: the only partial specification of the class at the metaclass level, and the fixed number of meta-levels. Some more recent approaches, as in Loops and then CommonLoops, tend towards a better unification, but reveal the same limitations. We propose to go one step further and present an ultimate new model for an optimal simplification of the class/object concept, while keeping the class abstraction. In this model, implemented by ObjVlisp 1 , every object is an instance of a class, and a class is a true object fully specified at the meta-level. A metaclass is a true class inheriting from another one. Because . ObjVlisp is built on a reflective architecture; the user has uniform access and .control to all the levels of the language: class level, metaclass level. .. He can add new levels and the metaclass links can be created indefinitely. Finally, we suggest to clarify the Smalltalk terminology with a new definition for class variables: the instance variables of a class - treated as an object - become the class variables of this class, explicitly expressed at the metaclass level.

  1. Bobrow, D.G., Stefik , M., The LOOPS Manual, Xerox PARC, Palo Alto CA, USA, December 1983.
  2. Berning A., O'Shea, A., DeltaTalk: An Empirically and Aesthetical Motivated Simplification of the Smalltalk-80 Language, ECOOP'87, to appear in Springer Verlag, P. Cointe & H. Lieberman ed. , Paris, France, 15-17 June 1987.
  3. Briot, J-P., Cointe, P., The ObjVlisp Model: Definition of a Uniform, Reflexive and Extensible Object-Oriented Lan- guage, ECA/'86, pp. 270-277, Brighton, UK, 21-25 June 1986.
  4. Cardelli, L., A Semantics of Multiple Inheritance, Bell Lab- oratories, Murray Hill NJ, USA, 1984.
  5. Cointe, P., The ObjVlisp Kernel: A Reflective Lisp Archi- tecture to Define a Uniform Object-Oriented System, Proc. of the Workshop on Meta-Level Architectures and Reflec- tion, to appear in North Holland, P. Maes & D. Nardi ed., Alghero, Italy, 27-30 October 1986.
  6. Dahl, 0., Myhrhaug, B., Nygaard, K., Simula-67 Com- mon Base Language, SIMULA information, S-££, Norve- gian Computing Center, Oslo, Norway, October 1970.
  7. Goldberg, A., Kay, A., Smalltalk-72 Instruction Manual, Research Report SSL 76-6, Xerox PARC, Palo Alto CA, USA, March 1976.
  8. Goldberg, A., Robson , D., Smalltalk-80-The Language and its Implementation, Addison-Wesley, Reading MA, USA, 1983.
  9. Ingalls, D.H., The Smalltalk-76 Programming System De- sign and Implementation, 5th ACM Symposium on POPL, pp. 9-15, Tucson AZ, USA, January 1978.
  10. Krasner, G., Smalltalk-80-Bits of History-Words of Ad- vice, Addison-Wesley, Reading MA, USA, 1983.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards