Calculi for Network Aware Programming.

Gian-Luigi Ferrari, Rosario Pugliese, Emilio Tuosto · 2000

Highly distributed networks have now become a com-mon infrastructure for many applications which use net-work facilities to access remote resources and services. Net-work awareness, namely the ability of dealing with dy-namic changes of network environment, has emerged as a key design principle for wide-area distributed applications. Network-aware computing has prompted the study of the foundations of programming languages with advanced fea-tures including mechanisms for agent mobility and for coor-dinating and monitoring the use of resources. A main chal-lenge is to exploit foundational calculi to identify which programming abstractions are most suitable for network-aware programming. The goal of this paper is to classify and evaluate a number of foundational calculi for network-aware computing (D [13], Djoin [8, 9], KLAIM [6], Ambient [2, 3, 1]). The benefits and drawbacks of each calculus and its appropriateness to express metaphors for network-aware computing are evaluated along two different guidelines: the programming abstractions the calculus sug-gests and the underlying programming model. This evalu-ation will help in understanding the potentials and the ad-vantages of using foundational calculi in the design of new programming languages for network-aware computing. 2 Distributed -calculus The Distributed -calculus [13] (D for short) extends the -calculus [15] with explicit locations, located channels and with primitives for process mobility. Locations reflect the idea of having administrative domains and located chan-nels can be regarded as channels under the control of certain authorities. The syntax of the calculus is illustrated in Ta-ble 1. To improve readability, we use a, b,... as channel

Read the paper · More papers on PaperTik