Communicating sequential processes
Communicating sequential processes
Algebraic theory of processes
How to write parallel programs: a first course
How to write parallel programs: a first course
Paradigms for process interaction in distributed programs
ACM Computing Surveys (CSUR)
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Real-time object-oriented modeling
Real-time object-oriented modeling
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
A coordination language for mobile components
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 1
JavaSpaces Principles, Patterns, and Practice
JavaSpaces Principles, Patterns, and Practice
PICCOLA---a small composition language
Formal methods for distributed processing
Specifying Distributed Software Architectures
Proceedings of the 5th European Software Engineering Conference
MoCha: A Middleware Based on Mobile Channels
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
A Logical Interface Description Language for Components
COORDINATION '00 Proceedings of the 4th International Conference on Coordination Languages and Models
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
ASAMA '99 Proceedings of the First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents
ICECCS '99 Proceedings of the 5th International Conference on Engineering of Complex Computer Systems
Reo: a channel-based coordination model for component composition
Mathematical Structures in Computer Science
MoCha-pi, an exogenous coordination calculus based on mobile channels
Proceedings of the 2005 ACM symposium on Applied computing
Hi-index | 0.00 |
In this paper we present a coordination model for component-based software systems based on the notion of mobile channels, define it in terms of a compositional trace-based semantics, 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 and exogenous manner. Our description of the Java implementation of this coordination model demonstrates that it is self-contained enough for developing component-based systems in object-oriented languages. 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 concerned with composition and coordination issues.