Results 1  10
of
52
Regular Types for Active Objects
, 1993
"... Previous work on typetheoretic foundations for objectoriented programming languages has mostly focused on applying or extending functional type theory to functional "objects." This approach, while benefiting from a vast body of existing literature, has the disadvantage of dealing with st ..."
Abstract

Cited by 198 (5 self)
 Add to MetaCart
(Show Context)
Previous work on typetheoretic foundations for objectoriented programming languages has mostly focused on applying or extending functional type theory to functional "objects." This approach, while benefiting from a vast body of existing literature, has the disadvantage of dealing with state change either in a roundabout way or not at all, and completely sidestepping issues of concurrency. In particular, dynamic issues of nonuniform service availability and conformance to protocols are not addressed by functional types. We propose a new type framework that characterizes objects as regular (finite state) processes that provide guarantees of service along public channels. We also propose a new notion of subtyping for active objects, based on Brinksma's notion of extension, that extends Wegner and Zdonik's "principle of substitutability" to nonuniform service availability. Finally, we formalize what it means to "satisfy a client's expectations," and we show how regular types canbe used...
The Linear TimeBranching Time Spectrum I  The Semantics of Concrete, Sequential Processes
 Handbook of Process Algebra, chapter 1
"... this paper various semantics in the linear time  branching time spectrum are presented in a uniform, modelindependent way. Restricted to the class of finitely branching, concrete, sequential processes, only fifteen of them turn out to be different, and most semantics found in the literature that ..."
Abstract

Cited by 102 (4 self)
 Add to MetaCart
