This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Analyzing Hard-Real-Time Programs for Guaranteed Schedulability
August 1991 (vol. 17 no. 8)
pp. 737-750

A set of language-independent schedulability analysis techniques is presented. Utilizing knowledge of implementation- and hardware-dependent information in a table-driven fashion, these techniques provide accurate worst-case time bounds and other schedulability information. A prototype schedulability analyzer has been developed to demonstrate the effectiveness of these techniques. The analyzer consists of a partially language-dependent front-end, targeted at real-time Euclid, a real-time language specifically designed with a set of schedulability analysis provisions built-in, and a language-dependent back-end. The analyzer has been used on a number of realistic real-time programs run on a multiple-microprocessor system. Predicted program performance differs only marginally from the actual performance.

[1] J. T. Martin,Design of Real-Time Computer Systems(Prentice-Hall Series in Automatic Computation), 1967.
[2] C. D. Williams, "The data acquisition, data reduction and control system (DARCS) for the NRCC 2×3m windtunnel," inProc. IEEE 1984 Real-Time Systems Symp., Dec. 1984, pp. 89-94.
[3] P. W. Kelton, "Distributed computing for astronomical data acquisition at McDonald Observatory," inProc. IEEE 1984 Real-Time Systems Symp., Dec. 1984, pp. 83-88.
[4] G. Kaplan, "The X-29: Is it coming or going?,"IEEE Spectrum, pp. 54-60, June 1985.
[5] G. D. Carlow, "Architecture of the space shuttle primary avionics software system,"Commun. ACM, vol. 27, no. 9, pp. 926-936, Sept. 1984.
[6] B. M. Aucoin and R. P. Heller, "Overcurrent and high impedance fault relaying using a microcomputer," inProc. 7th Texas Conf. on Comput. Syst., Nov. 1978, pp. 2.5-2.9.
[7] E. T. Fathi and N. R. Fines, "Real-time data acquisition, processing and distribution for radar applications," inProc. IEEE 1984 Real-Time Systems Symp., Dec. 1984, pp. 95-101.
[8] V. P. Nelson and H. L. Fellows, Jr., "A microcomputer-based controller for an amusement park ride,"IEEE Micro., pp. 13-22, Aug. 1981.
[9] A. D. Stoyenko and E. Kligerman, "Real-time Euclid: a language for reliable real-time systems,"IEEE Trans. Software Eng., vol. SE-12, pp. 940-949, Sept. 1986.
[10] N. Wirth, "The programming language Pascal,"Acta Inform. 1, pp. 35-63, 1971.
[11] R. C. Holt, D. B. Wortman, J. R. Cordy, D. R. Crowe, and J. H. Griggs, "Euclid: a language for producing quality software," inProc. Nat. Comput. Conf.(Chicago), May 1981.
[12] J. R. Cordy and R. C. Holt, "Specification of concurrent Euclid," Comput. Syst. Res. Group, Univ. Toronto, Toronto, ON, Canada, Tech. Rep. CSRG-133, Aug. 1981.
[13] A. D. Stoyenko, "Turing goes real-time ... ," Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, Internal Program. Languages Rep., May 1984.
[14] Series 32000 Instruction Set Reference Manual. Santa Clara, CA: Nat. Semiconductor Corp., June 1984.
[15] A. K. Mok, "The design of real-time programming systems based on process models," inProc. IEEE 1984 Real-Time Systems Symp., Dec. 1984, pp. 5-17.
[16] P. G. Sorenson, "A methodology for real-time system development," Ph.D. thesis, Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, 1974.
[17] A. D. Stoyenko, "Real-time systems: scheduling and structure," M.Sc. thesis, Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, 1984.
[18] D. W. Leinbaugh, "Guaranteed response times in a hard-real-time environment,"IEEE Trans. Software Eng., vol. SE-6, pp. 85-91, Jan. 1980.
[19] A. Stoyenko, "A Real-Time Language with a Schedulability Analyzer," doctoral dissertation, Univ. of Toronto, Computer Systems Research Institute, Tech. Report CSRI-206, Toronto, Dec. 1987.
[20] D. W. Leinbaugh and M.-R. Yamini, "Guaranteed response times in a distributed hard-real-time environment,"IEEE Trans. Software Eng., vol. SE-12, pp. 1139-1144, Dec. 1986.
[21] D. W. Leinbaugh and M.R. Yamini, "Guaranteed response times in a distributed hard-real-time environment," inProc. IEEE 1982 Real-Time Systems Symp., Dec. 1982, pp. 157-169.
[22] C. L. Liu and J. W. Layland, "Scheduling algorithms for multiprogramming in a hard real-time environment,"J. ACM, vol. 20, no. 1, pp. 46-61, Jan. 1973.
[23] A. K. Mok and M. L. Dertouzos, "Multiprocessor scheduling in a hard-real-time environment," inProc. 7th Texas Conf. on Comput. Syst., Nov. 1978, pp. 5.1-5.12.
[24] K. Ramamritham and J. A. Stankovic, "Dynamic task scheduling in distributed hard real-time systems," inProc. IEEE 4th Int. Conf. on Distributed Comput. Syst., May 1984, pp. 96-107.
[25] K. Ramamritham, J. A. Stankovic, and S. Cheng, "Evaluation of a flexible task scheduling algorithm for distributed hard real-time systems,"IEEE Trans. Computers, vol. C-34, pp. 1130-1143, Dec. 1985.
[26] P. G. Sorenson and V. C. Hamacher, "A real-time system design methodology,"INFOR, vol. 13, no. 1, pp. 1-18, Feb. 1975.
[27] T. J. Teixeira, "Static priority interrupt scheduling," inProc. 7th Texas Conf. on Comput. Syst., Nov. 1978, pp. 5.13-5.18.
[28] W. Zhao and K. Ramamritham, "Distributed scheduling using bidding and focused addressing," inProc. IEEE 1985 Real-Time-Systems Symp., Dec. 1985, pp. 103-111.
[29] M. R. Garey and D. S. Johnson, "Complexity results for multiprocessor scheduling under resource constraints,"SIAM J. Comput., vol. 4, no. 4, pp. 397-411, Dec.1975.
[30] J. D. Ullman, "Polynomial complete scheduling problems," inProc. 4th Symp. OS Principles, 1973, pp. 96-101.
[31] E. Kligerman, "A programming environment for real-time systems," M.Sc. thesis, Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, 1987.
[32] C. Ngan, "Imuplementing the real-time Euclid compiler," Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, Student Project Rep., 1986.
[33] J. R. Cordy, R. C. Holt, and D. B. Wortman, "SISL syntax/semantic, language introduction and specification," Comput. Syst. Res. Group, Univ. Toronto, Toronto, ON, Canada, Tech. Rep. CSRG-118, 1980.
[34] R. C. Holt and J. R. Cordy, "The Turing language report," Comput. Syst. Res. Group, Univ. Toronto, Toronto, ON, Canada, Tech. Rep. CSRG-153, 1983.
[35] E. W. Dijkstra, "Cooperating sequential processes," Technol. Univ. Eindhoven, Eindhoven, The Netherlands, Tech. Rep. EWD-123, 1965.
[36] S. A. Thurlow, "Simulation of a real time control system using the real-time Euclid programming language," Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, Student Project Rep., Apr. 1987.
[37] G. Parnis, "Simulation of packet level handshaking in X.25 using the real-time Euclid programming language," Dept. Comput. Sci., Univ. Toronto, Toronto, ON, Canada, Student Project Rep., Apr. 1987; see also,Advances in Power Station Construction. Gloucester, UK: Pergamon, 1986, pp. 313-328.
[38] A. M. Rybezynski and D. F. Weir, "DATAPAC X.25 Service Charactaristics," Comput. Commun. Group, TCTS, Ottawa, ON, Canada, 1977; see also, "DATAPAC standard network access protocol specifications," Comput. Commun. Group, TCTS, Ottawa, ON, Canada, 1976; "Specifications for the IBM mathematical FORmula TRANslating system, FORTRAN," IBM Corp., New York, Nov. 10, 1954.
[39] J. D. Ichbiah,Reference Manual for the Ada Programming Language. Washington, DC: US Dept. Defense, 1980.
[40] C. A. R. Hoare, "Monitors: an operating system structuring concept,"Commun. ACM, vol. 17, no. 10, pp. 549-557, Oct. 1974.
[41] W. A. Halang, "On methods for direct memory access without cycle stealing,"Microprocess. Microprogram., vol. 17, no. 5, May 1986.
[42] W. A. Halang, "Implications on suitable multiprocessor structures and virtual storage management when applying a feasible scheduling algorithm,"Hard Real-Time Environments, Software-Practice and Experience, vol. 16, no. 8, pp. 761-769, 1986.
[43] G. Chroust, "Orthogonal extensions in microprogrammed multiprocessor systems--a chance for increased firmware usage,"EUROMICRO J., vol. 6, no. 2, pp. 104-110, 1980.
[44] R. Lauber,Prozessautomatisierung I. Berlin-Heidelberg-New York: Springer-Verlag, 1976; see also,KE-Handbuch. Munich: Periphere Computer Systeme GmbH, 1981.
[45] G. Schrott, "Ein Zuteilungsmodell fuer Multiprozessor-Echtzeitsysteme," Ph.D. thesis, Technol. Univ., Munich, 1986.
[46] T. Tempelmeier, "A supplementary processor for operating system functions," presented at the 1979 IFAC/IFIP Workshop on Real Time Programming, Smolenice, 18-20 June 1979.
[47] T. Tempelmeier, "Operating system processors in real-time systems--performance analysis and measurement,"Comput. Perform., vol. 5, no. 2, pp. 121-127, June 1984.
[48] K. Schleisiek-Kern, private communication, DELTA, Hamburg, 1990.
[49] DIN 44300: Informationsverarbeitung, Nr. 161 (Realzeitbetrieb), Mar. 1972.
[50] DIN 66253: Programmiersprache Pearl, Teil 1 Basic Pearl, Vornorm, July 1981; Teil 2 Full Pearl, Norm, Oct. 1982.
[51] J. A. Stankovic, "Misconceptions about real-time computing: a serious problem for next generation systems,"IEEE Computer, vol. 21, no. 10, pp. 10-19, 1988.

Index Terms:
language-independent schedulability analysis; hardware-dependent information; table-driven fashion; worst-case time bounds; prototype schedulability analyzer; partially language-dependent front-end; real-time Euclid; real-time language; schedulability analysis provisions; language-dependent back-end; realistic real-time programs; multiple-microprocessor system; program performance; high level languages; program verification; real-time systems; scheduling; systems analysis
Citation:
A.D. Stoyenko, V.C. Hamacher, R.C. Holt, "Analyzing Hard-Real-Time Programs for Guaranteed Schedulability," IEEE Transactions on Software Engineering, vol. 17, no. 8, pp. 737-750, Aug. 1991, doi:10.1109/32.83911
Usage of this product signifies your acceptance of the Terms of Use.