# Glossary ## Action ## Actor ## Assertion ## Attenuation ## Capability a.k.a. Cap Pointer or handle denoting a live, stateful [entity](#entity) running within an [actor](#actor). The entity accepts [Preserves](#preserves)-format [messages](#message) and/or [assertions](#assertion). The capability may be [attenuated](#attenuation) to restrict the messages and assertions that may be delivered to the denoted entity by way of this particular handle. ## Compositional ## Configuration Scripting Language ## Conversational State ## Dataspace ## Dataspace Pattern ## E ## Embedded References ## Entity ## Event ## Facet ## Initial OID ## Initial Ref ## Macaroon [*“Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud.”*](https://research.google/pubs/pub41892/), by Arnar Birgisson, Joe Gibbs Politz, Úlfar Erlingsson, Ankur Taly, Michael Vrable, and Mark Lentczner. In Proc. Network and Distributed System Security Symposium (NDSS), 2014. [[PDF]](https://research.google/pubs/pub41892.pdf) ## Membrane ## Message ## Network A network is a group of peers, plus a medium of communication, an addressing model, and an associated [scope](#scope). ## Object Capability Model ## Observe ## OID ## Preserves ## Record a Preserves record ## Reference a.k.a. "Ref", "Entity Reference" ## Relay ## Relay Entity ## S6 ## Schema ## Scope A *scope* maps [refs](#reference) to the [entities](#entity) they denote. Scopes exist in one-to-one relationship to [networks](#network). Because [message bodies](#message) and [asserted values](#assertion) contain [embedded references](#embedded-references), each message and assertion transmitted via some network is also inseparable from its scope. Most [actors](#actor) will participate in a single scope. However, [relay](#relay) actors participate in two or more scopes, translating refs back and forth as messages and assertions traverse the relay. **Examples.** 1. A process is a scope for in-memory values: in-memory refs contain direct pointers to entities, which cannot be interpreted outside the context of the process's address space. The "network" associated with the process's scope is the intra-process graph of object references. 2. A TCP/IP socket (or serial link, or WebSocket, or Unix socket, etc.) is a scope for values travelling between two connected processes: [refs on the wire](#wire-symbol) denote entities owned by one or the other of the two participants. The "network" for a socket's scope is exactly the two connected peers (NB. and is *not* the underlying TCP/IP network, HTTP network, or Unix kernel that supports the point-to-point link). 3. An ethernet segment is a scope for values broadcast among stations: the embedded refs are (MAC address, [OID](#oid)) pairs. The network is the set of participating peers. 4. A running web page is a scope for the JavaScript objects it contains: both local and remote entities are represented by JavaScript objects. The "network" is the JavaScript heap. ## Supervision tree ## Supervisor ## Sync Peer Entity ## Synchronization (`sync` action) ## Syndicated Actor Model Often abbreviated **SAM**. Source [entities](#entity) running within an [actor](#actor) publish [assertions](#assertion) and send [messages](#message) to target entities, possibly in other actors. Essential idea: state replication is more useful than message-passing. (Message-passing protocols usually end up simulating it, badly, anyway.) ## System Layer ## System Dataspace ## Transport ## Turn ## Wire Symbol