Manifolds: a very high-level conceptual framework of interprocess synchronization and communication
CSC '87 Proceedings of the 15th annual conference on Computer Science
Experience with processes and monitors in Mesa
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
Reference Manual for the ADA Programming Language
Reference Manual for the ADA Programming Language
The architecture of concurrent programs
The architecture of concurrent programs
Hi-index | 0.00 |
Interprocess interactions in concurrent programs serve two major functions: conditional exclusion and scheduling. This article presents high-level techniques for specification of scheduling policies, and for proving the starvation-free property of scheduling policies after they are formally specified. Specification is based on a scheduler model that parallels the typical method of implementing a scheduler in high-level concurrent languages: as an abstract data object superimposed with the function to enforce the synchronization constraints that are required by a scheduling policy. A formal proof of the starvation-free property is based strictly on the model and a formal specification of a policy only, without using an intuitive, informal description of the policy itself. In general, the potential of a scheduling policy to cause starvation can not be determined by a posteriori testing. Therefore, an a priori formal proof to ensure that a scheduling policy is starvation-free is particularly important. Examples of specification and proof of fairly complex scheduling policies are given.