Abstract
In this paper, we present Reo, which forms a paradigm for composition of software components based on the notion of mobile channels. Reo is a channel-based exogenous coordination model in which complex coordinators, called connectors, are compositionally built out of simpler ones. The simplest connectors in Reo are a set of channels with well-defined behaviour supplied by users. Reo can be used as a language for coordination of concurrent processes, or as a ‘glue language’ for compositional construction of connectors that orchestrate component instances in a component-based system. The emphasis in Reo is just on connectors and their composition, and not on the entities that connect to, communicate and cooperate through these connectors. Each connector in Reo imposes a specific coordination pattern on the entities (for example, components) that perform I/O operations through that connector, without the knowledge of those entities. Channel composition in Reo is a very powerful mechanism for construction of connectors. We demonstrate the expressive power of connector composition in Reo through a number of examples. We show that exogenous coordination patterns that can be expressed as (meta-level) regular expressions over I/O operations can be composed in Reo out of a small set of only five primitive channel types.
Publisher
Cambridge University Press (CUP)
Subject
Computer Science Applications,Mathematics (miscellaneous)
Cited by
444 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Model-driven and component-based framework for scientific applications;International Journal of Modeling, Simulation, and Scientific Computing;2024-08-09
2. Concurrent NetKAT with Ports;Proceedings of the 39th ACM/SIGAPP Symposium on Applied Computing;2024-04-08
3. Joint Use of SysML and Reo to Specify and Verify the Compatibility of CPS Components;Lecture Notes in Computer Science;2024
4. Team Automata: Overview and Roadmap;Lecture Notes in Computer Science;2024
5. Towards Exogenous Coordination of Concurrent Cloud Applications;International Journal of Software Engineering and Knowledge Engineering;2023-10-05