Abstract This paper describes a novel mechanism for upgrading objects in an object-oriented database. Unlike earlier systems, our mechanism is expressive, supporting a rich set of upgrades; it is efficient and does not stop application access to run an upgrade; it avoids making copies of the database; yet it provides good semantics. Expressive efficient upgrades can lead to problems for the code that upgrades objects. For example, the code might observe broken invariants or interfaces unknown at the time it was written. The paper shows how to use a variant of ownership types to avoid such problems and enable programmers to reason about the correctness of their upgrades. Our approach to correctness is novel, and is a significant contribution...
Object-oriented databases have been introduced primarily to ease the development of database applica...
Abstract. Object ownership is an approach to controlling aliasing in programming languages. Proposal...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
This paper describes a novel mechanism for upgrading objects in an object-oriented database. Unlike ...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Containment of objects is a natural concept that has been poorly supported in object-oriented prog...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Abstract. Ownership type systems describe a heap topology and enforce an encapsulation discipline; t...
Ownership Domains generalize ownership types. They support programming patterns like iterators that ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
One of the objectives of ooDBMSs is to use type-specific methods for manipulating objects, in order ...
Modern object-oriented programming languages frequently need the ability to clone, duplicate, and co...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Object-oriented databases have been introduced primarily to ease the development of database applica...
Abstract. Object ownership is an approach to controlling aliasing in programming languages. Proposal...
Generic programming has turned out very useful in the development of reusable software. With the Jav...
This paper describes a novel mechanism for upgrading objects in an object-oriented database. Unlike ...
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection to objec...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
Containment of objects is a natural concept that has been poorly supported in object-oriented prog...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
The object-oriented community is paying increasing attention to techniques for object instance encap...
Abstract. Ownership type systems describe a heap topology and enforce an encapsulation discipline; t...
Ownership Domains generalize ownership types. They support programming patterns like iterators that ...
Modern object-oriented programming languages support many techniques that simplify the work of a pro...
One of the objectives of ooDBMSs is to use type-specific methods for manipulating objects, in order ...
Modern object-oriented programming languages frequently need the ability to clone, duplicate, and co...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
Object-oriented databases have been introduced primarily to ease the development of database applica...
Abstract. Object ownership is an approach to controlling aliasing in programming languages. Proposal...
Generic programming has turned out very useful in the development of reusable software. With the Jav...