The Mjølner System: Distributed Objects

The distribution librarys supports distributed BETA objects on network of computers.

Remote object references

An object in BETA program may refer objects in a BETA program on another machine.

Transparent object access

The programmer can call operations is a distributed object as in a local object. A distributed object is represented by a proxy object which handles the communication with the remote object. Handling of proxy objects and remote communication is transparent to the programmer.

Concurrency and synchronization

The distribution library extends the BETA constructs for concurrency and synchronization. BETA has built-in facilities for concurrent execution and synchronization and a distributed BETA application is an example of a concurrent BETA program. I.e. synchronization between distributed BETA objets makes use of the same mechanisms as a single- or multiprocessor concurrent BETA program.

Failure handling

A main distinction between a distributed application and a single- or multiprocessor concurrent program is that a distributed application is more subject to external failures. The distribution library contains extensive facilities for failure handling by providing means exceptions caused by external failures.

Client-server applications

The distribution library is well suited for implementing client-server applications. An object can, however, at the same time be both a client and a server. There is thus no need to separate objects into clients and servers.

Network abstractions

A distributed applications exists in an environment of workstations and PC's. The distribution library contains abstractions for representing the environment.

Platform independence

The distribution mechanism is platform independent and a distributed BETA application may run on a heterogeneous set of of UNIX workstations, Win32-based PC's and Macintoshes.

More Information

For further information, see
Mjølner System: Distributed Objects in BETA - Reference Manual.