Fairness
Parallel program design: a foundation
Parallel program design: a foundation
Temporal predicate transforms and fair termination
Acta Informatica
ACM Transactions on Programming Languages and Systems (TOPLAS)
Adding fair choice to Dijkstra's calculus
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Information Processing Letters - Special issue on the calculational method
On a method of multiprogramming
On a method of multiprogramming
A note on reliable full-duplex transmission over half-duplex links
Communications of the ACM
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
On Guarded Commands with Fair Choice
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Compositional action system derivation using enforced properties
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Hi-index | 0.00 |
In the analysis and design of concurrent systems, it can be useful to assume fairness among processes. Action systems model a process by a set of atomic actions. Typically, actions are combined by nondeterministic choice, which models minimal progress among processes rather than fairness. Here we define an operator for the fair choice among a set of actions. A refinement rule for action systems with fair choice is derived and applied to the development of the alternating bit protocol. The novelty is the algebraic style in which the fair choice operator is defined and in which formal reasoning is carried out; it avoids an appeal to the operational understanding of fairness.