SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
JamaicaCAR
Realtime Java Technology for
In-Vehicle Infotainment Systems
Dr. James Hunt
CEO, aicas GmbH
Temadag om Java, Sept. 2013
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
3JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Architecture
JamaicaME Runtime
NAVI
App
(example)
LWUIT / OpenGL-ES Graphics
Network Connectivity (Apache Client)
Manager
App
(example)
Com
App
(example)
HTML5
App
(example)
Platform
App
(example)
Application Management Services
RTOS
4JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
App Lifecycle
uninstallinstall
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
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
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
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)
9JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems
Security: Policy Example
 grant {
    permission java.io.FilePermission 
               "/pps/can/­", "read,write,delete,execute";
    permission javax.microedition.location.LocationPermission 
               "javax.microedition.location.LandmarkStore.read";
    permission javax.microedition.location.LocationPermission 
               "javax.microedition.location.LandmarkStore.write";
    permission javax.microedition.xlet.ixc.IxcPermission 
               "*", "bind,lookup";
    permission com.aicas.lwuit.OpenGLCanvas "render";
    permission com.foo.phone.PhonePermission "dial";
    permission com.foo.sensor.SensorPermission "sensor";
    permission com.foo.wireless.messaging.MessagingPermission 
               "sms,messaging";
    permission com.foo.onoffcontrol.OnOffControlPermission "onoffcontrol"
    permission com.foo.connmgr.ConnectivityManagerPermission 
               "connect,disconnect,connectionlistener";
    permission com.foo.media.MediaPermission "play";
}
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
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)
12The aicas Group
Thread Monitor
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
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
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

Mais conteúdo relacionado

Semelhante a Temadag om-java-jamaica car-2013-09

Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)bindu chintalapudi
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesLumension
 
Mobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseMobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseTechWell
 
Open sso enterprise customer pitch
Open sso enterprise customer pitchOpen sso enterprise customer pitch
Open sso enterprise customer pitchxKinAnx
 
List of 12 best software performance testing tools
List of 12 best software performance testing toolsList of 12 best software performance testing tools
List of 12 best software performance testing toolsJanBask Training
 
Complete Visibility into Docker Containers with AppDynamics
Complete Visibility into Docker Containers with AppDynamicsComplete Visibility into Docker Containers with AppDynamics
Complete Visibility into Docker Containers with AppDynamicsAppDynamics
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gaeSun-Jin Jang
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guideSudhanshu Chauhan
 
Securing Infrastructure as a Code - DevFest 2022 Presentation
Securing Infrastructure as a Code - DevFest 2022 PresentationSecuring Infrastructure as a Code - DevFest 2022 Presentation
Securing Infrastructure as a Code - DevFest 2022 PresentationObika Gellineau
 
Global IoT Cloud Services Survey-Aug-20160527
Global IoT Cloud Services Survey-Aug-20160527Global IoT Cloud Services Survey-Aug-20160527
Global IoT Cloud Services Survey-Aug-20160527August Lin
 
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014SOASTA
 
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014SOASTA
 
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Amazon Web Services
 
15minutesintroductiontoappdynamics1.pdf
15minutesintroductiontoappdynamics1.pdf15minutesintroductiontoappdynamics1.pdf
15minutesintroductiontoappdynamics1.pdfAnuSelvaraj2
 
Automation sample 2 xhs application
Automation sample 2   xhs applicationAutomation sample 2   xhs application
Automation sample 2 xhs applicationHai Tran Son
 
Reversing & malware analysis training part 12 rootkit analysis
Reversing & malware analysis training part 12   rootkit analysisReversing & malware analysis training part 12   rootkit analysis
Reversing & malware analysis training part 12 rootkit analysisAbdulrahman Bassam
 

Semelhante a Temadag om-java-jamaica car-2013-09 (20)

Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)Bindu Chintalapudi - Software Testing -latest (1)
Bindu Chintalapudi - Software Testing -latest (1)
 
Java Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant VulnerabilitiesJava Insecurity: How to Deal with the Constant Vulnerabilities
Java Insecurity: How to Deal with the Constant Vulnerabilities
 
Mobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseMobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should Use
 
Open sso enterprise customer pitch
Open sso enterprise customer pitchOpen sso enterprise customer pitch
Open sso enterprise customer pitch
 
List of 12 best software performance testing tools
List of 12 best software performance testing toolsList of 12 best software performance testing tools
List of 12 best software performance testing tools
 
Complete Visibility into Docker Containers with AppDynamics
Complete Visibility into Docker Containers with AppDynamicsComplete Visibility into Docker Containers with AppDynamics
Complete Visibility into Docker Containers with AppDynamics
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
Securing android applications
Securing android applicationsSecuring android applications
Securing android applications
 
Appium
AppiumAppium
Appium
 
Web application penetration testing lab setup guide
Web application penetration testing lab setup guideWeb application penetration testing lab setup guide
Web application penetration testing lab setup guide
 
Securing Infrastructure as a Code - DevFest 2022 Presentation
Securing Infrastructure as a Code - DevFest 2022 PresentationSecuring Infrastructure as a Code - DevFest 2022 Presentation
Securing Infrastructure as a Code - DevFest 2022 Presentation
 
Global IoT Cloud Services Survey-Aug-20160527
Global IoT Cloud Services Survey-Aug-20160527Global IoT Cloud Services Survey-Aug-20160527
Global IoT Cloud Services Survey-Aug-20160527
 
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
 
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
Continuous Testing for Optimal Mobile Peroformance - STPCon Spring 2014
 
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
Best Practices for Scalable Monitoring (ENT310-S) - AWS re:Invent 2018
 
