Learn More
The design and development of a type secure persistent object store is presented as part of an architecture to support experiments in concurrency, transactions and distribution. The persistence abstraction hides the physical properties of data from the programs that manipulate it. Consequently, a persistent object store is required to be of unbounded size,(More)
Persistent programming is concerned with the construction of large and long lived systems of data. In designing and building persistent object systems, we are attempting to regularise the activities that are performed on data by programming languages, operating systems, database management systems and file systems. We have identified the following areas of(More)
The need to examine data structures often occurs in programming language and database management systems. In this paper we describe how a browser for a strongly typed programming language (PS-algol) may be written in a type secure manner in a closed persistent environment. This is achieved without resorting to magic or having to break the type rules of the(More)
Polymorphic abstraction provides the ability to write programs that are independent of the form of the data over which they operate. There are a number of different categories of polymorphic expression— ad hoc and umversal, which includes parametric and inclusion— all of which have many advantages in terms of code reuse and software economics. It has proved(More)
BACKGROUND Annotations that describe the function of sequences are enormously important to researchers during laboratory investigations and when making computational inferences. However, there has been little investigation into the data quality of sequence function annotations. Here we have developed a new method of estimating the error rate of curated(More)
Two common methods of determining type equivalence in programming languages and database systems are by name and by structure. In this paper we will show that both mechanisms are myopic views of the type equivalence required for persistent systems. Methods of representing schema types within a persistent store will be discussed, and two possible(More)
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(More)
1. Introduction In traditional programming languages, database management systems, file systems and operating systems there are a number of, often conflicting, binding mechanisms for composing subsystems , programs and data. In our experiments in designing, building and using a persistent information space architecture (PISA) [3] we have encountered these(More)