this paper various semantics in the linear time  branching time spectrum are presented in a uniform, modelindependent way. Restricted to the class of finitely branching, concrete, sequential processes, only fifteen of them turn out to be different, and most semantics found in the literature that can be defined uniformly in terms of action relations coincide with one of these fifteen. Several testing scenarios, motivating these semantics, are presented, phrased in terms of `button pushing experiments' on generative and reactive machines. Finally twelve of these semantics are applied to a simple language for finite, concrete, sequential, nondeterministic processes, and for each of them a complete axiomatization is provided.
An Implementation of an Efficient Algorithm for Bisimulation Equivalence
 Science of Computer Programming
, 1989
"... We present an efficient algorithm for bisimulation equivalence. Generally, bisimulation equivalence can be tested in O(mn) for a labeled transition system with m transitions and n states. In order to come up with a more efficient algorithm, we establish a relationship between bisimulation equivalenc ..."
Abstract

Cited by 95 (7 self)
 Add to MetaCart
(Show Context)
We present an efficient algorithm for bisimulation equivalence. Generally, bisimulation equivalence can be tested in O(mn) for a labeled transition system with m transitions and n states. In order to come up with a more efficient algorithm, we establish a relationship between bisimulation equivalence and the relational coarsest partition problem, solved by Paige & Tarjan in O(m log n) time. Given an initial partition and a binary relation, the problem is to find the coarsest partition compatible with them. Computing bisimulation equivalence can be viewed both as an instance and as a generalization of this problem: an instance, because only the universal partition is considered as an initial partition and a generalization since we want to find a partition compatible with a family of binary relations instead of one single binary relation. We describe how we have adapted the Paige & Tarjan algorithm of complexity O(m log n) to minimize labeled transition systems modulo bisimulation equivalence. This algorithm has been implemented in C and is used in Aldebaran, a tool for the verification of concurrent systems.
Testing Equivalence as a Bisimulation Equivalence
 Formal Aspects of Computing
, 1993
"... In this paper we show how the testing equivalences and preorders on transition systems may be interpreted as instances of generalized bisimulation equivalences and prebisimulation preorders. The characterization relies on defining transformations on the transition systems in such a way that the te ..."
Abstract

Cited by 66 (10 self)
 Add to MetaCart
In this paper we show how the testing equivalences and preorders on transition systems may be interpreted as instances of generalized bisimulation equivalences and prebisimulation preorders. The characterization relies on defining transformations on the transition systems in such a way that the testing relations on the original systems correspond to (pre)bisimulation relations on the altered systems. Using these results, it is possible to use algorithms for determining the (pre)bisimulation relations in the case of finitestate transition systems to compute the testing relations.
Fair testing
 Concur ’95: Concurrency Theory, volume 962 of Lecture Notes in Computer Science
, 1995
"... In this paper we present a solution to the longstanding problem of characterising the coarsest livenesspreserving precongruence with respect to a full (TCSPinspired) process algebra. In fact, we present two distinct characterisations, which give rise to the same relation: an operational one base ..."
Abstract

Cited by 64 (0 self)
 Add to MetaCart
(Show Context)
In this paper we present a solution to the longstanding problem of characterising the coarsest livenesspreserving precongruence with respect to a full (TCSPinspired) process algebra. In fact, we present two distinct characterisations, which give rise to the same relation: an operational one based on a De NicolaHennessylike testing modality which we call shouldtesting, and a denotational one based on a refined notion of failures. One of the distinguishing characteristics of the shouldtesting precongruence is that it abstracts from divergences in the same way as Milner’s observation congruence, and as a consequence is strictly coarser than observation congruence. In other words, shouldtesting has a builtin fairness assumption. This is in itself a property long soughtafter; it is in notable contrast to the wellknown musttesting of De Nicola and Hennessy (denotationally characterised by a combination of failures and divergences), which treats divergence as catrastrophic and hence is incompatible with observation congruence. Due to these characteristics, shouldtesting supports modular reasoning and allows to use the proof techniques of observation congruence, but also supports additional laws and techniques.
A theory of contracts for web services
 In POPL ’08, 35th ACM Symposium on Principles of Programming Languages
, 2008
"... Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interacti ..."
Abstract

Cited by 56 (4 self)
 Add to MetaCart
(Show Context)
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services. The technical device that underlies the theory is the filter, which is an explicit coercion preventing some possible behaviors of services and, in doing so, make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy’s classical axiomatization of the must testing preorder. The relation is decidable and the decision algorithm is obtained via a cutelimination process that proves the coherence of subcontracting as a logical system. Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We outline the practical aspects of our theory by studying two different concrete syntaxes for contracts and applying each of them to Web services languages. We also explore implementation issues of filters and discuss the perspectives of future research
A formal account of contracts for web services
 In WSFM, 3rd Int. Workshop on Web Services and Formal Methods, number 4184 in LNCS
, 2006
"... Abstract. We define a formal contract language along with subcontract and compliance relations. We then extrapolate contracts out of processes, that are a recursionfree fragment of ccs. We finally demonstrate that a client completes its interactions with a service provided the corresponding contrac ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We define a formal contract language along with subcontract and compliance relations. We then extrapolate contracts out of processes, that are a recursionfree fragment of ccs. We finally demonstrate that a client completes its interactions with a service provided the corresponding contracts comply. Our contract language may be used as a foundation of Web services technologies, such as wsdl and wscl. 1
Acceptance Trees for Probabilistic Processes
 In CONCUR'95, LNCS 962
, 1995
"... . In this paper we study the extension of classical testing theory to a probabilistic process algebra. We consider a generative interpretation of probabilities for a language with two choice operators (one internal and the other external), which are annotated with a probability p 2 (0; 1). We defin ..."
Abstract

Cited by 19 (8 self)
 Add to MetaCart
. In this paper we study the extension of classical testing theory to a probabilistic process algebra. We consider a generative interpretation of probabilities for a language with two choice operators (one internal and the other external), which are annotated with a probability p 2 (0; 1). We define a testing semantics for our language, and we write P passp T to denote that the process P passes the test T with a probability p. We also give a set of essential tests which has the same strength as the full family of tests. Next we give an alternative characterization of the testing semantics, based on the idea of acceptance sets, and we prove that the new equivalence is equal to the testing equivalence. Finally, we present a fully abstract denotational semantics based on acceptance trees. 1 Introduction During the last years there has been a great activity devoted to the study of time and probabilistic extensions of concurrent processes. These extensions are very adequate for the spe...
An Algebraic Theory of Process Efficiency
 In LICS ’96
, 1996
"... This paper presents a testingbased semantic theory for reasoning about the efficiency of concurrent systems as measured in terms of the amount of their internal activity. The semantic preorders are given an algebraic characterization, and their optimality is established by means of a full abstractn ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
(Show Context)
This paper presents a testingbased semantic theory for reasoning about the efficiency of concurrent systems as measured in terms of the amount of their internal activity. The semantic preorders are given an algebraic characterization, and their optimality is established by means of a full abstractness result. They are also shown to subsume existing bisimulationbased efficiency preorders. An example is provided to illustrate the utility of this approach. 1. Introduction Process algebras [12, 10, 3] have attracted substantial attention over the past decade and a half as frameworks for system verification. A hallmark of these theories is the development of behavioral equivalences and preorders that relate systems on the basis of their extensional behavior. In these frameworks, specifications are usually given as "highlevel " systems; to prove a system meets such a specification, one shows that they are related appropriately by such a behavioral relation. When the behavioral relation is...