Learn More
Design by Contract is a valuable design method for trusted software components. Eiffel shows how to provide appropriate language support for it. However, no such concepts currently exist in Java. Full integration of them into Java may help to improve and guarantee the quality of Java classes. We briefly compare several approaches to extend Java in this way(More)
Static typing and subtyping are useful for the support of incremental reenement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modiications. We propose a type model based on a process calculus with trace semantics and demonstrate(More)
We present an execution model for distributed transactions that can be employed for multidatabase systems. We use the Flex Transaction model that has been proposed as a highly general and exible tool for the speciication of distributed transactions and extend it by allowing nested and possibly recursive transaction speci-cations. We show how a given(More)
Vienna Parallel Logic (V P L) is a persistent language and programming system that supports the concurrent execution of communicating processes and the computation of several alternative solutions by means of programmed backtracking. It uniies the worlds of sequential logic programming languages (Prolog) and concurrent logic programming languages (i.e.,(More)
Statically checked process types ensure that a server understands all messages sent by (concurrent) clients, although the acceptability of messages may change dynamically. But, as proposed so far, process types do not ensure that servers return appropriate answers. In this paper an extension is proposed: Servers must send promised messages (to return(More)