This commit is contained in:
Tony Garnock-Jones 2022-02-11 11:01:57 +01:00
parent bcf74324db
commit 49c97e4997
2 changed files with 15 additions and 17 deletions

View File

@ -26,33 +26,29 @@ reactive dataflow.
*[conversational state](./glossary.md#conversational-state)*
expressed as *[assertions](./glossary.md#assertion)*.
2. **Ocaps for security and privacy.** The ocap model provides the
fundamental building blocks for secure composition of programs in
the system. Synit extends the core ocap model with
[Macaroon](./glossary.md#macaroon)-inspired *attenuation* of
capabilities, for both limiting visibility of state and
constraining access to behaviour.
2. **Ocaps for security and privacy.** The ocap model provides the fundamental building blocks
for secure composition of programs in the system. Synit extends the core ocap model with
[Macaroon](./glossary.md#macaroon)-inspired *[attenuation](./glossary.md#attenuation)* of
capabilities, for both limiting visibility of state and constraining access to behaviour.
3. **Reactivity and homeostasis.** Programs publish relevant aspects
of their internal state to peers (usually by placing
[assertions](./glossary.md#assertion) in a dataspace). Peers
subscribe to those assertions, reacting to changes in state to
3. **Reactivity and homeostasis.** Programs publish relevant aspects of their internal state
to peers (usually by placing [assertions](./glossary.md#assertion) in a dataspace). Peers
[subscribe](./glossary.md#observe) to those assertions, reacting to changes in state to
preserve overall system equilibrium.
3. **Layered architecture.** Programs may or may not be structured
internally using SAM principles: the system as a whole is where
the architectural principles are applied. However, it often makes
good sense to use SAM principles *within* a given Synit program as
well as *between* programs.
3. **Heterogeneous; "open".** Different programming languages and styles interoperate freely.
Programs may or may not be structured internally using SAM principles: the system as a
whole is where the architectural principles are applied. However, it often makes good sense
to use SAM principles *within* a given Synit program as well as *between* programs.
4. **Language-neutral.** Where possible, programs interoperate via a
simple [protocol](./protocol.md) across transports like TCP/IP,
WebSockets, and Unix sockets and pipes. Otherwise, they
interoperate using traditional Unix techniques. The concrete
syntax for the messages and assertions exchanged among programs is
the [Preserves](./preserves.md) data language.
the [Preserves](./guide/preserves.md) data language.
5. **Strongly typed.** Preserves [Schemas](./preserves.md#schemas)
5. **Strongly typed.** Preserves [Schemas](./guide/preserves.md#schemas)
describe the data exchanged among programs. Schemas compile to
type definitions in various programming languages, helping give an
ergonomic development experience as well as ensuring safety at

View File

@ -2,6 +2,7 @@
## Actor
## Assertion
## Attenuation
## Bus Scripting Language
## Capability
## Compositional
@ -12,6 +13,7 @@
## Macaroon
## Message
## Object Capability Model
## Observe
## Preserves
## S6
## Schema