Electronic Notes in Theoretical Computer Science vol:194 issue:4 pages:57-76
International Workshop on Foundations of Coordination Languages and Software Architectures (FOCLASA '07) edition:6 location:Lisbon, Portugal date:8 September 2007
Orc and Reo are two complementary approaches to the problem of coordinating components or services. On one hand, Orc is highly asynchronous, naturally dynamic, and based on ephemeral connections to services. On the other hand, Reo is based on the interplay between synchronization and mutual exclusion, is more static, and establishes more continuous connections between components (services). The question of how Orc and Reo relate to each other naturally arises. In this paper, we present a detailed comparison between the two models. We demonstrate that embedding non-recursive Orc expressions into Reo connectors is straightforward, whereas recursive Orc expressions require an extension to the Reo model. For the other direction, we argue that embedding Reo into Orc would require significantly more effort. We conclude with some general observations and comparisons between the two approaches.