## Interaction Categories and the Foundations of Typed Concurrent Programming (1995)

Venue: | In Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School, NATO ASI Series F |

Citations: | 123 - 18 self |

### BibTeX

@INPROCEEDINGS{Abramsky95interactioncategories,

author = {Samson Abramsky and Simon Gay and Rajagopal Nagarajan},

title = {Interaction Categories and the Foundations of Typed Concurrent Programming},

booktitle = {In Deductive Program Design: Proceedings of the 1994 Marktoberdorf Summer School, NATO ASI Series F},

year = {1995},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

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.

### Citations

3501 | Communicating Sequential Processes
- Hoare
- 1985
(Show Context)
Citation Context ...s more subtle in the case of CSP. Hoare's general approach is explicitly model-oriented [33], and CSP is based on a specific denotational model, namely the Failures model of Brookes, Hoare and Roscoe =-=[15]-=-. However, it seems clear that CSP has not in fact provided a basis for the kind of rapprochement we are after. 6 p B \Delta \Delta \Delta \Delta \Delta \Delta A Figure 1: A process viewed as a morphi... |

394 |
Defining Liveness
- Alpern, Schneider
- 1985
(Show Context)
Citation Context ...sX (m " X = ?): An object of ASProc is a pair A = (\Sigma A ; SA ) where \Sigma A is a sort or alphabet, and SA ` Tr(\Sigma A ) is a non-empty prefix-closed subset of Tr(\Sigma A ), a safety prop=-=erty [12]-=-. We define A ? = A, and A\Omega B by \Sigma A\Omega B = \Sigma A + \Sigma B SA\Omega B = fs 2 Tr(\Sigma A\Omega B ) j s\Sigma A 2 SA ; s\Sigma B 2 SB g: Note that A ? = A implies that A\Omega B = A (... |

285 | Computational interpretations of linear logic
- Abramsky
- 1993
(Show Context)
Citation Context ...which is illustrated in Figure 5, together with application Ap A;B : (A ( B)\Omega A ! B: This tensor structure gives us Interpretation of the multiplicatives of Linear Logic [26]; "Linear -calcu=-=lus" [1]-=-. Static operations of process calculus [46] (in name-free form). 9 p C \Delta \Delta \Delta \Delta \Delta \Delta \Delta \Delta \Delta A\Omega B (p) A B ( C \Delta \Delta \Delta \Delta \Delta \Delta \... |

265 |
Investigations into logical deductions
- Gentzen
- 1935
(Show Context)
Citation Context ...truction of a large class of processes within a typed framework. 17 In particular, compact closure validates a very useful typing rule which we call the multicut. (This is actually Gentzen's MIX rule =-=[25]-=- but we avoid the use of this term since Girard has used it for quite a different rule in the context of Linear Logic.) The usual Cut Rule ` \Gamma; A ` \Delta; A ? ` \Gamma; \Delta allows us to plug ... |

211 | Games and Full Completeness for Multiplicative Linear Logic (Extended Abstract
- Abramsky, Jagadeesan
- 1992
(Show Context)
Citation Context ...ation. In order to define the morphisms of SProc, we first define a -autonomous structure on objects. This style of definition is typical of interaction categories; definitions of categories of games =-=[8]-=- follow the same pattern. 14 Definition 2.2.2 Given A and B, the object A\Omega B has \Sigma A\Omega B = \Sigma A \Theta \Sigma B SA\Omega B = foe 2 \Sigma A\Omega B j fst (oe) 2 SAssnd (oe) 2 SB g: T... |

141 |
Proofs and Types, volume 7 of Cambridge Tracts
- Girard, Lafont, et al.
- 1989
(Show Context)
Citation Context ...fers ("wires" or "relays") We will show SProc to have a very rich structure. Firstly, it provides a model for full Classical Linear Logic [26], and hence also, quite automatically,=-= for typed -calculi [27]-=-. It also supports a hierarchy of delay monads which express the temporal structure of the category. They allow asynchrony to be built on top of synchrony, as in Milner's original work on SCCS [48], b... |

93 |
Algebraically complete categories
- Freyd
- 1990
(Show Context)
Citation Context ...e precisely, there is an isomorphism: ff : I = flI where ff j (;s1 ) : id I and ff \Gamma1 = ff ? . In fact we will show that this is the free algebra for the unit delay functor in the sense of Freyd =-=[20]-=-. Proposition 3.1.2 ff is the final fl-coalgebra and ff ? the initial fl-algebra in SProc, i.e. (I ; ff) is the free fl-algebra in the sense of Freyd. Moreover, (I ; ff) is the unique fl-invariant obj... |

85 |
Quantales, observational logic and process semantics
- ABRAMSKY, J
- 1993
(Show Context)
Citation Context ... precongruence with respect to the four basic combinators and guarded recursion. For a large selection of such pre-orders including failures, acceptances, readies, and "barbed" versions of t=-=hese, see [10]-=-. 3.4 An Analysis of a Cyclic Scheduler As an illustration, we now use the ideas and techniques which have been presented so far to analyse a standard concurrency example---the cyclic scheduler of [49... |

80 |
Categories for Types
- Crole
- 1993
(Show Context)
Citation Context ...K = I t ? \DeltaI \Gamma! \DeltaI \DeltaJP K \Gamma! \DeltaA i \Gamma! A: Here t A is the morphism A ! I defined by t A = f((a; ); t A ) j a 2 \Sigma A g. 4.5 Guarded Recursion By standard techniques =-=[16]-=-, we can interpret any SCCS term P (X) containing a process variable X as a morphism JP K : ! A \Gamma! A: An interpretation of the recursive term rec X: P is provided by a morphism p : I \Gamma! A su... |

72 | New foundations for the geometry of interaction
- Abramsky, Jagadeesan
- 1994
(Show Context)
Citation Context ...B and composition of f : QA ! TB and g : QB ! TC given by QA ffi A \Gamma! Q 2 A Qf \Gamma! QTB B \Gamma! TQB Tg \Gamma! T 2 C C \Gamma! TC: He also observed that the categories GI(C ) constructed in =-=[9]-=- could be described in this way with the distributive law given by the least fixpoint combinator. In the light of these ideas it is natural to look for distributive lawss: ! ffi \Gamma! ffi !s: ! \Del... |

64 | Higher-level synchronising devices in Meije-SCCS
- Simone
- 1985
(Show Context)
Citation Context ...nous case, as we shall see in Section 5, synchronous buffers are the appropriate processes to take as identity morphisms. -- Synchronous calculi such as SCCS and Meije are known to be very expressive =-=[19]-=-; most other concurrent formalisms, including asynchronous calculi such as CCS and CSP, and real-time languages such as Esterel [14], can be interpreted as derived calculi in SCCS and Meije. So we los... |

56 | A typed calculus of synchronous processes
- Gay, Nagarajan
- 1995
(Show Context)
Citation Context ...raction Categories---with connections similar to those existing in the familiar correspondence between typed -calculus, intuitionistic logic, and cartesian closed categories---has also been developed =-=[22, 24]-=-. ffl ASProc: an Interaction Category for asynchronous processes. This will be described in detail in a forthcoming paper [4]. A simplified introduction appears in Section 5 of these notes; a similar ... |

52 |
AlgeĢbre de processus et synchronisation
- Austry, Boudol
- 1984
(Show Context)
Citation Context ...lay before the first action: ffiA ffl Propagation of unbounded delays after the first action: \DeltaA The key role of ffi and \Delta as process combinators is clear from the SCCS and Meije literature =-=[48, 13]-=-. However we will recast these constructions in our framework as monads. We will pay considerable attention to unit delay which is of fundamental significance in elucidating the structure of SProc. In... |

45 |
Proofs as processes
- Abramsky
- 1994
(Show Context)
Citation Context ...te a different rule in the context of Linear Logic.) The usual Cut Rule ` \Gamma; A ` \Delta; A ? ` \Gamma; \Delta allows us to plug two modules together by an interface consisting of a single "p=-=ort" [5]-=-: A A ? : : : : : : This allows us to connect processes in a tree structure `j 'i `j 'i `j 'i \Gamma @ \Gamma @ \Gamma \Gamma @ @ \Delta \Delta \Delta \Delta \Delta \Delta \Delta \Delta \Delta \Delta ... |

35 |
Interaction categories and communicating sequentim processes
- Abramsky
- 1995
(Show Context)
Citation Context ...ing, Imperial College of Science, Technology and Medicine, 180 Queen's Gate, London SW7 2BZ, UK. email: fsa,sjg3,rn4g@doc.ic.ac.uk Tutorial notes on Samson Abramsky's Interaction Categories, based on =-=[3, 6]-=- and incorporating additional material by Simon Gay and Raja Nagarajan in Sections 3.4, 5.2, 5.3, 5.4 and 6.3. Abstract. We propose Interaction Categories as a new paradigm for the semantics of functi... |

32 |
Synchronous Programming of Reactive Systems: an Introduction to ESTEREL
- Berry, Couronne, et al.
- 1987
(Show Context)
Citation Context ...nous calculi such as SCCS and Meije are known to be very expressive [19]; most other concurrent formalisms, including asynchronous calculi such as CCS and CSP, and real-time languages such as Esterel =-=[14]-=-, can be interpreted as derived calculi in SCCS and Meije. So we lose no generality in taking synchronous interaction as the basic notion. 2.1 Preliminaries We begin by reviewing some basic notions [4... |

24 |
Non-well-founded sets., CSLI Lecture Notes, 14
- Aczel
- 1988
(Show Context)
Citation Context ...currency" issues [58]. In fact, instead of working explicitly with labelled transition systems quotiented by strong bisimulation, we will take advantage of Peter Aczel's work on non-well-founded =-=sets [11]-=-, and work with synchronisation trees as canonical representations of strong bisimulation equivalence classes. We define the synchronisation trees over L as the largest solution of the set equation ST... |

20 |
Interaction categories (extended abstract
- Abramsky
- 1993
(Show Context)
Citation Context ... of Interaction Categories for concurrent computation have been developed in some detail: 10 ffl SProc: an Interaction Category for synchronous processes. Some basic details of SProc are described in =-=[2]-=-; a much fuller account is given in [6]. Sections 2 and 3 of these notes present SProc at a level of detail somewhere in between. SProc has been applied to modelling a number of real-time synchronous ... |

11 |
Linear Types for Communicating Processes
- Gay
- 1995
(Show Context)
Citation Context ...raction Categories---with connections similar to those existing in the familiar correspondence between typed -calculus, intuitionistic logic, and cartesian closed categories---has also been developed =-=[22, 24]-=-. ffl ASProc: an Interaction Category for asynchronous processes. This will be described in detail in a forthcoming paper [4]. A simplified introduction appears in Section 5 of these notes; a similar ... |

3 |
Interaction Categories I: Synchronous processes
- Abramsky
- 1995
(Show Context)
Citation Context ...ing, Imperial College of Science, Technology and Medicine, 180 Queen's Gate, London SW7 2BZ, UK. email: fsa,sjg3,rn4g@doc.ic.ac.uk Tutorial notes on Samson Abramsky's Interaction Categories, based on =-=[3, 6]-=- and incorporating additional material by Simon Gay and Raja Nagarajan in Sections 3.4, 5.2, 5.3, 5.4 and 6.3. Abstract. We propose Interaction Categories as a new paradigm for the semantics of functi... |

3 | Modelling SIGNAL in interaction categories
- Gay, Nagarajan
- 1993
(Show Context)
Citation Context ...ns 2 and 3 of these notes present SProc at a level of detail somewhere in between. SProc has been applied to modelling a number of real-time synchronous languages including Esterel, Lustre and Signal =-=[23, 7]-=-; a typed calculus of synchronous processes based on the structure of Interaction Categories---with connections similar to those existing in the familiar correspondence between typed -calculus, intuit... |

1 |
Interaction Categories II: Asynchronous processes
- Abramsky
- 1994
(Show Context)
Citation Context ...stic logic, and cartesian closed categories---has also been developed [22, 24]. ffl ASProc: an Interaction Category for asynchronous processes. This will be described in detail in a forthcoming paper =-=[4]-=-. A simplified introduction appears in Section 5 of these notes; a similar description can be found in [3]. 2 SProc: Linear Types This section and the next describe the Interaction Category SProc, whi... |

1 |
Interaction Categories: Illustrative examples
- Abramsky, Gay, et al.
- 1993
(Show Context)
Citation Context ...ns 2 and 3 of these notes present SProc at a level of detail somewhere in between. SProc has been applied to modelling a number of real-time synchronous languages including Esterel, Lustre and Signal =-=[23, 7]-=-; a typed calculus of synchronous processes based on the structure of Interaction Categories---with connections similar to those existing in the familiar correspondence between typed -calculus, intuit... |