At a high-level Reo can be seen as a graphical language for specifying a number of properties of component connectors: synchronisation and exclusion constraints between components; protocols or schedules by which components abide; and data flow between the components. Unfortunately, Reo itself is not flexible enough to use as the basis of a specification formalism. Instead, we the linguistic devices of schedule expressions and an abstract notion of channel to express synchronisation, exclusion, protocol, schedule, and data flow, and use them as the basis for specifying Reo connectors. We then describe a number of alternative notions of refinement for this setting.
This talk describes work in progress.