A functional programming approach to the specification and verification of concurrent systems

8Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free