Reo is a
domain-specific language for programming and analyzing coordination protocols that compose individual
processes into full
systems, broadly construed. Examples of classes of systems that can be composed with Reo include
component-based systems,
service-oriented systems,
multithreading systems,
biological systems, and cryptographic protocols. Reo has a graphical syntax in which every Reo program, called a
connector or
circuit, is a labeled directed
hypergraph. Such a graph represents the
data-flow among the processes in the system. Reo has
formal semantics, which stand at the basis of its various formal verification techniques and compilation tools.