What Tizen 3 can provide to IVI

Tizen IVI
Architecture
New features
Dominig ar Foll, Intel Open Source
[email protected]
Agenda
2
●
What is Tizen IVI
●
How to join the project
●
Our road map
●
Architecture
●
New Features
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen IVI
●
Support Intel and ARM
●
Secured Linux embedded distro
●
Fast boot
●
Advanced connectivity
●
Wayland multi-tool kit
●
●
HTML5 ready
IVI middleware
Media
–
Car Can-Bus
–
Phone and messages
Compliant with IVI standards
–
●
–
–
3
Genivi
AGL
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen 3 an Open Project
TSG Arch Forum API Forum
Release Engineer
Architects
QA Engineer
Maintainers
[Integrators]
Domain
Domain
Architects
Architects
Maintainers
Maintain-
…
Integrators
Git Group
Reviewers
ers
Integrators
Reviewers
Reviewers
Developers
4
Tizen 3 IVI
ALS June 2014
package
package
package
package
Dominig ar Foll
Intel Open Source Technology Centre
Code contribution Flow
Maintainer can override
Developer
Write
Write code
code
Reviewer
code acceptance at any step
Submit
Submit to
to
Gerrit
Gerrit
Maintainer
Maintainer
OK
Not OK
Offer
Offer suggestions
suggestions
Review
Review
Approve
Approve
contribution
contribution
Maintainer
[Integrator]
Release
Release to
to
Integrate
Integrate
build
build system
system
contribution
contribution
Release
engineer
OK
Create
Create image
image
Smoke
Smoke Test
Test
Release
Release image
image
Not OK
5
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
How to Create a New Tizen Profile
Tools
Tools
6
Tizen 3 IVI
ALS June 2014
Base
Base (mandatory)
(mandatory)
Ofono
Ofono
Core
Core
...
...
Qt
Qt
IVI
IVI
HAL // platform
platform
HAL
Devel
Devel
QA &
& Tests
Tests
QA
Common
Common
Mobile
Mobile
EFL
EFL
Profiles
Profiles
...
...
Shared
Shared (optional)
(optional)
Dominig ar Foll
Intel Open Source Technology Centre
Keeping Synced with Tizen:Common
a
c
b
Submissions
on tizen_$profile
(specific pkgs)
e
d
y
z
2
1
3
7
Tizen 3 IVI
ALS June 2014
Submissions
on tizen_common
(new features)
2
1
3
syn
Submissions on tizen:
accepted on tizen_$profile only if
accepted on tizen_common
(bug fixes)
x
c
Profile
4
Common
daily
4
weekly
Dominig ar Foll
Intel Open Source Technology Centre
Tizen IVI Roadmap
POR
2014
Apr
May
June
July
Aug
Sep
Oct
Nov
De
Jan
Feb
Mar
Apr
May
c
Tizen 3.0 Alpha
Tizen 3.0 Alpha
Beta
Beta
IVI 3.0-M3
IVI 3.0-M3
3.0-M2
3.0-M2
IVI 3.0 M3
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Speech)
•
•
•
•
•
•
•
•
•
8 •
•
Smack 3 domain model
Apps2App Comms
DLNA
Media Player w/BT and DLNA
Dialer App w/BT HFP
WebGL, Video and CSS HW accel
HW accel of Video streams
GENIVI Compliance w/ 6.0
AGL incremental requirements as defined by
AGL and OEM/Tier1 customers
•
•
•
•
•
•
•
•
Aug
Se
In Planning
p
IVI Next
Functional Features
Web APIs (Vehicle Info, DLNA DMS,
July
IVI Next…
IVI Next…
Functional Features
•
Jun
e
Functional Features
A2DP, HFP 1.6, MAP
In Planning
Final
Final
IVI 3.0 Final
IVI 3.0 Final
IVI 3.0 M2
BT - Serial Port Profile 1.1, AVRCP,
POR
2015
Crosswalk replaces webkit-efl
Smack 3 domain model w/ Crosswalk
Sequential Multi-User
PIM w/ Cloud sync
ICO sample UI w/ GENIVI Layer Manager
Modello sample HMI
Fast boot to camera
WiFi Direct support
Vendor defined Smack domains
Yocto Build Support
Simultaneous Multi-User
Integrated Browser
Additional AMB, Web APIs
Additional AGL Component Integration
Murphy w/ GENIVI Audio Manager
Miracast
Qt5
SDK Enhancements
Additional Tools
* IVI 3.o Final will be focused on bug fixes
and stabilization of all features in previous
Tizen IVI 3.0 releases
Genivi Layer Manager
Genivi Audio Manager
Diagnostic
Tizen Log
3 IVIand Trace
ALS June 2014
Tizen IVI SDK
Dominig ar Foll
Intel Open Source Technology Centre
Architecture
Applications
Web Applications
Public
Web Framework
API
W3C/HTML5
W3C/HTML5
Video
Video
CSS3
CSS3
Worker
Worker
Device
Device APIs
APIs
…
Touch
Touch
WebGL
WebGL
BT
BT
LBS
LBS
Msg
Msg
…
Call
Call
NFC
NFC
Web Runtime
Core
Core
Application
Application
Graphics
Graphics &
& UI
UI
Multimedia
Multimedia
Web
Web
Messaging
Messaging
Location
Location
Framework
Framework
Security
Security
System
System
Base
Base
Connectivity
Connectivity
Telephony
Telephony
PIM
PIM
IVI
Kernel
Linux Kernel & device drivers
9
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen IVI Multi-user system
10
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen Multi-user requirements
●
Guest log in by default
–
Start Generic Application
(e.g. rear cam, radio, ...)
●
User logging in shall not stop running applications
–
–
–
–
●
11
ID user is added on top of Guest.
Multiple user can share the same Display
(e.g. passenger and drivers)
Users can exchange seats
(and so Display)
Security must protect the user data and the system data.
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Dissociate Seat and User
●
General Linux
–
–
●
IVI
–
–
–
12
Before Login → No use
Seat = Display
Before Login → Guest
Login → add user to a seat
User can change seat
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
What needs to change
●
●
●
●
13
Application Frame work
Login Manager
Startup procedure
Security model
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Application Framework
• Launching Application
• Explicit or implicit information (Combination of Action, URI, and MIME) can be used
to determine an app to launch and the control backend.
• Allowed to launch different type of app (i.e. Web to Native and Native to Web)
• Application life cycle management
• Install – delete – update
• List all, recently launch– Search – swap active
• Event Handler
• Screen orientation size and number, dim, off
• Critical resources RAM, disk, batterie, ...
• Inter App communication
• Service Req
• Message exchange
• Copy/Paste
• Drag/Drop
14
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
AppFW with Tizen Login Manager
15
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
User & App Management
–
Base on standard Linux user account
–
Each user owns its Environment / data / applications
–
Priviledge users(s) concept
–
Each App has its own Smack label and priviledge manifest
User 1 Apps
Global Apps
User 2 Apps
Default Apps
16
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Application Framework
• Application are launched in the User Environment
provided by systemd session
• Each User can access to :
–
–
–
–
A set of databases corresponding to System/common Application
Another corresponding to it own databases.
Application Databases look like the Tizen 2.0 ones
Core API are extended
17
Tizen 3.0 multi user AppFW
June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen 3 : Application Framework
18
Tizen 3.0 multi user AppFW
June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Security
¿ IT Security in a Car ?
20
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Tizen an integrated security
●
Application isolation with controlled sharing
–
–
–
●
Per Application control over privileged resources
–
–
–
●
Extensive control of system resources
Fine grain control of the ressource
HTML5 and Native Applications
Multiple users on a device
–
–
21
No access to system privileges
No undeclared data sharing
No direct launch in session
Application available for all or individual user
No data contamination of uncontrolled sharing.
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Three Domains Model - A new simplified model
●
●
●
●
●
●
●
22
"User"
: user domain for user processes and data,
"System" : system domain for system processes and
their private data
"_" : floor domain for static public data.
Peers domains are used for
System process change ID whenever possible
Each User has a unique UID
Each Application has a unique Smack label.
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Per Application Manifest
●
Manifest are fined grained
e.g. Bluetooth
–
–
–
–
–
–
23
bluetoothmanager
bluetooth.spp (Serial Port Profile)
bluetooth.opp (Object Push
Profile)
bluetooth.health (Health Device
Profile)
bluetooth.gap (Generic Access
Profile)
bluetooth.admin
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Manifest enforcement SAPI
Apps
(evolution from Tizen 2.x CAPI)
Xwalk Process
W3C
APIs
Frameworks
Xwalk Process
RP
RP
RP
EP
EP
EP
W3C
APIs
Core App
Tizen Ext. Crosswalk
Service API
RP
RP
RP
EP
EP
EP
Tizen Ext. Crosswalk
SAPI
SAPI
Native App
Native Framework
SAPI
AMD Session Agent
SAPI
AMD Session Agent
User session
User session
System
Service API
Services Proxy Daemon
API call permission : ALWAYS / NEVER / ASK ONCE / ASK ALWAYS (+ answers cache)
Module
Module
Module
Module
Module
Module
Internal APIs (based on CAPIs)
Core services
App FW
,,,
BT Service
Connman Service
..Media service.
,,,
Security
24
Tizen 3 IVI
ALS June 2014
Cynara
Dominig ar Foll
Intel Open Source Technology Centre
Web Run Time
CrossWalk Architecture
WebApp
WebApp
WebApp
WebApp
Extension
Extension
Extension
Extension
Process
Process (EP)
(EP)
Process
Process (EP)
(EP)
Render
Render
Render
Render
Process
Process (RP)
(RP)
Process
Process (RP)
(RP)
II
II
P
P
P
P
C
C
C
C
•
•
•
•
•
•
Shared process model
BP is shared with all WebApps
WebApp contains EP and RP
RP is sandboxed and can’t do OS calls
RP delegates OS calls to BP via IPC
EP is not sandboxed and can do OS calls
Browser Process (BP)
Tizen OS
26
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
CrossWalk Security
•
•
•
•
27
Tizen 3 IVI
ALS June 2014
Policy is created during WebApp
installation
API permission is checked against
the policy during runtime
Policy contains <application
context>, <privilege> tuple
Permission check has simple
answer: ALLOW, DENY or ASK
USER
Dominig ar Foll
Intel Open Source Technology Centre
Modello HTML5 UI
●
HTML5 UI
–
–
–
–
28
Proof of concept
Reference
Open Source Option
Fully functional
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
Nice add-on
Tizen Goodies
●
Graphic
–
–
–
–
–
●
Weston 1.5 with XDG and
Layers
EFL 1.9
QT 5.3
Ozone
Gstreamer 1.2
Automotive Middleware
●
Build Systems
–
–
–
●
OBS
Yocto
Eclipse SDK
Architecture
–
–
–
IA 64 bits
IA 32 bits
ARM 32 bits
Automotive Message Broker
– Murphy resource
management
DLNA, WiFi P2P, DNLA, NFC, ...
–
●
30
Tizen 3 IVI
ALS June 2014
Dominig ar Foll
Intel Open Source Technology Centre
¿
31
Tizen 3 IVI
ALS June 2014
?
Dominig ar Foll
Intel Open Source Technology Centre