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

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Mon Feb 19 11:28:39 CST 2007


Charles Landau wrote:
> At 3:44 PM -0800 2/16/07, Mark S. Miller wrote:
> 
>>I'd represent my position as
>>
>>                  1                        >=0
>>     (MarkM)   Object                   Composite
>>
>>This is consistent with my
>>
>># For compactness of description, we often aggregate a set of objects into
>># a composite.
>>
>>which is not meant to exclude the null set. This is important when using
>>aggregation to reason about a multiplicity of concrete situations.
> 
> Why can't you just say "a set of objects" instead of "a composite" 
> when you mean to include the null set? To rephrase your example:
> 
>       Say Alice is one of Bob's clients. Let's call the set of all of Bob's
>       other clients "Rest". If Alice uses Bob correctly and Bob
>       is defensively consistent, then, no matter what action is taken by Rest,
>       Bob will never give bad service to Alice.

Sandro Magi also asked a similar question:
> David Hopwood wrote:
>
>> I withdraw the suggestions of "group" and "abstraction", and propose
>> "object-group" and "object-abstraction" instead.
>>
>> This should address the point about the word "abstraction" being too general,
>> which would also apply to "group".
>
> Since MarkM already describes the objects as a set, why not just stick
> with the standard "set" terminology?

Several reasons:

 - At any given point in an execution, some set of objects are members of the
   object-group. This membership can change during execution (because new
   objects are allocated within the group, or it gains members from outside,
   or loses members). So an object-group is not defined by a single
   mathematical set.

   In a meta-model it would have a type like ExecutionState -> Set[Object]
   (or equivalently ExecutionState -> Set[Capability]), rather than Set[Object].

 - An object-group has additional concepts associated with it. For example,
   at a given point in the execution, all objects in the system can be
   partitioned into three sets with respect to each object-group:

     * External objects, which are not members of the object-group.
     * Facet objects, which are members referenced by an external object.
     * Hidden objects, which are members not referenced by any external object.

   IMHO it is clearer to talk about, e.g. facets of object-groups, than about
   facets of sets.

   If "aggregated subjects" in Fred Spiessen's KBM model (see section 5.3.1 of
   <http://www.evoluware.eu/fsp_thesis.pdf>) correspond to object-groups, as I
   think they do, then we could unify the terminology used by KBM and by the
   object-capability model. In that case "set" would be even less appropriate
   for an aggregated subject.

 - (minor reason) the word "set" on its own is too vague, and
   "set of objects" is one syllable longer than "object-group".

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



More information about the cap-talk mailing list