Has Oz Come Up in This Forum?
Mark S. Miller
markm@caplet.com
Fri, 21 Jan 2000 15:22:05 -0800
At 01:13 PM 1/19/00 , Paul Snively wrote:
>Folks,
>
>Has anyone here looked at Oz? <http://www.mozart-oz.org>
>
> >From their introduction:
>
>"In a distributed environment Oz provides language security. That is, all
>language entities are created and passed explicitly. An application cannot
>forge references nor access references that have not been explicitly given
>to it. The underlying representation of the language entities is
>inaccessible to the programmer. This is a consequence of having an abstract
>store and lexical scoping. Along with first-class procedures, these
>concepts are essential to implement a capability-based security policy,
>which is important in open distributed computing."
>
>This sure sounds like Trusty Scheme or E to me.
Oz does indeed look very interesting. It seems to share these properties
with E by virtue of common ancestry. Oz is at least closely related to Flat
Concurrent Prolog, and probably derived from it. As shown on
http://www.erights.org/history/index.html , Concurrent Prolog, Actors, and
KeyKOS all have capability nature, and together begat Joule. Most of the
important formal properties of E, especially capability security, are
inherited directly from Joule.
The paper "Language Design and Open Systems" by Ken Kahn and myself (in The
Ecology of Computation, 1988) explain why Concurrent Prolog & Actors have
capability-nature. Curiously, Concurrent Prolog was not conceived with
security in mind, but as with the purer lambda languages, capability nature
was a fortuitous consequence of the formalism. Vulcan is Joule's unshown
ancestor. It first brought together Concurrent Prolog & Actors. ("Vulcan
== Logical Actors". Get it?) Vulcan, Joule, and Trusty Scheme were the
first languages explicitly designed to satisfy the requirements set out in
that paper.
In any case, I skimmed their web site and couldn't find the introduction you
quote above, or anything else on capability security. Although they do
distributed programming, I didn't see anything to indicate they are doing
cryptographically-based distributed capabilities. If not, then their above
paragraph would not hold between mutually suspicious machines.
>Anyone know more about the Mozart environment and/or the Oz language?
Well, I know someone who knows more...
Ken, could you clarify? Also, please feel free to forward to the Mozart
folks you know. Thanks.
Cheers,
--MarkM