NUTS: a Distributed Object-oriented Platform with High Level Communication Functions

An extensible object-oriented platform NUTS for distributed computing is described which is based on an object-oriented programming environment NUT which supports automatic synthesis of programs. It is built on top of the Parallel Virtual Machine (PVM), and hides all low-level features of the latter. The language of NUTS is a concurrent object-oriented programming language with coarse-grained parallelism and distributed shared memory communication model implemented on a distributed memory architecture. It differs from other languages of concurrent programming in the following: concurrent processes are represented by packages which are semantically richer entities than objects, inter-process communication is performed in terms of classes, objects, scripts and packages, using the EDA communication model; processes can be arranged into structured collections: grids which enable one to program data-parallel computations on a high level; sequential segments of programs can be synthesized automatically from specifications represented as classes using the program synthesis features of NUT. Examples of usage of generic parallel computing control structures PARDIF and PARARR are given.