GALILEO: a strongly-typed, interactive conceptual language
ACM Transactions on Database Systems (TODS)
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Combining language and database advances in an object-oriented development environment
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Modeling class hierarchies with contradictions
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
The Gem–Stone data management system
Object-oriented concepts, databases, and applications
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
F-logic: a higher-order language for reasoning about objects, inheritance, and scheme
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Data model issues for object-oriented applications
Readings in object-oriented database systems
A formal approach to object-oriented databases
Data & Knowledge Engineering
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Subtyping can have a simple semantics
Theoretical Computer Science
Object orientation: concepts, languages, databases, user interfaces
Object orientation: concepts, languages, databases, user interfaces
Introduction to object-oriented databases
Introduction to object-oriented databases
The logic of typed feature structures
The logic of typed feature structures
O2, an object-oriented data model
Building an object-oriented database system
A framework for schema updates in an object-oriented database system
Building an object-oriented database system
ACM Transactions on Programming Languages and Systems (TOPLAS)
Correctness of ISA hierarchies in object-oriented database systems
EDBT '94 Proceedings of the 4th international conference on extending database technology: Advances in database technology
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Object-oriented database schema analysis and inheritance processing: a graph-theoretic approach
Data & Knowledge Engineering
A Theory of Objects
Fibonacci: a programming language for object databases
The VLDB Journal — The International Journal on Very Large Data Bases - Persistent object systems
Object-Oriented Databases: Definition and Research Directions
IEEE Transactions on Knowledge and Data Engineering
Consistency of the static and dynamic components of object-oriented specifications
Data & Knowledge Engineering
Finite Satisfiability of Integrity Constraints in Object-Oriented Database Schemas
IEEE Transactions on Knowledge and Data Engineering
Inheritance processing and conflicts in structural generalization hierarchies
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Inheritance is introducted in object-oriented systems to enhance code reuse and create more compact and readable software. Powerful object models adopt multiple inheritance, allowing a type (or class) definition to inherit from more than one supertype. Unfortunately, in applying this powerful modeling mechanism, inheritance conflicts may be generated, which arise when the same property or operation is defined in more than one supertype. Inheritance conflicts identification and resolution is the key issue of this article. In strongly typed object-oriented systems the resolutioin of inheritance conflicts depends on the compatibility of the types of the conflicting definitions. In case of incompatible types, a contradiction arises. This article focuses on object-oriented databases (ODBs), providing a method aimed at supporting the designer in the construction of correct ODB schemas. The first necessary condition for schema correctness is the absence of contradictions. A second cause of schema incorrectness is due to the presence of structurally recursive types that, when defined within certain hierarchical patterns, cause the nontermination of the inheritance process. In the article, after the formal definition of a correct schema, two graph-theoretic methods aimed at verifying ODB schema correctness are analyzed. Although the first method is intuitive but inefficient, the second allows schema correctness to be checked in polynomial time, in the size of the schema. The results of this study are included in the implementation of Mosaico, an environment for ODB application design.