Skip to main content
Log in

Comparative evaluation of high-level real-time programming languages

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Barnes, R. 1979. A Working Definition Of The Proposed Extensions For PL/1 Real-Time Applications.ACM SIGPLAN Notices, 14, pp. 77–99.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Bull, G. and Lewis, A. 1983. Real-Time BASIC.SOFTWARE—Practice and Experience, 13 pp. 1075–1092.

    Google Scholar 

  • Burns, A. and Wellings, A. 1989.Real-Time Systems and Their Programming Languages, Wokingham: Addison-Wesley.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Glass, R.L. 1980. Real-Time: The “Lost World” of Software Debugging and Testing.Communications of the ACM, 23 pp. 264–271.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Henn, R. 1978. Antwortzeitgesteuerte Prozessorzuteilung unter strengen Zeitbedingungen.Computing, 19, pp. 209–220.

    Google Scholar 

  • Henn, R. 1989. Feasible Processor Allocation in a Hard-Real-Time Environment.J. of Real-Time Systems, 1, pp. 77–93.

    Google Scholar 

  • IECCA. 1970.IECCA Official Definition of CORAL 66, London: Her Majesty's Stationery Office.

    Google Scholar 

  • INMOS Ltd. 1984.The Occam Programming Manual. Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

  • INMOS Ltd. 1988.Occam2 Reference Manual. Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Nägeli, H.H. and Gorrengourt, A.K. 1979.Programming in PORTAL: An Introduction. Zug: LGZ Landis and Gyr Zug Corporation.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Schwald, A. and Baumann, R. 1977. PEARL im Vergleich mit anderen Echtzeitsprachen.Proc. Aussprachetag PEARL. PDV-Bericht KFK-PDV 110. Karlsruhe: GfK.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Wirth, N. 1985.Programming in Modula-2 (3rd ed.). Berlin-Heidelberg-New York: Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01995678

Keywords

Navigation