Montreal, Canada
June 16, 2002
June 16, 2002
June 19, 2002
2153-5965
11
7.193.1 - 7.193.11
10.18260/1-2--10445
https://peer.asee.org/10445
447
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}@cis.ksu.edu * 2 Department of Electrical and Computer Engineering, KSU, lenhert@ksu.edu * 3 Department of Biological and Agricultural Engineering, KSU, zhangn@ksu.edu * 4 The IDEA Center, 211 S. Seth Child Road, Manhattan, Kansas, agross@ksu.edu*
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.
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. 10.18260/1-2--10445
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