An overview of the design of Distributed Oz

Seif Haridi, Peter Van Roy, Gert Smolka · 1997

We present a design for a distributed programming system, Distributed Oz, that abstracts away the network.This means that all network operations are invoked implicitly by the system as an incidental result of using particular language constructs.However, since network operations are expensive, the programmer must retain control over network communication patterns.This control is provided through the language constructs.While retaining their centralized semantics, they me extended with a d~tributed semantics.Distributed Oz is an extension of Oz, a concurrent state-aware language with first-class procedures.Distributed Oz extends Oz with just two concepts: mobility control and asynchronous ordered communicant ion.Mobilit y control provides for truly mobile objects in a simple and clean way.Asynchronous ordered communication aIlows to conveniently build servers.These two concepts give the programmer a control over network communications that is both simple and predictable.We give scenarios to show how common distributed programming tasks can be implemented efficiently.There are two reasons for the simplicity of Distributed Oz.First, Oz has a simple formaf semantics.Second, the distributed extension is built using network protocofs that are naturaf extensions to the centralized language operations.We discuss the operational semantics of Oz and Distributed Oz and the architecture of the distributed implementation.We give an overview of the basic network protocols for communication and mobility.

Read the paper · More papers on PaperTik