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
- process creation
- communication primitives
- fault tolerance
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.