C.2 Processes


C.2 Processes

In the following, E ranges over FSP process expressions, Q ranges over process identifiers, and A, B range over sets of observable actions (i.e. A image from book L and B image from book L).

Process Definition:

 Q = E means that lts(Q) =def lts(E).

Process Constants:

 lts(END) = <{e}, {τ}, {}, e> where e ES lts(STOP) = <{s}, {τ}, {}, s> lts(ERROR) = Π 

Prefix ->:

If lts(E) = < S, A, Δ, q > and E is not ERROR

 then lts(a -> E) = < S  {p}, A  {a}, Δ  {(p, a, q)}, p >, where p image from book S. lts(a -> ERROR) = < {p, π}, {a}, {(p, a, π)}, p >, where p  π.

Choice | :

 Let 1 ≤ i  n, and lts(Ei) = < Si, Ai, Δi, qi >, then lts(a1 -> E1 | ... | an -> En)          = < S  {p}, A  {a1 ...an}, Δ  {(p, a1, q1)...(p, an, qn)}, p >, where image from book. If Ei is ERROR then Ai = {}.

Alphabet Extension + :

 If lts(E) =< S, A, Δ, q >, then lts(E + B) =< S, A  B, Δ, q >. 

Recursion:

  • We represent the FSP process defined by the recursive equation X = E as rec(X = E), where X is a variable in E. For example, the process defined by the recursive definition X = (a -> X) is represented as rec(X =(a -> X)).

  • We use E[X rec(X = E)] to denote the FSP expression that is obtained by substituting rec(X = E) for X in E. Then lts(rec(X = E)) is the smallest LTS that satisfies the following rule:

    image from book

  • where “~” is strong semantic equivalence defined in section C.6.1. Mutually recursive equations can be reduced to the simple form described above. For local processes, all occurrences of process variables are guarded by an action prefix and consequently, recursive definitions are guaranteed to have a fixed-point solution.

Sequential Composition:

 If lts(P) = < Sp, Ap, Δp, qp > is terminating with end state ep  ES and lts(E) = < Se, Ae, Δe, qe > then lts(P; E) = < Sp  Se, Ap  Ae, Δp  Δe, qp > where qe = ep.




Concurrency(c) State Models & Java Programs
Concurrency: State Models and Java Programs
ISBN: 0470093552
EAN: 2147483647
Year: 2004
Pages: 162

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net