Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Partial Interactive Coordination Constraints

This project encodes in Scala a constraint-based engine for running connectors based on Reo.

The coordination engine operates in rounds, each of which proceeds by collecting constraints from components and the connector that coordinates them, and then solving the constraints. Components perform blocking reads and writes on ports, which are converted into constraints stating that they want to output or input data. A solution to the constraints describes how data flows between the components, after which some reads and writes may succeed. Each round is considered to be an atomic (or synchronous) step. Between rounds the states of the components and connectors may change.

In practice, connectors are specified as the composition of simpler primitive connectors, and each of these primitive connectors specifies:

  • its coordination constraints; and

  • how to update its state based on the solution for the last round.

To give a flavour of how to define primitive connectors, a few examples of primitive connectors can be found in Connectors.

Examples of some more complex connectors built using these primitive ones can be found in Examples.


Partial Interactive Coordination Constraints




No releases published


No packages published
You can’t perform that action at this time.