The major requirements of a system for software reuse are that it must provide an abstraction mechanism for adequately describing the components; a mechanism for naming and storing the components; and a mechanism for composing new objects out of existing components.In this paper we describe a polymorphic type system that may be used to describe generic components and a persistence mechanism that may be used to name, store and compose components. By integrating the two, we obtain a strongly typed persistent environment that is an ideal base as a system for software reuse.
The Persistent Abstract Machine is an integral part of a layered architecture model to support the Napier language. It interfaces cleanly with a persistent store, and allows persistence to be implemented without difficulty in a high-level language. The heap based storage mechanism of the Persistent Abstract Machine is designed to support the block retention nature of the Napier language. This allows the implementation of first class procedures and modules in programming languages with the minimum of effort. A primitive type system within the machine contains just enough information to allow machine instructions which behave differently according to the dynamic type of their operands. This type system, in conjunction with the block retention architecture, may be used to great effect to provide a fast implementation of polymorphic procedures, abstract data types, inheritance and bounded universal quantification.
Persistent programming is concerned with the construction of large and long lived systems of data [1,2]. Such systems have traditionally required concurrent access for two reasons. The first is that of speed, be it access speed for multiple users or execution speed for parallel activities. The second reason for concurrency is to control the complexity of large systems by decomposing them into parallel activities.This process-oriented approach to system construction has much in common with the object-oriented approach. We will demonstrate, in this paper, the facilities of the language Napier [18] which allows the integration of the two methodologies along with a persistent environment to provide concurrently accessed object-oriented databases.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.