[DMeroonLogo] Distributed Meroon

DMeroon, standing for Distributed Meroon, is the first layer of a new distributed language named Icslas. Due to its design, DMeroon may be used not only with Scheme but also with other languages such as C, Caml, Emacs, or Tcl. DMeroon is described as a research report, a snapshot of the evolving DMeroon documentation (more than 100 pages). There exists also shorter papers describing various parts of DMeroon: these are: PSLS95 and NOTERE97. This latter describes (in French) a new serialization/deserialization algorithm.

What DMeroon offers

DMeroon provides a data model above a coherently distributed memory. DMeroon allows users to statically or dynamically create new classes hierarchically organized, to dynamically instantiate these classes and to dynamically and coherently share the resulting instances over a network. DMeroon automatically takes care of representation and alignment, migrating and sharing objects, coherence, local and global garbage collections.

A DMeroon server also provides the ability of an HTTP server allowing you to inspect DMeroon instances. With any HTTP client you may inspect DMeroon instances, see their content and perform some actions on them. This tool allows, for instance, to observe the progression of a program that fills or creates linked DMeroon instances.

What DMeroon is not

DMeroon is different from PVM for at least two reasons: DMeroon provides you a coherently shared memory and structured objects with pointers. You can thus share complex objects such as tree, DAGS, graphs, hash-tables ... Due to its youth, it is not ported as PVM is.

DMeroon is different from CORBA and ILU: it does not provide multiple inheritance nor remote method invocation. On the other hand, it offers you automatic coherence for shared mutable objects, source code and extensibility due to the self-description of the implementation. Nevertheless, DMeroon is not very far from them: its main advantage are its small memory footprint, its lower-level-ness, its control over instance layout. To be compatible of the lower CORBA IIOP would be interesting.

DMeroon is different from Tcl-DP: it offers you classes and automatic coherence for shared mutable objects. Moreover DMeroon is not (yet) bound to Tcl (nor to Java by the way).

DMeroon is different from Network Objects: it does not require Modula-3 runtime to run. The DMeroon runtime is currently less than 200 K.

Current status

DMeroon is not yet finished but a partial implementation exists. It may be operated from C or Bigloo. It is not fool proof but you may start to play with and give feed-back.

Updated by Christian.Queinnec@lip6.fr
$Id: DMeroon.html,v 1.15 2003/01/22 19:57:09 queinnec Exp $