[comp.object] Object Specialization

wtwolfe@hubcap.clemson.edu (Bill Wolfe) (03/15/90)

  An interesting paper entitled "Object Specialization" appears in
  ACM Transactions on Information Systems, April 1989, pages 103-122;
  it combines the efficiency of class-based systems with the flexibility
  of prototype-based systems, and provides an elegant solution to the 
  problem of "intersection classes" which eliminates the need for (and
  the desirability of) multiple inheritance.  Additionally, it provides
  an elegant way to model different perspectives on (or implementations
  of) a single real-world entity -- for example, a person's address might
  differ depending on whether that person is viewed as a consumer (home 
  address) or as a worker (business address).  

  This paper has led me to modify my previous position that multiple
  inheritance should be incorporated into Ada 9X; single inheritance
  via specialization at the object level appears to be a fundamentally 
  better solution, capable even of representing semantic constraints
  which cannot be represented by traditional class-based approaches.

  The power, flexibility, and efficiency of this new approach should 
  be very seriously evaluated during the design of Ada 9X's improved 
  support for the process of object-oriented software construction.


  Bill Wolfe, wtwolfe@hubcap.clemson.edu

sakkinen@tukki.jyu.fi (Markku Sakkinen) (03/15/90)

In article <8388@hubcap.clemson.edu> wtwolfe@hubcap.clemson.edu (Bill Wolfe) writes:
>
>  An interesting paper entitled "Object Specialization" appears in
>  ACM Transactions on Information Systems, April 1989, pages 103-122;
> ...
>  This paper has led me to modify my previous position that multiple
>  inheritance should be incorporated into Ada 9X; single inheritance
>  via specialization at the object level appears to be a fundamentally 
>  better solution, [...]

I agree that the paper (by Edward Sciore) is interesting, although
not so easy to understand (I'll read it again when I have time).

I am not quite as enthusiastic about Sciore's model as Wolfe is.
For one thing, it is rather complicated, with _separate_ hierarchies
for objects, classes, and templates. It also looks definitely less
disciplined than conventional inheritance: new objects can be
connected to a "superclass part" of an existing object without
the original owner's knowledge or consent.

One of Sciore's goals is the integration of classes and prototypes.
Other, perhaps more promising approaches are e.g. in the recent work
of Lynn Stein and others at Brown University. We are also developing
some ideas at this corner of the world.

It was useful to point out the reference in this newsgroup.
I suppose the Transactions on _Information Systems_ is not the
highest priority reading that most OOP people pick up from the weekly
pile of journals. Read the paper and make up your own mind.

Markku Sakkinen
Department of Computer Science
University of Jyvaskyla (a's with umlauts)
Seminaarinkatu 15
SF-40100 Jyvaskyla (umlauts again)
Finland
          SAKKINEN@FINJYU.bitnet (alternative network address)

billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) (03/16/90)

From sakkinen@tukki.jyu.fi (Markku Sakkinen):
> One of Sciore's goals is the integration of classes and prototypes.
> Other, perhaps more promising approaches are e.g. in the recent work
> of Lynn Stein and others at Brown University. We are also developing
> some ideas at this corner of the world.

   How about some references?  I'd really like to follow up on this,
   and hopefully other people would like to pursue it as well...


   Bill Wolfe, wtwolfe@hubcap.clemson.edu

jcg@iris.brown.edu (James Grandy) (03/16/90)

In article <8401@hubcap.clemson.edu> 
billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 
2847 ) writes:
> 
> From sakkinen@tukki.jyu.fi (Markku Sakkinen):
> > One of Sciore's goals is the integration of classes and prototypes.
> > Other, perhaps more promising approaches are e.g. in the recent work
> > of Lynn Stein and others at Brown University. We are also developing
> > some ideas at this corner of the world.
> 
>    How about some references?  I'd really like to follow up on this,
>    and hopefully other people would like to pursue it as well...
> 
> 
>    Bill Wolfe, wtwolfe@hubcap.clemson.edu

I have three relevant technical reports:

"Towards a Unified Method of Sharing in Object-Oriented Programming", 
    Lynn Andrea Stein, Brown University CS Dept. Technical Report No.
    CS-89-15, February 1988
    (also published in Proc. Workshop on Inheritance Hierarchies in 
    Programming Languages, Viareggio, Italy February 1989).

"Hybrid: Implementing Classes with Prototypes", Anonio Mercado Jr., 
    Brown University CS Dept. Technical Report No. CS-88-12.

"Clovers: The Dynamic Behavior of Types and Instances," 
    Lynn Andrea Stein and Stanley B. Zdonik, Brown University 
    CS Dept Technical Report No. CS-89-42.

Also, I would recommend
"Towards Explicit Inheritance Schemes", Van Marcke, K., 
    Proc. 21st Annual Hawaii
    International Conference on System Sciences, Hawaii 1988.

This latter paper (not by a Brown person) contains some interesting and 
inspirational discussion of the need for more flexible behavior sharing
schemes. The Brown papers address the same issues that Sciore's paper 
does (at least according to the description of it just mentioned).


James Grandy
(401) 862-1610                jcg@iris.brown.edu
IRIS Brown University
Box 1946, Providence, RI 02912

jcg@iris.brown.edu (James Grandy) (03/20/90)

I realize, having received three requests for more information, that my 
references to Brown University technical reports were incomplete.
Should you wish to order them, mail your request to:

Department of Computer Science
Box 1910
Brown University
Providence, RI 02912

Also, the Van Marcke paper reference was incomplete as well. The full 
reference is: "Towards Explicit Inheritance Schemes," Kris Van Marcke, Proceedings of the 21st Annual Hawaii International Conference on
System Sciences, Volume II pp. 386-395.



James Grandy
(401) 862-1610                jcg@iris.brown.edu
IRIS Brown University
Box 1946, Providence, RI 02912