Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
Aldea Rivas, M., Gonzalez Harbour, M.: Application-Defined Scheduling in Ada. IRTAW 11, Ada Letters XXII(4), 77–84 (2002)
Bacon, D.F., Cheng, P., Rajan, V.T.: A Real-Time Garbage Collector with Low Overhead and Consistent Utilization. In: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 285–298 (2003)
Bar, M.: Programming Embedded Systems in C and C++. O’Riely (1999)
Black, A.P., et al .: Timber: A Programming Language for Real-Time Embedded Systems. PacSoft Technical Report, Department of Computer Science and Engineering, Oregon Health and Science University (2002), http://www.cse.ogi.edu/PacSoft/publications/2002/Timber-2002-04.pdf
Bernat, G., Burns, A.: Implementing a Flexible Scheduler in Ada. In: Strohmeier, A., Craeynest, D. (eds.) Ada-Europe 2001. LNCS, vol. 2043, pp. 179–190. Springer, Heidelberg (2001)
Back, G., Tullmann, P., Stoller, L.: Java Operating Systems: Design an Implementation. Department of Computer Science, University of Utah (1998)
Bollella, G., Brosgol, B., Dibble, P., Furr, S., Gosling, J., Hardin, D., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Burns, A., Wellings, A.J.: Real-Time Systems and Programming Languages, 3rd edn. Addison Wesley, Reading (2001)
Burns, A., Wellings, A.J.: Accessing Delay Queue. Proceedings of IRTAW11, Ada Letters XXI(4), 72–76 (2002)
Burns, A., Dobbing., Vardanega, T.: Guide for Using the Ravenscar Profile in High Integrity Systems. YCS-2003-348, University of York (2003)
Carnahan, L., Ruark, M. (eds.): Requirements for Real-time Extensions for the Java Platform. NIST Publication 5000-243 (1999), http://www.nist.gov/rtjava (last accessed 20/8/2002)
Deters, M., Cytron, R.K.: Automated Discovery of Scoped Memory Regions for RealTime Java. In: ACM ISMM 2002, Berlin, Germany (2002)
Dibble, P., Wellings, A.J.: The Real-Time Specification for Java: Current Status and Future Directions. In: Proceedings of the Seventh International Symposium on Object-Oriented Real-time Distributed Computing, ISORC (2004)
Eggermont, L.D.J. (ed.): Embedded Systems Roadmap 2002, Technology Foundation (STW), STW 2002 ISBN: 90-73461-30-8
Franz, M., Fröhlich, P.H., Kistker, T.: Towards Language Support for Component-Oriented Real-Time Programming. In: 5th Workshop on Object-Oriented Real-Time Dependable Systems, WORDS 2000, pp. 125–130 (2000)
Henriksson, R.: Scheduling Garbage Collection in Embedded Systems, PhD Thesis, Department of Computer Science, Lund University, Sweden (1998)
Hilderink, G.: A New Java Thread Model for Concurrent Programming of Real-Time Systems. Real-Time Magazine (1998)
Higuera, T., et al.: Memory Management for Real-time Java: an Efficient Solution using Hardware Support. Real-Time Systems Journal. Kluwer Academic Publishers (2002)
Java Community Process, JSR50, JSR 50: Distributed Real-Time Specification (2000), http://www.jcp.org/jsr/detail/50.jsp (last accessed 20/8/2002)
Java Community Process, JSR133, JSR 133: Java Memory Model and Thread Specification Revision (2001), http://www.jcp.org/jsr/detail/133.jsp (last accessed 20/8/2002)
Java Community Process, JSR166, JSR 166: Concurrency Utililities (2002), http://www.jcp.org/jsr/detail/166.jsp (last accessed 20/8/2002)
Consortium, J.: Realtime Core Extensions, Revision 1.0.14 (2000), http://www.jconsortium.org/rtjwg/index.html (last accessed 20/8/2002)
Kim, T., et al.: Scheduling Garbage Collection for Embedded Real-Time Systems. In: ACM Workshop on Language, Compilers and Tools for Embedded Systems (LCTES 1999), pp. 55–64 (1999)
Kligerman, E., Stoyenko, A.: Real-Time Euclid, A Language for Relaible Real-Time Systems. IEEE Transactions on Software Engineering, SE 12(9), 941–949 (1986)
Krause, K.H., Hartmann, W.: RT JAVA Proposal (1999), http://www.jconsortium.org/rtjw
Kwon, J., Wellings, A.J., King, S.: Ravenscar-Java: A High-Integrity Profile for Real-Time Java. Java Grande, 131–140 (2002)
Lee, I., Gehlot, V.: Language Constructs for Distributed Real-Time Programming. In: Proceedings of the Real-Time Systems Symposium, pp. 57–66. IEEE Computer Socitey, Los Alamitos (1985)
McGhan, H., O’Connor, M.: picoJava: a Direct Execution Engine for Java Bytecode. IEEE Computer (1998)
Miyoshi, A., Tokuda, H., Kitayama, T.: Implementation and Evaluation of Real-Time Java Threads. In: Real-Time Systems Symposium, IEEE Computer Society, Los Alamitos (1997)
Nilsen, K.: Adding Real-Time Capabilities to Java. Communications of the ACM (1998)
Page, I.: Constrcuting Hardware-Software Systems from a Single Decription. Journal of VLSI Signal Processing 12(1), 87–107 (1996)
Palopoli, L., Buttazzo, B., Ancilotti, P.: A C Language Extension for Programming Real-Time Applications. In: 6th International Conference on Real-Time Computing Systems and Applications, pp. 103–110. IEEE, Los Alamitos (1999)
Poletto, M., et al.: C and tcc: A Language and Compiler for Dynamic Code Generation. ACM Transactions on Programming Languages and Systems 21(2), 324–369 (1999)
Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering, SE 1(2), 65–75 (1975)
Ritzau, T., Fritzon, P.: Decreasing memory over-head in hard real-time garbage collection. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, Springer, Heidelberg (2002)
Romanovsky, A., et al. (eds.): ECOOP-WS 2000. LNCS, vol. 2022. Springer, Heidelberg (2001)
Salcianu, A., Rinard, M.C.: Pointer and Escape Analysis for Multithreaded Programs. In: Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2001)
Shrivastava, S.: Concurrent Pascal with Backward Error Recovery. Software- Practice and Experience 9(12), 1001–1020 (1979)
Siebert, F.: Real-Time Garbage Collection in Multi-Threaded Systems on a Single Microprocessor. IEEE Real-Time Systems Symposium, 277–278 (1999)
Siebert, F.: Hard Realtime Garbage Collection in Modern Object Oriented Programming Languages. In: AICAS (2002) ISBN: 3-8311-3893-1
Vardanega, T. (ed.): In: Proceedings of the 12th International Real-Time Ada Workshop, Ada letters, vol. XXIII (4) (2003)
Ward, M., Audsley, N.C.: Hardware Implementation of Programming Languages for Real-Time. In: Proceedings of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 276–285 (2002)
Wellings, A.J., Clark, R., Jenson, D., Wells, D.: A Framework for Integrating the Real-Time Specification for Java and Java’s Remote Method Invocation. In: Proceedings of the Fifth International Symposium on Object-Oriented Real-time Distributed Computing, ISORC 2002, pp. 13–23 (2002)
Wellings, A.J.: Concurrent and Real-Time Programming in Java. Wiley, Chichester (2004)
Werun, W., Windauer, H.: Intrdouction to PEARL: Process and Experiment Realtime Language. Friedr. Vieweg Sohn (1985)
Wirth, N.: Modula: A Language for Modular Multiprogramming. Software- Practice and Experience 7(1), 3–35 (1977)
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bouyssounouse, B., Sifakis, J. (2005). Programming Languages for Real-Time Systems. In: Embedded Systems Design. Lecture Notes in Computer Science, vol 3436. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31973-3_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-31973-3_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25107-1
Online ISBN: 978-3-540-31973-3
eBook Packages: Computer ScienceComputer Science (R0)