@MISC{Staton_substitutionin, author = {Sam Staton}, title = {Substitution in Structural Operational Semantics and value-passing process calculi}, year = {} }
Bookmark
OpenURL
Abstract
Consider a process calculus that allows agents to communicate values. The structural operational semantics involves substitution of values for variables. Existing rule formats, such as the GSOS format, do not allow this kind of explicit substitution in the semantic rules. We investigate how to derive rule formats for languages with substitution, by using categorical logic to interpret the framework of the GSOS format in different categories. The categories in question are categories of ‘substitution actions’. 1 A simple language for value-passing To set the scene, fix a set of channel names, and consider a set V of value-expressions, that includes the channel names. A simple untyped value-passing process language, V-CCS, is given in Figure 1 (c.f. [8]). The precise value expressions of V are not important, but note that since V includes the (static) channel names, V-CCS is a very primitive applied π-calculus without restriction or name generation; c.f. [1]. For the sake of illustration, consider the set Vex of value expressions determined by the following grammar: v:: = n | v + v | (v, v) | π1(v) | π2(v) | c (n is a number, c is a channel name). We will always work with value expressions up-to the evident equations (2 + 3 = 5; π1(v, w) = v; etc.), rather than explicitly evaluating or normalizing them; this is to simplify the presentation. The following transitions are derivable in Vex-CCS. (¯c〈3〉.0) | (c(v).¯c〈2 + v〉.0) τ