skip to main content
10.1145/2388936.2388943acmotherconferencesArticle/Chapter ViewAbstractPublication PagesjtresConference Proceedingsconference-collections
research-article

About 15 years of real-time Java

Published:24 October 2012Publication History

ABSTRACT

Java is an object oriented programming language introduced by Sun Microsystems in 1995. From this date, Java has received a high interest from both industry actors and researchers. Java presents many benefits such as reliability of code, portability because its neutral architecture, and security in distributed environments, which leads it a privileged technology to develop embedded and distributed applications. Even though Java has issues as threads and automatic garbage collection, it has problems regarding its use in real-time systems, which must be solved. Since 1997 several research works has been focused on the limits of the Java language and its execution environment to seek the possibility for real-time technology using Java. This paper outlines and discusses the investigated issues and the developed supporting technology that allows the construction of real-time systems using Java.

References

  1. A.Corsaro. jrate documentation at sourceforge.Google ScholarGoogle Scholar
  2. G. Agha. Semantic considerations in the actor paradigm of concurrent computation. In Seminar on Concurrency, pages 151--179, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. aJile. The real-time multimedia microprocessor for java platforms aj200.Google ScholarGoogle Scholar
  4. C. Andreae, Y. Coady, C. Gibbs, J. Noble, J. Vitek, and T. Zhao. Scoped types and aspects for real-time java memory management. Real-Time Systems, 37(1):1--44, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Apogee. Aphelion, 2004.Google ScholarGoogle Scholar
  6. Atego. Aonix perc.Google ScholarGoogle Scholar
  7. R. Atherton. Already being adopted for traditional enterprise computing tasks, java is also making its way into manufacturing operations. IEEE Spectrum, December 1998.Google ScholarGoogle Scholar
  8. D. F. Bacon, P. Cheng, and V. T. Rajan. The metronome: A simpler approach to garbage collection in real-time systems. In OTM Workshops, pages 466--478, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  9. H. G. Baker. The treadmill: real-time garbage collection without motion sickness. SIGPLAN Notices, 27(3):66--70, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Basanta-Val, M. García-Valls, and I. Estévez-Ayres. Simplifying the dualized threading model of rtsj. In ISORC, pages 265--272, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Basanta-Val, M. García-Valls, and I. Estévez-Ayres. Simple asynchronous remote invocations for distributed real-time java. IEEE Trans. Industrial Informatics, 5(3):289--298, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  12. P. Basanta-Val, M. García-Valls, and I. Estévez-Ayres. No-heap remote objects for distributed real-time java. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. S. Beebee and M. C. Rinard. An implementation of scoped memory for real-time java. In EMSOFT, pages 289--305, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Benowitz and A. Niessner. A patterns catalog for RTSJ software designs. In Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES), Lecture Notes in Computer Science, volume 2889, pages 497--507, 2003.Google ScholarGoogle Scholar
  15. E. G. Benowitz and A. F. Niessner. A patterns catalog for rtsj software designs. In OTM Workshops, pages 497--507, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  16. T. Bøgholm, R. R. Hansen, A. P. Ravn, B. Thomsen, and H. Søndergaard. A predictable java profile: rationale and implementations. In JTRES, pages 150--159, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Bøgholm, H. Kragh-Hansen, P. Olsen, B. Thomsen, and K. G. Larsen. Model-based schedulability analysis of safety critical hard real-time java programs. In JTRES, pages 106--114, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Borg and A. J. Wellings. A real-time rmi framework for the rtsj. In ECRTS, pages 238--, 2003.Google ScholarGoogle Scholar
  19. A. Borg and A. J. Wellings. Reference objects for rtsj memory areas. In OTM Workshops, pages 397--410, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  20. U. Brinkschulte, S. Uhrig, and T. Ungerer. Der mehrfädige komodo-mikrocontroller (the multithreaded komodo microcontroller). it - Information Technology, 47(3):117--122, 2005.Google ScholarGoogle Scholar
  21. J. F. Briones, M. A. de Miguel, A. Alonso, and J. P. Silva. Quality of service composition and adaptability of software architectures. In ISORC, pages 169--173, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Carnahan and M. Ruark. Requirements for real-time extensions for the Java platform. Technical report, RTJWG, September 1999. http://www.itl.nist.gov/div897/ctg/real-time/rtj-final-draft.pdf.Google ScholarGoogle Scholar
  23. A. Cavalcanti, A. Wellings, J. Woodcock, K. Wei, and F. Zeyda. Safety-critical java in circus. In JTRES, JTRES '11, pages 20--29, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. Consortium. Draf international j-consortium specification. Technical report, J Consortium, September 1999. http://www.j-consortium.org.Google ScholarGoogle Scholar
  25. A. Corsaro and C. Santoro. Design patterns for rtsj application development. In OTM Workshops, pages 394--405, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  26. E. Curley, B. Ravindran, J. S. Anderson, and E. D. Jensen. Recovering from distributable thread failures in distributed real-time java. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. E. Dalsgaard, M. C. Olesen, M. Toft, R. R. Hansen, and K. G. Larsen. Metamoc: Modular execution time analysis using model checking. In WCET, pages 113--123, 2010.Google ScholarGoogle Scholar
  28. O. M. dos Santos and A. J. Wellings. Measuring and policing blocking times in real-time systems. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Eric J, Bruno, Greg Bollella. Real-Time Java Programming with Java RTS. PRENTICE HALL, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. V. et al. The ovm project, 2004.Google ScholarGoogle Scholar
  31. D. A. Greve. Symbolic simulation of the jem1 microprocessor. In FMCAD, pages 321--333, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. G. Haddad and G. T. Leavens. Specifying subtypes in scj programs. In JTRES, JTRES '11, pages 40--46, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Hardin. Real-time objects on the bare metal: An efficient hardware realization of the javatm virtual machine. In ISORC, pages 53--59, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. T. Higuera-Toledano and V. Issarny. Java embedded real-time systems: An overview of existing solutions. In ISORC, pages 392--391, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. T. Higuera-Toledano and V. Issarny. Analyzing the performance of memory management in rtsj. In Symposium on Object-Oriented Real-Time Distributed Computing, pages 26--33, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. T. Higuera-Toledano and V. Issarny. Improving the memory management performance of rtsj. Concurrency and Computation: Practice and Experience, 17(5--6):715--737, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. M. T. Higuera-Toledano, V. Issarny, M. Banâtre, G. Cabillic, J.-P. Lesot, and F. Parain. Region-based memory management for real-time java. In ISORC, pages 387--394, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. M. T. Higuera-Toledano, V. Issarny, M. Banâtre, and F. Parain. Memory management for real-time java: An efficient solution using hardware support. Real-Time Systems, 26(1):63--87, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. M. T. Higuera-Toledano and A. J. Wellings. Distributed, Embedded and Real-Time Java Systems. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. G. Hilderink. A new java thread model for concurrent programming of real-time systems. Real-Time Java, January 1998.Google ScholarGoogle Scholar
  41. J. Hu, S. Gorappa, J. A. Colmenares, and R. Klefstad. Compadres: A lightweight component middleware framework for composing distributed real-time embedded systems with real-time java. In Middleware, pages 41--59, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. IBM. Ibm websphere real time 1.0.Google ScholarGoogle Scholar
  43. T. Kalibera, F. Pizlo, A. L. Hosking, and J. Vitek. Scheduling real-time garbage collection on uniprocessors. ACM Trans. Comput. Syst., 29(3):8, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. M. Kim and A. J. Wellings. Efficient asynchronous event handling in the real-time specification for java. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Kwon, A. J. Wellings, and S. King. Ravenscar-java: a high integrity profile for real-time java. In Java Grande, pages 131--140, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. D. Lea. A java fork/join framework. In Java Grande, pages 36--43, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. C. Lizzi. Java real-time distributed processing over atm networks with chorus/os. In ETFA '99. IEEE Computer Society, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  48. P. Madany, S. Keohan, D. Kramer, and T. Saulpaugh. Javaos: a standalone java environment. Technical report, JavaSoft, http://java.sun.com/products/javaos/, 1998.Google ScholarGoogle Scholar
  49. C. Maia, L. Nogueira, and L. M. Pinho. Combining rtsj with fork/join: a priority-based model. In JTRES, JTRES '11, pages 82--86, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. D. Masson and S. Midonnet. Rtsj extensions: event manager and feasibility analyzer. In JTRES, pages 10--18, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. D. Masson and S. Midonnet. The design of a real-time event manager component. In NOTERE, pages 291--296, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  52. H. McGhan and M. O"Connor. picojava: a direct execution engine for java bytecode. IEEE Computer, 31(10):22--30, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. F. Meawad, M. Schoeberl, K. Iyer, and J. Vitek. Real-time wait-free queues using micro-transactions. In JTRES, JTRES '11, pages 1--10, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. S. Microsystems. Mackinac white paper, 2005.Google ScholarGoogle Scholar
  55. A. Miyoshi, H. Tokuda, and T. Kitayama. Implementation and evaluation of real-time java threads. In Real-Time Systems Symposium. IEEE Computer Society, Decembre 1997. pag. 166--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. J. E. B. Moss and A. L. Hosking. Nested transactional memory: Model and architecture sketches. Sci. Comput. Program., 63(2):186--201, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. K. D. Nilsen. High-level dynamic memory management for object-oriented real-time systems. OOPS Messenger, 7(1):86--93, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. K. D. Nilsen. Invited note: Java for real-time. Real-Time Systems, 11(2):197--205, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. K. D. Nilsen. Adding real-time capabilities to java. Communications of the ACM, 41(6):49--56, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. K. D. Nilsen. Adding real-time capabilities to java. Commun. ACM, 41(6):49--56, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. NSIcom. Encapsulating java on embedded systems. Technical report, white-paper, http://www.nsicpm.com, 1998.Google ScholarGoogle Scholar
  62. Oracle. Java card technology.Google ScholarGoogle Scholar
  63. Oracle. The java community process program.Google ScholarGoogle Scholar
  64. Oracle. Jsr 1, real-time specification for java, http://www.jcp.org/en/jsr/detail?id=1.Google ScholarGoogle Scholar
  65. Oracle. Jsr 166, concurrency utilities, http://www.jcp.org/en/jsr/detail?id=166.Google ScholarGoogle Scholar
  66. Oracle. Jsr 281, cdc 1.0.2, http://www.jcp.org/en/jsr/detail?id=281.Google ScholarGoogle Scholar
  67. Oracle. Jsr 282, rtsj version 1.1 http://www.jcp.org/en/jsr/detail?id=282.Google ScholarGoogle Scholar
  68. Oracle. Jsr 30, cldc 1.0, http://www.jcp.org/en/jsr/detail?id=30.Google ScholarGoogle Scholar
  69. Oracle. Jsr 302, safety critical java technology, http://www.jcp.org/en/jsr/detail?id=302.Google ScholarGoogle Scholar
  70. Oracle. Jsr 36, cdc 1.1.2, http://www.jcp.org/en/jsr/detail?id=36.Google ScholarGoogle Scholar
  71. Oracle. Jsr 39, cldc 1.1, http://www.jcp.org/en/jsr/detail?id=39.Google ScholarGoogle Scholar
  72. Oracle. Jsr 50, distributed real-time specification, http://www.jcp.org/en/jsr/detail?id=50.Google ScholarGoogle Scholar
  73. Oracle. Oracle jrockit jvm.Google ScholarGoogle Scholar
  74. C. Pitter and M. Schoeberl. A real-time java chip-multiprocessor. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. F. Pizlo. Fiji vm.Google ScholarGoogle Scholar
  76. F. Pizlo and J. Vitek. An emprical evaluation of memory management alternatives for real-time java. In RTSS, pages 35--46, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek. Schism: fragmentation-tolerant real-time garbage collection. In PLDI, pages 146--159, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. W. Puffitsch. Hard real-time garbage collection for a java chip multi-processor. In JTRES, JTRES '11, pages 64--73, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. S. G. Robertz and R. Henriksson. Time-triggered garbage collection: robust and adaptive real-time gc scheduling for embedded systems. In LCTES, pages 93--102, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. J. B. Sartor, S. M. Blackburn, D. Frampton, M. Hirzel, and K. S. McKinley. Z-rays: divide arrays and conquer speed and flexibility. In PLDI, pages 471--482, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. M. Schoeberl. A java processor architecture for embedded real-time systems. Journal of Systems Architecture - Embedded Systems Design, 54(1--2):265--286, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. M. Schoeberl. Memory management for safety-critical java. In JTRES, JTRES '11, pages 47--53, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. M. Schoeberl, F. Brandner, and J. Vitek. Rttm: real-time transactional memory. In SAC, pages 326--333, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. F. Siebert. The jamaica vm.Google ScholarGoogle Scholar
  85. F. Siebert. Realtime garbage collection in the jamaicavm 3.0. In JTRES, pages 94--103, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. F. Siebert. Concurrent, parallel, real-time garbage-collection. In ISMM, pages 11--20, 2010. Google ScholarGoogle Scholar
  87. J. H. Spring, F. Pizlo, J. Privat, R. Guerraoui, and J. Vitek. Reflexes: Abstractions for integrating highly responsive tasks into java applications. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. A. Systems. Vega 3 compute appliances, http://www.azulsystems.com/products.Google ScholarGoogle Scholar
  89. D. Tejera, A. Alonso, and M. A. de Miguel. Rmi-hrt: remote method invocation - hard real time. In JTRES, pages 113--120, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. The Real-Time for Java Expert Group. Real-Time Specification for Java. ADDISON-WESLEY, 2000. http://www.rtj.org.Google ScholarGoogle Scholar
  91. TimeSys. Jtime, http://www.timesys.com/java.Google ScholarGoogle Scholar
  92. R. Tolosa, J. P. Mayo, M. A. de Miguel, M. T. Higuera-Toledano, and A. Alonso. Container model based on rtsj services. In OTM Workshops, pages 385--396, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  93. P. Tullmann and J. Lepreau. Nested java processes: Os structure for mobile code. In Proc. of the Eighth ACM SIGOPS European Workshop. http://www.cs.utah.edu/projects/flux, September 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. L. University. Ljrt - lund java based real-time.Google ScholarGoogle Scholar
  95. A. J. Wellings and M. Kim. Asynchronous event handling and safety critical java. In JTRES, pages 53--62, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. A. J. Wellings, S. Lin, and A. Burns. Resource sharing in rtsj and scj systems. In JTRES, JTRES '11, pages 11--19, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. A. Zerzelidis and A. J. Wellings. A framework for flexible scheduling in the rtsj. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. About 15 years of real-time Java

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Other conferences
                JTRES '12: Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
                October 2012
                199 pages
                ISBN:9781450316880
                DOI:10.1145/2388936

                Copyright © 2012 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 24 October 2012

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                JTRES '12 Paper Acceptance Rate21of30submissions,70%Overall Acceptance Rate50of70submissions,71%

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader