Results 1  10
of
14
Pict: A programming language based on the picalculus
 PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER
, 1997
"... The πcalculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of highlevel constructs including data structures, higherorder functional programming, concurrent control structures, and objects. Moreover ..."
Abstract

Cited by 251 (8 self)
 Add to MetaCart
The πcalculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of highlevel constructs including data structures, higherorder functional programming, concurrent control structures, and objects. Moreover, familiar type systems for the calculus have direct counterparts in the πcalculus, yielding strong, static typing for a highlevel language using the πcalculus as its core. This paper describes Pict, a stronglytyped concurrent programming language constructed in terms of an explicitlytypedcalculus core language.
Divergence and Fair Testing
, 1995
"... This paper develops a new testingbased semantic theory of processes that aims to circumvent difficulties that traditional testing/failures theories have in dealing with divergent behavior. Our framework incorporates a notion of fairness into the determination of when a process passes a test; we co ..."
Abstract

Cited by 41 (5 self)
 Add to MetaCart
This paper develops a new testingbased semantic theory of processes that aims to circumvent difficulties that traditional testing/failures theories have in dealing with divergent behavior. Our framework incorporates a notion of fairness into the determination of when a process passes a test; we contrast this definition with existing approaches and give characterizations of the induced semantic preorders. An example highlights the utility of our results. 1 Introduction Research into algebraic models of concurrency has focused on the use of semantic equivalences and preorders for establishing that systems meet their specifications. In such an approach to verification one formulates a specification as a system describing the required highlevel behavior; a design/implementation then meets such a specification if its behavior is indistinguishable from the specification's (if one is using an equivalence) or if its behavior is in some sense better than the specification's (if one is using...
A Type System for LockFree Processes
, 2002
"... Interpretation. An alternative way to analyze the behavior of a concurrent program would be to use abstract interpretation [4, 5]. Actually, from a very general viewpoint, our typebased analysis of locks can be seen as a kind of abstract interpretation. We can read a type judgment # P as "# is a ..."
Abstract

Cited by 36 (7 self)
 Add to MetaCart
Interpretation. An alternative way to analyze the behavior of a concurrent program would be to use abstract interpretation [4, 5]. Actually, from a very general viewpoint, our typebased analysis of locks can be seen as a kind of abstract interpretation. We can read a type judgment # P as "# is an abstraction of a concrete process P ." (The relation "#" corresponds to a pair of abstraction /concretization functions.) Indeed, we can regard a type environment as an abstract process: we have defined reductions of type environments in Section 3.7.
Traces, pomsets, fairness and full abstraction for communicating processes
 Proc. CONCUR 2002, Brno. Springer LNCS
, 2002
"... Abstract. We provide a denotational trace semantics for processes with synchronous communication and a form of weakly fair parallelism. The semantics is fully abstract: processes have the same trace sets if and only if their communication behaviors are identical in all contexts. The model can easily ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
Abstract. We provide a denotational trace semantics for processes with synchronous communication and a form of weakly fair parallelism. The semantics is fully abstract: processes have the same trace sets if and only if their communication behaviors are identical in all contexts. The model can easily be adapted for asynchronously communicating processes, or for sharedmemory parallel programs. We also provide a partialorder semantics, using pomsets adapted for synchronization and our form of fairness. The pomset semantics can also be adjusted to model alternative paradigms. The traces of a process can be recovered from the pomset semantics by taking all fair interleavings consistent with the partial order. 1
Specifying and Verifying Eventbased Fairness Enhanced Systems
"... Abstract. Liveness/Fairness plays an important role in software specification, verification and development. Existing eventbased compositional models are safetycentric. In this paper, we describe a framework for systematically specifying and verifying eventbased systems under fairness assumptions ..."
Abstract

Cited by 6 (6 self)
 Add to MetaCart
Abstract. Liveness/Fairness plays an important role in software specification, verification and development. Existing eventbased compositional models are safetycentric. In this paper, we describe a framework for systematically specifying and verifying eventbased systems under fairness assumptions. We introduce different event annotations to associate fairness constraints with individual events. Fairness annotated events can be used to embed liveness/fairness assumptions in eventbased models flexibly and naturally. We show that stateoftheart verification algorithms can be extended to verify models under fairness assumptions, with little computational overhead. We further improve the algorithm by other model checking techniques like partial order reduction. A toolset named PAT has been developed to verify fairness enhanced eventbased systems. Experiments show that PAT handles large systems with multiple fairness assumptions. 1
Liveness and fairness in processalgebraic verification
, 2003
"... Although liveness and fairness have been used for a long time in classical model checking, with processalgebraic methods they have seen far less use. One problem is combining fairness with the compositionality of process algebra. In this article we analyse this problem, and then present an approac ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Although liveness and fairness have been used for a long time in classical model checking, with processalgebraic methods they have seen far less use. One problem is combining fairness with the compositionality of process algebra. In this article we analyse this problem, and then present an approach for using a class of fairness constraints. The approach fulfills all the requirements of compositionality and is compatible with an existing semantics. It is based on the standard LTS model and does not require new fairnessrelated constructs or rules for the process algebra. Therefore, it avoids potential conflicts between the fairness requirements and the underlying transition system. Although adding fairness can create an infinite subsystem, a larger system in which the subsystem is placed can still be finite. We present an algorithm for constructing a finite LTS which is equivalent to the larger system in every case that an exact finite representation exists, and which otherwise is a conservative estimate of it. However, checking whether an exact finite representation exists is costlier than building the representation, namely, it is PSPACEcomplete in the size of an intermediate parameter system.
Natural Semantics for NonDeterminism
, 1993
"... We present a natural semantics for the untyped lazy calculus plus McCarthy's amb, a nondeterministic choice operator. The natural semantics includes rules for both convergent behaviour (dened inductively) and divergent behaviour (dened coinductively). This semantics is equivalent to a small ste ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present a natural semantics for the untyped lazy calculus plus McCarthy's amb, a nondeterministic choice operator. The natural semantics includes rules for both convergent behaviour (dened inductively) and divergent behaviour (dened coinductively). This semantics is equivalent to a small step reduction semantics that corresponds closely to our operational intuitions about McCarthy's amb. We present equivalences for convergent and divergent behaviour based on the natural semantics and prove a Context Lemma for the convergence equivalence. We then give a theory l 8 , based on the equivalences for convergent and divergent behaviour. Since it is able to distinguish between programs that dier only in their divergent behaviour, the theory is more discriminating than equational theories based on current domaintheoretic models. It is therefore more suitable for reasoning about functional programs containing McCarthy's amb. Contents 1 Introduction 2 2 Related Work 3 3 ...
Fair Testing Through Probabilistic Testing
, 1999
"... In this paper we define a probabilistic testing semantics which can be used to alternatively characterize fair testing. The key idea is to define a probabilistic semantics in such a way that two nonprobabilistic processes are fair equivalent iff any probabilistic version of both processes are equiv ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
In this paper we define a probabilistic testing semantics which can be used to alternatively characterize fair testing. The key idea is to define a probabilistic semantics in such a way that two nonprobabilistic processes are fair equivalent iff any probabilistic version of both processes are equivalent in our probabilistic testing semantics. In order to get this result we define a simple probabilistic must semantics by saying that a probabilistic process must pass a test iff the probability with which the process passes the test equals 1. Finally, we present an algorithm for deciding whether the probability with which a finitestate process passes a finitestate test equals 1. Alternatively, this algorithm can be used for computing whether a finitestate process fairly passes a finitestate test. Keywords: Testing semantics, fair testing, probabilistic processes. 1. INTRODUCTION Formal models of concurrency have been proved to be very useful to properly specify concurrent and distr...
Fairness for Chorded Languages
"... Abstract. Joins or chords is a concurrency construct that seems to fit well with the object oriented paradigm. Chorded languages are presented with implicit assumptions regarding the fair treatment of processes by the scheduler. We define weak and strong fairness for the Small Chorded ObjectOriente ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract. Joins or chords is a concurrency construct that seems to fit well with the object oriented paradigm. Chorded languages are presented with implicit assumptions regarding the fair treatment of processes by the scheduler. We define weak and strong fairness for the Small Chorded ObjectOriented Language ( l SCHOOL) which allows the classification of executions as fair. We investigate the liveness behaviour of programs and establish worstcase behaviours in terms of scheduling delays. We discover that weak fairness, although giving the scheduler implementer greater freedom in selecting the next process which is to be executed, is harder to implement than strong fairness; strong fairness benefits from a straightforward implementation, however, imposes many more constraints and limits the selection function of a scheduler. 1
Abstract Fairness in LOTOS
"... Fairness is an important concept related to specification languages which are based on concurrent and nondeterministic computation models; it is related to liveness. In this paper we formally introduce fairness to the LOTOS specification language by employing the standard LOTOS semantics together w ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Fairness is an important concept related to specification languages which are based on concurrent and nondeterministic computation models; it is related to liveness. In this paper we formally introduce fairness to the LOTOS specification language by employing the standard LOTOS semantics together with a formalism which states restrictions on fair infinite execution sequences. We extend three fairness concepts of CSP, namely process, guard and channel fairness, to LOTOS. Certain features of LOTOS, such as the dynamic creation of processes, the dynamic relation between gates and processes, and related membership in multiway rendezvous, not present in CSP, make the definition of fairness difficult. We introduce the concept of "transition groups", which leads to a general notion of fairness, and use LOTOS action indexes to define the concepts of process, alternative and channel for LOTOS. We explain how a fair execution model for LOTOS can be obtained, and demonstrate the use of these concepts by showing how fairness assumptions can be used to prove liveness properties for a given LOTOS specification. 1.