moving to realtime java for embedded systems af james hunt, aicas

10
aicas technology Moving to Realtime Java for Embedded Systems Dr. James Hunt CEO, aicas GmbH Temadag om Java, Sept. 2013

Upload: infinit-innovationsnetvaerket-for-it

Post on 28-Nov-2014

392 views

Category:

Technology


3 download

DESCRIPTION

Oplægget blev holdt ved InfinIT-arrangementet "Temadag: Java for real-time and embedded systems", der blev afholdt hhv. den 12. og 13. september 2013. Læs mere om arrangementet her: http://infinit.dk/dk/arrangementer/tidligere_arrangementer/temadag_java_for_real-time_and_embedded_systems.htm

TRANSCRIPT

Page 1: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

aicas technology

Moving to Realtime Java for Embedded Systems

Dr. James HuntCEO, aicas GmbH

Temadag om Java, Sept. 2013

Page 2: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

2JamaicaVM: Realt ime Response for Java Applications

Barriers to Using Java in ES

Business Uncertainties

cost

commercial stability

support

Techniclal Uncertainties

size and speed

device access

OS issues

how does it work in practice

Page 3: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

3JamaicaVM: Realt ime Response for Java Applications

Business Issues

Cost

Effect on Product Cost

Porting Costs

External Dependencies

Licensing risk

Support risk

Obsolecense risk

Page 4: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

4JamaicaVM: Realt ime Response for Java Applications

Resource Requirements

Processor

32 bit or 64 bit

speed depends on applicationgraphics?

computational intesity?

Memory

512k has been done

from 4M w/o graphics, 20M w/ graphics

depends on application

Page 5: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

5JamaicaVM: Realt ime Response for Java Applications

Attr ibutes

Performance

500usec periodic thread w/ allocation on Linux w/ Preempt patch, Intel Core Duo, 5usec jitter

Similar result on VxWork, PowerPC

Size

minimum for HelloWorld >1Mbyte

depends on application complexity

Java Versions

J2SE 1.6 & J2ME 1.4 both w/ RTSJ

Page 6: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

6JamaicaVM: Realt ime Response for Java Applications

JamaicaVM Platform Support

RTOS

VxWorks

Linux/RT

QNX

WinCE

Windows XP...

Integrity

ThreadX

Solaris

Processors

PowerPC

SH4

ARM

Atom

x86

IA-64

Page 7: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

7JamaicaVM: Realt ime Response for Java Applications

Porting

Processor dependencies

No JIT

base AOT uses platform C compiler

Operating System

easier for POSIX like systems

harder for others

Graphics

most costly

leverage standard libraries

Page 8: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

8JamaicaVM: Realt ime Response for Java Applications

Operating System

Is an RTOS Required? Yes for

scheduling

network

file system

boad support package

Is an RTOS required?

Yes for hard realtime

No for soft realtime

Page 9: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

9JamaicaVM: Realt ime Response for Java Applications

Drivers

Device access

JNI w/ C or C++ (SWIG)

RawMemory—access control and data registers

Happenings—manage interrupts

Interrupt Service Routined

Networking

ethernet

CAN

etc.

Page 10: Moving to Realtime Java for Embedded Systems af James Hunt, Aicas

10JamaicaVM: Realt ime Response for Java Applications

JamaicaVM Build Process

Optimization

JamaicaVMBuilder

JamaicaVMBuilder

Java Byte Code

InterpretedExecutable

Profiled Executable

JamaicaVMBuilder

Profile

OptimizedExecutable

IDE

SourceCode

Javac

Test on Host(JamacaVM Pluggin)

Test on Target

Test Performance