Next: Tutorial, Previous: Getting started, Up: Top [Contents]
Let’s start with a sketch of a network of Goblins objects wired to communicate with each other:
.----------------------------------. .----------------------. | Machine 1 | | Machine 2 | | ========= | | ========= | | | | | | .--------------. .---------. .-. .-. | | | Vat A | | Vat B | | \______| \_ .------------. | | | .---. | | .-. | .-| / | / | | Vat C | | | | (Alice)----------->(Bob)----' '-' '-' | | .---. | | | | '---' | | '-' | | | '--->(Carol) | | | | \ | '----^----' | | | '---' | | | | V | | | | | | | | | .----. | | .-. .-. | .------. | | | | (Alfred) | '-------/ |______/ |____---( Carlos ) | | | | '----' | \ | \ | | '------' | | | | | '-' '-' '------------' | | '--------------' | | | | | | | '----------------------------------' '----------------------'
In the above diagram, we see:
Machine 1 and Machine 2, running
separately from each other, but connected to each other over the
network via OCapN and CapTP.
Vat A and Vat B are event loops which live on
Machine 1, and Vat C is an event loop which live son
Machine 2.
Alice and Alfred
live in Vat A, Bob lives in Vat B, and
Carol and Carlos live on Vat C. (While we’ve
given these objects human-like names, they’re just Goblins objects.)
Alice has references to both Alfred and
Bob. Bob has a reference to Carol.
Carlos has a reference to Bob.
Another way to think about this is via the following abstraction nesting dolls:
(machine (vat (actormap {refr: object-behavior})))
| • The ``vat model'' of computation |
Next: Tutorial, Previous: Getting started, Up: Top [Contents]