Language constructs for persistent object based programming

Object-based multiprocessor systems provide facilities for preserving instances of data structures in their original form and manipulating them in parallel. This imposes demands on programming language designs to provide parallel processing with persistent object manipulation. Aleph is a language designed for parallel processing in such an environment. The author describes the main features of Aleph with emphasis on management of persistent objects. Aleph considers objects in a uniform manner. Any object which can have a temporary existence can have a permanent existence and vice versa. Persistent objects of arbitrary structure can be copied into the transient space, manipulated and copied back into the persistent space, or can be more conveniently manipulated in the persistent space itself, avoiding such copying. A persistent object is accessed by a unique capability. Aleph does not define the structure of a capability. This makes it general enough to be implemented in object-based systems which use different concepts of capabilities. Aleph is essentially a parallel processing language where processes act as clients and/or servers to other processes.<<ETX>>