Results 1  10
of
19
A bisimulation for dynamic sealing
 In Proceedings 31st Annual ACM Symposium on Principles of Programming Languages
, 2004
"... We define λseal, an untyped callbyvalue λcalculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic ..."
Abstract

Cited by 42 (6 self)
 Add to MetaCart
We define λseal, an untyped callbyvalue λcalculus with primitives for protecting abstract data by sealing, and develop a bisimulation proof method that is sound and complete with respect to contextual equivalence. This provides a formal basis for reasoning about data abstraction in open, dynamic settings where static techniques such as type abstraction and logical relations are not applicable.
A fully abstract may testing semantics for concurrent objects
 In Proceedings of LICS ’02. IEEE, Computer
, 2002
"... This paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semant ..."
Abstract

Cited by 39 (4 self)
 Add to MetaCart
This paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semantics is fully abstract for may testing. This is the first such result for a concurrent object language. 1.
Environmental bisimulations for higherorder languages
 In TwentySecond Annual IEEE Symposium on Logic in Computer Science
, 2007
"... Developing a theory of bisimulation in higherorder languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with “upto context ” techniques, and (2) obtaining definitions and results that scale to languages with d ..."
Abstract

Cited by 36 (11 self)
 Add to MetaCart
Developing a theory of bisimulation in higherorder languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with “upto context ” techniques, and (2) obtaining definitions and results that scale to languages with different features. To meet these challenges, we present environmental bisimulations, a form of bisimulation for higherorder languages, and its basic theory. We consider four representative calculi: pure λcalculi (callbyname and callbyvalue), callbyvalue λcalculus with higherorder store, and then HigherOrder πcalculus. In each case: we present the basic properties of environmental bisimilarity, including congruence; we show that it coincides with contextual equivalence; we develop some upto techniques, including upto context, as examples of possible enhancements of the associated bisimulation method. Unlike previous approaches (such as applicative bisimulations, logical relations, SumiiPierceKoutavasWand), our method does not require induction/indices on evaluation derivation/steps (which may complicate the proofs of congruence, transitivity, and the combination with upto techniques), or sophisticated methods such as Howe’s for proving congruence. It also scales from the pure λcalculi to the richer calculi with simple congruence proofs. 1
From Applicative to Environmental Bisimulation
 MFPS 2011
, 2011
"... We illuminate important aspects of the semantics of higherorder functions that are common in the presence of local state, exceptions, names and type abstraction via a series of examples that add to those given by Stark. Most importantly we show that any of these language features gives rise to the ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
We illuminate important aspects of the semantics of higherorder functions that are common in the presence of local state, exceptions, names and type abstraction via a series of examples that add to those given by Stark. Most importantly we show that any of these language features gives rise to the phenomenon that certain behaviour of higherorder functions can only be observed by providing them with arguments which internally call the functions again. Other examples show the need for the observer to accumulate values received from the program and generate new names. This provides evidence for the necessity of complex conditions for functions in the definition of environmental bisimulation, which deviates in each of these ways from that of applicative bisimulation.
Abstract Adding Recursion to Dpi
"... Dpi is a distributed version of the picalculus, in which processes are explicitly located, and a migration construct may be used for moving between locations. We argue that adding a recursion operator to the language increases significantly its descriptive power. But typing recursive processes requ ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Dpi is a distributed version of the picalculus, in which processes are explicitly located, and a migration construct may be used for moving between locations. We argue that adding a recursion operator to the language increases significantly its descriptive power. But typing recursive processes requires the use of potentially infinite types. We show that the capabilitybased typing system of Dpi can be extended to coinductive types so that recursive processes can be successfully supported. We also show that, as in the picalculus, recursion can be implemented via iteration. This translation improves on the standard ones by being compositional but still requires coinductive types and comes with a significant migration overhead in our distributed setting.
Contextual equivalence for higherorder πcalculus revisited
, 2004
"... The higherorder πcalculus is an extension of the πcalculus to allow communication of abstractions of processes rather than names alone. It has been studied intensively by Sangiorgi in his thesis where a characterisation of a contextual equivalence for higherorder πcalculus is provided using lab ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The higherorder πcalculus is an extension of the πcalculus to allow communication of abstractions of processes rather than names alone. It has been studied intensively by Sangiorgi in his thesis where a characterisation of a contextual equivalence for higherorder πcalculus is provided using labelled transition systems and normal bisimulations. Unfortunately the proof technique used there requires a restriction of the language to only allow finite types. We revisit this calculus and offer an alternative presentation of the labelled transition characterisation of contextual equivalence using labelled transitions and bisimulations for higherorder πcalculus with recursive types also.
A Compositional Theory for STM Haskell
"... We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent nondeterministic tree rewriting algorithm implementing the operational semantics of the ambient calculus. The core of our theor ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent nondeterministic tree rewriting algorithm implementing the operational semantics of the ambient calculus. The core of our theory is a uniform model, in the spirit of process calculi, of the runtime state of multithreaded STM Haskell programs. The model was designed to simplify both local and compositional reasoning about STM programs. A single reduction relation captures both pure functional computations and also effectful computations in the STM and I/O monads. We state and prove liveness, soundness, completeness, safety, and termination properties relating source processes and their Haskell implementation. Our proof exploits various ideas from concurrency theory, such as the bisimulation technique, but in the setting of a widely used programming language rather than an abstract process calculus. Additionally, we develop an equational theory for reasoning about STM Haskell programs, and establish for the first time equations conjectured by the designers of STM Haskell. We conclude that using a pure functional language extended with STM facilitates reasoning about concurrent implementation code.
found at the ENTCS Macro Home Page. Observational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures
, 2007
"... Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be ..."
Abstract
 Add to MetaCart
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be
Using Bisimulation Proof Techniques for the Analysis of Distributed Abstract Machines
, 2008
"... We illustrate the use of recently developed proof techniques for weak bisimulation by analysing a generic framework for the definition of distributed abstract machines based on a messagepassing implementation. We first define this framework, and then focus on the algorithm which is used to route me ..."
Abstract
 Add to MetaCart
We illustrate the use of recently developed proof techniques for weak bisimulation by analysing a generic framework for the definition of distributed abstract machines based on a messagepassing implementation. We first define this framework, and then focus on the algorithm which is used to route messages asynchronously to their destination. A first version of this algorithm can be analysed using the standard bisimulation up to expansion proof technique. We show that in a second, optimised version, rather complex behaviours appear, for which more sophisticated techniques, relying on termination arguments, are necessary to establish behavioural equivalence.
Bisimulation Congruences for HigherOrder Mobile Embedded Resources
"... We present a calculus of HigherOrder Mobile Embedded Resources (Homer), extending Thomsen’s Plain CHOCS, a higherorder calculus with local names, to allow for strongly mobile computing resources in nested locations. We provide labelled transition semantics and strong and weak late labelled transit ..."
Abstract
 Add to MetaCart
We present a calculus of HigherOrder Mobile Embedded Resources (Homer), extending Thomsen’s Plain CHOCS, a higherorder calculus with local names, to allow for strongly mobile computing resources in nested locations. We provide labelled transition semantics and strong and weak late labelled transition bisimulation congruences, which is proven to be sound with respect to respectively strong and weak barbed bisimulation congruence. The heritage to Plain CHOCS gives a simple reduction and labelled transition semantics, and applicability of Howe’s method for proving contextual bisimulation to be a congruence. The main technical contribution is the successful application of Howe’s method to a calculus with nested, strongly mobile resources with local names and static scoping. We demonstrate the expressiveness of the calculus by giving several examples, in particular we provide a novel encoding of πcalculus namepassing.