System design with Ada
The mutual exclusion problem: part I—a theory of interprocess communication
Journal of the ACM (JACM)
The mutual exclusion problem: partII—statement and solutions
Journal of the ACM (JACM)
Operation systems: advanced concepts
Operation systems: advanced concepts
Software—Practice & Experience
ACM Computing Surveys (CSUR)
Communications of the ACM
Reference Manual for the ADA Programming Language
Reference Manual for the ADA Programming Language
Verifying Concurrent Processes Using Temporal Logic
Verifying Concurrent Processes Using Temporal Logic
Operating Systems
Comments on 'Critical Races in Ada Programs'
IEEE Transactions on Software Engineering
Starvation and Critical Race Analyzers for Ada
IEEE Transactions on Software Engineering
Prioritized asynchronism in Ada 9X
IRTAW '90 Proceedings of the fourth international workshop on Real-time Ada issues
What are race conditions?: Some issues and formalizations
ACM Letters on Programming Languages and Systems (LOPLAS)
Analysis of timing hazards in Ada programs
CSC '93 Proceedings of the 1993 ACM conference on Computer science
Inter-entry selection: Non-determinism and explicit control mechanisms
Computer Languages
Hi-index | 0.00 |
It is noted that critical races in concurrent Ada programs are an insidious source of system errors, and that the Ada language does not have concurrency features to ease the development of critical race-free programs. The authors illustrate this using the CRF language, which extends the Ada language by the addition of a powerful caller selection mechanism. It is this facility that implements a discriminatory mutual exclusion (dimutex) construct, an important feature for building less critical race-prone programs. The Mlog language supports the CRF caller selection mechanisms; thus it is convenient as a rapid-prototyping platform. A design method for systematically converting CRF designs into Ada designs is presented. The method uses a mixture of mechanical and creative transformations that are guaranteed not to introduce critical races. D. Helmbold and D. Luckham's (1985) gas-station example is used to illustrate the various approaches to applying the design method.