Asee peer logo

An Invariant Pattern Based Approach To Develop Concurrent Programs

Download Paper |


2002 Annual Conference


Montreal, Canada

Publication Date

June 16, 2002

Start Date

June 16, 2002

End Date

June 19, 2002



Conference Session

Computers in Education Poster Session

Page Count


Page Numbers

7.193.1 - 7.193.11

Permanent URL

Download Count


Request a correction

Paper Authors

author page

Masaaki Mizuno

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Main Menu

Session 1520

An Invariant Pattern-based Approach to Develop Concurrent Programs

M. Mizuno 1, G. Singh 1, M.L. Neilsen 1, D.H. Lenhert 2, N. Zhang 3, and A.B. Gross4 1 Department of Computing and Information Sciences, Kansas State University (KSU) {masaaki,singh,neilsen} * 2 Department of Electrical and Computer Engineering, KSU, * 3 Department of Biological and Agricultural Engineering, KSU, * 4 The IDEA Center, 211 S. Seth Child Road, Manhattan, Kansas,*


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.

1 Introduction

In recent years, concurrent programming has become the norm rather than the exception in many applications. The advantage of concurrent programming is that an individual thread (or process) is written as a sequential program focusing only on its sequential activities, and the coordination among activities by different threads is localized to a small amount of synchronization code.

* This work was supported in part by the National Science Foundation under NSF-CRCD Grant #9980321 and DARPA Order K203/AFRL #F33615-00-C-3044.

Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition Copyright © 2002, American Society for Engineering Education

Main Menu

Mizuno, M. (2002, June), An Invariant Pattern Based Approach To Develop Concurrent Programs Paper presented at 2002 Annual Conference, Montreal, Canada.

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2002 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015