A methodology for the development of reliable synchronization software

Mark S. Laventhal · 2005

The central idea of this paper is that sofware to accomplish inter-process synchronization is complex, and fundamentally different from other kinds of software. For this reason, a new methodology for designing and implementing synchronization-related software is required. The paper describes such a methodology, based on the concept of data abstractions, which are used as the medium of communication between concurrent processes. A specification language is presented for expressing synchronization properties of data abstractions independent of other data related properties. This simple but flexible language is used as a basis for automatically constructing synchronization code to implement the specified properties. Also discussed is the use of specifications in proving properties of programs that use the abstract data objects, including the absence of deadlock and starvation.

Read the paper · More papers on PaperTik