In this paper, we present $P epsilon omega$, a paradigm for composition of software components based on the notion of mobile channels. $P repsilon omega$ is a channel-based exogenous coordination model wherein complex coordinators, called {em connectors are compositionally built out of simpler ones. The simplest connectors in $P epsilon omega$, are a set of {em channels with well-defined behavior supplied by users. $P epsilon omega$, 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 $P epsilon omega$, is on connectors and their composition only, not on the entities that connect to, communicate, and cooperate through these connectors. Each connector in $P epsilon omega$, imposes a specific coordination pattern on the entities (e.g., components) that perform I/O operations through that connector, without the knowledge of those entities. Channel composition in $P epsilon omega$, is a very powerful mechanism for construction of connectors We demonstrate the expressive power of connector composition in $P epsilon omega$, 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 $P epsilon omega$, out of a small set of only five primitive channel types.

, , , , ,
Software Engineering [SEN]
Computer Security

Arbab, F. (2002). A channel-based coordination model for component composition. Software Engineering [SEN]. CWI.