• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

A theory of bisimulation for a fragment of concurrent ML with local names (2003)

by Alan Jeffrey, Julian Rathke
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 13
Next 10 →

A fully abstract may testing semantics for concurrent objects

by Alan Jeffrey - 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 35 (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.

A bisimulation for dynamic sealing

by Eijiro Sumii - In Proceedings 31st Annual ACM Symposium on Principles of Programming Languages , 2004
"... We define λseal, an untyped call-by-value λ-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 29 (5 self) - Add to MetaCart
We define λseal, an untyped call-by-value λ-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.

Environmental bisimulations for higher-order languages

by Davide Sangiorgi - In Twenty-Second Annual IEEE Symposium on Logic in Computer Science , 2007
"... Developing a theory of bisimulation in higher-order languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with “up-to context ” techniques, and (2) obtaining definitions and results that scale to languages with d ..."
Abstract - Cited by 26 (9 self) - Add to MetaCart
Developing a theory of bisimulation in higher-order languages can be hard. Particularly challenging can be: (1) the proof of congruence, as well as enhancements of the bisimulation proof method with “up-to 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 higher-order languages, and its basic theory. We consider four representative calculi: pure λ-calculi (call-by-name and call-byvalue), call-by-value λ-calculus with higher-order store, and then Higher-Order π-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 up-to techniques, including up-to context, as examples of possible enhancements of the associated bisimulation method. Unlike previous approaches (such as applicative bisimulations, logical relations, Sumii-Pierce-Koutavas-Wand), our method does not require induction/indices on evaluation derivation/steps (which may complicate the proofs of congruence, transitivity, and the combination with up-to 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

Contextual equivalence for higher-order π-calculus revisited

by Alan Jeffrey, Julian Rathke - Proceedings of the 19th Conference on Mathematical Foundations of Programming Semantics (MFPS’04). Volume 83 of Electronic Notes in Theoretical Computer Science., Elsevier (2004) 26. Merro, M., Nardelli, F.Z.: Bisimulation , 2003
"... Vol. 1 (1:4) 2005, pp. 1–22 ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
Vol. 1 (1:4) 2005, pp. 1–22

Abstract Adding Recursion to Dpi

by Samuel Hym, Matthew Hennessy
"... Dpi is a distributed version of the pi-calculus, 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 1 (0 self) - Add to MetaCart
Dpi is a distributed version of the pi-calculus, 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 capability-based typing system of Dpi can be extended to co-inductive types so that recursive processes can be successfully supported. We also show that, as in the pi-calculus, recursion can be implemented via iteration. This translation improves on the standard ones by being compositional but still requires co-inductive types and comes with a significant migration overhead in our distributed setting.

On Correctness of Buffer Implementations in a Concurrent Lambda Calculus with Futures

by Jan Schwinghammer, David Sabel, Joachim Niehren, Manfred Schmidt-schauß , 2009
"... Abstract. Motivated by the question of correctness of a specific implementation of concurrent buffers in the lambda calculus with futures underlying Alice ML, we prove that concurrent buffers and handled futures can correctly encode each other. Correctness means that our encodings preserve and refle ..."
Abstract - Add to MetaCart
Abstract. Motivated by the question of correctness of a specific implementation of concurrent buffers in the lambda calculus with futures underlying Alice ML, we prove that concurrent buffers and handled futures can correctly encode each other. Correctness means that our encodings preserve and reflect the observations of may- and must-convergence. This also shows correctness wrt. program semantics, since the encodings are adequate translations wrt. contextual semantics. While these translations encode blocking into queuing and waiting, we also provide an adequate encoding of buffers in a calculus without handles, which is more low-level and uses busy-waiting instead of blocking. Furthermore we demonstrate that our correctness concept applies to the whole compilation process from high-level to low-level concurrent languages, by translating the calculus with buffers, handled futures and data constructors into a small core language without those constructs. 1

Program Equivalence for a Concurrent Lambda Calculus with Futures

by Joachim Niehren, David Sabel, Manfred Schmidt-schauß , 2006
"... Abstract. Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with futures λ(fut), which formalizes the operational semantics of the programming language Alice ML. We show that n ..."
Abstract - Add to MetaCart
Abstract. Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with futures λ(fut), which formalizes the operational semantics of the programming language Alice ML. We show that natural program optimizations, as well as partial evaluation with respect to deterministic rules, are correct for λ(fut). This relies on a number of fundamental properties that we establish for our observational semantics. 1

found at the ENTCS Macro Home Page. Observational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures

by unknown authors , 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

A Compositional Theory for STM Haskell

by Johannes Borgström, Karthikeyan Bhargavan, Andrew D. Gordon
"... 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 non-deterministic tree rewriting algorithm implementing the operational semantics of the ambient calculus. The core of our theor ..."
Abstract - 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 non-deterministic 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 run-time state of multi-threaded 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.

Bisimulation Congruences for Higher-Order Mobile Embedded Resources

by Thomas Hildebrandt, Jens Chr Godskesen, Mikkel Bundgaard
"... We present a calculus of Higher-Order Mobile Embedded Resources (Homer), extending Thomsen’s Plain CHOCS, a higher-order 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 Higher-Order Mobile Embedded Resources (Homer), extending Thomsen’s Plain CHOCS, a higher-order 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 name-passing.
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University