Abstract

We need late distribution: the ability to modify the distribution of server software without invalidating its clients. However, the simple fact to distribute sequential software typically affects its semantics.

Similar decoupling has been achieved in sequential programming through static typing. Static typing is built on top of the concept of scope. Initially, scopes were only functional. OO extended the concept to class scopes, allowing for a breakthrough in supporting abstraction. Nevertheless, it is functional scopes which pave their way.

Functions, however, define scopes only by a side-effect of sequentiality!

Distribution precisely breaks this side-effect. It does it by introducing time into a so far timeless paradigm. To be restored as scopes, functional scopes must be temporal. This is possible if we design them as identifiable instances of operation classes.

In this way, non-deterministic events may still occur at run-time, but they are to be dealt with only within specific scopes. The locality of programming, one great achievement of OO, is thus restored over distributed computing.

Table of contents


Marc Girod
Last modified: Sat Feb 28 14:27:17 EET 1998