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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
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)