|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| G.M. Karam, C.M. Stanczyk, G.W. Bond, "Critical Races in Ada Programs," IEEE Transactions on Software Engineering, vol. 15, no. 11, pp. 1471-1480, November, 1989. | |||
| BibTex | x | ||
| @article{ 10.1109/32.41338, author = {G.M. Karam and C.M. Stanczyk and G.W. Bond}, title = {Critical Races in Ada Programs}, journal ={IEEE Transactions on Software Engineering}, volume = {15}, number = {11}, issn = {0098-5589}, year = {1989}, pages = {1471-1480}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.41338}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Critical Races in Ada Programs IS - 11 SN - 0098-5589 SP1471 EP1480 EPD - 1471-1480 A1 - G.M. Karam, A1 - C.M. Stanczyk, A1 - G.W. Bond, PY - 1989 KW - critical races; concurrent Ada programs; system errors; Ada language; CRF language; caller selection mechanism; discriminatory mutual exclusion; dimutex; MLog language; rapid-prototyping; gas-station example; Ada; parallel programming VL - 15 JA - IEEE Transactions on Software Engineering ER - | |||
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.
[1] R. J. A. Buhr,System Design with Ada. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[2] E. W. Dijkstra, "Hierarchical ordering of sequential processes,"Acta Inform., vol. 1, no. 2, pp. 115-138, Oct. 1971.
[3] N. D. Gammage, R. F. Kamel, and L. M. Casey, "Remote rendezvous,"Software--Practice and Experience, vol. 17, no. 10, pp. 741- 755, Oct. 1987.
[4] W. M. Gentleman, "Message passing between sequential processes: The reply primitive and the administrator concept,"Software--Practice and Experience, vol. 11, pp. 435-466, 1981.
[5] B. T. Hailpern,Verifying Concurrent Processes Using Temporal Logic(Lecture Notes in Computer Science no. 129). New York: Springer-Verlag, 1982.
[6] D. Helmbold and D. Luckham, "Debugging Ada tasking programs,"IEEE Software, vol. 2, no. 2, pp. 47-57, Mar. 1985.
[7] G. M. Karam, "MLog: A language for prototyping concurrent systems," Dep. Syst. Comput. Eng., Carleton Univ., Ottawa, Ont., Canada, Tech. Rep. TR CU-SCE-88-3, Nov. 1988.
[8] G. M. Karam and R. J. A. Buhr, "Starvation and critical race analyzers for ADA," Dep. Syst. Comput. Eng., Carleton Univ., Ottawa, Ont., Canada, Tech. Rep. CU-SCE-87-8, Aug. 1987.
[9] R. Kowalski, "Algorithm = Logic + Control,"Comm. ACM, Vol. 22, No. 7, July 1979, pp. 424-436.
[10] L. Lamport, "The mutual exclusion problem: Part I--A theory of interprocess communication,"J. ACM, vol. 33, no. 2, pp. 313-326, 1986.
[11] L. Lamport, "The mutual exclusion problem: Part II--Statement and solutions,"J. ACM, vol. 33, no. 2, pp. 327-348, Apr. 1986.
[12] S. E. Madnick and J. J. Donovan,Operating Systems. New York: McGraw-Hill, 1974.
[13] M. Maekawa, A. E. Oldehoeft, and R. R. Oldehoeft,Operating Systems: Advanced Concepts. Menlo Park, CA: Benjamin/Cummings, 1987.
[14] U.S. Dep. Defense,Reference Manual for the Ada Programming Language, MIL-STD- 1815a, 1983.
[15] J. L. Peterson, "Petri nets,"ACM Comput. Surveys, vol. 9, no. 3, pp. 223-252, Sept. 1977.

