| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Specification

Page history last edited by Michael van der Gulik 16 years, 1 month ago

UGP / DPON specification

 

An idea is to make a specification that will allow other people/vendors to write a DPON-capable client.

 

The specification will need to contain:

 

  • The wire protocol.
  • A bytecode specification.
  • An API specification.
  • ...?

 

The target audiences would be: client authors, replication algorithm developers, developers using the APIs. Perhaps it would be better to make several interrelated specifications, such as:

 

 

  • SecureSqueak developer's guide: ANSI Smalltalk, Namespaces, Dominions, Canvas and events, exception handling.
  • UGP developer's guide: Implementing replication algorithms, message capture, key management, ...
  • UGP implementer's guide: wire protocol, implementations of core rep algs, bytecode format. This would include the minimum information needed to make a client which can load more replication algorithms over the network and use them.

 

 

The wire protocol.

 

This is currently based on DPON's own implementation.

 

  • Packet format.
  • VAT ID generation.
  • Mapping object numbers to objects; common languages between vats.
  • Base replication algorithms - the minimum needed to load bytecodes and execute them.
  • * The stupid repalgs: TrueRepAlg, FalseRepAlg, NilRepAlg, etc.
  • * Rep algs and serialization methods for for SmallInteger, String, Symbol, Float, Association, Array, Dictionary, ...
  • * Package, Namespace, Class, MethodDictionary rep algs.

 

The bytecode specification

 

  • The bytecodes and basic allowable primitives.
  • How the bytecode verifier should work (optional?).

 

The API specification

 

  • APIs for Kernel, Collections, Networking, DPON basics.
  • APIs for canvas, events.
  • Namespaces, packages and associated Repalgs.
  • Dominion APIs.
  • Exception handling.
  • Message capture.
  • Replication algorithm implementations, methods available.

 

Also, initial dominion setting recommendations should be made.

 

The user interface, navigation, etc is implemented in bytecodes and doesn't need to be in the specification.

 

A later version of the specification would specify APIs for sound, 3-D graphics, printers, files, etc.

 

Comments (0)

You don't have permission to comment on this page.