Results 1 - 10
of
361
Logical foundations of object-oriented and frame-based languages
- JOURNAL OF THE ACM
, 1995
"... We propose a novel formalism, called Frame Logic (abbr., F-logic), that accounts in a clean and declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, ..."
Abstract
-
Cited by 876 (65 self)
- Add to MetaCart
(Show Context)
We propose a novel formalism, called Frame Logic (abbr., F-logic), that accounts in a clean and declarative fashion for most of the structural aspects of object-oriented and frame-based languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, encapsulation, and others. In a sense, F-logic stands in the same relationship to the objectoriented paradigm as classical predicate calculus stands to relational programming. F-logic has a model-theoretic semantics and a sound and complete resolution-based proof theory. A small number of fundamental concepts that come from object-oriented programming have direct representation in F-logic; other, secondary aspects of this paradigm are easily modeled as well. The paper also discusses semantic issues pertaining to programming with a deductive object-oriented language based on a subset of F-logic.
A study of three alternative workstation-server architectures for object-oriented database systems
, 1990
"... In the engineering and scientific marketplaces, the workstation-server model of computing is emerging as the standard of the 1990s. Implementing an object-oriented database system in this environment immediately presents the design choice of how to partition database functionality between the server ..."
Abstract
-
Cited by 114 (6 self)
- Add to MetaCart
In the engineering and scientific marketplaces, the workstation-server model of computing is emerging as the standard of the 1990s. Implementing an object-oriented database system in this environment immediately presents the design choice of how to partition database functionality between the server and workstation processors. To better understand the alternatives to this fundamental design decision, we analyze three different workstation-server architectures, evaluating them both qualitatively and through benchmarking of prototypes. The three approaches are labeled object server, in which individual objects pass between the server and workstation, page server, in which a disk page is the unit of transport and the server buffers pages, and file server, where whole pages are transferred as well, but they are accessed directly by the workstation process via a remote file service (namely, NFS). We built prototypes of all three architectures, using a stripped-down version of the WiSS storage system as a starting point. To compare the performance of the prototypes, and to experiment with sensitivity to data placement and cache sizes, we developed our own object manager benchmark, the Altair Complex-Object Benchmark (ACOB). This benchmark supports experiments that vary both clustering (inter-object locality) and smearing (intra-object locality). The test suite of benchmarks includes queries for scanning the entire database and traversing and updating complex objects.
A Graph-Oriented Object Database Model
, 1990
"... A graph-oriented object database model (GOOD) is introduced as a theoretical basis for database systems in which manipulation as well as conceptual representation of data is transparently graph-based. In the GOOD model, the scheme as well as the instance of an object database is represented by a gra ..."
Abstract
-
Cited by 113 (17 self)
- Add to MetaCart
A graph-oriented object database model (GOOD) is introduced as a theoretical basis for database systems in which manipulation as well as conceptual representation of data is transparently graph-based. In the GOOD model, the scheme as well as the instance of an object database is represented by a graph, and the data manipulation is expressed by graph transformations. These graph transformations are described using five basic operations and a method construct, all with a natural semantics. The basic operations add and delete objects and edges in function of the matchings of a pattern. The expressiveness of the model in terms of object-oriented modeling and data manipulation power is investigated. Index terms: Database models, query languages, graph transformations, objectoriented databases, user interfaces. Preliminary versions of this paper were presented at the 9th ACM Symposium on Principles of Database Systems [16] and the 1990 ACM SIGMOD International Conference on Management of D...
Part-Whole Relations in Object-Centered Systems: An Overview
, 1996
"... Knowledge bases, data bases and object-oriented systems (referred to in the paper as Object-Centered systems) all rely on attributes as the main construct used to associate properties to objects; among these, a fundamental role is played by the so-called part-whole relation. The representation of ..."
Abstract
-
Cited by 113 (12 self)
- Add to MetaCart
Knowledge bases, data bases and object-oriented systems (referred to in the paper as Object-Centered systems) all rely on attributes as the main construct used to associate properties to objects; among these, a fundamental role is played by the so-called part-whole relation. The representation of such a structural information usually requires a particular semantics together with specialized inference and update mechanisms, but rarely do current modeling formalisms and methodologies give it a specific "first-class" dignity. The main thesis of this paper is that the part-whole relation cannot simply be considered as an ordinary attribute, its specific ontological nature requires to be understood and integrated within data modeling formalisms and methodologies. On the basis of such an ontological perspective, we survey the conceptual modeling issues involving part-whole relations, and the various modeling frameworks provided by knowledge representation and object-oriented formalisms.
An Approach to Resolving Semantic Heterogeneity in a Federation of Autonomous, Heterogeneous Database Systems
- International Journal of Intelligent and Cooperative Information Systems
, 1993
"... An approach to accommodating semantic heterogeneity in a federation of interoperable, autonomous, hetero-geneous databases is presented. A mechanism is described for identifying and resolving semantic heterogeneity while at the same time honoring the autonomy of the database components that particip ..."
Abstract
-
Cited by 108 (5 self)
- Add to MetaCart
(Show Context)
An approach to accommodating semantic heterogeneity in a federation of interoperable, autonomous, hetero-geneous databases is presented. A mechanism is described for identifying and resolving semantic heterogeneity while at the same time honoring the autonomy of the database components that participate in the federation. A minimal, common data model is introduced as the basis for describing sharable information, and a three-pronged facility for determining the relationships between information units (objects) is developed. Our approach serves as a basis for the sharing of related concepts through (partial) schema unication without the need for a global view of the data that is stored in the dierent components. The mechanism presented here can be seen in contrast with more traditional approaches such as \integrated databases " or \distributed databases". An experimen-tal prototype implementation has been constructed within the framework of the Remote-Exchange experimental system.
Representing and reasoning about semantic conflicts in heterogeneous information systems
, 1997
"... ..."
Queries and query processing in object-oriented database systems
- ACM TRANSACTIONS ON INFORMATION SYSTEMS
, 1990
"... One of the basic functionalities of database management systems (DBMSs) is to be able to process declarative user queries. The first generation of object-oriented DBMSs did not provide declarative query capabilities. However, the last decade has seen significant research in defining query models (in ..."
Abstract
-
Cited by 80 (8 self)
- Add to MetaCart
One of the basic functionalities of database management systems (DBMSs) is to be able to process declarative user queries. The first generation of object-oriented DBMSs did not provide declarative query capabilities. However, the last decade has seen significant research in defining query models (including calculi, algebra and user languages) and in techniques for processing and optimizing them. Many of the current commercial systems provide at least rudimentary query capabilities. In this chapter we discuss the techniques that have been developed for processing object-oriented queries. Our particular emphasis is on extensible query processing architectures and techniques. The other chapters in this book on query languages and optimization techniques complement this chapter.
Lazy Modular Upgrades in Persistent Object Stores
- IN OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES, AND APPLICATIONS (OOPSLA
, 2003
"... Persistent object stores require a way to automatically upgrade persistent objects, to change their code and storage representation. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application a ..."
Abstract
-
Cited by 63 (6 self)
- Add to MetaCart
Persistent object stores require a way to automatically upgrade persistent objects, to change their code and storage representation. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application access to the store. In addition, however, the approach must be modular: it must allow programmers to reason locally about the correctness of their upgrades similar to the way they would reason about regular code. This paper provides solutions to both problems. The paper first defines upgrade...
Issues Encountered in Building a Flexible Software Development Environment: Lessons Learned From the Arcadia Project
- In Proceedings of ACM SIGSOFT ’92: Fifth Symposium on Software Development Environments
, 1992
"... This paper presents some of the more signi cant technical lessons that the Arcadia project has learned about developing e ective software development environments. The principal components of the Arcadia-1 architecture are capabilities for process de nition and execution, object management, user int ..."
Abstract
-
Cited by 54 (0 self)
- Add to MetaCart
(Show Context)
This paper presents some of the more signi cant technical lessons that the Arcadia project has learned about developing e ective software development environments. The principal components of the Arcadia-1 architecture are capabilities for process de nition and execution, object management, user interface development and management, measurement and evaluation, language processing, and analysis and testing. In simultaneously and cooperatively developing solutions in these areas welearned several key lessons. Among them: the need to combine and apply heterogenous componentry, multiple techniques for developing components, the pervasive need for rich type models, the need for supporting dynamism (and at what granularity), the role and value of concurrency, and the role and various forms of event-based control integration mechanisms. These lessons are explored in the paper. 1
Fabric: A platform for secure distributed computation and storage
- In SOSP ’09, Big Sky
, 2009
"... Abstract Fabric is a new system and language for building secure distributed information systems. It is a decentralized system that allows heterogeneous network nodes to securely share both information and computation resources despite mutual distrust. Its high-level programming language makes dist ..."
Abstract
-
Cited by 53 (12 self)
- Add to MetaCart
(Show Context)
Abstract Fabric is a new system and language for building secure distributed information systems. It is a decentralized system that allows heterogeneous network nodes to securely share both information and computation resources despite mutual distrust. Its high-level programming language makes distribution and persistence largely transparent to programmers. Fabric supports data-shipping and function-shipping styles of computation: both computation and information can move between nodes to meet security requirements or to improve performance. Fabric provides a rich, Java-like object model, but data resources are labeled with confidentiality and integrity policies that are enforced through a combination of compile-time and run-time mechanisms. Optimistic, nested transactions ensure consistency across all objects and nodes. A peer-to-peer dissemination layer helps to increase availability and to balance load. Results from applications built using Fabric suggest that Fabric has a clean, concise programming model, offers good performance, and enforces security.