Results 1 - 10
of
24
Domain Theory
- Handbook of Logic in Computer Science
, 1994
"... Least fixpoints as meanings of recursive definitions. ..."
Abstract
-
Cited by 402 (19 self)
- Add to MetaCart
Least fixpoints as meanings of recursive definitions.
Interaction Categories and the Foundations of Typed Concurrent Programming
- In Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School, NATO ASI Series F
, 1995
"... We propose Interaction Categories as a new paradigm for the semantics of functional and concurrent computation. Interaction categories have specifications as objects, processes as morphisms, and interaction as composition. We introduce two key examples of interaction categories for concurrent compu ..."
Abstract
-
Cited by 119 (17 self)
- Add to MetaCart
We propose Interaction Categories as a new paradigm for the semantics of functional and concurrent computation. Interaction categories have specifications as objects, processes as morphisms, and interaction as composition. We introduce two key examples of interaction categories for concurrent computation and indicate how a general axiomatisation can be developed. The upshot of our approach is that traditional process calculus is reconstituted in functorial form, and integrated with type theory and functional programming.
A Hidden Agenda
- Theoretical Computer Science
, 2000
"... This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behaviora ..."
Abstract
-
Cited by 104 (22 self)
- Add to MetaCart
This paper publicly reveals, motivates, and surveys the results of an ambitious hidden agenda for applying algebra to software engineering. The paper reviews selected literature, introduces a new perspective on nondeterminism, and features powerful hidden coinduction techniques for proving behavioral properties of concurrent systems, especially renements; some proofs are given using OBJ3. We also discuss where modularization, bisimulation, transition systems and combinations of the object, logic, constraint and functional paradigms t into our hidden agenda. 1 Introduction Algebra can be useful in many dierent ways in software engineering, including specication, validation, language design, and underlying theory. Specication and validation can help in the practical production of reliable programs, advances in language design can help improve the state of the art, and theory can help with building new tools to increase automation, as well as with showing correctness of the whole e...
Retracing some paths in Process Algebra
"... Introduction 2 The semantic universe: transducers Similar ideas appeared independently in the work of Hans Bekic [Bek71]. Samson Abramsky Laboratory for the Foundations of Computer Science University of Edinburgh The very existence of the conference bears witness to the fact that "concurrency theor ..."
Abstract
-
Cited by 61 (14 self)
- Add to MetaCart
Introduction 2 The semantic universe: transducers Similar ideas appeared independently in the work of Hans Bekic [Bek71]. Samson Abramsky Laboratory for the Foundations of Computer Science University of Edinburgh The very existence of the conference bears witness to the fact that "concurrency theory" has developed into a subject unto itself, with substantially di#erent emphases and techniques to those prominent elsewhere in the semantics of computation. Whatever the past merits of this separate development, it seems timely to look for some convergence and unification. In addressing these issues, I have found it instructive to trace some of the received ideas in concurrency back to their origins in the early 1970's. In particular, I want to focus on a seminal paper by Robin Milner [Mil75] , which led in a fairly direct line to his enormously influential work on [Mil80, Mil89]. I will take (to the extreme) the liberty of of applying hindsight, and show how some di
A Typed Calculus of Synchronous Processes
- In Proceedings of IEEE Symposium on Logic in Computer Science
, 1995
"... We propose a typed calculus of synchronous processes based on the structure of interaction categories. Our aim has been to develop a calculus for concurrency that is canonical in the sense that the typed -calculus is canonical for functional computation. We show strong connections between syntax, lo ..."
Abstract
-
Cited by 55 (4 self)
- Add to MetaCart
We propose a typed calculus of synchronous processes based on the structure of interaction categories. Our aim has been to develop a calculus for concurrency that is canonical in the sense that the typed -calculus is canonical for functional computation. We show strong connections between syntax, logic and semantics, analogous to the familiar correspondence between the typed -calculus, intuitionistic logic and cartesian closed categories. 1 Introduction T ypes are fundamental to the study of functional computation, for both theoretical and practical reasons. On the foundational side there are elegant connections between the typed -calculus, intuitionistic logic and cartesian closed categories, leading to the Propositions as Types paradigm [14] and the development of categorical logic [9,17]. From a practical point of view, compile-time type reconstruction is a boon to the programmer in languages such as Standard ML and Haskell. Turning to concurrency, the situation is much less sati...
First-order axioms for asynchrony
- In Proc. CONCUR
, 1997
"... Abstract. We study properties of asynchronous communication independently of any concrete concurrent process paradigm. We give a general-purpose, mathematically rigorous definition of several notions of asynchrony in a natural setting where an agent is asynchronous if its input and/or output is filt ..."
Abstract
-
Cited by 22 (2 self)
- Add to MetaCart
Abstract. We study properties of asynchronous communication independently of any concrete concurrent process paradigm. We give a general-purpose, mathematically rigorous definition of several notions of asynchrony in a natural setting where an agent is asynchronous if its input and/or output is filtered through a buffer or a queue, possibly with feedback. In a series of theorems, we give necessary and sufficient conditions for each of these notions in the form of simple first-order or second-order axioms. We illustrate the formalism by applying it to asynchronous CCS and the core join calculus.
Specification Structures and Propositions-as-Types for Concurrency
- Logics for Concurrency: Structure vs. Automata---Proceedings of the VIIIth Banff Higher Order Workshop, volume 1043 of Lecture Notes in Computer Science
, 1995
"... Many different notions of "property of interest" and methods of verifying such properties arise naturally in programming. A general framework of "Specification Structures" is presented for combining different notions and methods in a coherent fashion. This is then applied to concurrency in the se ..."
Abstract
-
Cited by 21 (5 self)
- Add to MetaCart
Many different notions of "property of interest" and methods of verifying such properties arise naturally in programming. A general framework of "Specification Structures" is presented for combining different notions and methods in a coherent fashion. This is then applied to concurrency in the setting of Interaction Categories.
Probabilistic Concurrent Constraint Programming
- In Proceedings of CONCUR 97
, 1997
"... . We extend cc to allow the specification of a discrete probability distribution for random variables. We demonstrate the expressiveness of pcc by synthesizing combinators for default reasoning. We extend pcc uniformly over time, to get a synchronous reactive probabilistic programming language, Time ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
. We extend cc to allow the specification of a discrete probability distribution for random variables. We demonstrate the expressiveness of pcc by synthesizing combinators for default reasoning. We extend pcc uniformly over time, to get a synchronous reactive probabilistic programming language, Timed pcc. We describe operational and denotational models for pcc (and Timed pcc). The key feature of the denotational model(s) is that parallel composition is essentially set intersection. We show that the denotational model of pcc (resp. Timed pcc) is conservative over cc (resp. tcc). We also show that the denotational models are fully abstract for an operational semantics that records probability information. 1 Introduction Concurrent constraint programming(CCP, [Sar93]) is an approach to computation which uses constraints for the compositional specification of concurrent systems. It replaces the traditional notion of a store as a valuation of variables with the notion of a store as a cons...
Passivity and independence
- In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... Most programming languages have certain phrases (like expressions) which only read information from the state and certain others (like commands) which write information to the state. These are called passive and active phrases respectively. Semantic models which make these distinctions have been har ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
Most programming languages have certain phrases (like expressions) which only read information from the state and certain others (like commands) which write information to the state. These are called passive and active phrases respectively. Semantic models which make these distinctions have been hard to find. For instance, most semantic models have expression denotations that (temporarily) change the state. Common reasoning principles, such as the Hoare’s assignment axiom, are not valid in such models. We define here a semantic model which captures the notions of “change”, “absence of change” and “independent change ” etc. This is done by extending the author’s “linear logic model of state ” with dependence/independence relations so that sequential traces give way to pomset traces. 1
A Type-theoretic Approach to Deadlock-freedom of Asynchronous Systems
- In Proc. TACS
, 1997
"... We present a type-based technique for the verification of deadlock-freedom in asynchronous concurrent systems. Our approach is to start with an interaction category such as ASProc, where objects are types containing safety specifications and morphisms are processes. We then use a specification st ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
We present a type-based technique for the verification of deadlock-freedom in asynchronous concurrent systems. Our approach is to start with an interaction category such as ASProc, where objects are types containing safety specifications and morphisms are processes. We then use a specification structure to add information to the types so that they specify stronger properties. The extra information in this case concerns deadlock-freedom, and in the resulting category ASProc D , combining well-typed processes preserves deadlock-freedom. It is also possible to accommodate non-compositional methods within the same framework. The systems we consider are asynchronous, hence issues of divergence become significant; our approach incorporates an elegant treatment of both divergence and successful termination. As an example, we use our methods to verify the deadlock-freedom of an implementation of the alternating-bit protocol. Address for Correspondence Dr S. J. Gay Department of ...

