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.
- A.Corsaro. jrate documentation at sourceforge.Google Scholar
- G. Agha. Semantic considerations in the actor paradigm of concurrent computation. In Seminar on Concurrency, pages 151--179, 1984. Google ScholarDigital Library
- aJile. The real-time multimedia microprocessor for java platforms aj200.Google Scholar
- 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 ScholarDigital Library
- Apogee. Aphelion, 2004.Google Scholar
- Atego. Aonix perc.Google Scholar
- R. Atherton. Already being adopted for traditional enterprise computing tasks, java is also making its way into manufacturing operations. IEEE Spectrum, December 1998.Google Scholar
- 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 ScholarCross Ref
- H. G. Baker. The treadmill: real-time garbage collection without motion sickness. SIGPLAN Notices, 27(3):66--70, 1992. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- W. S. Beebee and M. C. Rinard. An implementation of scoped memory for real-time java. In EMSOFT, pages 289--305, 2001. Google ScholarDigital Library
- 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 Scholar
- E. G. Benowitz and A. F. Niessner. A patterns catalog for rtsj software designs. In OTM Workshops, pages 497--507, 2003.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- A. Borg and A. J. Wellings. A real-time rmi framework for the rtsj. In ECRTS, pages 238--, 2003.Google Scholar
- A. Borg and A. J. Wellings. Reference objects for rtsj memory areas. In OTM Workshops, pages 397--410, 2003.Google ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- J. Consortium. Draf international j-consortium specification. Technical report, J Consortium, September 1999. http://www.j-consortium.org.Google Scholar
- A. Corsaro and C. Santoro. Design patterns for rtsj application development. In OTM Workshops, pages 394--405, 2004.Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Eric J, Bruno, Greg Bollella. Real-Time Java Programming with Java RTS. PRENTICE HALL, 2009. Google ScholarDigital Library
- J. V. et al. The ovm project, 2004.Google Scholar
- D. A. Greve. Symbolic simulation of the jem1 microprocessor. In FMCAD, pages 321--333, 1998. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. T. Higuera-Toledano and V. Issarny. Java embedded real-time systems: An overview of existing solutions. In ISORC, pages 392--391, 2000. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. T. Higuera-Toledano and A. J. Wellings. Distributed, Embedded and Real-Time Java Systems. Springer, 2011. Google ScholarDigital Library
- G. Hilderink. A new java thread model for concurrent programming of real-time systems. Real-Time Java, January 1998.Google Scholar
- 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 ScholarDigital Library
- IBM. Ibm websphere real time 1.0.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- D. Lea. A java fork/join framework. In Java Grande, pages 36--43, 2000. Google ScholarDigital Library
- C. Lizzi. Java real-time distributed processing over atm networks with chorus/os. In ETFA '99. IEEE Computer Society, 1999.Google ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- D. Masson and S. Midonnet. Rtsj extensions: event manager and feasibility analyzer. In JTRES, pages 10--18, 2008. Google ScholarDigital Library
- D. Masson and S. Midonnet. The design of a real-time event manager component. In NOTERE, pages 291--296, 2010.Google ScholarCross Ref
- H. McGhan and M. O"Connor. picojava: a direct execution engine for java bytecode. IEEE Computer, 31(10):22--30, 1998. Google ScholarDigital Library
- 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 ScholarDigital Library
- S. Microsystems. Mackinac white paper, 2005.Google Scholar
- 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 ScholarDigital Library
- J. E. B. Moss and A. L. Hosking. Nested transactional memory: Model and architecture sketches. Sci. Comput. Program., 63(2):186--201, 2006. Google ScholarDigital Library
- K. D. Nilsen. High-level dynamic memory management for object-oriented real-time systems. OOPS Messenger, 7(1):86--93, 1996. Google ScholarDigital Library
- K. D. Nilsen. Invited note: Java for real-time. Real-Time Systems, 11(2):197--205, 1996. Google ScholarDigital Library
- K. D. Nilsen. Adding real-time capabilities to java. Communications of the ACM, 41(6):49--56, June 1998. Google ScholarDigital Library
- K. D. Nilsen. Adding real-time capabilities to java. Commun. ACM, 41(6):49--56, 1998. Google ScholarDigital Library
- NSIcom. Encapsulating java on embedded systems. Technical report, white-paper, http://www.nsicpm.com, 1998.Google Scholar
- Oracle. Java card technology.Google Scholar
- Oracle. The java community process program.Google Scholar
- Oracle. Jsr 1, real-time specification for java, http://www.jcp.org/en/jsr/detail?id=1.Google Scholar
- Oracle. Jsr 166, concurrency utilities, http://www.jcp.org/en/jsr/detail?id=166.Google Scholar
- Oracle. Jsr 281, cdc 1.0.2, http://www.jcp.org/en/jsr/detail?id=281.Google Scholar
- Oracle. Jsr 282, rtsj version 1.1 http://www.jcp.org/en/jsr/detail?id=282.Google Scholar
- Oracle. Jsr 30, cldc 1.0, http://www.jcp.org/en/jsr/detail?id=30.Google Scholar
- Oracle. Jsr 302, safety critical java technology, http://www.jcp.org/en/jsr/detail?id=302.Google Scholar
- Oracle. Jsr 36, cdc 1.1.2, http://www.jcp.org/en/jsr/detail?id=36.Google Scholar
- Oracle. Jsr 39, cldc 1.1, http://www.jcp.org/en/jsr/detail?id=39.Google Scholar
- Oracle. Jsr 50, distributed real-time specification, http://www.jcp.org/en/jsr/detail?id=50.Google Scholar
- Oracle. Oracle jrockit jvm.Google Scholar
- C. Pitter and M. Schoeberl. A real-time java chip-multiprocessor. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarDigital Library
- F. Pizlo. Fiji vm.Google Scholar
- F. Pizlo and J. Vitek. An emprical evaluation of memory management alternatives for real-time java. In RTSS, pages 35--46, 2006. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- M. Schoeberl. Memory management for safety-critical java. In JTRES, JTRES '11, pages 47--53, New York, NY, USA, 2011. ACM. Google ScholarDigital Library
- M. Schoeberl, F. Brandner, and J. Vitek. Rttm: real-time transactional memory. In SAC, pages 326--333, 2010. Google ScholarDigital Library
- F. Siebert. The jamaica vm.Google Scholar
- F. Siebert. Realtime garbage collection in the jamaicavm 3.0. In JTRES, pages 94--103, 2007. Google ScholarDigital Library
- F. Siebert. Concurrent, parallel, real-time garbage-collection. In ISMM, pages 11--20, 2010. Google Scholar
- 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 ScholarDigital Library
- A. Systems. Vega 3 compute appliances, http://www.azulsystems.com/products.Google Scholar
- D. Tejera, A. Alonso, and M. A. de Miguel. Rmi-hrt: remote method invocation - hard real time. In JTRES, pages 113--120, 2007. Google ScholarDigital Library
- The Real-Time for Java Expert Group. Real-Time Specification for Java. ADDISON-WESLEY, 2000. http://www.rtj.org.Google Scholar
- TimeSys. Jtime, http://www.timesys.com/java.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- L. University. Ljrt - lund java based real-time.Google Scholar
- A. J. Wellings and M. Kim. Asynchronous event handling and safety critical java. In JTRES, pages 53--62, 2010. Google ScholarDigital Library
- 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 ScholarDigital Library
- A. Zerzelidis and A. J. Wellings. A framework for flexible scheduling in the rtsj. ACM Trans. Embedded Comput. Syst., 10(1), 2010. Google ScholarDigital Library
Index Terms
- About 15 years of real-time Java
Recommendations
A Real-Time Java System on a Multithreaded Java Microcontroller
ISORC '02: Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed ComputingThis paper presents a real-time Java hardware and software system for use in embedded applications. The system includes a multithreaded Java microcontroller, an adapted Java Virtual Machine (JVM) and an extended Application Programming Interface (API). ...
On the connection between functional programming languages and real-time Java scoped memory
JTRES '07: Proceedings of the 5th international workshop on Java technologies for real-time and embedded systemsJava has recently joined C and C++ as a relatively high-level language suitable for developing real-time applications. Java's garbage collection, while generally a useful feature, can be problematic for real-time applications if collection occurs with ...
A real-time Java tool chain for resource constrained platforms
The Java programming language was originally developed for embedded systems, but the resource requirements of previous and current Java implementations - especially memory consumption - tend to exclude them from being used on a significant class of ...
Comments