Distributed and communicating objects are becoming ubiquitous. In global, Grid and Peer-to-Peer computing environments, extensive use is made of objects interacting through method calls. So far, no general formalism has been proposed for the foundation of such systems.
Caromel and Henrio are the first to define a calculus for distributed objects interacting using asynchronous method calls with generalized futures, i.e., wait-by-necessity -- a must in large-scale systems, providing both high structuring and low coupling, and thus scalability. The authors provide very generic results on expressiveness and determinism, and the potential of their approach is further demonstrated by its capacity to cope with advanced issues such as mobility, groups, and components.
Researchers and graduate students will find here an extensive review of concurrent languages and calculi, with comprehensive figures and summaries.
Developers of distributed systems can adopt the many implementation strategies that are presented and analyzed in detail.
Preface by Luca Cardelli