Results 1 - 10
of
21
Orthogonally Persistent Object Systems
- VLDB JOURNAL
, 1995
"... Persistent Application Systems (PASs) are of increasing social and economic importance. They have the potential to be long-lived, concurrently accessed and consist of large bodies of data and programs. Typical examples of PASs are CAD/CAM systems, office automation, CASE tools, software engineer ..."
Abstract
-
Cited by 134 (24 self)
- Add to MetaCart
Persistent Application Systems (PASs) are of increasing social and economic importance. They have the potential to be long-lived, concurrently accessed and consist of large bodies of data and programs. Typical examples of PASs are CAD/CAM systems, office automation, CASE tools, software engineering environments and patient-care support systems in hospitals. Orthogonally persistent object systems are intended to provide improved support for the design, construction, maintenance and operation of PASs. The persistence abstraction allows the creation and manipulation of data in a manner that is independent of its lifetime thereby integrating the database view of information with the programming language view. This yields a number of advantages in terms of orthogonal design and programmer productivity which are beneficial for PASs. Design principles have been proposed for persistent systems. By following these principles, languages that provide persistence as a basic abstract...
ODE (Object Database and Environment): The Language and the Data Model
- Proc. ACM-SIGMOD 1989 Int'l Conf. Management of Data
, 1989
"... ODE is a database system and environment based on the object paradigm. It offers one integrated data model for both database and general purpose manipulation. The database is defined, queried and manipulated in the database programming language O++ which is based on C++. O++ borrows and extends the ..."
Abstract
-
Cited by 77 (12 self)
- Add to MetaCart
ODE is a database system and environment based on the object paradigm. It offers one integrated data model for both database and general purpose manipulation. The database is defined, queried and manipulated in the database programming language O++ which is based on C++. O++ borrows and extends the object definition facility of C++, called the class. Classes support data encapsulation and multiple inheritance. We provide facilities for creating persistent and versioned objects, defining sets, and iterating over sets and clusters of persistent objects. We also provide facilities to associate constraints and triggers with objects. This paper presents the linguistic facilities provided in O++ and the data model it supports. 1. INTRODUCTION The object paradigm is a natural way of organizing data as it allows users to structure, retrieve and update data in terms of the application domain. ODE is a database system and environment based on the object paradigm. The database is defined, queri...
Grasshopper: An orthogonally persistent operating system
, 1994
"... For ten years researchers have been attempting to construct programming language systems that support orthogonal persistence above conventional operating systems. ..."
Abstract
-
Cited by 54 (14 self)
- Add to MetaCart
For ten years researchers have been attempting to construct programming language systems that support orthogonal persistence above conventional operating systems.
Design and Implementation of ROCK & ROLL: A Deductive Object-Oriented Database System
- Information Systems
, 1995
"... This paper presents an approach to the development of a deductive object-oriented database system, describing the key design decisions and their consequences for implementation. The approach is novel, in that it integrates an object-oriented database system manipulated using an imperative programmin ..."
Abstract
-
Cited by 23 (4 self)
- Add to MetaCart
This paper presents an approach to the development of a deductive object-oriented database system, describing the key design decisions and their consequences for implementation. The approach is novel, in that it integrates an object-oriented database system manipulated using an imperative programming language (ROCK) with a logic language for expressing queries and methods (ROLL). The integration is made seamless by deriving both the imperative and logic languages from a single formally defined data model, thereby avoiding impedance mismatches when they are integrated. Key words: Deductive Object-Oriented Databases, Deductive Databases, Object-Oriented Databases, Database Programming, Logic Programming. 1. INTRODUCTION The two most prominent of the emerging approaches to database programming build upon the deductive and the object-oriented paradigms. Both of these approaches have significant strengths. Deductive databases (DDBs) have a formal basis in first order logic, support expressi...
Types and Polymorphism in Persistent Programming Systems
, 1990
"... In a type secure persistent programming system, all data is governed for its entire lifetime by a single type system. The universality of the persistent type system has implications in terms of both the modelling and protection provided by the type system itself, and also presents some new challenge ..."
Abstract
-
Cited by 21 (8 self)
- Add to MetaCart
In a type secure persistent programming system, all data is governed for its entire lifetime by a single type system. The universality of the persistent type system has implications in terms of both the modelling and protection provided by the type system itself, and also presents some new challenges in terms of implementation. With respect to modelling, the persistent type system must be sufficiently flexible to allow the modelling of activities normally provided by untyped support systems. Such activities include, for example, the linking of separately prepared program units, and file system access protection. Methods of achieving such flexibility whilst maximising safety include the controlled use of infinite unions, parametric and inclusion polymorphism. With respect to protection, the increased role of a type system means that any protection mechanisms programmed at a high level may be fully relied upon to protect the data for its lifetime, as access from outside the constraints...
Operating System Support for Persistent and Recoverable Computations
- Communications of the ACM
, 1996
"... The principal tasks of an operating system are to manage the resources of the system, maintain the permanent data of the system and to provide an efficient environment for the execution of user programs. In conventional operating systems these tasks are centred around the file system as the repos ..."
Abstract
-
Cited by 21 (6 self)
- Add to MetaCart
The principal tasks of an operating system are to manage the resources of the system, maintain the permanent data of the system and to provide an efficient environment for the execution of user programs. In conventional operating systems these tasks are centred around the file system as the repository of permanent data and virtual memory as the execution environment. Persistent systems offer an alternative view in which the lifetime of data is separated from the access mechanism. In a persistent system all data, regardless of its lifetime, is created and manipulated in a uniform manner. When persistence is included as the basic abstraction of an operating system, many of the inadequacies of existing operating systems are eliminated and the tasks of an application developer are greatly simplified. This results in major improvements both in terms of program development time and execution efficiency. Grasshopper, a persistent operating system being developed by the authors, pr...
Rationale for the Design of Persistence and Query Processing Facilities in the Database Programming Language O++
, 1989
"... ODE is a database system and environment based on the object paradigm. It offers one integrated data model for both database and general purpose manipulation. The database is defined, queried, and manipulated in the database programming language O++, an extension of C++. O++ uses the C++ object defi ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
ODE is a database system and environment based on the object paradigm. It offers one integrated data model for both database and general purpose manipulation. The database is defined, queried, and manipulated in the database programming language O++, an extension of C++. O++ uses the C++ object definition facility, called the class, to provide data encapsulation and multiple inheritance. O++ extends C++ by providing facilities for creating persistent and versioned objects, defining and manipulating sets, organizing persistent objects into clusters, iterating clusters of persistent objects, and associating constraints and triggers with objects. In this paper, we present the O++ facilities for persistence and query processing, the alternatives considered, and the rationale behind the design choices.
Object Versioning in Ode
- Proc. IEEE 7th Int'l Conf. Data Engineering
, 1991
"... The design of the versioning facilities in the Ode object-oriented database system is based on a few powerful concepts that allow implementation of a wide variety of versioning paradigms. These facilities have been cleanly integrated into Ode's database programming language O++. Object versioning in ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
The design of the versioning facilities in the Ode object-oriented database system is based on a few powerful concepts that allow implementation of a wide variety of versioning paradigms. These facilities have been cleanly integrated into Ode's database programming language O++. Object versioning in Ode is orthogonal to type, that is, versioning is an object property and not a type property. Versions of an object can be created without requiring any change in the corresponding object type definition, all objects can be versioned, and different objects of the same type can have a different number of versions. Both dynamic and static bindings to version references are supported. Temporal as well as derived-from relationships between versions are maintained automatically. This paper presents the versioning facilities in Ode, gives their formal semantics, illustrates their power by modeling a design database in production use, and discusses their implementation. Modeling the design databa...
A Model for Persistent Shared Memory Addressing in Distributed Systems
, 1992
"... COOL v2 1 is an object oriented persistent computing system for distributed programming. With COOL v2 , C++ objects can be persistent and shared freely between applications and distributed across sites in a completely transparent manner from the programmer`s point of view. To address the problem o ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
COOL v2 1 is an object oriented persistent computing system for distributed programming. With COOL v2 , C++ objects can be persistent and shared freely between applications and distributed across sites in a completely transparent manner from the programmer`s point of view. To address the problem of maintaining distributed shared data coherency, data persistency and address allocation coherency, we developed the persistent context space model which encapsulates distributed shared memory and persistent memory, and controls distributed shared memory address allocation. This paper outlines existing solutions of object addressing in persistent and distributed environments and contrasts these with the persistent context space model and its integration in an operating system architecture. 1 Introduction The use of the UMA 2 programming model on distributed systems has been investigated as a means to preserve programming simplicity and benefit at the same time from the increased paralleli...
Models for Persistence in Lazy Functional Programming Systems
, 1993
"... Research into providing support for long term data in lazy functional programming systems is presented in this thesis. The motivation for this work has been to reap the benefits of integrating lazy functional programming languages and persistence. The benefits are . the programmer need not write cod ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Research into providing support for long term data in lazy functional programming systems is presented in this thesis. The motivation for this work has been to reap the benefits of integrating lazy functional programming languages and persistence. The benefits are . the programmer need not write code to support long term data since this is provided as part of the programming system . persistent data can be used in a type safe way since the programming language type system applies to data with the whole range of persistence . the benefits of lazy evaluation are extended to the full lifetime of a data value. Whilst data is reachable, any evaluation performed on the data persists. A data value changes monotonically from an unevaluated state towards a completely evaluated state over time. . interactive data intensive applications such as functional databases can be developed. These benefits are realised by the development of models for persistence in lazy functional programming systems. Tw...

