Split Capabilities: Making Capabilities Scale

Jonathan S. Shapiro shap@eros-os.org
Wed, 9 Aug 2000 07:34:50 -0400


> > There is a flaw in the entire line of argument, which is that
> > it assumes
> > code to be static. In practice, we introduce new printer
> > widgets into the
> > world after applications ship....
>
> And we get into trouble...

Indeed. My point was not that it works, but rather that change and
unpredictability are in some degree a condition of living.

> > Part of the subtext of the facet objection has been about the
> > difference
> > between what can be said in the syntax and what the contract
> > actually is.
>
> Would not the object's state transition diagram suffice?

I don't believe so. If nothing else, evolution of the objects often causes
changes in the state transition diagram as weaknesses in the original design
are discovered. A state transition diagram can tell you the current design,
but it cannot really anticipate future changes.

FYI, all of this is why I think that ActiveX and friends are screwed. Unless
I can get a versioned configuration of the software I depend on (I the app
writer) there is no reasonable way that I can make any guarantees about how
the app will behave.

shap