Java%20for%20embedded%20systems - PowerPoint PPT Presentation

About This Presentation
Title:

Java%20for%20embedded%20systems

Description:

Incorporate relatively low-speed microprocessors and may have a limited amount ... 'Using Java in Embedded Systems' V.Ivanovic, M. Mahar, Circuit Cellar, 1999. ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 39
Provided by: felixha3
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Java%20for%20embedded%20systems


1
Java for embedded systems
  • Felix G. Hamza-Lup

2
Outline
  • Embedded systems characteristics
  • Application domains
  • Java characteristics
  • Java in embedded systems
  • Future trends
  • References

3
Embedded systems
  • Real-Time systems
  • Timing constrains play a critical role in their
    design and implementation.
  • Have dedicated functionality i.e. designed
    strictly for a specific set of tasks
  • Incorporate relatively low-speed microprocessors
    and may have a limited amount of memory.

4
Embedded systems - Inputs
  • Random
  • Short-lived external signals
  • Processor must interrupt whatever else it is
    doing to capture the data, or it will be lost
  • gt embedded programs are organized as a set of
    individual, but cooperating threads of execution.

5
Hardware for embedded applications
  • Most embedded systems are housed within a
    highly-constrained box.
  • lack of space
  • excessive vibration
  • gt embedded applications will be structured as a
    small section of initialization code that starts
    the programs from a ROM disk

6
Outline
  • Embedded systems characteristics
  • Application domains
  • Java characteristics
  • Java in embedded systems
  • Future trends
  • References

7
Embedded systems applic. domains
  • Machine and process control
  • Medical instruments
  • Data acquisition
  • Network components routers and switches

8
Less constraints
  • Telephony mobile phones, pagers
  • PDAs

9
Outline
  • Embedded systems characteristics
  • Application domains
  • Java characteristics
  • Java in embedded systems
  • Future trends
  • References

10
Characteristics
  • Portability platform independence
  • Software reuse OO
  • Simplicity easy to learn
  • Safety and security
  • JavaTM Authentication and Authorization Service
    (JAAS)
  • JavaTM Cryptography Extension (JCE)
  • Secure Socket Extension (JSSE)

11
Some key characteristics
  • The key characteristics of Java that make it
    attractive as a specification language for
    embedded systems are
  • Built in multithreading and synchronization
  • Lack of pointer arithmetic
  • Automatic memory management

12
Outline
  • Embedded systems characteristics
  • Application domains
  • Java characteristics
  • Java in embedded systems
  • Future trends
  • References

13
Technical challenges for embedded environment
14
Problems with Desktop Java
  • Too big JVM JIT (just-in-time)
    compilerlibraries ? 16 MB
  • Too slow 5 x slower than C code
  • No notion of address most often hardware is
    accessed referring to a specific address
  • Security, portability, dynamic behavior not
    needed in embedded systems

15
Problems with Desktop Java
  • Java Garbage Collector - collect unused memory
  • JCG dangerous in embedded systems
    stop-the-world effect
  • Memory allocation is not fast enough and not
    predictable

16
Java embedded alternatives
  • Special purpose JVM and core libraries
  • JVM with JIT compiler
  • Compiled JAVA (instead of interpreted)

17
Special purpose JVM and Frameworks
  • Suns PersonalJava
  • Sun's EmbeddedJava
  • JIT compiler
  • J2MicroEdition
  • JADEs LEAP

18
PersonalJava
  • Re-implements the full set of Java APIs defined
    by the Java application environment
  • Fits into smaller devices with more limited
    memory configurations

19
EmbeddedJava - Goals
  • Standardize software development for embedded
    devices
  • Integrate a compact EmbeddedJava application
    environment directly into new devices
  • Small adjustable memory footprint lt Configurable
    APIs based on application.

20
EmbeddedJava - Sun's advanced tools streamline
  • JavaFilter - builds a list of the specific fields
    and methods used by the Java platform to run the
    Java application
  • JavaCodeCompact - optimizes the code by removing
    unused parts of the platform.
  • JavaDataCompact for linking in auxiliary data
    files such as HTML, image, and sound files.

21
Sun's EmbeddedJava Technology
22
EmbeddedJava Application Environment
23
JIT compiler
24
JIT vs. interpreted
Slow
25
JVM/JIT compiler Products
  • Dynamic compilation technique using a JIT
    compiler but tradeoff between
  • performance
  • memory consumption
  • startup time
  • KAFFE JIT- one order of magnitude better
    execution time than Sun's JDK VM
  • SuperCede VM - performs 58 and 91 faster then
    JDK
  • Guava by Softway -better than Sun's JDK 1.0.2 VM
  • Microsoft's JVM/JIT- in Internet Explorer PC
    Magazine, is the fastest JVM/JIT for the PC
    market.
  • KVM Kilo Virtual Machine small code size
    kernel

26
Compiled JAVA
  • Java ? native machine language
  • Seems to be the current trend
  • Bye, bye
  • portability
  • load new classes on-the-fly
  • Best real-time behavior

27
J2MicroEdition
  • A subset of the Java Standard Edition
  • Notion of configuration

28
J2MicroEdition
  • CDLC config.
  • 160-512 kB of memory
  • 16-32 bit processor
  • network connectivity
  • J2ME Wireless Toolkit
  • debugging capabilities
  • emulators

29
JADE
  • Java Agent DEvelopment Framework
  • Software framework fully implemented in Java
    language
  • A middle-ware that simplifies the implementation
    of multi-agent systems
  • Complies with the FIPA specifications

30
JADEs LEAP on embedded systems
  • Lightweight Extensible Agent Platform
  • LEAP is an extension of JADE to enable it to run
    on wireless devices and PDA's such as cell phones
    and Palms
  • 02/05/02 - LEAP 2.1 has been released

31
LEAP Architecture
32
LEAP agent communication
33
Target devices for LEAP
34
Outline
  • Embedded systems characteristics
  • Application domains
  • Java characteristics
  • Java in embedded systems
  • Future trends
  • References

35
Trends
  • Some constraints are relaxed more memory,
    cheaper CPUs
  • Real-time functionality - delivered by OS not by
    JVM
  • Tendency to link Java code with OS proprietary
    code
  • Real-time threads parallel to JAVA threads
  • New distributed services

36
Trends - Real-time threads
37
References (1)
  • http//java.sun.com/products/embeddedjava
  • What are the advantages of Java in embedded
    systems? F.Mueller, ECE 2002
  • Using Java in Embedded Systems V.Ivanovic, M.
    Mahar, Circuit Cellar, 1999.
  • Java on embedded systems M.Gafen, NSI.com.
  • Personal Java Application Environment
    Specification v.1.1.2 1999.
  • Embedded systems conferences http//www.esconline
    .com/

38
References (2)
  • LEAP a FIPA platform for mobile and handheld
    devices Frederico B., Agostino P.
  • Introduction to Java 2 Micro Edition, Jeff
    Brown, OCI (Object Computing Inc)
  • JADE http//sharon.cselt.it/projects/jade/
  • LEAP http//leap.crm-paris.com/
  • FIPA http//www.fipa.org/
Write a Comment
User Comments (0)
About PowerShow.com