synit-manual/src/glossary.md

3.5 KiB

Glossary

Action

Actor

Assertion

Attenuation

Capability

a.k.a. Cap

Pointer or handle denoting a live, stateful entity running within an actor. The entity accepts Preserves-format messages and/or assertions. The capability may be attenuated 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

E

Embedded References

Entity

Event

Facet

Initial OID

Initial Ref

Macaroon

“Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud.”, 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]

Membrane

Message

Network

A network is a group of peers, plus a medium of communication, an addressing model, and an associated scope.

Object Capability Model

Observe

OID

Preserves

Record

a Preserves record

Reference

a.k.a. Ref

Relay

Relay Entity

S6

Schema

Scope

A scope maps refs to the entities they denote. Scopes exist in one-to-one relationship to networks. Because message bodies and asserted values contain embedded references, each message and assertion transmitted via some network is also inseparable from its scope.

Most actors will participate in a single scope. However, 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 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) 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 running within an actor publish assertions and send messages 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