Abstract
Networks of communicating processes can be viewed as networks of stream transformers and programmed in a lazy functional language. Thus the correctness of concurrent systems can be reduced to the correctness of functional programs. In this paper such correctness is proved formally in the μ-calculus extended with recursion equations for functional programs. The μ-calculus is chosen since it allows the definition of properties by least fixed points (induction) as well as by greatest fixed points (coinduction), and since greatest fixed points are useful for formalising properties, such as fairness, of infinitely proceeding programs. Moreover, non-deterministic processes are represented as incompletely specified deterministic processes, that is, as properties of stream transformers. This method is illustrated by proving the correctness of the alternating bit protocol. © 1989 BCS.
Author supplied keywords
Cite
CITATION STYLE
Dybjer, P., & Sander, H. P. (1989). A functional programming approach to the specification and verification of concurrent systems. Formal Aspects of Computing, 1(1), 303–319. https://doi.org/10.1007/BF01887211
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.