@MISC{Havelund94thefork, author = {Klaus Havelund}, title = {The Fork Calculus Towards a Logic for Concurrent ML}, year = {1994} }

Bookmark

OpenURL

Abstract

Machine CHAM [BB90]. CHAM has consequently been used to define one of the semantics of Facile [LT92b]. Also [NT92a] demonstrates the use of CHAM to define the semantics of a language that combines functional programming with concurrency, although in that work there is a parallel composition operator and not a fork operator. Section 3.1 defines the calculus with its operational semantics. Section 3.2 defines a strong congruence relation between processes. A congruence relation is an equivalence relation, which is preserved by the operators of the calculus. The congruence is strong since it is sensitive to internal transitions. Section 3.3 defines a weak congruence relation which is not sensitive to internal transitions. 3.1 Syntax and Semantics 3.1.1 Syntax and Informal Semantics The syntax, generating the language L, is as follows. p ::= nil j ff j p 1 + p 2 j p 1 ; p 2 j fork(p) j N 25 26 CHAPTER 3. THE FORK CALCULUS ff ::= j a? j a! The language A of actions is ranged over b...