A shared, segmented memory system for an object-oriented database
ACM Transactions on Information Systems (TOIS)
Storage management for objects in EXODUS
Object-oriented concepts, databases, and applications
Optimal code generation for expression trees: an application BURS theory
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Persistence in the E Language: Issues and implementation
Software—Practice & Experience
Data abstraction and object-oriented programming in C++
Data abstraction and object-oriented programming in C++
The EXODUS extensible DBMS project: an overview
Readings in object-oriented database systems
Design of the Mneme persistent object store
ACM Transactions on Information Systems (TOIS)
Communications of the ACM
The POSTGRES next generation database management system
Communications of the ACM
Extensions to Starburst: objects, types, functions, and rules
Communications of the ACM
Simple and efficient BURS table generation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Journal of the ACM (JACM)
Efficient string matching: an aid to bibliographic search
Communications of the ACM
The DASDBS Project: Objectives, Experiences, and Future Prospects
IEEE Transactions on Knowledge and Data Engineering
The Iris Architecture and Implementation
IEEE Transactions on Knowledge and Data Engineering
Architecture of the ORION Next-Generation Database System
IEEE Transactions on Knowledge and Data Engineering
The O++ Database Programming Language: Implementation and Experience
Proceedings of the Ninth International Conference on Data Engineering
Hi-index | 0.00 |
In an object-oriented database system (OODBS), objects exist persistently and object I/O is transparent to the programmer. Therefore, some mechanism in the system must initiate I/O as the program runs. In this paper we present an approach based on pattern matching and dynamic programming that allows a program to interact efficiently with the runtime storage layer. We are interested in allowing programs to manipulate very large objects without necessarily reading them entirely. If a program touches only a small part of a large object, the problem is how to determine the part of the object needed. In this paper, we present an approach based on pattern matching and dynamic programming to resolve this problem.We discuss and solve this problem in the context of VML, a modeling language of an open object-oriented database language. The VML compiler translates VML programs into C++ programs which contain calls to the object manager. We provide a detailed description of our implementation with the hope that our approach will foster the development of object-oriented database systems based on C++.