Concurrent Kleene algebra with tests and branching automata
Journal of Logical and Algebraic Methods in Programming
Highlights • Guarded strings are generalized to guarded series-parallel strings giving a concrete language model for concurrent Kleene algebra with tests that satisfies the weak exchange law. • We define a new simpler type of deterministic and nondeterministic branching automata and prove that the fork-regular languages and the series-rational languages coincide. • To express basic concurrent algorithms, we define concurrent deterministic flowchart schemes and relate them to concurrent Kleene
... gebras with tests. • A purely relational CKAT model is defined based on binary relations over a positive sepration algebra. Abstract We introduce concurrent Kleene algebra with tests (CKAT) as a combination of Kleene algebra with tests (KAT) of Kozen and Smith with concurrent Kleene algebras (CKA), introduced by Hoare, Möller, Struth and Wehrman. CKAT provides a relatively simple algebraic model for reasoning about semantics of concurrent programs. We generalize guarded strings to guarded series-parallel strings, or gsp-strings, to give a concrete language model for CKAT. Combining nondeterministic guarded automata of Kozen with branching automata of Lodaya and Weil one obtains a model for processing gsp-strings in parallel. To ensure that the model satisfies the weak exchange law (x||y)(z||w) ≤ (xz)||(yw) of CKA, we make use of the subsumption order of Gischer on the gsp-strings. We also define deterministic branching automata and investigate their relation to (nondeterministic) branching automata. To express basic concurrent algorithms, we define concurrent deterministic flowchart schemas and relate them to branching automata and to concurrent Kleene algebras with tests.