CC-modula: a modula-2 tool to teach concurrent programming
ACM SIGCSE Bulletin
Principles of concurrent and distributed programming
Principles of concurrent and distributed programming
Concurrent programming: principles and practice
Concurrent programming: principles and practice
Monitors: an operating system structuring concept
Communications of the ACM
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Recursion in gradual steps (is recursion really that difficult?)
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Hi-index | 0.00 |
Concurrent programming is one of the most difficult programming paradigms; in consequence, innovative methods and practical aids are necessary for a successful instruction. This paper presents a methodology for monitor development by joint use of stepwise refinement and monitor schemes. A monitor is developed in three stages, each one successively dealing with a different part of its specification, namely data abstraction specification, security properties and liveness/priority properties. Guidance is also obtained from some schemes for different parts of a monitor. The methodology is applied to two well known problems, the producer-consumer problem and the dining philosophers problem.