Dijkstra's weakest precondition calculus is extended to capture temporal ordering in concurrent systems. This is done by defining temporal ordering predicates that is used to describe necessary conditions. A new logical connective, viz., "implies in the past" is also defined to describe the cause and effect relationships. Ordering mechanism used in… (More)
Correctness issues in two process mutual exclusion algorithms are investigated. A new theorem is proposed and proved that describes the key concept involved in such algorithms. For the purpose of proving the techniques developed in  are used. Result of this theorem is applied to two different algorithms of which one could be proved incorrect. Technique… (More)
Dijkstra's weakest precondition calculus is used to model the well known Dining Philosophers problem. Process and state definitions are done in such a manner that only the deadlock property of the system is highlighted. Care has been taken to choose the proper details such that it is not too elaborate to obscure the requirements also not be too abstract to… (More)
Weakest precondition calculus is used to specify a system implemented by a cyclic interconnection of sequential processes. From this specification a predicate is derived that describes the deadlock freedom property of the system. Invariance of the predicate is proved from the specification.