Results 1 - 10
of
12
Design Issues for Persistent Java: a type-safe, object-oriented, orthogonally persistent system
, 1996
"... The object-oriented programming language Java is receiving much attention and is likely to become a popular commercial programming language because of its regular structure, safety features and modern constructs. It presents a novel opportunity, because of this safety and potential popularity, to ma ..."
Abstract
-
Cited by 78 (16 self)
- Add to MetaCart
The object-oriented programming language Java is receiving much attention and is likely to become a popular commercial programming language because of its regular structure, safety features and modern constructs. It presents a novel opportunity, because of this safety and potential popularity, to make orthogonal persistence defined by reachability widely available. We report on a design for a system that provides such persistence with no changes to the Java language. The design includes ambitious goals for transactional flexibility but also includes simple transactional behaviour sufficient for many applications. We report on several issues that were encountered during the design which as yet have no obvious solution. An outline of the proposed implementation is also given.
Designing a Persistent Information Space Architecture
- In Proc. 9th Australian Computing Science Conference, Australia
, 1986
"... We contend that the complexity of modern computer systems is caused by a dependency on a plethora of mechanisms that by their lack of coherence increase the cost of developing applications. By integrating these mechanisms we can reduce the complexity of the system and thereby achieve savings through ..."
Abstract
-
Cited by 24 (12 self)
- Add to MetaCart
We contend that the complexity of modern computer systems is caused by a dependency on a plethora of mechanisms that by their lack of coherence increase the cost of developing applications. By integrating these mechanisms we can reduce the complexity of the system and thereby achieve savings throughout product life cycles. From our experience in operating systems, programming languages and databases we identify five major areas of system design for modern systems: controlling complexity, orthogonal persistence, controlled system evolution, protection of data and concurrent computation. We are currently engaged in building a system which will achieve the simplicity above and here we describe the design issues involved in the construction of a persistent information space architecture (PISA) capable of integrating all these activities. 1.
On the Integration of Concurrency, Distribution and Persistence
, 1993
"... The principal tenet of the persistence model is that it abstracts over all the physical properties of data such as how long it is stored, where it is stored, how it is stored, what form it is kept in and who is using it. Experience with programming systems which support orthogonal persistence has sh ..."
Abstract
-
Cited by 23 (7 self)
- Add to MetaCart
The principal tenet of the persistence model is that it abstracts over all the physical properties of data such as how long it is stored, where it is stored, how it is stored, what form it is kept in and who is using it. Experience with programming systems which support orthogonal persistence has shown that the simpler semantics and reduced complexity can often lead to a significant reduction in software production costs. Persistent systems are relatively new and it is not yet clear which of the many models of concurrency and distribution best suit the persistence paradigm. Previous work in this area has tended to build one chosen model into the system which may then only be applicable to a particular set of problems. This thesis challenges the orthodoxy by designing a persistent framework in which all models of concurrency and distribution can be integrated in an add-on fashion. The provision of such a framework is complicated by a tension between the conceptual ideas of persistence...
On the Construction of Persistent Programming Environments
, 1988
"... This thesis presents research into the construction of persistent programming systems. Much of the thesis is concerned with the design and implementation of persistent programming languages, in particular PS-algol and Napier. Both languages support machine independent vector and raster graphics data ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
This thesis presents research into the construction of persistent programming systems. Much of the thesis is concerned with the design and implementation of persistent programming languages, in particular PS-algol and Napier. Both languages support machine independent vector and raster graphics data types. Napier provides an environment mechanism that enables the incremental construction and binding of programs. Napier has a powerful type system featuring parametric polymorphism and abstract data types. The machine supporting Napier, the Persistent Abstract Machine, is investigated. The machine supports an efficient implementation of parametric polymorphism and abstract data types. The Persistent Abstract Machine has a layered architecture in which permits experimentation into language implementation and store design. The construction of compilers in a persistent environment is explored. A flexible compiler architecture is developed. With it, a family of compilers may be constructed a...
The Napier88 Reference Manual - Release 2.0
- ESPRIT Basic Research Action, Project Number 6309 --- FIDE2
, 1994
"... Data Types ............................................45 11.1 Abstract Data Type Definition ................................... 45 11.2 Creation of Abstract Data Objects............................... 45 11.3 Use of Abstract Data Objects .................................... 46 11.4 Equality and Eq ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Data Types ............................................45 11.1 Abstract Data Type Definition ................................... 45 11.2 Creation of Abstract Data Objects............................... 45 11.3 Use of Abstract Data Objects .................................... 46 11.4 Equality and Equivalence ........................................ 47 12 Files .............................................................48 12.1 File Literal ......................................................... 48 12.2 Equality and Equivalence ........................................ 48 13 Type any ........................................................49 13.1 Injection into Type any........................................... 49 13.2 Projection from Type any........................................ 49 13.3 Equality and Equivalence ........................................ 50 14 Environments ...................................................51 14.1 Creating a New Environment.......................
A Shared Object Hierarchy
- Proc. Int. Wkshp on Object-Oriented Database Systems, Asilomar
, 1986
"... This paper describes the design and proposed implementation of a shared object hierarchy. The object hierarchy is stored in a relational database and objects referenced by an application program are cached in the program's address space. The paper describes the database representation for the object ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
This paper describes the design and proposed implementation of a shared object hierarchy. The object hierarchy is stored in a relational database and objects referenced by an application program are cached in the program's address space. The paper describes the database representation for the object hierarchy and the use of POSTGRES, a next-generation relational database management system, to implement object referencing efficiently. The shared object hierarchy system will be used to implement OBJFADS, an object-oriented programming environment for interactive multimedia database applications, that will be the programming interface to POSTGRES. 1. Introduction Object-oriented programming has received much attention recently as a new way to develop and structure programs [GoR83, StB86]. This new programming paradigm, when coupled with a sophisticated interactive programming environment executing on a workstation with a bit-mapped display and mouse, improves programmer productivity and...
Modelling Recovery in Database Systems
, 1997
"... The execution of modern database applications requires the co-ordination of a number of components such as: the application itself, the DBMS, the operating system, the network and the platform. The interaction of these components makes understanding the overall behaviour of the application a complex ..."
Abstract
- Add to MetaCart
The execution of modern database applications requires the co-ordination of a number of components such as: the application itself, the DBMS, the operating system, the network and the platform. The interaction of these components makes understanding the overall behaviour of the application a complex task. As a result the effectiveness of optimisations are often difficult to predict. Three techniques commonly available to analyse system behaviour are empirical measurement, simulation-based analysis and analytical modelling. The ideal technique is one that provides accurate results at low cost. This thesis investigates the hypothesis that analytical modelling can be used to study the behaviour of DBMSs with sufficient accuracy. In particular the work focuses on a new model for costing recovery mechanisms called MaStA and determines if the model can be used effectively to guide the selection of mechanisms. To verify the effectiveness of the model a validation framework is developed. Datab...
Napier88 Reference Manual
, 1996
"... Data Types ............................................45 11.1 Abstract Data Type Definition ................................... 45 11.2 Creation of Abstract Data Objects............................... 45 11.3 Use of Abstract Data Objects .................................... 46 11.4 Equality and Eq ..."
Abstract
- Add to MetaCart
Data Types ............................................45 11.1 Abstract Data Type Definition ................................... 45 11.2 Creation of Abstract Data Objects............................... 45 11.3 Use of Abstract Data Objects .................................... 46 11.4 Equality and Equivalence ........................................ 47 12 Files .............................................................48 12.1 File Literal ......................................................... 48 12.2 Equality and Equivalence ........................................ 48 13 Type any ........................................................49 13.1 Injection into Type any........................................... 49 13.2 Projection from Type any........................................ 49 13.3 Equality and Equivalence ........................................ 50 14 Environments ...................................................51 14.1 Creating a New Environment.......................
Concurrent Shadow Paging in the Flask Architecture
- In Atkinson et al
, 1994
"... The differing requirements for concurrency models in programming languages and databases are widely diverse and often seemingly incompatible. The rigid provision of a particular concurrency control scheme in a persistent object system limits its usefulness to a particular class of application, i ..."
Abstract
- Add to MetaCart
The differing requirements for concurrency models in programming languages and databases are widely diverse and often seemingly incompatible. The rigid provision of a particular concurrency control scheme in a persistent object system limits its usefulness to a particular class of application, in contrast to the generality intended by the provision of persistence. One solution is to provide a flexible system in which concurrency control schemes may be specified according to the particular task in hand, allowing the same data to be used in conjunction with different concurrency control schemes according to the needs of the application. A major difficulty in the engineering of such a system lies in the building of generic mechanisms to provide the facilities of data visibility restriction, stability, and atomicity, independently of the combination of these employed by a particular concurrency control scheme. Flask is a architecture which is designed to achieve this goal by d...
Napier88 Reference Manual
, 1996
"... DATA TYPES ..............................................................46 11.1 ABSTRACT DATA TYPE DEFINITION .............................................................................. 46 11.2 CREATION OF ABSTRACT DATA OBJECTS .................................................................. ..."
Abstract
- Add to MetaCart
DATA TYPES ..............................................................46 11.1 ABSTRACT DATA TYPE DEFINITION .............................................................................. 46 11.2 CREATION OF ABSTRACT DATA OBJECTS ...................................................................... 46 11.3 USE OF ABSTRACT DATA OBJECTS ............................................................................... 47 11.4 EQUALITY AND EQUIVALENCE ..................................................................................... 48 12 FILES ........................................................................................49 12.1 FILE LITERAL ............................................................................................................ 49 12.2 EQUALITY AND EQUIVALENCE ..................................................................................... 49 13 TYPE ANY..................................................................................50 13.1 ...

