Results 1 -
2 of
2
Proving the Correctness of Multiprocess Programs
, 1977
"... The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs. Individual processes are represented by ordinary flowcharts, and no special synchronization mechanisms are assumed, so the method can be applied to a large class of mul ..."
Abstract
-
Cited by 274 (20 self)
- Add to MetaCart
The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs. Individual processes are represented by ordinary flowcharts, and no special synchronization mechanisms are assumed, so the method can be applied to a large class of multiprocess programs. A correctness proof can be designed together with the program by a hierarchical process of stepwise refinement, making the method practical for larger programs. The resulting proofs tend to be natural formalizations of the informal proofs that are now used.
Concurrent Reading
"... The problem of asynchronous processes reading shared data while the data are being modified by another process is considered. This problem differs from the standard readers/writers problem in that concurrent reading while writing is allowed. The model used here strongly limits the use and size of th ..."
Abstract
- Add to MetaCart
The problem of asynchronous processes reading shared data while the data are being modified by another process is considered. This problem differs from the standard readers/writers problem in that concurrent reading while writing is allowed. The model used here strongly limits the use and size of the shared variables. If multiple copies of the shared data are allowed, then simple, efficient solutions are found. In general, solutions which are more time efficient because they avoid waiting are seen to require more copies of the shared data. The number of copies used by all algorithms is shown to be the best possible. The main solution demonstrates that any system of processes which uses large distributed variables can be strongly simulated by a system which uses only binary distributed variables.

