[cap-talk] Terminology (was: "Same" key)
david.nospam.hopwood at blueyonder.co.uk
Sun Feb 4 15:46:51 CST 2007
Mark S. Miller wrote:
> Jonathan S. Shapiro wrote:
>>On Sat, 2007-02-03 at 13:47 -0800, Mark S. Miller wrote:
>>>Can you give an example where two not-EQ caps designate the same object?
>>Not having tracked your definition of "object", probably not, but the
>>obvious example would be an object implemented by a domain that chooses
>>to ignore some or all of the facet ID bits. This would let two facets
>>alias the same object, but the resulting capabilities would fail EQ.
> Yes, I used exactly this case as a counter-example at
> So, yes, we seem to consistently mean different things by "object".
>>More practically -- and this exposes a place where I continue to be
>>uncomfortable with your definition of "object" -- it is very common to
>>have two capabilities with distinct facet IDs that designate the same
>>state and differ only in permissions -- specifically, one provides a
>>subset of the operations of the other. An example is RO-page key vs.
>>RW-page key, but the same notion appears in user-implemented
>>capabilities as well. In spite of your attempts to redefine terms :-) I
>>expect that I will continue to speak of such capabilities as designating
>>the same object.
> Yes, I expect so as well ;).
> I do think the dominant use of "object" in computer science is what
> "object-oriented programmers" mean by "object" -- a combination of state and
> behavior that reacts in a certain way to messages/invocations. Certainly, we
> have been clear that the "object" in our term "object-capability model" is a
> reference to the "object" of "object-oriented programming" (or "object-based
> programming" if one buys Wegner's taxonomy).
> So, in spite of your attempts to redefine terms ;), I will continue to speak
> in terms more familiar from the PL perspective, even if that's more confusing
> from the OS or historical access control perspectives.
Well, I find it simply irritating that prominent representatives of the
language-based and OS-based cap communities, cannot seem to agree on a single
term to refer to this *essential* concept. I'm not insistent on that term being
"object", but please, can't we agree to call it something?
Personally, I've been using "object" according to MarkM's definition to think
about cap-OS systems, and I don't see what the difficulty is with that. Most
cap-OSes (with the exception of Hydra) use "domain" or "server" as the term
for an entity that implements several objects with different facet IDs, so it
is not as though using "object" with this meaning creates a conflict.
'When I use a word,' Humpty Dumpty said, in rather a scornful tone, 'it means
just what I choose it to mean -- neither more nor less.'
'The question is,' said Alice, 'whether you can make words mean so many
'The question is,' said Humpty Dumpty, 'which is to be master -- that's all.'
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>
More information about the cap-talk