It is already widely accepted that the use of data abstraction in object oriented modelling enables real world objects to be well represented in information systems. However, the issue of how to deal with the continui...
详细信息
It is already widely accepted that the use of data abstraction in object oriented modelling enables real world objects to be well represented in information systems. However, the issue of how to deal with the continuity problem during gradual or sudden changes of objects continues to pose conceptual and technical challenges. This paper investigates the use of object versioning techniques to examine the continuity and pattern of changes of objects over time. In adopting this the authors assess not only attributes changes to homogenous objects, but also behaviour changes that lead to transforming or destroying existing objects and creating new ones. (C) 2003 Elsevier B.V. All fights reserved.
We present object versioning as a generic approach to preserve access to previous development and application states. Version-aware references can manage the modifications made to the target object and record versions...
详细信息
ISBN:
(纸本)9781450332118
We present object versioning as a generic approach to preserve access to previous development and application states. Version-aware references can manage the modifications made to the target object and record versions as desired. Such references can be provided without modifications to the virtual machine. We used proxies to implement the proposed concepts and demonstrate the Lively Kernel running on top of this object versioning layer. This enables Lively users to undo the effects of direct manipulation and other programming actions.
Understanding the difference between data objects is a major problem especially in a scientific collaboration which allows scientists to collectively reuse data, modify and adapt scripts developed by their peers to pr...
详细信息
Understanding the difference between data objects is a major problem especially in a scientific collaboration which allows scientists to collectively reuse data, modify and adapt scripts developed by their peers to process data while publishing the results to a centralized data store. Although data provenance has been significantly studied to address the origins of a data item, it does not however address changes made to the source code. Systems often appear as a large number of modules each containing hundreds of lines of code. It is, in general, not obvious which parts of source code contributed to the change in data object. The paper introduces the Class-Based object versioning framework, which overcomes some of the shortcomings of popular versioning systems (e.g. CVS, SVN) in maintaining data and code provenance information in scientific computing environments. The framework automatically identifies and captures useful fine-grained changes in the data and code of scripts that perform scientific experiments so that important information about intermediate stages (i.e. unrecorded changes in experiment parameters and procedures) can be identified and analyzed. The benefits of such a system include querying specific methods and code attributes for data items of interest, finding missing gaps of data lineage and implicit storage of intermediate data.
object versioning refers to how an application can have access to previous states of its objects Implementing this mechanism is hard because it needs to be efficient in space and time, and well integrated with the pro...
详细信息
ISBN:
(纸本)9781605587349
object versioning refers to how an application can have access to previous states of its objects Implementing this mechanism is hard because it needs to be efficient in space and time, and well integrated with the programming language. This paper presents HistOOry, an object versioning system that uses an efficient data structure to store and retrieve past states. It needs only three primitives, and existing code does not need to be modified to be versioned It provides fine-grained control over what parts of objects are versioned and when It stores all states, past and present, in memory. Code can be executed in the past of the system and will see the complete system at that point in time. We have implemented our model in Smalltalk and used it for three applications that need versioning: checked postconditions, stateful execution tracing and a planar point location implementation. Benchmarks are provided to asses the practical complexity of our implementation.
We present a general approach for modeling temporal aspects of objects in a logic programming framework. Change is formulated in the context of a database which stores explicitly a record of all changes that have occu...
详细信息
We present a general approach for modeling temporal aspects of objects in a logic programming framework. Change is formulated in the context of a database which stores explicitly a record of all changes that have occurred to objects and thus (implicitly) all states of objects in the database. A snapshot of the database at any given time is an object-oriented database, in the sense that it supports an object-based data model. An object is viewed as a collection of simple atomic formulas, with support for an explicit notion of object identity, classes and inheritance. The event calculus is a treatment of time and change in first-order classical logic augmented with negation as failure. The paper develops a variant of the event calculus for representing changes to objects, including change in internal state of objects, creation and deletion of objects, acid mutation of objects over time. The concluding sections present two natural and straightforward extensions, to deal with versioning of objects and schema evolution, and a sketch of implementation strategies for practical application to temporal object-oriented databases.
Due to the evolutionary nature of the engineering design process it is necessary to provide support for version management. The version model should be provided with an integrity checking mechanism to assure the consi...
详细信息
Due to the evolutionary nature of the engineering design process it is necessary to provide support for version management. The version model should be provided with an integrity checking mechanism to assure the consistency of object versions with the design constraints. Managing integrity constraints is complex due to their evolving nature and raises number of issues that need to be dealt with. In this paper we present a conceptual framework for providing an integrity mechanism for object versions and show how it operates in a co-operative and distributed design environment. The framework is based OD the concept of the constraint version object (CVO). (C) 2002 Published by Elsevier Science B.V.
Due to the evolutionary nature of the engineering design process it is necessary to provide support for version management. The version model should be provided with an integrity checking mechanism to assure the consi...
详细信息
Due to the evolutionary nature of the engineering design process it is necessary to provide support for version management. The version model should be provided with an integrity checking mechanism to assure the consistency of object versions with the design constraints. Managing integrity constraints is complex due to their evolving nature and raises number of issues that need to be dealt with. In this paper we present a conceptual framework for providing an integrity mechanism for object versions and show how it operates in a co-operative and distributed design environment. The framework is based OD the concept of the constraint version object (CVO). (C) 2002 Published by Elsevier Science B.V.
Like any other database application, object database applications are subject to evolution. Evolution, however, is a critical requirement in object-oriented databases as it is a fundamental characteristic of complex a...
详细信息
Like any other database application, object database applications are subject to evolution. Evolution, however, is a critical requirement in object-oriented databases as it is a fundamental characteristic of complex applications such as computer-aided design and manufacturing (CAD/CAM) and office information systems. object-oriented databases are inherently suited to supporting such applications. In this paper we present a database evolution taxonomy for object-oriented databases. We describe a conceptual database model and use it to define the taxonomy. We also present the various invariants and rules governing the various evolution operations. The execution sequence of rules is described. An implementation of the database model and the evolution taxonomy in the Semi-Autonomous Database Evolution System (SADES), is discussed. The implementation employs aspect-oriented programming techniques to provide a flexible means of transforming objects upon evolution, and implementing some application-specific evolution primitives. A case study compares the evolution taxonomy with existing evolution approaches. The comparison demonstrates that the taxonomy and its corresponding implementation in SADES provide improved coverage of the fundamental evolution operations to which an object database might be subjected. At the same time, erosion of the database structure is avoided by maintaining a coherent and comprehensible view of historical changes. Copyright (c) 2005 John Wiley & Sons, Ltd.
暂无评论