A channel-based coordination model for components
In this paper we present a coordination model for component-based software systems based on the notion of mobile channels, and describe its implementation in the Java language. Channels allow anonymous, and point-to-point communication among components, while mobility allows dynamic reconfiguration of channel connections in a system. This model supports dynamic distributed systems where components can be mobile. It provides an efficient way of interaction among components. Furthermore, our model provides a clear separation between the computational part and the coordination part of a system, allowing the development and description of the coordination structure of a system to be done in a transparent way. Our description of the Java implementation of this coordination model demonstrates that it is self-contained enough for developing component-based systems. However, if desired, our model can be used as a basis to extend other models that focus on other aspects of components that are less related to composition and coordination concerns.