## Towards a Semantic Theory of CML (1995)

Citations: | 3 - 0 self |

### BibTeX

@TECHREPORT{Ferreira95towardsa,

author = {W. Ferreira and M. Hennessy},

title = {Towards a Semantic Theory of CML},

institution = {},

year = {1995}

}

### OpenURL

### Abstract

A simple untyped language based on CML, Concurrent ML, is defined and analysed. The language contains a spawn operator for initiating new independent threads of computation and constructs for the exchange of data between these threads. A denotational model for the language is presented where denotations correspond to computations of values rather than simply values. It is shown to be fully abstract with respect to a behavioural preorder based on contextual testing. 1 Introduction The language Concurrent ML (CML), [18], is one of a number of recent languages which seeks to combine aspects of functional and concurrent programming. Standard ML, [19], is augmented with the ability to spawn off new independent threads of computation. Further constructs are added to enable these threads to synchronise and exchange data on communication channels. As it includes higherorder objects, which can be exchanged between threads as data, new channel name generation, and the ability to form abstractio...

### Citations

3275 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...he former we had e 1 p v \Gamma! e 0 1 e 1 + e 2 p v \Gamma! e 0 1 and its symmetric counterpart then the two expressions v + n!v:ffi and let x = v + n!v:ffi in x would not even be weakly bisimular , =-=[13]-=-. We end this section with a straightforward relationship between the spawn and parallel operators. Again let us assume that that for every expression e in a vps there is an expression spawn(e) whose ... |

450 | Computational Lambda-Calculus and Monads
- Moggi
- 1989
(Show Context)
Citation Context ...s are incorporated into the operational semantics This work has been supported by the ESPRIT/BRA CONCUR2 project and the EPSRC grant GR/H16537 in such a way that the natural monadic laws suggested in =-=[14]-=- for the let : : : in : : : construct are satisfied and furthermore the spawn operator can be explained in terms of a parallel construct. A behavioural preorder based on a natural notion of observatio... |

400 |
Algebraic Theory of Processes
- Hennessy
- 1988
(Show Context)
Citation Context ...in terms of a degenerate form of Kliesli triples. We then proceed, in Section 7, to construct a particular Natural Interpretation. The starting point is the value passing version of Acceptance Trees, =-=[8]-=-, considered in [9] which is extended to a new model D to take into account the ability of expressions to produce values. However, as pointed out above, the key point is the recognition that elements ... |

147 |
Semantics of programming languages
- Gunter
- 1992
(Show Context)
Citation Context ...eview the mathematical constructions and notations used in the remainder of the paper. We recommend the reader to skip this section and to refer to it only when necessary. We refer to algebraic cpos, =-=[6]-=-, in which every non-empty directed set has a least upper bound as a predomain. If in addition it has a least element it is a domain; equivalently this means that every directed set has a least upper ... |

130 | Lambda-calculus models of programming languages - Morris - 1968 |

128 | Higher-Order Concurrency
- Reppy
- 1992
(Show Context)
Citation Context ...computations of values rather than simply values. It is shown to be fully abstract with respect to a behavioural preorder based on contextual testing. 1 Introduction The language Concurrent ML (CML), =-=[18]-=-, is one of a number of recent languages which seeks to combine aspects of functional and concurrent programming. Standard ML, [19], is augmented with the ability to spawn off new independent threads ... |

81 | A semantics for ML concurrency primitives
- Berry, Milner, et al.
- 1992
(Show Context)
Citation Context ...le work on its semantic foundations. There have been a number of attempts at giving an operational semantics, usually in terms of a reduction relation, to core subsets of the language. For example in =-=[18, 2]-=- the core languagescv is given a two-level operational semantics which results in a reduction relation between multi-sets of language expressions. We aim to extend this type of work in order to build ... |

36 | From cml to process algebras
- Nielson, Nielson
- 1993
(Show Context)
Citation Context ... extent the investigation of appropriate versions of bisimulation equivalence for these languages. Another strand of research has been on the development of type systems for these kinds of languages, =-=[16]-=-, and we will certainly need to build on such work if we are to extend our results to languages which include more of the features of CML. A Operational Semantics for Contexts In this appendix we deve... |

