Welcome to Sunless-Sea To strive, to seek, to find, and not to yield.
Google
Entire Web sunless-sea.net
xanadu.net udanax.com
 
WHITEBOARDS
 links into
 revise
 activity
 how to use

SITENAV
 meetings
 what's new?
 whiteboards
 post article
 frontpage
 downloads

ORIENTATION
 legalisms
 history
 glossary
 participants

BACK-ENDS
 udanax-green
 udanax-gold

ALGORITHMS
 coordspaces
 enfilade
 ent

OLD MANUALS
 XIA

HELPING
 puzzles
 needs
 funding
Like the site? Click to donate!

 site-traffic
 admin


Whiteboard: GreenSysArch last revised by 220.73.165.142 on Aug 17, 2005 3:13 am

Nature of their Mapping

Enfilades are unidirectional, one-to-one mappings, where a given key corresponds to a given datum. The choice of what is a key and what is a datum define three types of Enfilades used in Udanax-Green. For details of the enfilade algorithms, see the EnfiladeTheory and General Enfilade Theory whiteboards. In this paper we only cover how the enfilades are used.

Back-End Architecture Overview

Udanax-Green uses three types of enfilade; a one-dimensional form (Type I) and two two-dimensional forms (Type II). In the architecture there is only a single instance of the Type I, called the Grand Enfilade, which acts as a global map of content. The Type II appears in two variants, a single instance called the Span Enfilade, for storing multi-ended links, and an unbounded number of instances of POOM Enfilades which represent content rearrangement and quoting/transclusions. POOM Enfilades dangle off the bottom of the Grand Enfilade while the Span Enfilade is a totally separate data object.

Udanax-Green uses coordinates expressed as tumblers, or strings of digits separated by dots. Each such positive integer between the dots is a a digit and theoretically is unbounded in value, although in practice is limited to an unsigned long in this implementation.

These digits can be thought of in many ways, from military-style numbering, to the dewey-decimal library cataloging scheme to a base-infinity floating-point fraction. Udanax-Green uses tumblers to express part or all of region of a number line, running from 1 (one) to 2 (two). Like a floating-point number, there are an infinite number of positions between 1 and 2.

To specify a portion of a number line, you need two components; a displacement or distance from 0, and a width of how distance you are including. Tumblers are used for both of these, where the displacement value is often called a DSP, and the width a WID, for shorthand. A width of 1 (one) and a displacement of 1 (one) is a reference to the entire number line, also called the docuverse.

Udanax-Green further breaks down coordinates into a tuple of four nested location elements;

  • server on which the content resides

  • owner of content

  • particular version and document

  • specific content within a document

Each such element is represented by a tumbler of unbounded length. When combined, they form a path to the content, with each element separated by a tumbler digit of 0 (zero), e.g.

1.server.0.owner.0.document.0.content

Some examples are:

  • "1.1" (server 1)

  • "1.1.0.1" (server 1, owner 1)

  • "1.1.0.1.0.1" (server 1, owner 1, document 1)

Conceptually this forms a filesystem, appearing like:

/server/owner/document/content

This analogy can be useful, as a particular version of a document can be considered to be a normal file in a directory tree. The path leading to the file is called an invariant-stream address, or IStreamAddr for short:

/server/owner/document

The remainer of the address, the content field, is called the variant-stream address, of VStreamAddr for short. It references a specific character or link within a document.

Internally to Udanax-Green, these two addresses are often kept separate and passed as separate arguments.

The IStream

IStreamAddrs are assigned to information or babtized in a hierarchical fashion, via the operations:

  • create id representing our server

  • create owner within a (server)

  • create document within a (server, owner)

  • create version within a (server, owner, document)

  • insert/remove/rearrange text

Conceptually IStreamAddrs? are never deleted, retired or reused.

The VStream

The Variant-Stream or VStream is the permutation of data that represents a particular version. VStreamAddrs refer to positions within a specific version of a document.

The VStream of a document consists of several dataspaces, (a) any of which may be empty and (b) directly correspond to specific types of BottomCrums in Udanax-Green.

  • VStream addresses beginning with a 1.n... may represent either original text entered into this specific document, or text from another document that is windowed into this one at a specific offset/width.

    If it is original text, it is broken up into small pieces and stored within TextCrums, on the bottom layer of the Grand Enfilade.

    If it is windowed text, a (block#, byte#) tuple pointing to the root of a POOM enfilade is stored in an OrglCrum?.

    code> ?

  • VStream? addresses beginning with a 2.n... represent links that reside within (have as their home document) this specific document. Links may have multiple end-points all or none of which may point into this specific document.

Grand Enfilade

  • Grand (granf) I - I

    Maps coordinates in the IStream? up to but not into the VStream? of a specific document. The VStream? is represented by either (a) a block of original text or (b) the root node of a nested POOM enfilade describing a permutation of the VStream? of this and/or another document that when rearranged, windows into this (position, width) gap in the IStream?.

    The Grand Enfilade is the starting point for front-ends reaching into the docuverse.

    Key: (a tumbler indicating a width along the IStream?)

    Datum: one of

    (a Crum containing a piece of original text)

    or:

    (a block#/byte# tuple pointing to a POOM enfilade)

    NOTE: By summing the width keys of each Crum as we descend thru the UpperCrums? of the Grand Enfilade seeking a position in the docuverse, we can derive our displacement within the docuverse and know when we have arrived.

    There is only one Grand Enfilade in the Udanax-Green system.

POOM Enfilade

Poom (poom) Permutation Of Order Matrix I - V

Maps coordinates from the VStream? to the IStream?

There are many POOM Enfilades in the Udanax-Green system, one for every rearrangement of the document content in use.

Key: (an IStream? displacement/width tuple)

Datum: (a VStream? displacement/width tuple)

The POOM says, in effect: given that there is a specific place and width of information in the docuverse, provide a map of how that information appears, in a linear fashion within that window, from the various pieces scattered elsewhere in the docuverse.

NOTE: Since POOMs? appear under BottomCrums? in the Grand Enfilade, you'd think a shorter relative IStream? would suffice. But by retaining the context of fully-qualified IStream? address in the key, a single POOM can be linked into an arbitrary number of Grand BottomCrums?.

Span Enfilade

Span (spanf) V - V

Maps coordinates from the VStream? to elsewhere in the VStream?

Key: (a displacement/width tuple in the VStream?)

Datum: (a displacement/width tuple elsewhere in the VStream?)

There is only one Span Enfilade in the Udanax-Green system.

The Span Enfilade is used to answer the questions:

  • Given a range of characters on my screen, determine where/in which other documents those characters also appear.

The spanf finds the pooms that map to the i-span.

Rules

dispattivity:

closure: combining a dsp with another dsp returns a dsp.

associative: the property required to balance enfilades and ents

identity: necessary to take a coordinate (dsp in the same group) down and up levels in the enfilade without changing it. XI = IX = X

inverse: required to transform into and out of a local coordinate space. Xi(X) = i(X)X = i. A blank piece of paper is a terrible thing to waste...

Reading List
As We May Think, 1945 Vannevar Bush
Augmenting Human Intellect:A Conceptual Framework, 1962 Doug Engelbart
Literary Machines, 1981, 87, 93 Ted Nelson
Engines of Creation, Chapter 14 The Network of Knowledge, 1986, 87 K. Eric Drexler
Hypertext Publishing and the Evolution of Knowledge, 1986 K. Eric Drexler
SF:EarthWeb, 1999 Marc Stiegler

Quick Links
www.udanax.com
www.xanadu.com
www.xanadu.com.au
Udanax List Archive
Xanadu® List Archive

All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©2001 Jeff Rush.