Coordination in Reo emerges from the composition of the behavioural constraints of the primitives, such as channels, in a component connector. Understanding and implementing Reo, however, has been challenging due to interaction of the channel metaphor, which is an inherently local notion, and the non-local nature of constraint propagation imposed by composition. In this paper, the channel metaphor takes a back seat, and we focus on the behavioural constraints imposed by the composition of primitives, and phrase the semantics of Reo as a constraint satisfaction problem. Not only does this provide a clear intensional description of the behaviour of Reo connectors in terms of synchronisation and data flow constraints, it also paves the way for new implementation techniques based on constraint propagation and satisfaction. In fact, decomposing Reo into constraints provides a new computational model for connectors, which we extend to model interaction with an unknown external world beyond what is currently possible in Reo.
Additional Metadata
Keywords Coordination, Constraint Satisfaction, Constraint Automata, Reo, Connector Colouring
THEME Software (theme 1)
Publisher Elsevier
Journal Electronic Notes in Theoretical Computer Science
Project Compositional Construction of Component Connectors
Conference International Workshop on the Foundations of Coordination Languages and Software Architecture
Grant This work was funded by the The Netherlands Organisation for Scientific Research (NWO); grant id nwo/612.000.316 - Compositional Construction of Component Connectors
Citation
Clarke, D.G, Proença, J.M.P, Lazovik, A, & Arbab, F. (2009). Deconstructing Reo. In Electronic Notes in Theoretical Computer Science (Vol. 229, pp. 43–58). Elsevier.