Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java for embedded systems Felix G. Hamza-Lup. Outline Embedded systems characteristicsEmbedded systems characteristics Application domains Java characteristics.

Similar presentations


Presentation on theme: "Java for embedded systems Felix G. Hamza-Lup. Outline Embedded systems characteristicsEmbedded systems characteristics Application domains Java characteristics."— Presentation transcript:

1 Java for embedded systems Felix G. Hamza-Lup

2 Outline Embedded systems characteristicsEmbedded 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 => => 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 => => 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 domainsApplication 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 characteristicsJava characteristics Java in embedded systems Future trends References

10 Characteristics Portability – platform independence Software reuse – OO Simplicity – easy to learn Safety and security -Java TM Authentication and Authorization Service (JAAS) -Java TM 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 systemsJava in embedded systems Future trends References

13 Technical challenges for embedded environment

14 Problems with “Desktop” Java Too big: JVM + JIT (just-in-time) compiler+libraries  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 Sun’s PersonalJava Sun's EmbeddedJava JIT – compiler J2MicroEdition JADE’s 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 <= 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 VMKAFFE JIT- one order of magnitude better execution time than Sun's JDK VM SuperCede VM - performs 58% and 91% faster then JDKSuperCede VM - performs 58% and 91% faster then JDK Guava by Softway -better than Sun's JDK 1.0.2 VMGuava 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.”Microsoft's JVM/JIT- in Internet Explorer ; PC Magazine, “is the fastest JVM/JIT for the PC market.” KVM – Kilo Virtual MachineKVM – 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 JADE’s 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 trendsFuture 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/


Download ppt "Java for embedded systems Felix G. Hamza-Lup. Outline Embedded systems characteristicsEmbedded systems characteristics Application domains Java characteristics."

Similar presentations


Ads by Google