From CML to its Process Algebra

Publication: Research - peer-reviewJournal article – Annual report year: 1996

View graph of relations

Reppy's (1991) language CML (Concurrent ML) extends the Standard ML of Milner et al. (1990) with primitives for communication. It thus inherits a notion of strong polymorphic typing and may be equipped with a structural operational semantics. As a first step, we formulate an effect system for statically expressing the communication behaviours of CML programs as these are not reflected in the types. As a second step, we adapt the structural operational semantics of CML so as to incorporate behaviours. We then show how types and behaviours evolve in the course of computation: types may decrease and behaviours may lose prefixes as well as decrease. As the syntax of behaviours is rather similar to that of a process algebra, our main result may therefore be viewed as regarding the semantics of a process algebra as an abstraction of the semantics of an underlying programming language. This establishes a new kind of connection between "realistic" concurrent programming languages and "theoretical" process algebras
Original languageEnglish
JournalTheoretical Computer Science
Issue number1
Pages (from-to)179-219
StatePublished - 1996
Download as:
Download as PDF
Select render style:
Download as HTML
Select render style:
Download as Word
Select render style:

ID: 3973029