Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
The C++ programming language
Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Eiffel: programming for reusability and extendibility
ACM SIGPLAN Notices
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A language facility for designing database-intensive applications
ACM Transactions on Database Systems (TODS)
A type declaration and inference system for smalltalk
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making smalltalk a database system
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Semantic database modeling: survey, applications, and research issues
ACM Computing Surveys (CSUR)
A data model and query language for EXODUS
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
O2, an object-oriented data model
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
A performance comparison of object and relational databases using the Sun Benchmark
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
AVANCE: an object management system
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Controlling propagation of operations using attributes on relations
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Object database support for a software project management environment
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Using a relational system on Wall Street: the good, the bad, the ugly, and the ideal
Communications of the ACM
ODE (Object Database and Environment): the language and the data model
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
On accessing object-oriented databases: expressive power, complexity, and restrictions
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
OROS: toward a type model for software development environments
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The 3DIS: an extensible object-oriented information management environment
ACM Transactions on Information Systems (TOIS)
The O2 object manager: an overview
VLDB '89 Proceedings of the 15th international conference on Very large data bases
The O2 database programming language
VLDB '89 Proceedings of the 15th international conference on Very large data bases
A model of queries for object-oriented databases
VLDB '89 Proceedings of the 15th international conference on Very large data bases
An object-oriented relational database
Communications of the ACM
Design of the Mneme persistent object store
ACM Transactions on Information Systems (TOIS)
Fine grained data management to achieve evolution resilience in a software development environment
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
Model instantiation for query driven simulation in active KDL
ANSS '90 Proceedings of the 23rd annual symposium on Simulation
Specification level interoperability
ICSE '90 Proceedings of the 12th international conference on Software engineering
Specification-level interoperability
Communications of the ACM - Special issue on software engineering
Object-Oriented Database Management Systems: Concepts and Issues
Computer - Special issue on instruction sequencing
K: a high-level knowledge base programming language for advanced database applications
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
Cache consistency and concurrency control in a client/server DBMS architecture
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
An extensible kernel object management system
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Object-oriented database systems: in transition
ACM SIGMOD Record - Directions for future database research & development
Method precomputation in object-oriented databases
COCS '91 Proceedings of the conference on Organizational computing systems
ACM SIGPLAN OOPS Messenger
A general framework for the optimization of object-oriented queries
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
ACM SIGPLAN OOPS Messenger
Structure and semantics in OODB class specifications
ACM SIGMOD Record
PLEIADES: an object management system for software engineering environments
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Applying active database models for simulation
WSC '93 Proceedings of the 25th conference on Winter simulation
An efficient method for checking object-oriented database schema correctness
ACM Transactions on Database Systems (TODS)
Acquiring experiences with executable process models
ISPW '90 Proceedings of the 5th international software process workshop on Experience with software process models
Query driven simulation using SIMODULA
ANSS '89 Proceedings of the 22nd annual symposium on Simulation
A formalization of a query language for complex objects
CSC '91 Proceedings of the 19th annual conference on Computer Science
ADAM: a graphical, object-oriented database-design tool and code generator
CSC '91 Proceedings of the 19th annual conference on Computer Science
A toolkit for the incremental implementation of heterogeneous database management systems
The VLDB Journal — The International Journal on Very Large Data Bases
Index configuration in object-oriented databases
The VLDB Journal — The International Journal on Very Large Data Bases
Indexing Techniques for Queries on Nested Objects
IEEE Transactions on Knowledge and Data Engineering
The ROSE Data Manager: Using Object Technology to Support Interactive Engineering Applications
IEEE Transactions on Knowledge and Data Engineering
Object-Oriented Databases: Definition and Research Directions
IEEE Transactions on Knowledge and Data Engineering
MORE: An Object-Oriented Data Model with a Facility for Changing Object Structures
IEEE Transactions on Knowledge and Data Engineering
Object-Oriented Query Languages: The Notion and the Issues
IEEE Transactions on Knowledge and Data Engineering
Conceptual Database Evolution Through Learning in Object Databases
IEEE Transactions on Knowledge and Data Engineering
DAIS: A Distributed AI Programming Shell
IEEE Expert: Intelligent Systems and Their Applications
The C-based Database Programming Language Jasmine/C
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Non-Monotonic Knowledge Evolution in VLKDBs
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Ode as an Active Database: Constraints and Triggers
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
Of Objects and Databases: A Decade of Turmoil
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
The design and implementation of K: a high-level knowledge-base programming language of OSAM*.KBMS
The VLDB Journal — The International Journal on Very Large Data Bases
Object-oriented approach to managing statistical and scientific databases
SSDBM'1990 Proceedings of the 5th international conference on Statistical and Scientific Database Management
Simple and safe SQL queries with c++ templates
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Eliminating impedance mismatch in C++
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Whiteoak: introducing structural typing into java
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Thorn: robust, concurrent, extensible scripting on the JVM
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Access Enhancement Objects for data management in Smalltalk
Computer Languages, Systems and Structures
NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Kiln: closing the performance gap between systems with and without persistence support
Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
The Impedance Mismatch in Light of the Unified State Model
Fundamenta Informaticae - Concurrency Specification and Programming CS&P
Hi-index | 0.03 |
Object-oriented languages generally lack support for persistent objects—that is objects that survive the process or programming session. On the other hand, database systems lack the expressibility of object-oriented languages. Both persistence and expressibility are necessary for production application development.This paper presents a brief overview of VBASE, an object-oriented development environment that combines a procedural object language and persistent objects into one integrated system. Language aspects of VBASE include strong datatyping, a block structured schema definition language, and parameterization, or the ability to type members of aggregate objects. Database aspects include system support for one-to-one, one-to-many, and many-to-many relationships between objects, an inverse mechanism, user control of object clustering in storage for space and retrieval efficiency, and support for trigger methods.Unique aspects of the system are its mechanisms for custom implementations of storage allocation and access methods of properties and types, and free operations, that is operations that are not dispatched according to any defined type.During the last several years, both languages and database systems have begun to incorporate object features. There are now many object-oriented programming languages. [Gol1983, Tes1985, Mey 1987, Cox 1986, Str 1986]. Object-oriented database management systems are not as prevalent yet, and sometimes tend to use different terms (Entity-Relationship, Semantic Data Model), but they are beginning to appear on the horizon [Cat1983, Cop1984, Ston1986, Mylo1980]. However, we are not aware of any system which combines both language and database features in a single object-oriented development platform. This is essential since a system must provide both complex data management and advanced programming language features if it is to be used to develop significant production software systems. Providing only one or the other is somewhat akin to providing half a bridge: it might be made structurally sound, perhaps, but it is not particularly useful to one interested in getting across the river safely.Object-oriented languages have been available for many years. The productivity increases achievable through the use of such languages are well recognized. However, few serious applications have been developed using them. One reason has been performance, though this drawback is being eliminated through the development of compiled object languages. The remaining major negative factor, in our view, is the lack of support for persistence; the lack of objects that survive the processing session and provide object sharing among multiple users of an application.Database management systems, in contrast, suffer from precisely the opposite problem. While having excellent facilities for managing large amounts of data stored on mass media, they generally support only limited expression capabilities, and no structuring facilities.Both language and database systems usually solve this problem by providing bridges between the systems. Thus the proliferation of 'embedded languages', allowing language systems to access database managers. These bridges are usually awkward, and still provide only restricted functionality. Both performance and safety can be enhanced through a tighter coupling between the data management and programming language facilities.It is this lack of a truly integrated system which provided our inspiration at Ontologic, Inc. This paper reviews Ontologic's VBASE Integrated Object System and describes how it combines language and database functionality.