Results 1 -
8 of
8
Computations, Residuals, and the Power of Indeterminacy
- In Proc. of the 15th ICALP
, 1988
"... We investigate the power of Kahn-style dataflow networks, with processes that may exhibit indeterminate behavior. Our main result is a theorem about networks of "monotone" processes, which shows: (1) that the input/output relation of such a network is a total and monotone relation; and (2) every rel ..."
Abstract
-
Cited by 20 (10 self)
- Add to MetaCart
We investigate the power of Kahn-style dataflow networks, with processes that may exhibit indeterminate behavior. Our main result is a theorem about networks of "monotone" processes, which shows: (1) that the input/output relation of such a network is a total and monotone relation; and (2) every relation that is total, monotone, and continuous in a certain sense, is the input/output relation of such a network. Now, the class of monotone networks includes networks that compute arbitrary continuous input/output functions, an "angelic merge" network, and an "infinity-fair merge" network that exhibits countably indeterminate branching. Since the "fair merge" relation is neither monotone nor continuous, a corollary of our main result is the impossibility of implementing fair merge in terms of continuous functions, angelic merge, and infinity-fair merge. Our results are established by applying the powerful technique of "residuals" to the computations of a network. Residuals, which have previ...
Erratic Fudgets: A Semantic Theory for an Embedded Coordination Language
- SCIENCE OF COMPUTER PROGRAMMING
, 2003
"... The powerful abstraction mechanisms of functional programming languages provide the means to develop domain-specific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higher-order reusable programs) for an application area, and by constr ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
The powerful abstraction mechanisms of functional programming languages provide the means to develop domain-specific programming languages within the language itself. Typically, this is realised by designing a set of combinators (higher-order reusable programs) for an application area, and by constructing individual applications by combining and coordinating individual combinators. This paper is concerned with a successful example of such an embedded programming language, namely Fudgets, a library of combinators for building graphical user interfaces in the lazy functional language Haskell. The Fudget library has been used to build a number of substantial applications, including a web browser and a proof editor interface to a proof checker for constructive type theory. This paper develops a semantic theory for the non-deterministic stream processors that are at the heart of the Fudget concept. The interaction of two features of stream processors makes the development of such a semantic theory problematic: (i) the sharing of computation provided by the lazy evaluation mechanism of the underlying host language, and (ii) the addition of non-deterministic choice needed to handle the natural concurrency that reactive applications entail We demonstrate that this combination of features in a higher-order functional language can be tamed to provide a tractable semantic theory and induction principles suitable for reasoning about contextual equivalence of Fudgets.
The Expressive Power of Indeterminate Primitives in Asynchronous Computation
- Proceedings of the Fifteenth Conference on Foundations of Software Technology and Theoretical Computer Science, Lecture Notes In Computer Science
, 1995
"... It has long been realized that the exigencies of systems programming require primitives that behave indeterminately. The best-known dataflow primitive is the so called fair merge which abstracts aspects of fair resource allocation. It has been known for about two deacdes that fair primitives lead t ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
It has long been realized that the exigencies of systems programming require primitives that behave indeterminately. The best-known dataflow primitive is the so called fair merge which abstracts aspects of fair resource allocation. It has been known for about two deacdes that fair primitives lead to unbounded indeterminacy. Around seven years ago E. W. Stark, Vasant Shanbhogue and I discovered that various variants of fair merge primitives, all manifesting unbounded indeterminacy, were provably different. These differences are based on simple monotonicity properties. In the present paper I review these results and discuss some related phenomena involving a fair stack. I then describe results about fair splitting. These results are based on topological properties rather than simple order-theoretic properties. This gives some basic insight into what can and cannot be described by oracles and the relative power of various oracles. Finally I describe a result, implicitly due to Jim Russel...
A Denotational Framework for Fair Communicating Processes
, 1997
"... views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of ONR or the U.S. Government. Keywords: Denotational semantics, fairness, communicating processes, traces, concurrency, The beha ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of ONR or the U.S. Government. Keywords: Denotational semantics, fairness, communicating processes, traces, concurrency, The behavior of a parallel system depends not only on the properties of the individual components running in parallel, but also on the interactions among those components. These interactions in turn depend on external factors (such as the relative speed of processors or the particular scheduler implementation) whose details can be complex or even unknown. By introducing appropriate fairness assumptions—which, roughly speaking, states that every sufficiently enabled component eventually proceeds—we can abstract away from these details without ignoring them completely. However, modeling fairness for communicating processes is especially difficult: synchronization requires the cooperation and active participation of multiple processes, and hence the enabledness of a process depends on the ability of other processes to synchronize with it. This dissertation introduces a general framework for modeling fairness for
Nonexpressibility of Fairness and Signaling
- in "Proceedings, IEEE Foundations of Computer Science", Panangaden
, 1990
"... In this paper we establish new expressiveness results for indeterminate dataflow primitives. We consider split primitives with three differing fairness assumptions and show that they are strictly inequivalent in expressive power. We also show that the ability to announce internal choices enhances th ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
In this paper we establish new expressiveness results for indeterminate dataflow primitives. We consider split primitives with three differing fairness assumptions and show that they are strictly inequivalent in expressive power. We also show that the ability to announce internal choices enhances the expressive power of two of the primitives. These results are proved using a very crude notion of observation and thus apply in any reasonable theory of process equivalence. 1 Introduction Fairness is regarded as an important property of real systems and there is considerable interest in semantic theories and proof systems for reasoning about fairness [12]. In the present paper we examine the relative expressive power of a variety of fairness primitives and prove new inexpressibility results in the context of asynchronous systems. We prove that three different "split" primitives have different expressive power. We also consider the effect of adding signaling to each primitive. By "signalin...
The Semantics of Triveni: A Process-Algebraic API for Threads + Events
, 1998
"... This paper describes compositional semantics (operational, denotational and logical) for a process algebra enhanced with input/output actions and preemption combinators, in the presence of fairness. The context of this paper is Triveni, a process-algebra-based design methodology that combines thread ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper describes compositional semantics (operational, denotational and logical) for a process algebra enhanced with input/output actions and preemption combinators, in the presence of fairness. The context of this paper is Triveni, a process-algebra-based design methodology that combines threads and events in the context of object-oriented programming [CJJ
Modularity and Expressibility for Nets of Relations
, 1996
"... Modularity reflects the Frege Principle: any two expressions expr 1 and expr 2 which have the same meaning (semantics) can be replaced by each other in every appropriate context C[ ] without changing the meaning of the overall expression. In [18] we identified observable relations and nets of obser ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Modularity reflects the Frege Principle: any two expressions expr 1 and expr 2 which have the same meaning (semantics) can be replaced by each other in every appropriate context C[ ] without changing the meaning of the overall expression. In [18] we identified observable relations and nets of observable relations as appropriate tools for the investigation of dataflow networks over nondeterministic agents. The observable relations are the Input-Output behaviors of (in general nondeterministic) dataflow agents. Moreover, the semantics of nets of observable relations is consistent with the input-output behavior of dataflow agents. In [18, 19] we showed that the main source of the Brock-Ackerman anomaly [2] is in the semantics of nets of relations. But it turns out that this semantics is not modular. The central objective of this paper is the characterization of modular classes of relations and hence indirectly the set of dataflow nets without anomalies. Another major theme which plays a ...
On the representation of McCarthy’s ambin the π-calculus
, 2004
"... We study the encoding of λ [] , the call by name λ-calculus enriched with McCarthy’s amb operator, into the π-calculus. Semantically, amb is a challenging operator, for the fairness constraints that it expresses. We prove that, under a certain interpretation of divergence in the λ-calculus (weak div ..."
Abstract
- Add to MetaCart
We study the encoding of λ [] , the call by name λ-calculus enriched with McCarthy’s amb operator, into the π-calculus. Semantically, amb is a challenging operator, for the fairness constraints that it expresses. We prove that, under a certain interpretation of divergence in the λ-calculus (weak divergence), a faithful encoding is impossible. However, with a different interpretation of divergence (strong divergence), the encoding is possible, and for this case we derive results and coinductive proof methods to reason about λ [] that are similar to those for the encoding of pure λ-calculi. We then use these methods to derive the most important laws concerning amb. We take bisimilarity as behavioural equivalence on the π-calculus, which sheds some light on the relationship between fairness and bisimilarity.

