General
A foundation refers to some trusted object and holds the only service keys to that object and holds the only bank keys sufficient to disolve its bank.
Foundations come in several varieties depending on the type of object they refer to. Segment, factory and bank foundations have been conceived so far.
These ideas can support those described at (po-integ).
Space for the segment of the segment foundation, or space for the factory are examples of this type of growth.
The builder presumably pays something for access to the invulnerable bank, and then pays a great deal more to have it made invulnerable. The second payment "buys the disk". He can presumably sell the bank back whenever he can reacquire all of the injunctions. Indeed we might call this the "lease-purchase" plan.
A nascent bank foundation:]
creates a new bank subsiderary
to a master bank,] establishes pre negotiated limits on
the bank,] exports a bank key lacking "change limits" and
"destroy" rights.
Upon sealing the foundation, a new limit of 0 may be established for each of pages and nodes.
There are also a set of injunctions that refer to the foundation {(fi)}. A foundation knows how namy injunctions there are and will not distruct while any remain.
A factory foundation begins life with a new factory. Calls on the foundation service key are available that are passed thru to the factory builder's key with certain restrictions. Just as undocumented keys can become components of a factory but are then holes of the factory, so may undocumented keys keys be passed thru to the foundation's factory, but they become vulnerabilities of the foundation. A special foundation order accepts the user's key to another foundation and installs that foundation's key as the component. An injunction for the second foundation must also be provided. The second foundations vulnerabilities are added to those of the first foundation. A segment foundation may be passed to a factory foundation to the effect that the segment becomes a component of the factory (again with vulnerability inclusion).
There are two possible goals for the foundation: for the underlying object to outlive the injunctions, or for the underlying object to remain immutable while it lasts. Since there may be some value to the concept of remaining immutable while an objects exists neither of these goals subsume the other. I hope that we can simplify things by always achieving both.
An order on the foundation's user key returns a requestor's key to the factory.
An order on the FI destroys that FI and produces a new one that designates the same foundation.
Holding an injunction for a foundation is worthless unless you trust others who hold keys to the same injunction -- thus the complete transfer, described above.
One need not trust factory logic to be convinced of the durability promised by foundations. (??) This is not yet clear!
One source of change is the 370's TOD clock. I consider a compiler that fails beyond some data to be mutable. This is not a prlblem on most other machines.