DRAFT -- September 20, 1988 12:00:55 pm PDT -- DRAFT Internal Memo XEROX To From Distribution Bob Hagmann PARC/CSL Subject Date Yggdrasil Glossary September 20, 1988 Introduction This memo has short definitions for the terms used in Yggdrasil Glossary Alerters - Alerters are a simple form of triggers. At some event on a Yggdrasil server, a "message" will be sent. (not implemented) Alternative - A branch in the "version tree" (see revision and alternative). Attribute - Used synonymously with Property. Essentually, these are name-value pairs associated with a document (similar to file properties in XNS or to property lists in Lisp). The name is a string. The value is really a list of list of typed primitive elements. Backend - The archival storage is sometimes called the backend. A Yggdrasil instance is sometimes called the frontend. A service is made up of some number of frontends and backends. Browse lock - A very weak form of lock. It is a place to set an alerter to see operations on documents. Camelot - Camelot is a software layer that adds transactions to the Mach operating system. Alfred Spector at CMU is the principle behind Camelot. Children - Children form an ordered or unordered set of objects attached to another object. Client - The client is the software running somewhere (e. g., a workstation) on behalf of a user. Container - A document may have other documents that belong to it. That is, a document is in the container in another object. See Containment. Containment - An object may have other objects that belong to it. That is, an object is contained in another object. See Container. Contents - Documents have a distinguished attribute called "contents". It has the value of a single primitive element. DID - Documents have identifiers that are permanent for an instance of Yggdrasil. DID Map - The DID map is used to translate DIDs into information about the object. It is mostly the locations on secondary and tersiary storage for the object. Document - An object stored by Yggdrasil. A document has contents as well as a set of attributes (also called properties). From link - Links are directed pointers. The from link is the source of the link (also called outlink). Frontend - A Yggdrasil instance is sometimes called the frontend. The archival storage is sometimes called the backend. A service is made up of some number of frontends and backends. Indexing - The values of some attributes are indexed in containers. Which attributes are indexed are specified by the client. All objects that are in the transative closure of the contains relation for this container will be indexed. Inlink - Links are directed pointers. The inlink is the destination of the link (also called to link). Interpreted types - These are types that have semantic meaning to the server. The server cant do many operations on the bytes (e. g., string equality). Link - A link is a directed pointer between two documents. Both documents are guaranteed to exist. It has a link type (a string). A link is a document, so it can have attributes and contents. Mach - Mach an operating system being developed at CMU. It has lightweight processes and has support for multiprocessors. Rick Rashid is the principle behind Mach. Modification - A modification is a general term that refers to versions, revisions, and alternatives. Object - This term usually means the documents stored in the database. Online archive - Think of this as a server for a optical disk jukebox, but it is technology independant. It's big and it requires not human intervention to use. Outlink - Links are directed pointers. The from link is the source of the link (also called from link). Property - Used synonymously with Attribute. Essentually, these are name-value pairs associated with a document (similar to file properties in XNS or to property lists in Lisp). The name is a string. The value is really a list of list of typed primitive elements. References - Pointers to objects. They do not guarantee that the object still exists. Revision - Minor changes to a document (see version and alternative). To link - Links are directed pointers. The to link is the destination of the link (also called inlink). Root - XXX Run - A contiguous set of pages (some file systems call these extents). Surrogate - A local object that is bound to a foreign object. (e.g., the contents of the object must be obtained by accessing a foreign service). Type - There are two different kinds of type. A link type is the string associated with a link that can be used to describe the kind of link. The second kind of type is the type of a typed primitive elements (see typed primitive elements, uninterpreted types, and interpreted types). Typed primitive elements - A type value pair. The type guides in the interpretation of the value. The values are simple primitive ones like integers, strings, uninterpreted bytes, and dates. Uninterpreted types - These are types that have no semantic meaning to the server. The server preserves the bytes, but cannot do many operations on the bytes. Version - Major changes to a document (see revision and alternative). Version identifier string - This is a compact string representation to encode the version tree. Version tree - An object is really a tree of different states. Branches are alternatives, minor changes revisions, and major changes versions.  WordlistsYggdrasil.wordlistStyleDef BeginStyle (Cedar) AttachStyle (DefaultNest) "for print" {DoNest} PrintRule (look.w) "annotation looks" { "Cream" family bold face } ScreenRule (look.w) "annotation looks" { AlternateFontFamily bold+italic face } PrintRule (firstHeadersAfterPage) {0} .cvx .def (root) "format for root nodes" { cedarRoot docStandard 36 pt topMargin 36 pt headerMargin 1.75 in leftMargin 1.5 in rightMargin 9.00 in lineLength 24 pt topIndent 24 pt topLeading 0 leftIndent 10 pt rightIndent } ScreenRule (root) "format for root nodes" { cedarRoot docStandard 36 pt topMargin 36 pt headerMargin 1.75 in leftMargin 1.5 in rightMargin 5.25 in lineLength 24 pt topIndent 24 pt topLeading 0 leftIndent 10 pt rightIndent } PrintRule (positionInternalMemoLogo) "Xerox logo: screen" { docStandard 1 pt leading 1 pt topLeading 1 pt bottomLeading } ScreenRule (positionInternalMemoLogo) "for Xerox logo" { docStandard 1 pt leading 1 pt topLeading -28 pt bottomLeading -1.5 in leftIndent } PrintRule (internalMemoLogo) "Xerox logo: screen" { "Logo" family 18 bp size 20 pt topLeading 20 pt bottomLeading } ScreenRule (internalMemoLogo) "for Xerox logo" { "Logo" family 18 pt size 12 pt leading -28 pt topLeading 36 pt bottomLeading -1.5 in leftIndent } PrintRule (memoHead) "for the To, From, Subject nodes at front of memos" { docStandard AlternateFontFamily 240 pt tabStops } StyleRule EndStyleIunleadedMark centerFooteros44Iblock insideHeaderbox IpositioninternalmemologoIinternalmemologomemoheadsO t O OOOOO O&&OOhead L??Icodei|Q ' LQ QQ ]hQQS[Q[aQ ,'  Q )  QowQNQQQg {Q VhQQQXgQQj KQQ YeQ@FQQV hQQ LVQ=EQYhQ QDGQ Q - .QQQ>EQF_Q A  2