1.1. Organization of this document

This document is organized into three parts.

PART I gives a high level overview of the Perspectives Distributed Runtime. It is organised around a functional decomposition of the Perspectives Distributed Runtime into four parts:

  • The parser / compiler

  • The Functional Reactive Pattern (FRP)

  • State change through assignment

  • Synchronization

PART II is devoted to the design of the Perspectives Language. It ranges from high level conceptual overviews - such as the type system - to implementation details. The topics covered are:

  • The type system

  • Identifiers and variables

  • Perspectives

  • Queries

  • Aspects

  • Model source texts

PART III goes into the nitty-gritty of the implementation. Expect the most technical issues here. We cover:

  • The architecture of the PDR and MyContexts

  • The mechanisms of state change

  • The workings of state synchronization between peers

  • The Foreign Function Interface (FFI)

PART IV discusses a number of models that are essential to the functioning of MyContexts, such as:

  • model://perspectives.domains#System

  • model://perspectives.domains#CouchdbManagement

PART V is a collection of modelling practices, often worked out as a related set of role- and context aspects Some examples:

  • the Guest-pattern, allowing any user to take part in a context;

  • the modelling of Notifications;

  • a pattern to insert a context initiated by a peer into a top level context.

PART VI is on the design of MyContexts, the end user program that adds a user interface to the PDR.