12 research outputs found

    Automating Fine Concurrency Control in Object-Oriented Databases

    Get PDF
    Several propositions were done to provide adapted concurrency control to object-oriented databases. However, most of these proposals miss the fact that considering solely read and write access modes on instances may lead to less parallelism than in relational databases! This paper cope with that issue, and advantages are numerous: (1) commutativity of methods is determined a priori and automatically by the compiler, without measurable overhead, (2) run-time checking of commutativity is as efficient as for compatibility, (3) inverse operations need not be specified for recovery, (4) this scheme does not preclude more sophisticated approaches, and, last but not least, (5) relational and object-oriented concurrency control schemes with read and write access modes are subsumed under this proposition

    Schema evolution in the star framework

    Get PDF
    The STAR data model supports the definition of object schemata, according either to some design methodology or to the designer's decision. Object schemata allow a flexible management of the various representations that are created during the design of a particular object. Object schemata can evolve or even be dynamically defined, departing from an existing object schema and making changes to it. Schema evolution facilities are a valuable support for both the definition of new design objects and design methodology management. Schema evolution is maintained through versions, so that version management is applied not only to design objects themselves, but also to object schemata. Consistency is guaranteed for schema operations, based on a set of invariant rules

    Database evolution on an orthogonal persistent programming system: A semi-transparent approach

    Get PDF
    In this paper the problem of the evolution of an object-oriented database in the context of orthogonal persistent programming systems is addressed. We have observed two characteristics in that type of systems that offer particular conditions to implement the evolution in a semi-transparent fashion. That transparency can further be enhanced with the obliviousness provided by the Aspect-Oriented Programming techniques. Was conceived a meta-model and developed a prototype to test the feasibility of our approach. The system allows programs, written to a schema, access semi-transparently to data in other versions of the schema

    A database model for object dynamics.

    Get PDF
    Object-oriented database systems, Dynamic object re-classification, Object role model, Dynamic class hierarchy, Object migration

    Data quality maintenance in Data Integration Systems

    Get PDF
    A Data Integration System (DIS) is an information system that integrates data from a set of heterogeneous and autonomous information sources and provides it to users. Quality in these systems consists of various factors that are measured in data. Some of the usually considered ones are completeness, accuracy, accessibility, freshness, availability. In a DIS, quality factors are associated to the sources, to the extracted and transformed information, and to the information provided by the DIS to the user. At the same time, the user has the possibility of posing quality requirements associated to his data requirements. DIS Quality is considered as better, the nearer it is to the user quality requirements. DIS quality depends on data sources quality, on data transformations and on quality required by users. Therefore, DIS quality is a property that varies in function of the variations of these three other properties. The general goal of this thesis is to provide mechanisms for maintaining DIS quality at a level that satisfies the user quality requirements, minimizing the modifications to the system that are generated by quality changes. The proposal of this thesis allows constructing and maintaining a DIS that is tolerant to quality changes. This means that the DIS is constructed taking into account previsions of quality behavior, such that if changes occur according to these previsions the system is not affected at all by them. These previsions are provided by models of quality behavior of DIS data, which must be maintained up to date. With this strategy, the DIS is affected only when quality behavior models change, instead of being affected each time there is a quality variation in the system. The thesis has a probabilistic approach, which allows modeling the behavior of the quality factors at the sources and at the DIS, allows the users to state flexible quality requirements (using probabilities), and provides tools, such as certainty, mathematical expectation, etc., that help to decide which quality changes are relevant to the DIS quality. The probabilistic models are monitored in order to detect source quality changes, strategy that allows detecting changes on quality behavior and not only punctual quality changes. We propose to monitor also other DIS properties that affect its quality, and for each of these changes decide if they affect the behavior of DIS quality, taking into account DIS quality models. Finally, the probabilistic approach is also applied at the moment of determining actions to take in order to improve DIS quality. For the interpretation of DIS situation we propose to use statistics, which include, in particular, the history of the quality models

    A theory and model for the evolution of software services

    Get PDF
    Software services are subject to constant change and variation. To control service development, a service developer needs to know why a change was made, what are its implications and whether the change is complete. Typically, service clients do not perceive the upgraded service immediately. As a consequence, service-based applications may fail on the service client side due to changes carried out during a provider service upgrade. In order to manage changes in a meaningful and effective manner service clients must therefore be considered when service changes are introduced at the service provider's side. Otherwise such changes will most certainly result in severe application disruption. Eliminating spurious results and inconsistencies that may occur due to uncontrolled changes is therefore a necessary condition for the ability of services to evolve gracefully, ensure service stability, and handle variability in their behavior. Towards this goal, this work presents a model and a theoretical framework for the compatible evolution of services based on well-founded theories and techniques from a number of disparate fields.

    A query model and an object algebra for object-oriented databases

    Get PDF
    Ankara : The Department of Computer Engineering and Information Science and the Institute of Engineering and Science of Bilkent University, 1993.Thesis (Ph. D.) -- Bilkent University, 1993.Includes bibliographical references leaves 99-109.A query model is an important component of any database system. In this sense, the relational model has a well defined underlying query model. On the other hand, a well defined query model for object-oriented databases has not been accepted yet. This is one of the common complaints against object-oriented databases. So defining a formal object algebra is one of the most challenging steps in developing a theory for object-oriented databases. In object-oriented data models, although messages serve to manipulate the database, a query model is still required to effectively deal with more complex situations and to facilitate associative access. In this thesis, a query model for object-oriented databases is described, where both the structure and the behavior of objects are handled. Not only the manipulation of existing objects, but also the creation of new objects and the introduction of new relationships are supported in the model. Equivalents to the five basic operations of the relational model as ivell as other additional operations such as one level project, nest and aggregate function application are defined. Hence, the proposed object algebra subsumes the relational algebra. Linear recursion is also supported without requiring any additional operator to serve the purpose. Both the operands as well as the results of these operations are characterized as having a pair of sets -a set of objects and a set of message expressions (sequences of messages) applicable to them. The closure property is shown to be preserved in a natural way by the results of operations possessing the same characteristics as the operands in a query. It is shown that every class possesses the properties of an operand by defining a set of objects and deriving a set of message expressions for it. Furthermore, it is shown that the output of a query has the characteristics of a class. Thus, it is also shown how the super/subclass relationships of the result of a query with its operands can be established and how the result can be placed persistently in the lattice (schema) as a class. Such a class is naturally and properly placed in the lattice by maximizing reusability due to inheritance. Also equivalent object algebra expressions are presented and the associativity of the cross-product operation which is an important property in query optimization is proved. Lastly, as it was recognized that schema evolution is an important requirement to be satisfied by object-oriented databases, hence the handling of schema evolution functions through the proposed object algebra operations is also developed as another contribution of the thesis.Al- Hajj, RedaPh.D

    Extension polymorphism

    Get PDF
    Any system that models a real world application has to evolve to be consistent with its changing domain. Dealing with evolution in an effective manner is particularly important for those systems that may store large amounts of data such as databases and persistent languages. In persistent programming systems, one of the important issues in dealing with evolution is the specification of code that will continue to work in a type safe way despite changes to type definitions. Polymorphism is one mechanism which allows code to work over many types. Inclusion polymorphism is often said to be a model of type evolution. However, observing type changes in persistent systems has shown that types most commonly exhibit additive evolution. Even though inclusion captures this pattern in the case of record types, it does not always do so for other type constructors. The confusion of subtyping, inheritance and evolution often leads to unsound or at best, dynamically typed systems. Existing solutions to this problem do not completely address the requirements of type evolution in persistent systems. The aim of this thesis is to develop a form of polymorphism that is suitable for modelling additive evolution in persistent systems. The proposed strategy is to study patterns of evolution for the most generally used type constructors in persistent languages and to define a new relation, called extension, which models these patterns. This relation is defined independent of any existing relations used for dealing with evolution. A programming language mechanism is then devised to provide polymorphism over this relation. The polymorphism thus defined is called extension polymorphism. This thesis presents work involving the design and definition of extension polymorphism and an implementation of a type checker for this polymorphism. A proof of soundness for a type system which supports extension polymorphism is also presented

    A theory and model for the evolution of software services.

    Get PDF
    Software services are subject to constant change and variation. To control service development, a service developer needs to know why a change was made, what are its implications and whether the change is complete. Typically, service clients do not perceive the upgraded service immediately. As a consequence, service-based applications may fail on the service client side due to changes carried out during a provider service upgrade. In order to manage changes in a meaningful and effective manner service clients must therefore be considered when service changes are introduced at the service provider's side. Otherwise such changes will most certainly result in severe application disruption. Eliminating spurious results and inconsistencies that may occur due to uncontrolled changes is therefore a necessary condition for the ability of services to evolve gracefully, ensure service stability, and handle variability in their behavior. Towards this goal, this work presents a model and a theoretical framework for the compatible evolution of services based on well-founded theories and techniques from a number of disparate fields.
    corecore