06.08.2013 Views

JAVA-BASED REAL-TIME PROGRAMMING

JAVA-BASED REAL-TIME PROGRAMMING

JAVA-BASED REAL-TIME PROGRAMMING

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Preface<br />

This work, which should result in a freely available book, documents how<br />

to carry out safe 1 , flexible 2 , portable 3 and free 4 programming of embedded<br />

systems, such that the software without modifications can run on both small<br />

embedded devices as well as on standard Java platforms (JDK1.4.1 or later).<br />

The approach is motivated by and based on the following insights:<br />

• Efficient development of future software will increasingly be made for<br />

embedded systems with network connections and combined real-time<br />

and desktop-like functions. That requires the safe, flexible, and portable<br />

software techniques.<br />

• The idea of “write once run anywhere” that was formulated for Internetready<br />

software is highly desirable for embedded software. That is, embedded<br />

software must exist in portable form that supports deployment<br />

into specific configurations according to application needs.<br />

• It is most suitable to use an object-oriented and industrially accepted<br />

language that fulfills the requirements on safety and flexibility. Java<br />

is the most available and portable such language, with possibilities for<br />

automatic translation to the Microsoft .NET platform if needed.<br />

• The standard Java platform does not support real-time execution, but it<br />

supports concurrency and real-time properties are open to each implementation.<br />

By providing run-time solutions for real time, together with<br />

compilation to traditional binary code, Java-based real-time would be<br />

very attractable.<br />

1 Software components stay in their so called sandboxes; execution cannot harm unrelated<br />

data or code. Here this is accomplished by using the Java language and it's built-in safety.<br />

2 Execution adopts to the properties of the underlaying runtime system; concurrency<br />

correctness is maintained while real-time performance varies from hard to soft in a flexible<br />

manner according to the properties of the OS, managed by supporting classes.<br />

3 Developed applications run without recompilation on any type of computer to which the<br />

Java platform has been ported, and with recompilation on any type of embedded processor.<br />

A C compiler and a set of native functions is then needed for such embedded processors.<br />

4 Software development, compilation, deployment, and execution should be possible without<br />

any costs (royalties, fees for libraries, etc.) or delays (purchasing, legal matters, etc.)<br />

for licenses (documents, dongles, etc.); for student use and for agile product development.<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!