Ontogeny Recapitulates Phylogeny
The Initial Keys
Slot 1 (WOMB_FACIL_FUND_DKC) The Data Key Creator {(p2,datac)}
Slot 2 (WOMB_FACIL_FUND_RETR) The Returner {(p2,retner)}
Slot 4 (WOMB_FACIL_FUND_SBT) A space bank transformer to whom the space bank (p3,initsb) is official. {(p2,sbt)}
Slot 5 (WOMB_FACIL_FUND_FACTORYC) A Factory creator {(p2,factoryc)} with no recall rights produced by the factory creator creator {(fcc)}
Slot 6 (WOMB_FACIL_FUND_FCC) The Factory creator creator (p2,fcc)
Slot 1 (WOMB_FACIL_SUPP_SNC) A supernode creator {(p2,snodecr)}
Slot 2 (WOMB_FACIL_SUPP_FSC) A fresh segment creator {(p2,fsc)}
Slot 3 (WOMB_FACIL_SUPP_GRCV) The transfer mechanism receiver {(p2,grcv)}
Slot 4 (WOMB_FACIL_SUPP_NEVER) The NEVER key {(p2,never)}
Slot 5 (WOMB_FACIL_SUPP_TSSC) The terminal support system creator {(p2,tssc)}
Slot 6 R3270F.
Slot 7 (WOMB_FACIL_SUPP_SWITCHC) The switcher creator {(p2,switcher)}
Slot 8 (WOMB_FACIL_SUPP_VDKC) The virtual domain keeper creator {(p2,vdkc)}
Slot 9 (WOMB_FACIL_SUPP_RCC) The Record Collection Creator {(p2,rcc)}
Slot 10 (WOMB_FACIL_SUPP_CLOCK) The System Clock Reader {(p2,clock)}
Slot 11 unused
Slot 12 (WOMB_FACIL_SUPP_BSLOAD) The bootstrap loader {(p2,bsload)}
Slot 13 unused
Slot 14 (WOMB_FACIL_SUPP_VCSK) A Factory for zero VCSK segments {(p2,vcorig)}.
Slot 15 (WOMB_FACIL_SUPP_PDDTC) The Peek DDT Creator {(p2,pddtc)}
Slot 16 (WOMB_FACIL_SUPP_BSTSCC) The Byte Stream to Segment Convertor Creator (p2,bstscc)
Slot 17 (WOMB_FACIL_SUPP_STRCCC) The Segment to Record Collection Converter Creator (p2,strccc)
Slot 18 (WOMB_FACIL_SUPP_BSCR) The Byte Stream Creator (p2,bscr)
Slot 19 (WOMB_FACIL_SUPP_FGRCV) The Factory GRCV (p2,fgrcv)
Slot 20 (WOMB_FACIL_SUPP_SRUP) The Segment Receiver and UnPacker (p2,srup)
Slot 21 (WOMB_FACIL_SUPP_VBSTIOC) The Factory VBS Terminal I/O Creator (p2,vbstioc)
Slot 22 (WOMB_FACIL_SUPP_PCSF) The Primitive command system factory (p2,cmdsysfact)
Slot 23 (WOMB_FACIL_SUPP_PROTCC) the Protocol converter creator (p2,protcc)
Slot 24 (WOMB_FACIL_SUPP_WAITCC) Wait Multiplexor Creator (p2,waitcc)
Slot 25 (WOMB_FACIL_SUPP_RFRSCC) the Remote File to Record Stream Converter Creator (p2,rfrscc)
Slot 26 (WOMB_FACIL_SUPP_AUXMANGRC) the Remote File manager Creator (p2,auxmangrc)
Slot 27 (WOMB_FACIL_SUPP_SEMACC) semaphore factory (p2,semacc)
Slot 28 (WOMB_FACIL_SUPP_BSLOADF) Bootstrap loader factory (p2,bsloadf)
Slot 29 (WOMB_FACIL_SUPP_EDITF) A factory for editors (p2,editf)
Slot 30 (WOMB_FACIL_SUPP_DDTF) The DDT factory (p2,ddtf)
{ni}Slot 31 (WOMB_FACIL_SUPP_BINDF) The empty binder factory (p2,empty-binder)
Slot 32 (WOMB_FACIL_SUPP_OSSIMF) An OS simulator factory (p2,ossimfact)
Slot 33 (WOMB_FACIL_SUPP_REGISTRYC) the Registry Creator key {(p2,registryc)}
Slot 34 (WOMB_FACIL_SUPP_MKEEPERC) a primitive meter keeper (p2,mkeeperc)
Slot 35 (WOMB_FACIL_SUPP_GNFDEF) a filedef factory (p2,gnfdef)
Slot 36 (WOMB_FACIL_SUPP_ADDLUDKY) add a key to the LUD (with restrictions)(p2,addlud)
Slot 37 (WOMB_FACIL_SUPP_SIAF) Small integer allocation factory (p2,sialloc)
Slot 38 (WOMB_FACIL_SUPP_CSWITCHC) A context switcher. (p2,cswitchc)
These entries will find that the initial bank {(p3,initsb)} is prompt.
Slot 1 (WOMB_FACIL_RES_SB) A space bank {(p2,bank)} that does not require an account.
Slot 2 (WOMB_FACIL_RES_DOMKEEP) A domain keeper key. Recommended for domains without better domain keepers. This key currently produces a DDT whose communication port is available under SYSTOOL's switcher.
Slot 4 (WOMB_FACIL_RES_WAITC) (p2,waitc)
Slot 2 (WOMB_CALLER) will hold a resume key to which a result may be returned. This result is typically the contribution to the womb that was the reason for running this program. See (p3,wombtoday) about this resume key.
Slot 3 (WOMB_DOMKEY) will hold a domain key to this domain with databyte zero {all rights}.
Slot 6 may have a segment key to the symbol table to this domain OR it may have a the Domain Creator of the domain.
The other slots will be empty (unless otherwise specified).
Assembler language programmers can get symbolic slot definitions (without underscores) from DOMAIN MACLIB member WOMBDEFS.
Design Notes
The logic of the factory building may thus be proprietary. It is not clear if we must provide for the protection of proprietary algorithms at womb time. We anticipate more elaborate environments to support the needs of proprietary system developers but our current womb-factory facilities must be sufficient to provide those environments.
This is not entirely academic: I need to run two strange algorithms to produce components that go into the VCSK factory.
If we advertise the output of such programs to be factories the womb-keeper could so verify. Now there is little ad-hoc, potentially proprietary code in the wombkeeper.
The factory creator would already be intact and .starter would play the role of the builder of the standard factories.
This program would be simple unconditional key calls (mostly to the factory) that would make manifest what depends on what.
Another issue needs to be raised here. Which parts of .starter need to be trusted? Some parts need not be trusted and indeed may be private to the constructor of some facility.
If we sell Gnosis to someone to whom security is an issue, we must deliver something in a "known security state". If the system starts from an IDL state then the customer has means of understanding and customizing the system for his own security requirements.
This requires that the software that we (and others) deliver to the customer must be in the form of data that may be interpreted by standard software in a Gnosis system in order to build the objects that will provide the service.
Objects designs are in one of the following categories:
They have no secrets and are designed to reveal their state without modifying the state.
They are designed to reveal their internal state according to some standard protocol.
The Gnosis bootstrap problem is that most of the historical stages of software development support are "frozen into" the big-bang mechanism. This is unfortunate at least in that the logic of these obsolete and arcane mechanisms must be remembered when tracking down problems involved with big bangs. These problems occur as we test kernel and other fundamental code in Gnosis. These problems will also occur as we follow the strategy described at (more-bb).
It seems that the binder can play a strategic role in the rationalization of the Gnosis bootstrap problem in light of the following observations:
Binders stem from binder factories and binder factories have the following features that make them "teleportable":
The other components of a binder factory are rumored to be rather standard. When I get my hands on a builder's key to a binder factory I can try to teleport it.
The teleported binder can bring with it hairy (moby?) programs written with the help of modern Gnosis development technology. Such programs are not now available until we have imported in turn each previous generation of software support technology.