Overview
FrançaisRead this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHOR
-
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...
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
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
Java in embedded and real-time systems
Bibliography
References
- (1) - GUPTA (R.) - Introduction to embedded systems - . UC Irvine (2002). http://www1.ics.uci.edu/~rgupta/ics212/w2002/intro.pdf
- (2) - - Spécifications...
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