Optimizing the Generation of Object-Oriented Real-Time Embedded Applications Based on the Real-Time Specification for Java

The object-oriented paradigm has become popular over the last years due to its characteristics that help managing the complexity in computer systems design. This feature also attracted the embedded systems community, as today's embedded systems need to cope with several complex functionalities as well as timing, power, and area restrictions. Such scenario has promoted the use of the Java language and its real-time extension (RTSJ) for embedded real-time systems design. Nevertheless, the RTSJ was not primarily designed to be used within the embedded domain. This paper presents an approach to optimize the use of the RTSJ for the development of embedded real-time systems. Firstly, it describes how to design real-time embedded applications using an API based on RTSJ. Secondly, it shows how the generated code is optimized to cope with the tight resources available, without interfering in the mandatory timing predictability of the generated system. Finally it discusses an approach to synthesize the applications on top of affordable FPGAs. The approach used to synthesize the embedded real-time system ensures a bounded timing behavior of the object-oriented aspects of the application, like the polymorphism mechanism and read/write access to object's data fields

[1]  Alan Burns,et al.  Writing temporally predictable code , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[2]  Marco A. Wehrmeister,et al.  Optimizing Real-Time Embedded Systems Development Using a RTSJ-Based API , 2004, OTM Workshops.

[3]  Marco A. Wehrmeister,et al.  Design exploration in HW/SW co-design of real-time object-oriented embedded systems: the scheduler object , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[4]  Luigi Carro,et al.  Making Java Work for Microcontroller Applications , 2001, IEEE Des. Test Comput..

[5]  Wolfgang Nebel,et al.  Case study: system model of crane and embedded control , 1999, DATE.

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

[7]  Peter Puschner Is Worst-Case Execution-Time Analysis a Non-Problem? — Towards New Software and Hardware Architectures , 2002 .

[8]  Fridtjof Siebert,et al.  Deterministic Execution of Java's Primitive Bytecode Operations , 2001, Java Virtual Machine Research and Technology Symposium.

[9]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

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

[11]  Andy J. Wellings,et al.  A profile for high-integrity real-time Java programs , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

[12]  Douglas C. Schmidt,et al.  The Design and Performance of the jRate Real-Time Java Implementation , 2002, OTM.

[13]  Marco A. Wehrmeister,et al.  Assessing the Use of RT-Java in Automotive Time-Triggered Applications , 2005, IESS.