Hello Kon, how far are you come already? I'm very interested!
What you've given in your mail is very, very close to the internals of www.askemos.org . To be precise that is (since Askemos means just the API) the rscheme based implementation called BALL. There's one major difference: Askemos processes are persistant and replicated over a network in byzantine agreement, thus they continue to work correctly while a minority of the nodes goes down or deliberately cheat. Askemos/BALL still depends on rscheme (I once did some work to port it to chicken, but this is not yet finished). I really want to move it to chicken for several reasons. BTW: I haven't been able to retrieve the Termite PDF (from LtU link) and did not find any home page in google's mess. Any good links to Termite? Thanks best regards /jörg Am Dienstag, den 14.02.2006, 12:06 -0800 schrieb Kon Lovett: > Hello List, > > I am working on TinT (Tint is not Termite), a Chicken specific > Termite workalike. Alike in the sense that is generally shares syntax > & semantics, but I feel under no constraint to be 100% faithful. (How > could I be, Termite is still evolving.) > > Concepts > > - Follows "impure" Actor model. I don't understand the "impure" here. Otherwise: same. > - Messages are sent & received. A message is any serializable scheme > object. Message objects are immutable. dito > Non-serializable objects are proxied by a process. NYI (not yet implemented) > All messages are typed with a parallel message typing system. (Non- > Termite) ? > - Message Receiver is a process. Message Sender is a process. > > - A process belongs to a Process Runner. A process runner is on a > node. (Non-Termite) > > Node corresponds to Machine. Process Runner to OS Process. > > - A node is local or remote. All local nodes share physical > resources, especially memory. A remote node only shares a network. > > The current process runner on a local node is called the This Node. All the same. > - A this node process is an active procedure (SRFI-18 threads). Different implementation right now. We need to improve the byzantine agreement protocol, which will probably be better implemented as threads. > - The physical method of message passing is node locale dependent. ?? > Remote node processes serialize objects and use a network protocol, > not necessarialy reliable. same > - Out-of-band messages are used for Exception Conditions (SRFI-12 > conditions). Here we really have something to do with the BALL code base. Exception handling is rough & bad, bad, bad ... and in our way already. _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
