Last updated at 10:07 pm UTC on 26 November 2008
The current page is SqueakElibVM
This is an older page
This research framework provides a secure, distributed object implementation. Messaging is asynchronous with eventual sending and an eventual message send will return a "promise", which will resolve itself into the result once it is computed. Messages can be eventually sent to resolved objects or to promises. This way sequences of eventual sends are scheduled into the future.
Code is here
all code versions
You need a DES plugin
Windows DES plugin
Linux86 DES plugin
MacOSX DES plugin
rebuild your vm for double-dispatch identity
vm changes for equivalence (you must have a special vm!)
Just about there...the 3-vat capabilities are disabled (while I figure how they are supposed to work). Almost all of the Elib tests pass, although you may need a vm that have changed #class bytecode and #== bytecode that just fail to fire the msg send. I think that may be the case, unfortunately. Equally unfortunate is that the changed VM works great for those 2 prims, but the redirection lookup is broken. What should I do? Really we should allow any eventual object to be used in primitives. Bummer..lemme find the vm code changes.
Writing test cases and trying to jump the EventualContext hierarchy over to the ERef hierarchy.
8 Jun, 2003
Here is the first SqueakElib distributed messaging trace
We have started a swiki and a mailing list to discuss features of E being incorporated into the Smalltalk core.
Last night, I successfully established a negotiated connection between an E Vat and a Squeak-E Vat. You can view the first successful SqueakE Vat to E Vat negotiation trace. Either side can be the initiating connection (outgoing). While this is a huge milestone for us, there is still a fair bit of work to make Squeak-E's vat feature complete, and to implement the CapTP layer. There has been a long list of contributers to this effort. Thanks to you all.
The old files
development release for distributed Squeak-E
I am trying to implement the distributed frameworks of E (describedhttp://www.erights.org/elib/distrib/vattp/index.htmlandhttp://www.erights.org/elib/distrib/captp/index.html). We will not be marshalling using the Java Serialization encoding, but the squeak ReferenceStream encoding, so they will not be interoperable.
The following tarball (squeak-e-0.tgz) contains the more recent version, including work-in-progress on VatTP and the CapTP frameworks. The security algorithms are missing. This is for v3.2 and it does modify Interpreter and ObjectMemory for vm supported redirectors.
The Object Model
Unfortunately, this object model doesn't match the implementation, or rather the implementation doesn't match the object model. I believe I will change the implementation. This object model also has a RemoteContext, which is not yet available.
Thinking about massively parallel Smalltalk
all for now