Abstract
Owing to the fast growing need for better means of building real-time systems, a number of representative languages used in real-time programming is surveyed. The evaluation focuses on seven languages which possess explicit real-time features. Based on a categorization of the latter, the seven languages are then compared with respect to their real-time capabilities. The strong points and the limitations of Ada and PEARL, the only high-level real-time languages readily applicable in industrial control environments, are covered in more detail. The evaluation reveals that none of the languages actually used in industry is genuinely real-time. Therefore, a number of new features is suggested for incorporation into existing or future languages and their run-time environments. These proposals are meant to advance the inadequate state of affairs, and also to reignite the discussion of this topic in the real-time community.
Similar content being viewed by others
References
Preliminary Ada Reference Manual. And Ichbiah, J.D. et al. 1979. Rationale for the Design of the Ada Programming Language.ACM SIGPLAN Notices, 14, (6 Parts A and B).
Ada Reference Manual (July 1980). In Ledgard H. 1981.Ada—An Introduction. New York-Heidelberg-Berlin: Springer-Verlag.
The Programming Language Ada Reference Manual. American National Standards Institute, Inc., ANSI/MIL-STD-1815A-1983.Lecture Notes in Computer Science, 155, Berlin-Heidelberg-New York-Tokyo: Springer-Verlag 1983.
Ammann, U. 1980. Vergleich einiger Konzepte moderner Echtzeitsprachen. 6 Fachtagung der GI über Programmiersprachen und Programmentwicklung, Darmstadt 1980.Informatik-Fachberichte, 25, pp. 1–18, Berlin-Heidelberg-New York: Springer-Verlag 1980.
ANSI/IEEE Standard 716-1985: C/ATLAS Test Language. Washington, D.C.: The Institute of Electrical and Electronics Engineers, Inc. 1985.
Baker, T. 1987. Implementing Timing Guarantees in Ada.Proc. 4th IEEE Workshop on Real-Time Operating Systems, Cambridge, MA.
Barnes, J.G.P. 1976.RTL/2 Design and Philosophy, London: Heyden.
Barnes, R. 1979. A Working Definition Of The Proposed Extensions For PL/1 Real-Time Applications.ACM SIGPLAN Notices, 14, pp. 77–99.
Berry, G., Moisan, S. and Rigault, J.-P. 1983. Esterel: Towards a Synchronous and Semantically Sound High-Level Language for Real-Time Applications.Proc. IEEE Real-Time Systems Symposium.
Berry, G., Couronné, P. and Gonthier, G. 1988. Synchronous Programming of Reactive Systems: An Introduction to Esterel. In Fuchi, K. and Nivat, M. (eds.),Programming of Future Generation Computers, Amsterdam: Elsevier Science, pp. 35–55.
Berry, G. 1989. Real Time Programming: Special Purpose or General Purpose Languages.Proc. 11th IFIP World Computer Congress, San Francisco.
Brinch Hansen, P. 1975. The Programming Language Concurrent Pascal.IEEE Transactions on Software Engineering, 1, pp. 199–207.
Bull, G. and Lewis, A. 1983. Real-Time BASIC.SOFTWARE—Practice and Experience, 13 pp. 1075–1092.
Burns, A. and Wellings, A. 1989.Real-Time Systems and Their Programming Languages, Wokingham: Addison-Wesley.
Caspi, P., Halbwachs, N., Pilaud, D. and Plaice, J.A. 1987. Lustre—a declarative language for programming synchronous systems.Proc. 14th Annual Symposium on Principles of Programming Languages, Munich.
Castor, V.L. 1989. Letter Initiating the Ada revision process.ACM Ada Letters, IX, p. 12.
CCITT High Level Language (CHILL) Recommendation Z.200. 1980. Geneva: CCITT.
Dasarathy, B. 1985. Timing Constraints of Real-Time Systems: Constructs for Expressing Them, Methods of Validating Them.IEEE Transaction on Software Engineering, 11, pp. 80–86.
Davis, N.W., et al. 1989. Practical Experiences of Ada and Object Oriented Design in Real-Time Distributed Systems. In Alvarez, A. (ed.)Ada: the design choice.Proc. Ada-Europe International Conference, Madrid, June 1989, Cambridge: Cambridge University Press, pp. 59–79.
DIN 44300. 1985.Informationsverarbeitung, Berlin: Beuth-Verlag.
DIN 66253. 1981/1982.Programmiersprache PEARL, Teil 1 Basic PEARL, 1981; Teil 2 Full PEARL, 1982, Berlin: Beuth-Verlag.
DIN 66253. 1989. Teil 3:Programmiersprache PEARL—Mehrrechner-PEARL, Berlin: Beuth-Verlag.
Elrad, T. 1989. Comprehensive Race Control: A Versatile Scheduling Mechanism for Real-Time Applications. In Alvarez, A. (ed.)Ada: the design choice.Proc. Ada-Europe International Conference, Madrid, June 1989, Cambridge: Cambridge University Press, pp. 129–136.
Spur, G., Krause, F.-L. and Sidarous, L. 1984. Development of APT and EXAPT. In Rembold, U. and Dillmann, R. (eds.),Methods and tools for computer-integrated manufacturing, pp. 60–67.Lecture Notes in Computer Science 168. Berlin-Heidelberg-New York-Tokyo: Springer-Verlag.
Glass, R.L. 1980. Real-Time: The “Lost World” of Software Debugging and Testing.Communications of the ACM, 23 pp. 264–271.
Gligor, V. and Luckenbaugh, G. 1983. An Assessment of the Real-Time Requirements for Programming Environments and Languages.Proc. IEEE Real-Time Systems Symposium.
Halang, W.A. 1986. Implications on Suitable Multiprocessor Structures and Virtual Storage Management when Applying a Feasible Scheduling Algorithm in Hard Real-Time Environments.SOFTWARE—Practice and Experience, 16, pp. 761–769.
Henn, R. 1975. Deterministische Modelle für die Prozessorzuteilung in einer harten Realzeit-Umgebung. Ph.D. Thesis, Technical University Munich.
Henn, R. 1976. Zeitgerechte Prozessorzuteilung in einer harten Realzeit-Umgebung.GI—6. Jahrestagung. Informatik-Fachberichte 5, Berlin-Heidelberg: Springer-Verlag, pp. 343–359.
Henn, R., 1977. Ein antwortzeitgesteuertes Unterbrechungswerk—Auswirkungen auf Betriebssystem und Programmstruktur.Proc. GMR-GI-GfK Fachtagung Prozessrechner 1977, Informatik-Fachberichte 7, Berlin-Heidelberg-New York: Springer-Verlag, pp. 345–356.
Henn, R. 1978. Antwortzeitgesteuerte Prozessorzuteilung unter strengen Zeitbedingungen.Computing, 19, pp. 209–220.
Henn, R. 1989. Feasible Processor Allocation in a Hard-Real-Time Environment.J. of Real-Time Systems, 1, pp. 77–93.
IECCA. 1970.IECCA Official Definition of CORAL 66, London: Her Majesty's Stationery Office.
INMOS Ltd. 1984.The Occam Programming Manual. Englewood Cliffs, NJ: Prentice Hall.
INMOS Ltd. 1988.Occam2 Reference Manual. Englewood Cliffs, NJ: Prentice Hall.
International Electrotechnical Commission, Technical Committee 65. 1988. Industrial Process Measurement and Control, Subcommittee 65A: System Considerations, Working Group 6: Discontinuous Process Control, Working Draft “Standards for Programmable Controllers,” Part 3: “Programming Languages,” IEC 65A (Secretariat) 90-I.
International Workshops on Real-Time Ada Issues. 1988; 1990. Proc. of 2nd workshop inACM Ada Letters VIII, 7, Proc. of 3rd workshop inACM Ada Letters X, 4.
Jahanian, F. and Mok, A.K. 1990. Modechart: A Specification Language for Real-Time Systems. To appear inIEEE Transactions on Software Engineering.
Kaplan, G. 1985. The X-29: Is It Coming or Going?IEEE Spectrum, pp. 54–60.
Kappatsch, A. 1977.Full PEARL Language Description. PDV-Bericht KFK-PDV 130, Karlsruhe: GfK.
van Katwijk, J. and Toetnel, H. 1989. Language Extensions to Allow Rapid Mode Shifting in the Ada Programming Language. In Alvarez, A. (ed.)Ada: the design choice. Proc. Ada-Europe International Conference, Madrid, Cambridge: Cambridge University Press, pp. 26–36.
Kneis, W. (ed.). 1981. Draft Standard on Industrial Real-Time FORTRAN. International Purdue Workshop on Industrial Computer Systems.ACM SIGPLAN Notices, 16, pp. 45–60.
Lauber, R. 1989.Prozessautomatisierung 1. Berlin-Heidelberg-New York: Springer-Verlag.
Liu, C.L. and Layland, J.W. 1973. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment.J. of the ACM, 20, pp. 46–61.
LTR Reference Manual. Velizy: Compagnie d'informatique militaire, spatiale et aeronautique 1979.
MacLaren, L. 1980. Evolving Toward Ada in Real-Time Systems.ACM SIGPLAN Notices, 15, pp. 146–155.
Di Maio, A. et al. 1989. DRAGOON: An Ada-Based Object-Oriented Language for Concurrent, Real-Time, Distributed Systems. In Alvarez, A. (ed.)Ada: the design choice. Proc. Ada-Europe International Conference, Madrid, Cambridge: Cambridge University Press, pp. 39–48.
Nägeli, H.H. and Gorrengourt, A.K. 1979.Programming in PORTAL: An Introduction. Zug: LGZ Landis and Gyr Zug Corporation.
Newbold, P.M. et al. 1974. HAL/S Language Specification. Intermetrics Inc., Report No. IR-61-5.
Pickett, M.S. 1979. ILIAD Reference Manual. Computer Science Department, General Motors Research Laboratories, Warren, MI, Research Publication GMR-2015B.
Roessler, R. and Schenk, K. (eds.). 1975. A Comparison of the Properties of the Programming Languages ALGOL 68, CAMAC-IML, CORAL 66, PAS 1, PEARL, PL/1, PROCOL, RTL/2 in Relation to Real-Time Programming. International Purdue Workshop on Industrial Computer Systems. Physics Institute of the University of Erlangen-Nuremberg.
Roessler, R. 1979. Betriebssystemstrategien zur Bewältigung von Zeitproblemen in der Prozessautomatisierung. Ph.D. Thesis, University of Stuttgart.
Schabernack, J. and Schütte, A. 1989. Occam2 und Ada. Eine Gegenüberstellung.Informatik-Spektrum, 12 pp. 3–18.
Schwald, A. and Baumann, R. 1977. PEARL im Vergleich mit anderen Echtzeitsprachen.Proc. Aussprachetag PEARL. PDV-Bericht KFK-PDV 110. Karlsruhe: GfK.
Sha, L. and Goodenough, J.B. 1989. Real-Time Scheduling Theory and Ada. Technical Report CMU-SEI-89-TR-14, ESD-TR-89-22, Software Engineering Institute, Carnegie-Mellon University.
Sorenson, P. 1974. A Methodology for Real-Time System Development. Ph.D. Thesis, Department of Computer Science, University of Toronto.
Stankovic, J.A. 1988. Misconceptions About Real-Time Computing: A Serious Problem for Next Generation Systems.IEEE Computer, 21, pp. 10–19.
Stoyenko, A. 1984. Real-Time Systems: Scheduling and Structure. M.Sc. Thesis, Department of Computer Science, University of Toronto.
Stovenko, A. and Kligerman, E. 1986. Real-Time Euclid: A Language for Reliable Real-Time System.IEEE Transactions on Software Engineering, 12, pp. 941–949.
Stoyenko, A. 1987a. A Schedulability Analyzer for Real-Time Euclid.Proc. of the IEEE 1987 Real-Time Systems Symposium, San Jose, CA, pp. 218–227.
Stoyenko, A. 1987b. A Real-Time-Language With a Schedulability Analyzer. Ph.D. Thesis, Department of Computer Science, University of Toronto, Tech. Report CSRI-206.
Ward, S. 1978. An Approach to Real-Time Computation.Proc. Texas Conf. on Computing Systems.
Wirth, N. 1977. Design and Implementation of Modula; and, Modula: A Language for Modular Multiprogramming.SOFTWARE—Practice and Experience, 7, pp. 3–35 and pp. 67–84.
Wirth, N. 1985.Programming in Modula-2 (3rd ed.). Berlin-Heidelberg-New York: Springer-Verlag.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Halang, W.A., Stoyenko, A.D. Comparative evaluation of high-level real-time programming languages. Real-Time Syst 2, 365–382 (1990). https://doi.org/10.1007/BF01995678
Issue Date:
DOI: https://doi.org/10.1007/BF01995678