Process algebra with strategic interleaving
J. A. Bergstra, C. A. Middelburg

TL;DR
This paper extends process algebra ACP to incorporate interleaving strategies, such as process-scheduling policies, enabling more accurate modeling of systems with both arbitrary and strategy-based parallel process interleaving.
Contribution
It introduces a new extension of ACP that models interleaving strategies, with proven properties like elimination, conservativity, and unique expansion.
Findings
Extended ACP with interleaving strategies
Proved elimination and conservative extension properties
Supports modeling of hardware/software system behaviors
Abstract
In process algebras such as ACP (Algebra of Communicating Processes), parallel processes are considered to be interleaved in an arbitrary way. In the case of multi-threading as found in contemporary programming languages, parallel processes are actually interleaved according to some interleaving strategy. An interleaving strategy is what is called a process-scheduling policy in the field of operating systems. In many systems, for instance hardware/software systems, we have to do with both parallel processes that may best be considered to be interleaved in an arbitrary way and parallel processes that may best be considered to be interleaved according to some interleaving strategy. Therefore, we extend ACP in this paper with the latter form of interleaving. The established properties of the extension concerned include an elimination property, a conservative extension property, and a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
11institutetext: Informatics Institute, Faculty of Science, University of Amsterdam,
Science Park 904, 1098 XH Amsterdam, the Netherlands
11email: [email protected],[email protected]
Process Algebra with Strategic Interleaving,
Revised Version
J.A. Bergstra
C.A. Middelburg
Abstract
In process algebras such as (Algebra of Communicating Processes), parallel processes are considered to be interleaved in an arbitrary way. In the case of multi-threading as found in contemporary programming languages, parallel processes are actually interleaved according to some interleaving strategy. An interleaving strategy is what is called a process-scheduling policy in the field of operating systems. In many systems, for instance hardware/software systems, we have to do with both parallel processes that may best be considered to be interleaved in an arbitrary way and parallel processes that may best be considered to be interleaved according to some interleaving strategy. Therefore, we extend in this paper with the latter form of interleaving. The established properties of the extension concerned include an elimination property, a conservative extension property, and a unique expansion property. rocess algebra, arbitrary interleaving, strategic interleaving
1998 ACM Computing Classification: D.1.3, D.4.1, F.1.2
Note: In the published version of “Process algebra with strategic interleaving” (Theory of Computing Systems 63(3), 488–505 (2019)) the proof outline of Theorem 3.1 appears to be inadequate. In particular, a head normal form result is used that is too weak. This revision of the published version has been made to rectify this.
Keywords:
p
1 Introduction
In algebraic theories of processes, such as [5, 7], CCS [18, 22] and CSP [12, 19], processes are discrete behaviours that proceed by doing steps in a sequential fashion. The parallel composition of two processes is usually considered to incorporate all conceivable interleavings of their steps. In each interleaving, the steps of both processes occur in some order where each time one step is taken from either of the processes. According to many, this interpretation of parallel composition, called arbitrary interleaving, is a plausible, general, if not idealized interpretation. Underlying the usual justification of this claim is the assumption that at most one step is done at each point in time. However, others contend that interpretations in which this simplifying assumption is fulfilled are not faithful. Be that as it may, arbitrary interleaving turns out to be appropriate for many applications and to facilitate formal algebraic reasoning.
Multi-threading as found in programming languages such as Java [16] and C# [17], gives rise to parallel composition of processes. In the case of multi-threading, however, the steps of the processes concerned are interleaved according to a process-scheduling policy. We use the term strategic interleaving for this more constrained form of interleaving; and we further use the term interleaving strategy instead of process-scheduling policy. Arbitrary interleaving and strategic interleaving are quite different. The following points illustrate this: (a) whether the interleaving of certain processes leads to inactiveness depends on the interleaving strategy used; (b) sometimes inactiveness occurs with a particular interleaving strategy whereas arbitrary interleaving would not lead to inactiveness and vice versa.
In previous work, we studied strategic interleaving in the setting of thread algebra, which is built on a specialized algebraic theory of processes devoted to the behaviours produced by instruction sequences under execution (see e.g. [8, 9, 10]). We have, for instance, given demonstrations of points (a) and (b) above in this setting. Nowadays, multi-threading is often used in the implementation of systems. Because of this, in many systems, for instance hardware/software systems, we have to do with parallel processes that may best be considered to be interleaved in an arbitrary way as well as parallel processes that may best be considered to be interleaved according to some interleaving strategy. This is what motivated us to do the work presented in this paper, namely extending such that it supports both arbitrary interleaving and strategic interleaving.
To our knowledge, there exists no work on strategic interleaving in the setting of a general algebraic theory of processes like ACP, CCS and CSP. In the work presented in this paper, we consider strategic interleaving where process creation is taken into account. The approach to process creation followed in this paper originates from the one first followed in [6] to extend with process creation and later followed in [2, 11, 3] to extend different timed versions of with process creation. The only other approach that we know of is the approach, based on [1], that has for instance been followed in [4, 14]. However, with that approach, it is unlikely that data about the creation of processes can be made available for the decision making concerning the strategic interleaving of processes.
The extension of presented in this paper covers a generic interleaving strategy that can be instantiated with different specific interleaving strategies. We found two plausible ways to deal with inactiveness of a process whose steps are being interleaved with steps of other processes in the case of strategic interleaving. This gives rise to two plausible extensions of . We will treat only one of them in detail.
The rest of this paper is organized as follows. In Section 2, we review (Section 2.1) and guarded recursion in the setting of (Section 2.2). In Section 3, we extend with strategic interleaving (Section 3.1) and establish some important properties of the extension (Section 3.2). In Section 4, we make some concluding remarks.
2 ACP with Guarded Recursion
In this section, we give a survey of (Algebra of Communicating Processes) and guarded recursion in the setting of . For a comprehensive overview, the reader is referred to [5, 13].
2.1
In , it is assumed that a fixed but arbitrary set of actions, with , has been given. We write for . It is further assumed that a fixed but arbitrary commutative and associative communication function , with for all , has been given. The function is regarded to give the result of synchronously performing any two actions for which this is possible, and to give otherwise.
The signature of consists of the following constants and operators:
- •
for each , the action constant ;
- •
the inaction constant ;
- •
the binary alternative composition operator ;
- •
the binary sequential composition operator ;
- •
the binary parallel composition operator ;
- •
the binary left merge operator ;
- •
the binary communication merge operator ;
- •
for each , the unary encapsulation operator .
We assume that there are infinitely many variables, including . Terms are built as usual. We use infix notation for the binary operators. The precedence conventions used with respect to the operators of are as follows: binds weaker than all others, binds stronger than all others, and the remaining operators bind equally strong.
The constants and operators of can be explained as follows:
- •
the constant denotes the process that is only capable of first performing action and next terminating successfully;
- •
the constant denotes the process that is not capable of doing anything;
- •
a closed term of the form denotes the process that behaves either as the process denoted by or as the process denoted by , but not both;
- •
a closed term of the form denotes the process that first behaves as the process denoted by and on successful termination of that process it next behaves as the process denoted by ;
- •
a closed term of the form denotes the process that behaves as the process that proceeds with the processes denoted by and in parallel;
- •
a closed term of the form denotes the process that behaves the same as the process denoted by , except that it starts with performing an action of the process denoted by ;
- •
a closed term of the form denotes the process that behaves the same as the process denoted by , except that it starts with performing an action of the process denoted by and an action of the process denoted by synchronously;
- •
a closed term of the form denotes the process that behaves the same as the process denoted by , except that actions from are blocked.
The operators and are of an auxiliary nature. They are needed to axiomatize .
The axioms of are the equations given in Table 1.
In these equations, , and stand for arbitrary constants of , and stands for an arbitrary subset of . Moreover, stands for the action constant for the action . In D1 and D2, side conditions restrict what and stand for.
In other presentations of , is regularly replaced by in CM5–CM7. By CM12, which is more often called CF, these replacements give rise to an equivalent axiomatization. In other presentations of , CM10 and CM11 are usually absent. These equations are not derivable from the other axioms, but all there closed substitution instances are derivable from the other axioms. Moreover, CM10 and CM11 hold in virtually all models of ACP that have been devised.
In the sequel, we will use the sum notation . For each , let be a term of or an extension of . Then and, for each ,111We write for the set of positive natural numbers. the term is defined by induction on as follows: and .
2.2 Guarded Recursion
A closed term denotes a process with a finite upper bound to the number of actions that it can perform. Guarded recursion allows the description of processes without a finite upper bound to the number of actions that it can perform.
Let be or a concrete extensions of ,222A concrete extension of is an extension of that does not offer the possibility of abstraction from certain actions. All extensions of introduced in this paper are concrete extensions. and let be a term containing a variable . Then an occurrence of in is guarded if has a subterm of the form where and is a term containing this occurrence of .
Let be or a concrete extension of . Then a term is a guarded term if all occurrences of variables in are guarded.
Let be or a concrete extension of . Then a guarded recursive specification over is a finite or countably infinite set of recursion equations , where is a set of variables and each is either a guarded term in which variables other than the variables from do not occur or a term rewritable to such a term using the axioms of in either direction and/or the equations in , except the equation , from left to right. We write for the set of all variables that occur in . A solution of in some model of is a set of elements of the carrier of that model such that the equations of hold if, for all , is assigned . We are only interested models of and concrete extensions of in which guarded recursive specifications have unique solutions.
Let be or a concrete extension of . We extend with guarded recursion by adding constants for solutions of guarded recursive specifications over and axioms concerning these additional constants. For each guarded recursive specification over and each , we add a constant standing for the unique solution of for to the constants of . The constant standing for the unique solution of for is denoted by . We use the following notation. Let be a term and be a guarded recursive specification. Then we write for with, for all , all occurrences of in replaced by . We add the equation RDP and the conditional equation RSP given in Table 2 to the axioms of .
In RDP and RSP, stands for an arbitrary variable, stands for an arbitrary term, and stands for an arbitrary guarded recursive specification over . Side conditions restrict what , and stand for. We write for the resulting theory.
The equations for a fixed express that the constants make up a solution of . The conditional equations express that this solution is the only one.
In extensions of whose axioms include RSP, we have to deal with conditional equational formulas with a countably infinite number of premises. Therefore, infinitary conditional equational logic is used in deriving equations from the axioms of extensions of whose axioms include RSP. A complete inference system for infinitary conditional equational logic can be found in, for example, [15]. In the case of infinitary conditional equational logic derivation trees may be infinitely branching, but they may not have infinite branches.
3 Strategic Interleaving
In this section, we extend with strategic interleaving, i.e. interleaving according to some interleaving strategy. Interleaving strategies are abstractions of scheduling algorithms. Interleaving according to some interleaving strategy is what really happens in the case of multi-threading as found in contemporary programming languages.
3.1 with Strategic Interleaving
In the extension of with strategic interleaving presented below, it is expected that an interleaving strategy uses the interleaving history in one way or another to make process-scheduling decisions.
The set of interleaving histories is the subset of that is inductively defined by the following rules:
- •
;
- •
if , then ;
- •
if h\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\left(i,n\right)\in\mathcal{H}, , and , then h\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\left(i,n\right)\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\left(j,m\right)\in\mathcal{H}.333We write for the empty sequence, for the sequence having as sole element, and \alpha\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\alpha^{\prime} for the concatenation of sequences and . We assume that the usual identities, such as {\langle\,\rangle}\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\alpha=\alpha and (\alpha\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\alpha^{\prime})\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\alpha^{\prime\prime}=\alpha\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}(\alpha^{\prime}\mathbin{\raisebox{1.72218pt}{\scriptstyle\curvearrowright}}\alpha^{\prime\prime}), hold.
The intuition concerning interleaving histories is as follows: if the th pair of an interleaving history is , then the th process got a turn in the th interleaving step and after its turn there were processes to be interleaved. The number of processes to be interleaved may increase due to process creation (introduced below) and decrease due to successful termination of processes.
The presented extension of is called ( with Strategic Interleaving). It covers a generic interleaving strategy that can be instantiated with different specific interleaving strategies that can be represented in the way that is explained below.
In , it is assumed that the following has been given:
- •
a fixed but arbitrary set ;
- •
for each , a fixed but arbitrary function ;
- •
for each , a fixed but arbitrary function .
The elements of are called control states, is called an abstract scheduler (for processes), and is called a control state transformer (for processes). The intuition concerning , , and is as follows:
- •
the control states from encode data that are relevant to the interleaving strategy, but not derivable from the interleaving history;
- •
if , then the th process gets the next turn after interleaving history in control state ;
- •
if , then is the control state that arises from the th process doing after interleaving history in control state .
Thus, , , and make up a way to represent an interleaving strategy. This way to represent an interleaving strategy is engrafted on [23].
Consider the case where is a singleton set, for each , is defined by
[TABLE]
and, for each , is defined by
[TABLE]
In this case, the interleaving strategy corresponds to the round-robin scheduling algorithm. More advanced strategies can be obtained if the scheduling makes more advanced use of the interleaving history and the control state. The interleaving history may, for example, be used to factor the individual lifetimes of the processes to be interleaved and their creation hierarchy into the process-scheduling decision making. Individual properties of the processes to be interleaved that depend on the actions performed by them can be taken into account by making use of the control state. The control state may, for example, be used to factor the processes being interleaved that currently wait to acquire a lock from a process that manages a shared resource into the process-scheduling decision making.444In [8], various examples of interleaving strategies are given in the setting of the relatively unknown thread algebra. The representation of the more serious of these examples in the current setting demands nontrivial use of the control state.
In , it is also assumed that a fixed but arbitrary set of data and a fixed but arbitrary function , where is the set of all closed terms over the signature of (given below), have been given and that, for each and , , , and . The action can be considered a process creation request and the action can be considered a process creation act. They represent the request to start the process denoted by in parallel with the requesting process and the act of carrying out that request, respectively.
The signature of consists of the constants and operators from the signature of and in addition the following operators:
- •
for each , , and , the -ary strategic interleaving operator ;
- •
for each with , , and , the -ary positional strategic interleaving operator .
The strategic interleaving operators can be explained as follows:
- •
a closed term of the form denotes the process that results from interleaving of the processes denoted by after interleaving history in control state , according to the interleaving strategy represented by , , and .
The positional strategic interleaving operators are auxiliary operators used to axiomatize the strategic interleaving operators. The role of the positional strategic interleaving operators in the axiomatization is similar to the role of the left merge operator found in .
The axioms of are the axioms of and in addition the equations given in Table 3.
In the additional equations, and stand for arbitrary numbers from with , stands for an arbitrary interleaving history from , stands for an arbitrary control state from , stands for an arbitrary action constant that is not of the form or , and stands for an arbitrary datum from .
Axiom SI2 expresses that, in the event of inactiveness of the process whose turn it is, the whole becomes inactive immediately. A plausible alternative is that, in the event of inactiveness of the process whose turn it is, the whole becomes inactive only after all other processes have terminated or become inactive. In that case, the functions must be extended to functions and axiom SI2 must be replaced by the axioms in Table 4.
In , i.e. extended with guarded recursion in the way described in Section 2, the processes that can be created are restricted to the ones denotable by a closed term. This restriction stems from the requirement that is a function from to the set of all closed terms. The restriction can be removed by relaxing this requirement to the requirement that is a function from to the set of all closed terms. We write for the theory resulting from this relaxation. In other words, differs from in that it is assumed that a fixed but arbitrary function , where is the set of all closed terms over the signature of , has been given.
It is customary to associate transition systems with closed terms of the language of an ACP-like theory of processes by means of structural operational semantics and to use this to construct a model in which closed terms are identified if their associated transition systems are bisimilar. The structural operational semantics of can be found in [5, 13]. The additional transition rules for the strategic interleaving operators and the positional strategic interleaving operators are given in Appendix 0.A.
3.2 Basic Properties of with Strategic Interleaving
In this section, the subject of concern is the connection between and . The main results are an elimination result, a conservative extension result, and a unique expansion result. We begin with establishing some results that will be used in the proof of those main results.
Let be or . Then the set of head normal forms of is inductively defined by the following rules:
- •
;
- •
if , then ;
- •
if and is a term, then ;
- •
if , then .
Each head normal form of is derivably equal to a head normal form of the form , where , for all with , and is a term, and, for all with , .
Each guarded term is derivably equal to a head normal form of .
Proposition 1 (Head normal form)
For each guarded term , there exists a head normal form of such that is derivable from the axioms of .
Proof
First we prove the following weaker result about head normal forms:
For each guarded term , there exists a head normal form of such that is derivable from the axioms of .
The proof is straightforward by induction on the structure of . The case where is of the form and the case where is of the form () are trivial. The case where is of the form follows immediately from the induction hypothesis and the claim that, for all head normal forms and of , there exists a head normal form of such that is derivable from the axioms of . This claim is easily proved by induction on the structure of . The case where is of the form follows immediately from the induction hypothesis. The cases where is of one of the forms , , or are proved along the same lines as the case where is of the form . In the case that is of the form , each of the cases to be considered in the inductive proof of the claim demands a proof by induction on the structure of . In the case that is of the form , the claim is of course proved by induction on the structure of instead of . The case that is of the form follows immediately from the case that is of the form and the case that is of the form . The case that is of the form follows immediately from the case that is of the form . Because is a guarded term, the case where is a variable cannot occur.
The proof of the proposition itself is also straightforward by induction on the structure of . The cases other than the case where is of the form is proved in the same way as in the above proof of the weaker result. The case where is of the form follows immediately from the weaker result and RDP. ∎
Each of the four theorems to come refer to several process algebras. It is implicit that the same set of actions and the same communication function are assumed in the process algebras referred to.
Each guarded recursive specification over can be reduced to a guarded recursive specification over .
Theorem 3.1 (Reduction)
For each guarded recursive specification over and each , there exists a guarded recursive specification over such that is derivable from the axioms of .
Proof
We start with devising an algorithm to construct the guarded recursive specification . The algorithm keeps a set of recursion equations from that are already found and a sequence of equations of the form that still have to be transformed. The algorithm has a finite or countably infinite number of stages. In each stage, and are finite. Initially, is empty and contains only the equation .
In each stage, we remove the first equation from . Assume that this equation is . We bring the term into head normal form. If is not a guarded term, then we use RDP here to turn into a guarded term first. Thus, by Proposition 1, we can always bring the term into head normal form. Assume that the resulting head normal form is . Then, we add the equation , where the are fresh variables, to the set . Moreover, for each , we add the equation to the end of the sequence . Notice that the terms are of the form .
Because grows monotonically, there exists a limit. That limit is the finite or countably infinite linear recursive specification . Every equation that is added to the finite sequence , is also removed from it. Therefore, the right-hand side of each equation from only contains variables that also occur as the left-hand side of an equation from .
Now, we want to use RSP to show that is derivable from the axioms of . The variables occurring in are . For each , the variable has been exactly once in as the left-hand side of an equation. For each , assume that this equation is . To use RSP, we have to show for each that the equation from with, for each , all occurrences of replaced by is derivable from the axioms of . For each , this follows from the construction. ∎
The next three theorems will be proved by means of term rewriting systems. In Appendix 0.B, basic definitions and results regarding term rewriting systems are collected. This appendix also serves to fix the terminology on term rewriting systems used in the proofs of the next three theorems.
Each closed term is derivably equal to a closed term.
Theorem 3.2 (Elimination)
For each closed term , there exists a closed term such that is derivable from the axioms of .
Proof
We prove this by means of a term rewriting system that takes equational axioms of and equations derivable from the axioms of as rewrite rules. Thus, the proof boils down to showing that (a) the term rewriting system concerned has the property that each term has a unique normal form modulo axioms A1 and A2 and (b) each closed term that is a normal form modulo axioms A1 and A2 is a closed term. Henceforth, we will write AC for the set of equations that consists of axioms A1 and A2.
Let be a set of equations that contains for each guarded recursive specification over and an equation , where is a guarded recursive specification over , that is derivable from the axioms of . Such a set exists by Theorem 3.1. Consider the term rewriting system that consists of the axioms of , with the exception of A1, A2, RDP, and RSP, and the equations from taken as rewrite rules.
We show that has the property that each term has a unique normal form modulo AC by proving that is terminating modulo AC and confluent modulo AC.
First, we show that is terminating modulo AC. This can be proved by the reduction ordering induced by the extended integer polynomials associated with terms as follows:555Here, extended polynomials differ from polynomials in that both variables and expressions of the form , where is a variable, are allowed where only variables are allowed in polynomials.
[TABLE]
where it is assumed that, for each variable over processes, is a variable over integers. The following is easy to see: (a) for all rewrite rules of and (b) implies for all terms and for which and are derivable from AC.666We do not have that for all rewrite rules if SI2 is replaced by SI2a and SI2b (see Table 4). Hence, is terminating modulo AC.
Next, we show that is confluent modulo AC. It follows from Theorems 5 and 16 in [20] and the fact that is terminating modulo AC that is confluent modulo AC if it does not give rise to critical pairs modulo AC that are not convergent. It is easy to see that all critical pairs modulo AC arise from overlappings of (a) A3 on A4, CM4, CM8, CM9, D3, and SI8, (b) A6 on A4, CM4, CM8, CM9, D3, and SI8, (c) A7 on CM3, CM5, CM6, CM7, D4, and SI5, (d) CM10 on CM9, and (e) CM11 on CM8. It is straightforward to check that all critical pairs concerned are convergent. Hence, is confluent modulo AC.
Above, we have shown that is terminating modulo AC and confluent modulo AC and by this that it has the property that each term has a unique normal form modulo AC. It remains to be shown that each closed term that is a normal form modulo AC is a closed term. It is not hard to see that, for each closed term in which other operators than and occur, a reduction step modulo AC is still possible in . Because a reduction step modulo AC is impossible for a normal form modulo AC, no other operators than or can occur in a closed term that is a normal form modulo AC. Hence, each closed term that is a normal form modulo AC is a closed term. ∎
Each equation between closed terms that is derivable in is also derivable in .
Theorem 3.3 (Conservative extension)
For each two closed terms and , is derivable from the axioms of only if is derivable from the axioms of .
Proof
We prove this by means of a restriction of the term rewriting system from the proof of Theorem 3.2. Consider the term rewriting system that consists of the axioms of , with the exception of A1 and A2. is restricted to terms. Just like , is terminating modulo AC and confluent modulo AC. The proofs of these properties for carry over to .
Let and be two closed terms such that is derivable from the axioms of . Reduce and to normal forms and , respectively, by means of the term rewriting system . By Theorem 5 in [20], being confluent modulo AC is equivalent to being Church-Rosser modulo AC for a term rewriting system that is terminating modulo AC. This means that and have the same normal form modulo AC. In other words, is derivable from axioms A1 and A2. Because (a) no other operators than and occur in and and (b) no rewrite rule introduces one or more of the other operators if one or more of the other operators was not already in its left-hand side, each rewrite rule applied in the reduction from to or the reduction from to is one of the axioms of . Therefore, each rewrite rule involved in the reduction from to or the reduction from to is an axiom of . Hence, the reduction from to shows that is derivable from the axioms of and the reduction from to shows that is derivable from the axioms of . From this and the fact that is derivable from axioms A1 and A2, it follows is derivable from the axioms of . ∎
The following theorem concerns the expansion of minimal models of to models of .
Theorem 3.4 (Unique expansion)
Each minimal model of has a unique expansion to a model of .
Proof
We write , where is a model of or and is a constant or operator from the signature of , for the interpretation of in . We write , where is a model of or and is a closed term over the signature of , for the interpretation of in .
Let be a minimal model of . Let be a function from the carrier of to the set of all closed terms such that, for each element of the carrier of , . Because is a minimal model of , is a total function. We write , where is an element of the carrier of , for . Let be a function from the set of all closed terms to the set of all closed terms such that, for each closed term , is one of the normal forms that can be reduced to by means of the term rewriting system from the proof of Theorem 3.3.
We start with constructing an expansion of with interpretations of the additional operators of . Let be the expansion of with interpretations of the additional operators of where these interpretations are defined as follows:
[TABLE]
for all from the carrier of .
We proceed with proving that is a model of . By Theorem 3.3, it is sufficient to prove that satisfies axioms SI1–SI8. By its construction, is a minimal algebra and consequently it is sufficient to prove that satisfies all closed substitution instances of SI1–SI8. We use the following three claims to prove this:
- •
for all closed substitution instances of SI1–SI8, ;
- •
for all closed substitution instances of SI1–SI8, ;
- •
for all closed substitution instances of SI1–SI8, .
The first claim follows easily from the definitions of the interpretations of the additional operators of given above. The second claim follows easily from these definitions and the proof of the first claim. Because is Church-Rosser modulo AC (see the proof of Theorem 3.3), we have that is derivable from axioms A1 and A2. From this, the third claim follows immediately. It is an immediate consequence of the three claims that satisfies all closed substitution instances of SI1–SI8.
We still have to prove that is the only expansion of to a model of . We can prove this by contradiction. Assume that is an expansion of to a model of that differs from . Then at least one of the additional operators of has different interpretations in and . By the definitions of the interpretations of the additional operators of in , this means that there exists a closed term such that . Moreover, because because is derivable from the axioms of , . Hence, . Because is a closed term, this contradicts the fact that is an expansion of . ∎
4 Concluding Remarks
We have extended the algebraic theory of processes known as with the form of interleaving that underlies multi-threading as found in contemporary programming languages. We have also established some basic properties of the resulting theory. It remains an open question whether strategic interleaving is definable in an established extension of .
In [21], we extend a minor variant of , known as ϵ, with strategic interleaving and show that the resulting theory can deal with a process-scheduling policy that supports mutual exclusion of critical subprocesses.
Appendix 0.A Structural Operational Semantics of ACP+SI
It is customary to associate transition systems with closed terms of the language of an ACP-like theory about processes by means of structural operational semantics and to use this to construct a model in which closed terms are identified if their associated transition systems are bisimilar. The structural operational semantics of can be found in [5, 13]. The additional transition rules for the strategic interleaving operators and the positional strategic interleaving operators are given in Table 5.
In this table,
- •
indicates that is capable of performing action and then terminating successfully;
- •
indicates that is capable of performing action and then behaving as .
The transition rules for the strategic interleaving operator are similar to the transition rules for the positional strategic interleaving operators, but each transition rule for the strategic interleaving operator has the side-condition .
Appendix 0.B Term Rewriting Systems
In this appendix, basic definitions and results regarding term rewriting systems are collected. This appendix also serves to fix the terminology on term rewriting systems used in the proofs that make use of term rewriting systems.
We assume that a set of constants, a set of operators with fixed arities, and a set of variables have been given; and we consider an arbitrary term rewriting system for terms that can be built from the constants, operators, and variables in these sets.
A rewrite rule is a pair of terms , where is not a variable and each variable occurring in occurs in as well. A term rewriting system is a set of rewrite rules.
A reduction step of is a pair such that for some substitution instance of a rewrite rule of , is a subterm of , and is with replaced by . Here, is called the redex of the reduction step. A reduction of is a pair such that either or there exists a finite sequence , …, of consecutive reduction steps of such that and .
A term is a normal form of if there does not exist a term such that is a reduction step of . A term has a normal form in if there exists a reduction of and is a normal form of . is terminating on term if there does not exist an infinite sequence , , , … of consecutive reduction steps of . is terminating if is terminating on all terms. is confluent if for all reductions and of there exist reductions and of . If is terminating and confluent, then each term has a unique normal form in .
A reduction ordering for is a well-founded ordering on terms that is closed under substitutions and contexts. is terminating if and only if there exists a reduction ordering for such that for each rewrite rule of .
A unifier of two terms and is a substitution such that . A critical pair of is a pair of terms for which there exist rewrite rules and of and a ‘most general unifier’ of and a non-variable subterm of such that and , where is with replaced by .777See e.g. Definition 10 in [20] for the definitions of most general unifier and complete set of unifiers modulo . A critical pair of is convergent if there exist reductions and of . If is terminating, then is confluent if and only if all critical pairs of are convergent.
Henceforth, we consider an arbitrary set of equations between terms.
A reduction step modulo of is a pair such that there exists a reduction step of such that and are derivable from . A reduction modulo of is pair such that either is derivable from or there exists a finite sequence , …, of consecutive reduction steps modulo of such that and .
A term is a normal form modulo of if there does not exist a term such that is a reduction step modulo of . A term has a normal form modulo in if there exists a reduction modulo of and is a normal form modulo of . is terminating modulo on term if there does not exist an infinite sequence , , , … of consecutive reduction steps modulo of . is terminating modulo if is terminating modulo on all terms. is confluent modulo if for all reductions modulo and of there exist reductions modulo and of . If is terminating modulo and confluent modulo , then each term has a unique normal form modulo in .
A reduction ordering for is -compatible if implies for all terms and for which and are derivable from . is terminating modulo if and only if there exists an -compatible reduction ordering for such that for each rewrite rule of .
A unifier modulo of two terms and is a substitution such that is derivable from . A critical pair modulo of is a pair of terms for which there exist rewrite rules and of and a substitution from a ‘complete set of unifiers modulo ’ of and a non-variable subterm of such that and , where is with replaced by .77footnotemark: 7 If is terminating modulo , then is confluent modulo if and only if all critical pairs modulo of are convergent.
An -equality step is a pair such that, for some substitution instance of an equation from , either is a subterm of and is with replaced by or is a subterm of and is with replaced by . An -equality step is a pair such that is a reduction step of or is a reduction step of or is an -equality step. An -equality is a pair such that either or there exists a finite sequence , …, of consecutive -equality steps such that and . is Church-Rosser modulo if for all -equalities there exist reductions modulo and of . If is terminating modulo , then is Church-Rosser modulo if and only if is confluent modulo .
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] America, P., de Bakker, J.W.: Designing equivalent semantic models for process creation. Theoretical Computer Science 60(2), 109–176 (1988)
- 2[2] Baeten, J.C.M., Bergstra, J.A.: Real space process algebra. Formal Aspects of Computing 5(6), 481–529 (1993)
- 3[3] Baeten, J.C.M., Middelburg, C.A.: Process Algebra with Timing. Monographs in Theoretical Computer Science, An EATCS Series, Springer-Verlag, Berlin (2002)
- 4[4] Baeten, J.C.M., Vaandrager, F.W.: An algebra of process creation. Acta Informatica 29(4), 303–334 (1992)
- 5[5] Baeten, J.C.M., Weijland, W.P.: Process Algebra, Cambridge Tracts in Theoretical Computer Science, vol. 18. Cambridge University Press, Cambridge (1990)
- 6[6] Bergstra, J.A.: A process creation mechanism in process algebra. In: Baeten, J.C.M. (ed.) Applications of Process Algebra, Cambridge Tracts in Theoretical Computer Science, vol. 17, pp. 81–88. Cambridge University Press, Cambridge (1990)
- 7[7] Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1–3), 109–137 (1984)
- 8[8] Bergstra, J.A., Middelburg, C.A.: Thread algebra for strategic interleaving. Formal Aspects of Computing 19(4), 445–474 (2007)
