Article | REF: S8068 V1

Java in embedded and real-time systems

Author: Xavier CORNU

Publication date: June 10, 2004

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

  • Xavier CORNU: Engineer from the École supérieure d'électricité (Supélec) - Project Manager, Trialog - Manager of the European project Applying Java to Automotive Control Systems (AJACS)

 INTRODUCTION

The use of Java in embedded and real-time systems has a number of special features compared with other languages, which need to be analyzed. In particular, special attention needs to be paid to what it lacks to meet the needs of constrained embedded systems, with the aim of presenting a number of recommendations.

Both Java programmers moving towards embedded systems programming and embedded systems programmers preparing to include modules written in Java will be interested. Indeed, to make it a dedicated embedded and/or real-time solution, the Java language requires adaptations, and sometimes the programmer has to adopt other programming practices than for a "classic" Java application.

This article has its origins in the conclusions of the European AJACS (Applying Java to Automotive Control Systems) project initiated in February 2000, based on the following observation: Java is becoming increasingly popular in information systems and certain industrial sectors, and is of growing interest to the real-time and embedded programming community. It became clear that the findings of this project would be of interest to all those involved in real-time and embedded systems (aeronautics, railways, industry, etc.). There are several reasons for this enthusiasm for Java. Firstly, its object-oriented nature facilitates the design of software components with strictly defined interfaces, right down to the source code. Secondly, the Java language is designed to be platform-independent, and therefore satisfies the hardware-independence requirements of multi-sourcing. Finally, its ease of learning (a large number of programmers are already trained) and robustness contribute to greater productivity and fewer defects, enabling the development team to concentrate on more "high-level" activities such as defining software components.

The aim of AJACS was to define an open technology, based on a standard structuring of automotive embedded software, which would retain all the advantages of the Java language mentioned above, while strengthening it in the important areas of real-time, determinism and adaptation to highly constrained environments such as those found in the automotive environment (for example, an electronic control unit with 256 kB of ROM and 16 kB of RAM). These important points concern the development environment, system programming, multithreading and synchronization, exceptions, the application initialization model, memory management and the Java/native interface. While most automotive applications are still at an early stage of development, these concerns are already present in certain...

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Java in embedded and real-time systems