25 |
Calculi for Higher-Order Communicating Systems
- Thomsen
- 1990
(Show Context)
Citation Context ...ing to the previous Theorem, the full-abstraction result, as there is no behavioural semantics given forscv . There has also been some related work on higher-order processes languages such as CHOCS , =-=[20]-=- and FACILE , [5]. Again here the main theoretical emphasis has been on the development of operational semantics in terms of labelled transition systems and to a certain extent the investigation of ap... |

20 |
Operational and algebraic semantics for facile: a symmetric integration of concurrent and functional programming
- Giacalone, Mistra, et al.
- 1993
(Show Context)
Citation Context ...s Theorem, the full-abstraction result, as there is no behavioural semantics given forscv . There has also been some related work on higher-order processes languages such as CHOCS , [20] and FACILE , =-=[5]-=-. Again here the main theoretical emphasis has been on the development of operational semantics in terms of labelled transition systems and to a certain extent the investigation of appropriate version... |

19 |
A theory of communicating processes with value-passing
- Hennessy, Ingólfsdóttir
- 1990
(Show Context)
Citation Context ...o work with and ! �� is no exception. Accordingly we define an alternative characterisation which is more amenable to investigation. This alternative characterisation is quite similar to that used=-= in [9]-=- but there are important differences. Moreover the characterisation theorem is considerably more difficult to prove in view of the use of arbitrary contexts as tests. First some notation. Recall that ... |

14 |
Compositional theories based on an operational semantics of contexts, in
- Larsen
- 1989
(Show Context)
Citation Context ...om e and the corresponding contribution from the context C[ ] and subsequently recomposed. To do so we have to develop an operational semantics for contexts using the idea of action transducers as in =-=[12]-=- and prove appropriate decomposition and recomposition theorems for sequences of actions from C[e] in terms of sequences of actions from e and sequence transductions from C[ ]. All of this, which accu... |

11 |
An algebra for process creation
- Baeten, Vaandrager
- 1992
(Show Context)
Citation Context ...erate a range of constructs, based on those of CCS, for receiving and sending values is also added. The resulting language is more powerful than the fork calculus, [7], and the language considered in =-=[1]-=- as computation threads have the ability to exchange data. It is also more powerful than the value-passing process algebra of [9] as not only can expressions exchange values as data but the evaluation... |

7 |
Lecture notes on domain theory
- Plotkin
- 1983
(Show Context)
Citation Context ...t the functional behaviour of the process on reception or transmission of a value along a channel. We now define a recursive domain equation whose solution, in the category of domains with embeddings =-=[17]-=-, is a formal representation of these trees. If N is the set of communication channels let cN represent the set f n?; n! j n 2 N g; nodes in the trees will be represented by acceptance sets over cN. L... |

4 |
Int'egration des paradigmes de programmation parall `ele, fonctionnelle et imp'erative: fondements s'emantiques. Universit 'e Paris
- Debbabi
- 1994
(Show Context)
Citation Context ... are added. This last refinement produces a language which is more reminiscent of the �� \Gamma calculus and in particular it does not include any notion of the production of values. More recently=-= in [3]-=- an operational semantics is given to a language called FPI which has many of the programming constructs of CML. However it lacks any spawn or fork construct and indeed later in the same thesis the au... |

4 | The Fork Calculus - Towards a Logic for Concurrent ML
- Havelund
- 1994
(Show Context)
Citation Context ...ion. To enable these threads to cooperate a range of constructs, based on those of CCS, for receiving and sending values is also added. The resulting language is more powerful than the fork calculus, =-=[7]-=-, and the language considered in [1] as computation threads have the ability to exchange data. It is also more powerful than the value-passing process algebra of [9] as not only can expressions exchan... |

1 |
Semantic Models for Communicating Processes with Value Passing
- Ingolfdottir
- 1994
(Show Context)
Citation Context ...f for every s 2 S; T + s implies 1. U + s 2. A(U; s) ` A(T; s). 2 Theorem 8.2 (Internal Full-Abstraction) In D; TsU if and only if T �� U . Proof: We refer the reader to the proof of Theorem 3:5:3=-= in [11], page 1-=-07, which is virtually identical. 2 Recall that E is sub-domain of D and therefore it is sufficient to show that for closed terms e 1 �� e 2 if and only if E[[e 1 ]] �� E[[e 2 ]]: (2) To estab... |