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.

Distributed Systems (acm C.2.4), Concurrent Programming (acm D.1.3), Miscellaneous (acm D.1.m), Language Classifications (acm D.3.2), Language Constructs and Features (acm D.3.3), Modes of Computation (acm F.1.2)
Software (theme 1)
Software Engineering [SEN]
Computer Security

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