Font Size: a A A

A RTSJ-based Java Processor For Embedded Real-Time Systems

Posted on:2007-04-02Degree:DoctorType:Dissertation
Country:ChinaCandidate:Z L ChaiFull Text:PDF
GTID:1118360212984751Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
The complexity of embedded real-time systems keeps growing and novel methods and tools are required. Compared to software development for desktop systems, current software design practice for embedded systems is still archaic. C/C++ and even assembler are used on top of a small real-time operating system. Many of the advantages of Java, such as safe object references, the notion of concurrency as a first-class language construct, and its portability, have the potential to make embedded systems much safer and simpler to program. With the advantages mentioned above, Java is increasingly expected to become the leading programming language in embedded systems.Most of the embedded systems are real-time systems. Java technology is seldom used in embedded systems currently, due to the lack of acceptable real-time performance. To improve the real-time performance specified in the Java Language Specification and the Java Virtual Machine Specification, Greg Bollella et al propose the Real-Time Specification for Java (RTSJ). It provides a guideline for the implementation of real-time Java platform.Currently, to provide an efficient Java platform suitable for real-time applications, many different implementations are proposed. These implementations can be generally classified as Interpreter (an interpreting program running on the operating system that can interpret and execute java bytecode under the assistance of the OS), Ahead-of-Time Compiler (Java bytecode is compiled into native code or an intermediate language such as C in advance), and Java Processor (the Java platform is implemented directly on silicon) etc. Java processor not only avoids the overhead of translation of the bytecode to another processor's native language, but also provides special support for Java runtime features such as stack processing, multithreading etc.Comparing with other implementing techniques, Java Processor is preferable in embedded systems for its high execution efficiency, low memory footprint and power consumption. Therefore, it becomes popular in implementing embedded real-time Java platforms. Presently, aJ-80/100 provides solution for employing Java technology into smart mobile devices and consumer appliances etc. The flexibility makes it a little too complex to implement. FemtoJava and JOP are simple to be implemented but do not put emphasis on supporting the RTSJ.In this paper, we propose a simple-structured Java processor suitable for embedded real-time applications (HRTEJ, Hard Real-Time Embedded Java Processor) and it is dedicated to supporting RTSJ features more efficiently. This processor implements RTSJ mechanisms such as asynchronous transfer of control (ATC), thread, synchronization, and memory management, and offers a simpler programming model through ameliorating the scoped memory of the RTSJ. According to the optimization method proposed in our previous work[l], all the processing interfering predictability is handled before bytecode execution and this processor is simple to implement and its Worst Case Execution Time (WCET) is more predictable. Further advantage of this method is to make the implementation of the processor straightforward and suited to a low-cost FPGA chip.
Keywords/Search Tags:Real-Time Java, Java Platform, Java Virtual Machine, Embedded Real-Time Java Processor, Real-Time Specifacation for Java, Worst Case Execution Time
PDF Full Text Request
Related items