Language support

The shift towards distributed systems, supporting concurrency and communication between (geographically) distinct objects requires support that is not found in the object-oriented languages we have discussed thus far.

Language support -- distributed systems


slide: Language support

Usually, distributed applications rely on the primitives provided by the underlying operating system. However, the use of operating system primitives for process creation and communication is usually rather ad hoc and, consequently, error-prone and difficult to port across platforms. Fortunately, the object model seems to lend itself in a quite straightforward way to a generalization supporting distribution and concurrency. In the sections that follow, we will take a closer look at the notion of processes and how it relates to our common notion of objects. Apart from processes, an object-oriented language supporting distributed/concurrent computing also needs to provide for synchronization and communication primitives that fit within the message passing model of object-oriented computing. See slide 6-support. Finally, to support truly distributed programming, issues of fault-tolerance need to be dealt with as well.