[cap-talk] "Composite", was "Same" key

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Fri Feb 16 19:11:56 CST 2007


Karp, Alan H wrote:
> David Hopwood wrote:
> 
>>That is, we all agree that there are two concepts in 
>>capability systems, call them 'foo' and 'bar', such that:
>>
>> - the system semantics are only directly defined in terms of 'foos',
>> - a capability designates and grants permission to invoke a 'foo',
>> - descriptions of the system's behaviour can involve 'bars', such that:
>> - one or more 'foos' implement each 'bar',
>> - only some of the 'foos' that implement a given 'bar' are
     [in general]
>>   visible to any particular client of the 'bar'.
>>
>>At least, I'm assuming we agree on that. Do we?
> 
> I thought we did on first reading, but now I realize that I don't
> understand what you're saying.

                 foo               bar
1 (MarkM)      object            composite
2 (Hopwood)    object            abstraction
3 (Landau)     atomic object     object

>>Why do you start with, "To me, an object ...", rather than first agreeing on
>>the concepts, and then agreeing on what the concepts should be called?
> 
> Astronomers always do things backwards.  Would you be happier if I had
> written "the thing that encapsulates state and methods is what I call an
> object"?

I would be happier, but still not happy. As section 6.2 of MarkM's thesis says:

# Like an individual object, a composite is a combination of state and behavior.

So "the thing that encapsulates state and methods" does not clearly distinguish
between 'foos' and 'bars'. They both encapsulate state and methods, although
the state and methods of a 'foo' are all associated with a single language-level
entity, whereas the state and methods of a 'bar' are distributed among several
language-level entities that are being described at a higher level.

-- 
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>



More information about the cap-talk mailing list