About ] Mission ] Services ] Funding ] Opportunities ] Open Tools ] Crosbie's Stuff ]

Cyberspace Engineers

Engineering Cyberspace!

The API

 

The name of the distributed system is "The Cyberspace Engine".

The reference implementation will go by this name, but other implementations may have their own names. There is one set of interfaces unique to the reference implementation, e.g. ICyberspaceEngine. These will be concerned with installation and start-up of the standard Node services provided by a Cyberspace Engine conformant implementation.

A Node in the distributed system is a data store. This is accessed via the INode interface.

The data store holds the following:

One or more Universes. A Universe is an isolated virtual world.

Each Universe contains Class definitions, instances of Objects and Interests corresponding to those classes, Values and Series (series of values - like arrays, but non-modifyable). A Class is defined in terms of Methods, i.e. member variables that either contain values or instructions.

A Universe can be thought of as an infinite soup of objects, with virtual machines allowing these objects to be self-organising, self-modelling.

Here's some guesses at the kind of interfaces that we could come up with - described in rough COM style, i.e. simplified:

NB Key to interface headings: IPrimary/IDescribed:IBase/ILesser  (all, perhaps others, available via QI)

Cyberspace Engine

Node

Creation

Interaction

Resourcing

Interest Registration