Comparative evaluation of high-level real-time programming languages

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.

[1]  Tzilla Elrad Comprehensive Race Controls: A Versatile Scheduling Mechanism for Real- Time Applications , 1990 .

[2]  V. D. Gligor,et al.  Assessment of the real-time requirements for programming environments and languages , 1983, RTSS 1983.

[3]  Alan Lewis,et al.  Real‐time BASIC , 1983, Softw. Pract. Exp..

[4]  Brian A. Wichmann,et al.  Rationale for the design of the Ada programming language , 1979, SIGP.

[5]  Richard K. J. Henn Feasible processor allocation in a Hard-Real-Time environment , 2006, Real-Time Systems.

[6]  B. Dasarathy,et al.  Timing Constraints of Real-Time Systems: Constructs for Expressing Them, Methods of Validating Them , 1989, IEEE Transactions on Software Engineering.

[7]  Alexander D. Stoyen,et al.  Real-Time Euclid: A language for reliable real-time systems , 1989, IEEE Transactions on Software Engineering.

[8]  Urs Ammann,et al.  Vergleich einiger Konzepte moderner Echtzeitsprachen , 1980, Fachtagung über Programmiersprachen.

[9]  Lui Sha,et al.  Real-time scheduling theory and Ada , 1990, Computer.

[10]  Lee MacLaren Evolving toward Ada in real time systems , 1980, SIGPLAN '80.

[11]  Henry Ledgard ADA An Introduction , 1981, Springer New York.

[12]  Alexander D. Stoyenko,et al.  A Schedulability Analyzer for Real-Time Euclid. , 1987, RTSS 1987.

[13]  Richard K. J. Henn Antwortzeitgesteuerte Prozessorzuteilung unter strengen Zeitbedingungen , 2005, Computing.

[14]  R. Henn Ein antwortzeitgesteuertes Unterbrechungswerk - Auswirkungen auf Betriebssystem und Programmstruktur , 1977, Fachtagung Prozessrechner.

[15]  Juris Hartmanis,et al.  The Programming Language Ada , 1983, Lecture Notes in Computer Science.

[16]  Jörg Schabernack,et al.  Occam2 und Ada, Eine Gegenüberstellung , 1989, Inform. Spektrum.

[17]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[18]  Wolfgang A. Halang Suitable Multiprocessor Structures and Virtual Storage Management when Applying a Feasible Scheduling Algorithm in Hard Real-Time Environment , 1986, Softw. Pract. Exp..

[19]  Paul Gordon Sorenson,et al.  A methodology for real-time system development. , 1974 .

[20]  Alexander D. Stoyenko,et al.  A real-time language with a schedulability analyzer , 1988 .

[21]  Alan Burns,et al.  Real-time systems and their programming languages , 1986, International computer science series.

[22]  Gérard Berry,et al.  Synchronous programming of reactive systems: an introduction to ESTEREL , 1988 .

[23]  Swiatomir G. Zabek Decomposition of complex selection criteria , 1979, SIGP.

[24]  P. Brinch-Hansen,et al.  The programming language Concurrent Pascal , 1975 .

[25]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[26]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[27]  Niklaus Wirth,et al.  Programming in Modula-2 , 1985, Texts and Monographs in Computer Science.

[28]  R. Henn Zeitgerechte Prozessorzuteilung in einer harten Realzeit-Umgebung , 1976, GI Jahrestagung.

[29]  Wilfried Kneis,et al.  Draft standard industrial real-time FORTRAN , 1981, SIGP.

[30]  J. G. P. Barnes RTL/2 design and philosophy , 1976 .

[31]  Stanley T. Rolfe,et al.  A Comparison of the J -lntegral and CTOD Parameters for Short Crack Specimen Testing , 1991 .

[32]  Gérard Berry,et al.  Real Time Programming: Special Purpose or General Purpose Languages , 1989, IFIP Congress.

[33]  Aloysius K. Mok,et al.  Modechart: A Specification Language for Real-Time Systems , 1994, IEEE Trans. Software Eng..

[34]  J. D. Ichbiah,et al.  Preliminary Ada reference manual , 1979, SIGP.

[35]  A. D. Stoyenko,et al.  Real-time Euclid: a language for reliable real-time systems , 1989 .

[36]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[37]  Lee MacLaren Evolving toward Ada in real time systems , 1980, SIGPLAN '80.

[38]  Niklaus Wirth Design and implementation of modula , 1977, Softw. Pract. Exp..

[39]  Günter Spur,et al.  Development of APT and EXAPT , 1983, Methods and Tools for Computer Integrated Manufacturing.

[40]  P. M. Newbold HAL/S language specification , 1974 .

[41]  Robert L. Glass Real-time: the “Lost World” of software debugging and testing , 1980, CACM.

[42]  G. Kaplan The X-29: is it coming or going? , 1985, IEEE Spectrum.