An invariant pattern-based approach to develop concurrent programs

M. Mizuno, G. Singh, M. L. Neilsen, D. H. Lenhert, N. Zhang, A. B. Gross

Research output: Contribution to journalConference article

Abstract

In recent years, the importance of concurrent programming has increased. However, many programmers are not appropriately trained to write correct and efficient concurrent programs. The techniques that most Operating Systems (OS) textbooks teach are ad-hoc, and such ad-hoc techniques are far too error-prone for solving complex synchronization problems. The global invariant approach developed by G. Andrews is much more formal and structured, and we have been teaching this approach since 1992 at Kansas State University. One possible drawback of the invariant approach is the difficulty to identify an appropriate invariant for a given synchronization requirement. To cope with this problem, we have developed a set of useful synchronization patterns and their solution invariants. Using the patterns, we can solve a wide-variety of synchronization problems found in many advanced OS textbooks. In Fall 2001, we successfully taught our pattern-based approach in our graduate-level OS course. In this paper, we will present our methodology and report qualitative and quantitative evaluation of the methodology by students in the classroom setting.

Original languageEnglish (US)
Pages (from-to)9579-9589
Number of pages11
JournalASEE Annual Conference Proceedings
StatePublished - Dec 1 2002
Externally publishedYes
Event2002 ASEE Annual Conference and Exposition: Vive L'ingenieur - Montreal, Que., Canada
Duration: Jun 16 2002Jun 19 2002

ASJC Scopus subject areas

  • Engineering(all)

Fingerprint Dive into the research topics of 'An invariant pattern-based approach to develop concurrent programs'. Together they form a unique fingerprint.

  • Cite this

    Mizuno, M., Singh, G., Neilsen, M. L., Lenhert, D. H., Zhang, N., & Gross, A. B. (2002). An invariant pattern-based approach to develop concurrent programs. ASEE Annual Conference Proceedings, 9579-9589.