how to implements Tunes's Features.html

Paul Dufresne dufrp@oricom.ca
Sat, 28 Aug 1999 11:35:17 -0400


Somehow I was realizing I knew quite a bit more than the first time I
came on Tunes site. So the idea to get through the features of Tunes
and see if I know implementation techniques came to my mind.

Let's do it:

*Tunes will be a FINE-GRAINED system
Looks like to me that the key to achieve this is module system.
The basic stuff is the ability to keep part of the definitions
local, and be able to export others.

But I think languages like OCAML do much more than that, although I did
not play with that yet. Something like having functions that receive
modules and return modules, weird stuff at first glance.

*Tunes will be DECENTRALIZED
No root user anymore?

Well, tril already proposed to prove that your access will be right,
so give the power to the one able to prove that he will be gentle. :-)
This make me think of Fox PCC stuff.

An other way to achieve this seems to be capabilities like in ErOS.
I think that I prefer this one, much easier to define for the user
in the sense that he just have to list to give to programs rather
than formally express the security he wants.

*Tunes will be DISTRIBUTED

Fare seems to suggest Distributed Join Calculus, like in JOCAML,
could be the way to go. I tend to agree, but I don't know that
stuff much yet.

*Tunes will be PERSISTENT
Again, EROS seems to be a model to follow, even if Fare can't figure
out how it can be secure by using IDE. Well, I don't know but I don't
want to pay for SCSI. :-)

Eros is of the virtual-memory kind, I think.

There is other stuff like reachability from the root of the store with
pointer swizzling, that could be considered orthogonal because if
non-persistent stuff is referenced by persistent stuff, it can be made
persisten.

But anyway I prefer virtual-memory like stuff.

*Tunes will be UNIFIED
Making it easy to share stuff amongs different languages.
I know that "A Lisp Through the Looking Glass" show how to achieve this.

*Tunes will be a SECURE system
hum, security is something that must be thought about in each other
feature mentioned here. Well, Distributed Join-calculus have security
issues to deal with computers suddenly disconnecting the net,
PCC is a way to check things are like you Requested, if you had take
time to write Formal description of what you want (poor little user,
that will have to learn how to formally express needs),
generally Persistent is link to resilence, etc.

*Tunes will be RESILIENT
Part of security to me.

No mention of REFLECTIVE!?
I guess this is needed to be able to achieve cleanly all the previous
features.

-Paul Dufresne