Re: MRL questions.

Pedro Szekely ([email protected])
Fri, 19 May 1995 11:01:20 PDT

> As for the is-like/plays-role distinction, I think now that I'm getting
> confused between is-like and plays-role between objects and is-like/plays-role
> between attributes. We declare that attributes inherit is-like or plays-role,
> but we speak of objects being is-like or plays-role other objects.
> To clear up my misunderstanding, let me state what I think it means for two
> objects to be is-like each other:
>
> Conjecture: An object o1 is-like an object o2 if o1 and o2 are of the
> same class, and *all* of the is-like attributes of o1 are
> is-like *all* of the is-like attributes of o2.
>
> Is that accurate? My conjecture implies that if even one of the is-like
> attributes of o1 fails to be is-like the corresponding attribute of
> o2, then o1 is now not is-like o2. Is this an accurate reflection on the
> semantics of the object system? If not, then how would you define what it
> means for two objects to be is-like using language similar to that of the
> conjecture?
>

Let me try another definition:

Conjecture #2:

If o1 is-like o2 then
1- o1 and o2 are of the same class (necessary condition)
2- For all NON-PART, IS-LIKE attributes (att)
value(o2.att) = value(o1.att) unless o2.att was explicitly assigned
3- FOR all PART, IS-LIKE, SINGLE-VALUE attributes (att)
if o2.att is an object
then value(o2.att) plays-role value(o1.att)
if o2.att is NOT an object
then case 2- applies.
Note that nothing is said about the is-like of the values.
4- FOR all PART, IS-LIKE, MULTIPLE-VALUE attributes (att)
FOR-EACH (val-1) in o1.att
EXISTS (val-2) in o2.att
SUCH-THAT val-2 plays-role val-1
Hmm, I guess 3- is just a special case of 4-, which is good, because it is
what I intended.

>
> >Now, if we used named values, and p4 happened to have the same name as p3,
> >then the diagram should look like this:
> >
> >foo1 -- pos --> p1, p2 p4
> > | ^ ^ ^
> > | ^ ^ ^
> >foo2 -- pos --> p11 p21 p3
>
>
> This completely blows my mind :-) In fact, it sounds like more of a behavior
> in the current implementation than something that one would consciously do.
> Why does it establish the plays-role relationship only? Are there any examples
> of when one would want to do this?
>

This is so that the order in which operations are done does not affect the end
result. I think it is important that the system be order-independent, and so
the above statement must be true.

Pedro Szekely
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292
Phone: 310/822-1511, Fax: 310/823-6714
URL: http://www.isi.edu/isd/szekely.html