15minutesintroductiontoappdynamics1.pdf
15minutesintroductiontoappdynamics1.pdf15minutesintroductiontoappdynamics1.pdf
15minutesintroductiontoappdynamics1.pdf
 
Advanced Java
Advanced JavaAdvanced Java
Advanced Java
 
Automation sample 2 xhs application
Automation sample 2   xhs applicationAutomation sample 2   xhs application
Automation sample 2 xhs application
 
Abhishek_Kumar
Abhishek_KumarAbhishek_Kumar
Abhishek_Kumar
 
Reversing & malware analysis training part 12 rootkit analysis
Reversing & malware analysis training part 12   rootkit analysisReversing & malware analysis training part 12   rootkit analysis
Reversing & malware analysis training part 12 rootkit analysis
 

Mais de InfinIT - Innovationsnetværket for it

Mais de InfinIT - Innovationsnetværket for it (20)

Erfaringer med-c kurt-noermark
Erfaringer med-c kurt-noermarkErfaringer med-c kurt-noermark
Erfaringer med-c kurt-noermark
 
Object orientering, test driven development og c
Object orientering, test driven development og cObject orientering, test driven development og c
Object orientering, test driven development og c
 
Embedded softwaredevelopment hcs
Embedded softwaredevelopment hcsEmbedded softwaredevelopment hcs
Embedded softwaredevelopment hcs
 
C og c++-jens lund jensen
C og c++-jens lund jensenC og c++-jens lund jensen
C og c++-jens lund jensen
 
201811xx foredrag c_cpp
201811xx foredrag c_cpp201811xx foredrag c_cpp
201811xx foredrag c_cpp
 
C som-programmeringssprog-bt
C som-programmeringssprog-btC som-programmeringssprog-bt
C som-programmeringssprog-bt
 
Infinit seminar 060918
Infinit seminar 060918Infinit seminar 060918
Infinit seminar 060918
 
DCR solutions
DCR solutionsDCR solutions
DCR solutions
 
Not your grandfathers BPM
Not your grandfathers BPMNot your grandfathers BPM
Not your grandfathers BPM
 
Kmd workzone - an evolutionary approach to revolution
Kmd workzone - an evolutionary approach to revolutionKmd workzone - an evolutionary approach to revolution
Kmd workzone - an evolutionary approach to revolution
 
EcoKnow - oplæg
EcoKnow - oplægEcoKnow - oplæg
EcoKnow - oplæg
 
Martin Wickins Chatbots i fronten
Martin Wickins Chatbots i frontenMartin Wickins Chatbots i fronten
Martin Wickins Chatbots i fronten
 
Marie Fenger ai kundeservice
Marie Fenger ai kundeserviceMarie Fenger ai kundeservice
Marie Fenger ai kundeservice
 
Mads Kaysen SupWiz
Mads Kaysen SupWizMads Kaysen SupWiz
Mads Kaysen SupWiz
 
Leif Howalt NNIT Service Support Center
Leif Howalt NNIT Service Support CenterLeif Howalt NNIT Service Support Center
Leif Howalt NNIT Service Support Center
 
Jan Neerbek NLP og Chatbots
Jan Neerbek NLP og ChatbotsJan Neerbek NLP og Chatbots
Jan Neerbek NLP og Chatbots
 
Anders Soegaard NLP for Customer Support
Anders Soegaard NLP for Customer SupportAnders Soegaard NLP for Customer Support
Anders Soegaard NLP for Customer Support
 
Stephen Alstrup infinit august 2018
Stephen Alstrup infinit august 2018Stephen Alstrup infinit august 2018
Stephen Alstrup infinit august 2018
 
Innovation og værdiskabelse i it-projekter
Innovation og værdiskabelse i it-projekterInnovation og værdiskabelse i it-projekter
Innovation og værdiskabelse i it-projekter
 
Rokoko infin it presentation
Rokoko infin it presentation Rokoko infin it presentation
Rokoko infin it presentation
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

Temadag om-java-jamaica car-2013-09

  • 1. JamaicaCAR Realtime Java Technology for In-Vehicle Infotainment Systems Dr. James Hunt CEO, aicas GmbH Temadag om Java, Sept. 2013
  • 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
  • 3. 3JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems Architecture JamaicaME Runtime NAVI App (example) LWUIT / OpenGL-ES Graphics Network Connectivity (Apache Client) Manager App (example) Com App (example) HTML5 App (example) Platform App (example) Application Management Services RTOS
  • 4. 4JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems App Lifecycle uninstallinstall
  • 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)
  • 9. 9JamaicaCAR: Realtime Java Technology for In-Vehicle Infotainment Systems Security: Policy Example  grant {     permission java.io.FilePermission                 "/pps/can/­", "read,write,delete,execute";     permission javax.microedition.location.LocationPermission                 "javax.microedition.location.LandmarkStore.read";     permission javax.microedition.location.LocationPermission                 "javax.microedition.location.LandmarkStore.write";     permission javax.microedition.xlet.ixc.IxcPermission                 "*", "bind,lookup";     permission com.aicas.lwuit.OpenGLCanvas "render";     permission com.foo.phone.PhonePermission "dial";     permission com.foo.sensor.SensorPermission "sensor";     permission com.foo.wireless.messaging.MessagingPermission                 "sms,messaging";     permission com.foo.onoffcontrol.OnOffControlPermission "onoffcontrol"     permission com.foo.connmgr.ConnectivityManagerPermission                 "connect,disconnect,connectionlistener";     permission com.foo.media.MediaPermission "play"; }
  • 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