Data in object-orientedprogramming is organized in a hierarchy of classes. The problem of object-oriented pattern matching is how to explore this hierarchy from the outside. This usually involves classifying objects ...
详细信息
ISBN:
(纸本)9783540735885
Data in object-orientedprogramming is organized in a hierarchy of classes. The problem of object-oriented pattern matching is how to explore this hierarchy from the outside. This usually involves classifying objects by their run-time type, accessing their members, or determining some other characteristic of a group of objects. In this paper we compare six different pattern matching techniques: object-oriented decomposition, visitors, type-tests/type-casts, typecase, case classes, and extractors. The techniques are compared on nine criteria related to conciseness, maintainability and performance. The paper introduces case classes and extractors as two new pattern-matching methods and shows that their combination works well for all of the established criteria.
The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a va...
详细信息
ISBN:
(纸本)9783642030123
The dynamic frames approach has proven to be a powerful formalism for specifying and verifying object-oriented programs. However, it requires writing and checking many frame annotations. In this paper, we propose a variant of the dynamic frames approach that eliminates the need to explicitly write and check frame annotations. Reminiscent of separation logic's frame rule, programmers write access assertions inside pre- and postconditions instead of writing frame annotations. From the precondition, one can then infer an upper bound on the set of locations writable or readable by the corresponding method. We implemented our approach in a tool, and used it to automatically verify several challenging programs, including subject-observer;iterator and linked list.
The Z notation for the formal specification of software and systems is based on set-theory and first-order predicate calculus and is widely used and understood. Recent research has demonstrated that by extending the n...
详细信息
作者:
KIM, WUniSQL
Inc. 9390 Research Blvd Austin 78759 TX United States
The past several years have been the gestation period for a new generation of database technology. There has been a flurry of activities to develop and experiment with database systems that support an object-oriented ...
详细信息
As objectoriented techniques enable the fabrication of ever more sophisticated systems, the need grows for a mechanism to ensure the consistent and 'correct' behaviour of each object at run-time. We describe ...
详细信息
The unrelenting pace of change that confronts contemporary software developers compels them to make their applications more configurable, flexible, and adaptable. A possible way to meet such requirements is to use an ...
详细信息
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. These two paradigms appear to be in conflict, however...
详细信息
ISBN:
(纸本)354027992X
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. These two paradigms appear to be in conflict, however, preventing engineers from realizing the benefits of both technologies in one system. This paper introduces a novel object model, prototypes with multiple dispatch (PMD), which seamlessly unifies these two approaches. We give formal semantics for PMD, and discuss implementation and experience with PMD in the dynamically typed programming language Slate.
Ownership is a powerful concept to structure the object store and to control aliasing and modifications of objects. This paper presents an ownership type system for a Java-like programming language with generic types....
详细信息
ISBN:
(纸本)9783540735885
Ownership is a powerful concept to structure the object store and to control aliasing and modifications of objects. This paper presents an ownership type system for a Java-like programming language with generic types. Like our earlier Universe type system, Generic Universe Types enforce the owner-as-modifier discipline. This discipline does not restrict aliasing, but requires modifications of an object to be initiated by its owner. This allows owner objects to control state changes of owned objects, for instance, to maintain invariants. Generic Universe Types require a small annotation overhead and provide strong static guarantees. They are the first type system that combines the owner-as-modifier discipline with type genericity.
This paper presents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-ba...
详细信息
ISBN:
(纸本)3540630899
This paper presents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-based dispatch techniques can be generalized and made incremental, so that relevant entries in the dispatch table are modified each time a selector or class hierarchy link is added or removed. The incremental nature makes the framework highly efficient, with low millisecond average modification time, and supports table-based dispatch even in schema-evolving languages. During table maintenance, the framework detects and records inheritance conflicts, and maintains information useful during compile-time optimizations.
暂无评论