Askemos

Askemos Distributed Virtual Machine

The Askemos application space consists of nodes and edges. Nodes represent persistent applications (including users interaction) while edges identify communication channels to other nodes. By holding a named edge (a.k.a. link) a source node expresses interest in continued existence of the target.

The basic node-objects (termed places) of the Askemos DVM execute a process step when they receive a message. A reply function

reply = function(place, message)

is computed in each step, where

  • reply: an aggregate denoting the answer the process step yields to the incoming message.

    A programmer who is used to hardware operating system terms might think of the reply element content as a list all those system calls which the function needs to complete and which might modify values.

  • function: a single step response, a two-ari function; defined by the governing object type contract.

  • message: A read only accessor to the aggregate denoting the current input.

  • place: A r/o (read type request) or r/w (write type request) accessor to the aggregate denoting "this" place. Often called "me".

These process steps are executed by several physical machines in parallel and a byzantine agreement over the value of the reply is required for the step to be actually performed.