Laurent Martelli martelli@iie.cnam.fr
08 Jan 1999 08:26:07 +0100

>>>>> "Tom" == Tom Novelli <tcn@clarityconnect.com> writes:

    Tom> I'm using a persistent storage system, so all the loader has
    Tom> to do is go into protected mode (with a few exception
    Tom> handlers) and load one object from disk: the "Store
    Tom> Manager". I'll write the first few objects in Assembly, until
    Tom> I can write them within TUNES. For my user interface, I plan
    Tom> to use Forth for now, since I've already written it... it
    Tom> just needs a few modifications for handling objects. I can
    Tom> write compilers/interpreters for better languages (i.e., the
    Tom> new HLL) later..

    Tom> Anyway, we both need an object format, and also a program to
    Tom> read & write objects from Linux. Do you have any ideas? I'm
    Tom> still doing research on that.  Like you say, we need specs. I
    Tom> say we, the people who are writing code, should write our own
    Tom> specs.

I am currently working (I mean for my job) on a persistence framework
for Delphi, so I may a few ideas on the issue. Our architecture has
Storages, which are able to deal mainly with "untyped" data, so that
they don't need to know the internals of objects. They are just given
arrays of data containing objects of basic types (int, float, date,
string ...) 

Each class has an associated storage, so when we want to store the
state of an object, we look at his class, take a ref on the
corresponding storage, put the state into an array, and give it to the

This is the basic idea for strage part. It is in fact much more
complicated in the whole since we deal with transactions, concurency
and distributions.