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>>
[1]
A. S. M. Sajeev,et al.
Manipulation of Data Structures Without Pointers
,
1987,
Inf. Process. Lett..
[2]
Ronald Morrison,et al.
Procedures as persistent data objects
,
1985,
TOPL.
[3]
Andrew P. Black,et al.
The Eden System: A Technical Review
,
1985,
IEEE Transactions on Software Engineering.
[4]
C. S. Wallace,et al.
A Password-Capability System
,
1986,
Comput. J..
[5]
Joachim W. Schmidt,et al.
Some high level language constructs for data of type relation
,
1977,
TODS.
[6]
Ronald Morrison,et al.
An Approach to Persistent Programming
,
1989,
Comput. J..
[7]
David Gelernter,et al.
Generative communication in Linda
,
1985,
TOPL.
[8]
Gregory R. Andrews,et al.
Concepts and Notations for Concurrent Programming
,
1983,
CSUR.
[9]
Edsger W. Dijkstra,et al.
Guarded commands, nondeterminacy and formal derivation of programs
,
1975,
Commun. ACM.