Fairness
Parallel program design: a foundation
Parallel program design: a foundation
Programming from specifications
Programming from specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
On a method of multiprogramming
On a method of multiprogramming
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
A discipline of multiprogramming: programming theory for distributed applications
A discipline of multiprogramming: programming theory for distributed applications
Selected writings on computing: a personal perspective
Selected writings on computing: a personal perspective
A Discipline of Programming
Stepwise Refinement of Action Systems
Proceedings of the International Conference on Mathematics of Program Construction, 375th Anniversary of the Groningen University
Formalising progress properties of non-blocking programs
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Progress in deriving concurrent programs: emphasizing the role of stable guards
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Hi-index | 0.00 |
Feijen and van Gasteren have shown how to use the theory of Owicki and Gries to design concurrent programs, however, the lack of a formal theory of progress has meant that these designs are driven entirely by safety requirements. Proof of progress requirements are made post-hoc to the derivation and are operational in nature. In this paper, we describe the use of an extended theory of Owicki and Gries in concurrent program design. The extended theory incorporates a logic of progress, which provides opportunity to develop a program in a manner that gives proper consideration to progress requirements. Dekker's algorithm for two process mutual exclusion is chosen to illustrate the use of the extended theory.