Over 90 percent of all microprocessors are now used for real-time and embedded applications, and the behavior of many of these applications is constrained by the physical world. Higher-level programming languages and middleware are needed to robustly and productively design, implement, compose, integrate, validate, and enforce real-time constraints along with conventional functional requirements and reusable components.
Designing real-time and embedded systems that implement their required capabilities, are dependable and predictable, and are parsimonious in their use of limited computing resources is hard; building them on time and within budget is even harder. Moreover, due to global competition for marketshare and engineering talent, companies are now also faced with the problem of developing and delivering new products in short time frames. Therefore it is essential that the production of real-time embedded systems can take advantage of languages, tools, and methods that enable higher software productivity.
Ideally, developers should use a programming language that shields them from many accidental complexities, such as type errors, memory management, and steep learning curves. The Java programming language has become an attractive choice because of its safety, productivity, its relatively low maintenance costs, and the availability of well trained developers.
Although it has good software engineering characteristics, Java is unsuitable for developing real-time embedded systems, mainly due to under-specification of thread scheduling and the presence of garbage collection. Recently, to address these problems, a number of extensions to Java have been proposed by the Java Community Process Expert Group for the Real-Time Specification for Java (RTSJ) among others. The intent of these specifications is the development of real-time applications by providing several additions such as extending the Java memory model, providing stronger semantics in thread scheduling, and so on.
Interest in real-time Java in both the research community and industry, because of its challenges and its potential impact on the development of embedded and real-time applications, has recently increased, significantly. This interest in the industry comes not only for traditional applications, such as industrial control, but also for business and financial applications. The goal of the proposed workshop is to gather researchers working on real-time and embedded Java to identify the challenging problem that still need to be properly solved in order to assure the success of the of real-time Java as a technology, and to report results and experience gained by researchers.