Abstract

We extend process algebra with guards, comparable to the guards in guarded commands or conditions in common programming constructs. The extended language is provided with an operational semantics based on transitions between pairs of a process and a data-state. The data-states are given by a data environment that also defines in which data-states guards hold and how actions (non-deterministically) transform these states. The operational semantics is studied modulo strong bisimulation equivalence. For basic process algebra (without operators for parallelism) we present a small axiom system that is complete with respect to a general class of data environments. In case a data environment S is known, we add three axioms to this system, which is then again complete, provided weakest preconditions are expressible and S is sufficiently deterministic.Then we study process algebra with parallelism and guards. A two phase-calculus is provided that makes it possible to prove identities between parallel processes. Also this calculus is complete. In the last section we show that partial correctness formulas can easily be expressed in this setting and we use process algebra with guards to prove the soundness of Hoare logic for linear processes by translating proofs in Hoare logic into proofs in process algebra.KeywordsData EnvironmentParallel OperatorOperational SemanticProof SystemAtomic ActionThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call