76,213 research outputs found

    Object oriented database management systems

    Get PDF
    Modern data intensive applications, such as multimedia systems require the ability to store and manipulate complex data. The classical Database Management Systems (DBMS), such as relational databases, cannot support these types of applications efficiently. This dissertation presents the salient features of Object Database Management Systems (ODBMS) and Persistent Programming Languages (PPL), which have been developed to address the data management needs of these difficult applications. An 'impedance mismatch' problem occurs in the traditional DBMS because the data and computational aspects of the application are implemented using two different systems, that of query and programming language. PPL's provide facilities to cater for both persistent and transient data within the same language, hence avoiding the impedance mismatch problem. This dissertation presents a method of implementing a PPL by extending the language C++ with pre-compiled classes. The classes are first developed and then used to implement object persistence in two simple applications.ComputingM. Sc. (Information Systems

    Using ObjectStore in building C++ interface application

    Get PDF
    ObjectStore is an object oriented database management system. It provides a tightly integrated language interface to the traditional database management system features such as persistent distributed data access and associative queries. ObjectStore enables "ordinary" C and C++ programmers to add persistent database to their applications without having to learn a new language and without sacrificing any performance. This is an advantage over the relational database approach in which there is an impedance mismatch between database query language and the high level programming languages. ObjectStore and C++ programming language share the same data model, for instance base types, such as integers, characters, and pointers, as well as more complex types, such as structures and classes. The operators defined on the data types are also equivalent. Actions such-as pointer dereferencing (- >) are valid for both persistent and transient data, with no difference to the programmer. ObjectStore also ensures that the resulting unified interface yields access speed for persistent objects that are usually equal to that of in-memory dereferences of transient data. Our objective in this report is to describe how to create database applications, using the fundamental features of ObjectStore such as, Database access, Transactions Exceptions, Collections, Queries, Indexes and Relationship facilities. The general information and instructions for generating schemas, compiling, linking and debugging ObjectStore are explained in details. We develop an application, Airline Reservation to examine most of the database functions in ObjectStore system. This application has written in C++ language and uses ObjectStore API whenever needed to use databas

    The discriminating object model

    Full text link
    University of Technology, Sydney. Faculty of Engineering and Information Technology.This dissertation shows how to combine the expressive power of object-oriented programming with the efficiency of relational databases and query languages. Relational databases store and manipulate large amounts of simple data efficiently. The economies of scale they are able to achieve have yet to be significantly rivalled by alternate approaches to database storage. However relational databases are not good at storing complex objects and their associated relationships. Object-oriented programming languages are good at organising computation in a way that is both flexible and maintainable but support of persistent data is a problem. Research into combining the two has been ongoing over the past three decades. One such research direction has been the development of object-relational mapping tools. They link object-oriented programming and relational database storage, mapping the concepts from the programming language to the relational database. The majority of these mapping tools however are quite complex and require a knowledgeable user. The pattern calculus is a new foundation for computation. It has been implemented in the programming language bondi. It supports the most popular programming styles within a single small system. In particular it supports generic pattern-matching functions and has a simple representation of temporary data. It is a powerful calculus which has not previously been tied to relational data. The Discriminating Object Model (DOM), developed in this thesis, is a data model that is uitable for both object-oriented programming and the organisation of data in relational databases. It aligns the notion of dis riminators from relational databases with type variables from the programming language. Objects are mapped to records with additional fields . The DOM has been implemented in a database extension to the programming language bondi called dbbondi. Data manipulation is performed as a combination of object-oriented methods and database queries. They are executed in the environment in which their evaluation is optimal, thereby taking advantage of the efficiencies of both environments

    An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach

    Get PDF
    This paper introduces a new model, based on so-called object-composition filters, that uniformly integrates database-like features into an object-oriented language. The focus is on providing persistent dynamic data structures, data sharing, transactions, multiple views and associative access, integrated with the object-oriented paradigm. The main contribution is that the database-like features are part of this new object-oriented model, and therefore, are uniformly integrated with object-oriented features such as data abstraction, encapsulation, message passing and inheritance. This approach eliminates the problems associated with existing systems such as lack of reusability and extensibility for database operations, the violation of encapsulation, the need to define specific types such as sets, and the incapability to support multiple views. The model is illustrated through the object-oriented language Sina

    On the Utilisation of Persistent Programming Environments

    Get PDF
    There is a growing gap between the supply and demand of good quality software, which is primarily due to the difficulty of the programming task and the poor level of support for programmers. Programming is carried out using software tools which do not match very well either real world understanding of a problem or even the other tools which need to be used. In every phase of software production, the programmer must master new tools which function in a different way from each other. The Persistent Programming Paradigm attempts to reduce these problems by providing a programming environment which gives consistent methods of accessing program values of various kinds. Long-term and short-term data are treated in the same way. Numbers, text, graphical values and even program objects are all referred to in the same consistent way. Languages which support persistence provide considerable power within a simple environment, so that programmers can perform most if not all parts of the programming task in a coherent and uniform manner. This thesis tests the hypothesis that programmers do in fact derive some benefit from this - the simplification of the program and faster implementation of complex programs. The persistent language PS-algol is introduced and used to build: user-interface and compiler tools; a database application; some data modelling tools, both relational and semantic; a rapid prototyping system; an object-oriented language; and software support systems. In doing so, the thesis demonstrates the breadth of work which can be achieved using a Persistent Programming Language, and the ease with which these various projects can be implemented. Further, the thesis derives the beginnings of a methodology for using such a language and analyses how PS-algol could be improved. In doing so, the work aims to put the Persistent Programming Paradigm on a firm basis following significant use and experimentation

    Compensation methods to support cooperative applications: A case study in automated verification of schema requirements for an advanced transaction model

    Get PDF
    Compensation plays an important role in advanced transaction models, cooperative work and workflow systems. A schema designer is typically required to supply for each transaction another transaction to semantically undo the effects of . Little attention has been paid to the verification of the desirable properties of such operations, however. This paper demonstrates the use of a higher-order logic theorem prover for verifying that compensating transactions return a database to its original state. It is shown how an OODB schema is translated to the language of the theorem prover so that proofs can be performed on the compensating transactions

    Compensation methods to support generic graph editing: A case study in automated verification of schema requirements for an advanced transaction model

    Get PDF
    Compensation plays an important role in advanced transaction models, cooperative work, and workflow systems. However, compensation operations are often simply written as a^āˆ’1 in transaction model literature. This notation ignores any operation parameters, results, and side effects. A schema designer intending to use an advanced transaction model is expected (required) to write correct method code. However, in the days of cut-and-paste, this is much easier said than done. In this paper, we demonstrate the feasibility of using an off-the-shelf theorem prover (also called a proof assistant) to perform automated verification of compensation requirements for an OODB schema. We report on the results of a case study in verification for a particular advanced transaction model that supports cooperative applications. The case study is based on an OODB schema that provides generic graph editing functionality for the creation, insertion, and manipulation of nodes and links
    • ā€¦
    corecore