Software Tools Demonstration
A number of our colleague in SEN3 have been developing software tools in the context of their various projects. Many, but not all, of these tools are related to Reo and are integrated into the Eclipse Coordination Tools (ECT). The ECT also incorporates some tools developed by our colleagues at other institutes. This tool set has recently evolved a bit faster than the rest of us could catch up with. We will use the time-slot of this ACG colloquium meeting to bring everyone up to date on the status of our tool development work by giving a number of short overview presentations and live demos of some of the capabilities of the ECT tool set.
The following abstract and a short presentation on Reo will make this tool demonstration self-contained and comprehensible for the guest attendees of this colloquium meeting who may not be familiar with Reo.
Reo
Reo is an exogenous coordination language for compositional construction of connectors that combine distributed software components and services. Reo connectors are built out of primitive mobile channels, analogous to the way that electronic circuits are built out of their circuit elements. Reo embodies a non-conventional model of concurrency where interaction (as opposed to action) is the only first-class concept. Composition of interactions (as opposed to processes/actions) in Reo makes it an expressive model where (coordination and concurrency) protocols are defined in a high-level constraint (as opposed to imperative) programming style.
Reo offers anonymous communication, loose coupling of interacting parties, composition and coordination by third parties, open-ended user-defined primitives, distribution and mobility, dynamic reconfigurability, and arbitrary mixing of asynchrony, synchrony, and exclusion. These properties make Reo more expressive than Petri nets, workflow, and dataflow models.