Programming languages for real-time systems

The real-time and embedded systems market is huge and growing all the time. It has been estimated that 100 times more processors are destined for embedded systems rather than the desktop [Egg02]. Embedded real-time systems [Bur01]: are mainly small (for example, mobile phones) but can also be extremely large and complex (for example air traffic control systems) have potentially complex mathematical models of their controlled environment must be dependable are inherently concurrent must interact within the time frame of the environment must interact with low-level mechanisms such as hardware devices and memory management faculties.

[1]  Taehyoun Kim,et al.  Scheduling garbage collector for embedded real-time systems , 1999, LCTES '99.

[2]  Dawson R. Engler,et al.  C and tcc: a language and compiler for dynamic code generation , 1999, TOPL.

[3]  V. T. Rajan,et al.  A real-time garbage collector with low overhead and consistent utilization , 2003, POPL '03.

[4]  Luigi Palopoli,et al.  A C language extension for programming real-time applications , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[5]  Alan Burns,et al.  Implementing a Flexible Scheduler in Ada , 2001, Ada-Europe.

[6]  Michael Franz,et al.  Towards language support for component-oriented real-time programming , 1999, Proceedings. Fifth International Workshop on Object-Oriented Real-Time Dependable Systems.

[7]  Mike O'Connor,et al.  PicoJava: A Direct Execution Engine For Java Bytecode , 1998, Computer.

[8]  Andy J. Wellings Concurrent and real-time programming in Java , 2004 .

[9]  M. Teresa Higuera-Toledano,et al.  Memory Management for Real-Time Java: An Efficient Solution using Hardware Support* , 2004, Real-Time Systems.

[10]  Santosh K. Shrivastava,et al.  Concurrent Pascal with Backward Error-recovery , 1978 .

[11]  Wulf Werum,et al.  Introduction to PEARL: process and experiment automation realtime language (2nd ed.) , 1983 .

[12]  Johannes F. Broenink,et al.  A new Java Thread model for concurrent programming of real-time systems , 1998 .

[13]  Ron K. Cytron,et al.  Automated discovery of scoped memory regions for real-time Java , 2002, ISMM '02.

[14]  Roger Henriksson,et al.  Scheduling Garbage Collection in Embedded Systems , 1998 .

[15]  Michael Barr,et al.  Programming embedded systems in C and C , 1999 .

[16]  Brian Randell System structure for software fault tolerance , 1975 .

[17]  Peter Fritzson,et al.  Decreasing Memory Overhead in Hard Real-Time Garbage Collection , 2002, EMSOFT.

[18]  Michael González Harbour,et al.  Application-defined scheduling in Ada , 2002 .

[19]  Santosh K. Shrivastava Concurrent Pascal with backward error recovery: language features and examples , 1979 .

[20]  RivasMario Aldea,et al.  Application-defined scheduling in Ada , 2003 .

[21]  Alan Burns,et al.  Guide for the use of the Ada Ravenscar Profile in high integrity systems , 2004, ALET.

[22]  Fridtjof Siebert,et al.  Real-time garbage collection in multi-threaded systems on a single processor , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[23]  Neil C. Audsley,et al.  Hardware implementation of programming languages for real-time , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[24]  Martin C. Rinard,et al.  Pointer and escape analysis for multithreaded programs , 2001, PPoPP '01.

[25]  Hideyuki Tokuda,et al.  Implementation and evaluation of real-time Java threads , 1997, Proceedings Real-Time Systems Symposium.

[26]  Niklaus Wirth,et al.  Modula: A language for modular multiprogramming , 1977, Softw. Pract. Exp..

[27]  Ian Page Constructing hardware-software systems from a single description , 1996, J. VLSI Signal Process..

[28]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[29]  Kelvin D. Nilsen,et al.  Adding real-time capabilities to Java , 1998, CACM.

[30]  Alan Burns,et al.  Accessing delay queues , 2002 .

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

[32]  Andy J. Wellings,et al.  The Real-Time Specification for Java: current status and future work , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[33]  Lisa Carnahan,et al.  Report from the requirements group for real-time extensions for the Java platform , 1999 .

[34]  Andy J. Wellings,et al.  Ravenscar‐Java: a high‐integrity profile for real‐time Java , 2002, JGI '02.

[35]  P Black Andrew,et al.  Timber: A Programming Language for Real-Time Embedded Systems , 2002 .

[36]  Andy J. Wellings,et al.  A. framework for integrating the real-time specification for Java and Java's remote method invocation , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[37]  Insup Lee,et al.  Language Constructs for Distributed Real-Time Programming , 1985, RTSS.