Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliability. In the procedural world, pre- and post-conditions have a straightforward interpretation. If a procedure's ...
详细信息
ISBN:
(纸本)1581133359
Checking pre- and post-conditions of procedures and methods at runtime helps improve software reliability. In the procedural world, pre- and post-conditions have a straightforward interpretation. If a procedure's pre-condition doesn't hold, the caller failed to establish the proper context. If a post-condition doesn't hold, the caller failed to establish the proper context. If a post-condition doesn't hold, the procedure failed to compute the expected result.
In the object-oriented world, checking pre- and post-conditions for methods, often called contracts in this context, poses complex problems. Because methods may be overridden, it is not sufficient to check only pre- and post-conditions. In addition, the contract hierarchy must be checked to ensure that the contracts on overridden methods are properly related to the contracts on overriding methods. Otherwise, a class hierarchy may violate the substitution principle, that is, it may no longer be true that an instance of a class is substitutable for objects of the super-class.
In this paper, we study the problem of contract enforcement in an object-oriented world from a foundational perspective. More specifically, we study contracts as refinements of types. Pushing the analogy further, we state and prove a contract soundness theorem that captures the essential properties of contract enforcement. We use the theorem to illustrate how most existing tools suffer from a fundamental flaw and how they can be improved.
With continuous acceptance of World Wide Web (WWW) as a de facto standard for human-computer interaction and human-human communication, it is desirable to develop net-centric, multimedia and collaborative applications...
详细信息
ISBN:
(纸本)0769509339
With continuous acceptance of World Wide Web (WWW) as a de facto standard for human-computer interaction and human-human communication, it is desirable to develop net-centric, multimedia and collaborative applications. We present a new scripting language, JACIE, designed to support rapid prototyping and implementation of such applications. The necessity to support the management of multimedia interaction and communication in collaborative applications is highlighted. JACIE facilitates such support through the concepts of channels and a collection of interaction protocols. JACIE also features a template-based programming style, a single program for both client and server, and platform-independence by using Java as the target language. All these features characterise a desirable multimedia software engineering tool.
An interpretation of Abadi and Cardelli's first-order function object calculus into a typed pi-calculus is presented, The interpretation validates the subtyping relation and the typing judgements of the object cal...
详细信息
An interpretation of Abadi and Cardelli's first-order function object calculus into a typed pi-calculus is presented, The interpretation validates the subtyping relation and the typing judgements of the object calculus and is computationally adequate. This is the first interpretation of a typed object-oriented language into a process calculus. The study intends to offer a contribution to understanding on the one hand, the relationship between pi-calculus types and conventional types of programminglanguages and on the other hand, the usefulness of the pi-calculus as a metalanguage for the semantics of typed object-orientedlanguages. The type language for the pi-calculus has Pierce and Sangiorgi's I/O annotations, to separate the capabilities of reading and writing on a channel and variant types. Technical contributions of the paper are the presentation of variant types for the pi-calculus and their typing and subtyping properties, and an analysis of behavioural equivalences in a pi-calculus with variant types. (C) 1998 Academic Press.
Traditional databases can be restructured to take advantage of OO methods. Java's advent has enhanced OO's benefits by providing a way to run applications across varying platforms. To take advantage of these t...
详细信息
Traditional databases can be restructured to take advantage of OO methods. Java's advent has enhanced OO's benefits by providing a way to run applications across varying platforms. To take advantage of these trends, the authors first converted a relational database to the OO paradigm, then migrated it to the Web. Here they describe the procedures and technologies they used to accomplish the migration.
One of the most promising new approaches to interpreting complex systems data is to generate self-organizing simulations. We have previously applied Markov random field methods to create virtual worlds for the prototy...
详细信息
One of the most promising new approaches to interpreting complex systems data is to generate self-organizing simulations. We have previously applied Markov random field methods to create virtual worlds for the prototyping of wetlab experimentation. We have termed the virtual worlds \"in silico environments\" to express a synergism between computer simulation and wetlab experimentation. We show that in silico environments allow the planning of clinical trial procedures. A strong aspect of the method is the use of a dedicated objectoriented language called Slang (simulation language).
Two semantics for a parallel object-orientedprogramming language are presented. One is a two-level transitional semantics in which the global behaviour of a system is derived directly from the possible actions of its...
详细信息
Two semantics for a parallel object-orientedprogramming language are presented. One is a two-level transitional semantics in which the global behaviour of a system is derived directly from the possible actions of its constituent objects. The other is by translation into the pi-calculus. A close correspondence between the semantics is established. (C) 1995 Academic Press, Inc.
The present paper deals with monotonic and dual monotonic language learning from positive as well as from positive and negative examples. The three notions of monotonicity reflect different formalizations of the requi...
详细信息
The present paper deals with monotonic and dual monotonic language learning from positive as well as from positive and negative examples. The three notions of monotonicity reflect different formalizations of the requirement that the learner has to produce better and better generalizations when fed more and more data on the concept to be learned. The three versions of dual monotonicity describe the concept that the inference device has to produce specializations that fit better and better to the target language. We characterize strong-monotonic, monotonic, weak-monotonic, dual strong-monotonic, dual monotonic, and monotonic & dual monotonic, as well as finite language learning from positive data in terms of recursively generable finite sets. These characterizations provide a unifying framework for learning from positive data under the various monotonicity constraints. Moreover, they yield additional insight into the problem of what a natural learning algorithm should look like. (C) 1995 Academic Press, Inc.
The Guide language is an object-oriented language dedicated for programming distributed applications on top of the Comandos platform. This language faithfully reflects all the capabilities of the Comandos model. It co...
详细信息
The Guide language is an object-oriented language dedicated for programming distributed applications on top of the Comandos platform. This language faithfully reflects all the capabilities of the Comandos model. It combines the facilities of a strongly typed object model with a powerful computational model. Key features of the language are: separation between types and classes, conformant subtyping, distribution transparency, concurrent activities, synchronization mechanism for shared objects, and exception handling. This paper presents the design choices for the Guide language and discusses programming experience gained from the use of the language for the construction of distributed applications.
This paper, concentrating on deductions among conditional expressions, extends some previous ideas of the author as an alternative to the use of conditional event algebra. The approach taken here is through metalangua...
详细信息
This paper, concentrating on deductions among conditional expressions, extends some previous ideas of the author as an alternative to the use of conditional event algebra. The approach taken here is through metalanguage-based ''high probability relations''. Higher order conditionals are also treated in the same metalevel format, in contrast to the object language format of conditional event algebra. Other comparisons with conditional event algebra are also discussed, and a potentially promising technique is presented for connecting metalanguage probability relations with object language relations.
The objective of the work described here is to provide a software tool to assist real-time system specifiers and designers to predict, at an early stage of the development process, the timing behavior of the system be...
详细信息
The objective of the work described here is to provide a software tool to assist real-time system specifiers and designers to predict, at an early stage of the development process, the timing behavior of the system being developed. The timing behavior of the system is dependent on the scheduler which is the central component of any real-time system. Our tool (Simulation of Real-Time systems (SRT)) is used to model the timing aspects of a real-time system and to simulate the system with a particular scheduling policy so as to predict its behavior. This paper will present an overview of the capabilities of the system which is implemented using an object-orientedprogramming language (Smalltalk-80).
暂无评论