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
2. 2JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
JamaicaCAR
Application framework for Automotive
Based on JamaicaME (J2ME w/ RTSJ & DGC)
Secure execution of downloaded apps
All the advantages of Android
plus security and consistent, low latency response
5. 5JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
App Launcher
●
Reacts to user requests for
launching or stopping apps
●
Keeps track of the current
state of all apps
●
Invokes App call backs
Sends commands
{init | start| pause | destroy}(appId)
Sends updates of app state
App Launcher App Manager
6. 6JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
App Launcher: Examples
Context: no App is currently Running
User event: user launches foreground App A
Commands sent from Launcher to Manager: init A; start A;
Context: App A is currently Running, App B is currently Stopped
User event: user launches foreground App B
Commands sent from Launcher to Manager: pause A; init B; start B
Context: App C is currently Stopped
User event: user launches background App C
Commands sent from Launcher to Manager: init C
Context: App A is currently Paused, App B is currently Running
User event: user launches App A
Commands sent from Launcher to Manager: pause B; start A
Context: App A is currently Running
User event: user stops App A
Commands from sent from Launcher to Manager: pause A; destroy A
7. 7JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Security: Overview
Xlet DeveloperXlet Developer Xlet
JAR
Xlet
JAR
writes
Platform Provider or
Trusted Entity:
add budgets and
permissions, checks
and signs JAR
Platform Provider or
Trusted Entity:
add budgets and
permissions, checks
and signs JAR
Private
Key
Private
Key
Xlet
JAR +
signature
Xlet
JAR +
signature
Xlet DistributorXlet Distributor
Xlet.
JAR +
signature
Xlet.
JAR +
signature
Target Device:
checks signature
runs application
enforces budgets
and permissions
Target Device:
checks signature
runs application
enforces budgets
and permissions
Public
Key
Public
Key
8. 8JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Security: Access Control
A policy file is packaged with the app and
specifies the required access permissions
The policy gets authorized by the platform
provider or a trusted entity prior to app installation
The app manager reads the policy file and installs
the policy for the app
The runtime environment grants the permissions
from the installed policy (and no more)
10. 10JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Security: Resource Budgets
The platform provider or a trusted entity packages
a resource budget file with the app
These are enforced by the runtime environment
Currently supported resource budgets:
Cpu time budgets
Thread budgets (number of simultaneous threads)
Example
xlet.period = 1000ms
xlet.timeBudget.paused = 100ms
xlet.timeBudget.running = 800ms
xlet.maxNumberOfThreads = 20
11. 11JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Security: Authentication
The triple (code, policy, budgets) is digitally
signed by the platform provider or a trusted entity
The digital signature is verified by the app installer
when the app gets installed
sign(code, policy, budgets)
13. 13JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Field Proven Technology
Already deployed in HMI Systems
Toyota Entunes (aka Touch & Go)
Chrysler/Fiat Uconnect
Growing supply of Apps
AHA
Information Apps
Bing
Pandora
14. 14JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Adaptable to Other Markets
Add components
web server
messaging
OSGi bundle management
Extend base APIs
Remove or replace components
LWUIT / AWT => SWING / AWT or JavaFX
D-Bus => Other IPC mechanism
15. 15JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Conclusion
Leverages State-of-the-art Java technology
Realtime garbage collection
Compilation and linking technology
Complete RTSJ implementation
multicore support
Secure App Platform
Adaptable for Other Markets
Market Proven Technology