31
Tizen IVI Architecture New features Dominig ar Foll, Intel Open Source [email protected]

Tizen IVI Architecture New features · 2017-12-14 · Tizen 3 IVI ALS June 2014 Dominig ar Foll Intel Open Source Technology Centre 8 Apr May June July Aug Sep Oct Nov De c Jan Feb

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Tizen IVIArchitecture New features

Dominig ar Foll, Intel Open Source

[email protected]

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

2

Agenda

● What is Tizen IVI

● How to join the project

● Our road map

● Architecture

● New Features

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

3

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– Genivi– AGL

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

4

Tizen 3 an Open Project TSG Arch ForumAPI Forum

Release Engineer

QA Engineer

Domain

Maintainers

Integrators

Reviewers

package package

Architects

Domain

Maintain-

ers

Integrators

Reviewers

package package

Architects

Git Group

Developers

Reviewers

[Integrators]

Maintainers

Architects

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

5

Code contribution Flow

Write code Write code

Developer

Reviewer

Submit to

Gerrit

Submit to

Gerrit

ReviewReview Offer suggestions Offer suggestions

Not OKApprove

contribution

Approve

contribution

OK

Maintainer

[Integrator]Integrate

contribution

Integrate

contribution

Release

engineer Create image Create image Release image Release image

MaintainerMaintainer

Maintainer can override

code acceptance at any step

Release to

build system

Release to

build system

Smoke TestSmoke Test

Not OK

OK

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

6

How to Create a New Tizen Profile

MobileMobile

CoreCore

IVIIVI ......

Ofo

noO

fono

......Qt

Qt

EF

LE

FL

Dev

elD

evel

QA

& T

ests

QA

& T

ests

ProfilesProfiles

CommonCommon

Base (mandatory)Base (mandatory) Shared (optional)Shared (optional)ToolsTools

HA

L / p

latfo

rmH

AL

/ pla

tform

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

7

Keeping Synced with Tizen:Common

Common

Submissions on tizen:accepted on tizen_$profile only if

accepted on tizen_common(bug fixes)

Profile

c

b

a Submissions on tizen_$profile

(specific pkgs)

daily

weekly1

2

3

ed

4

s

ync

xy

z

Submissions on tizen_common

(new features)

12

34

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

8

Apr May June July Aug Sep Oct Nov De

c

Jan Feb Mar Apr May Jun

e

July Aug Se

p

20142014 20152015

3.0-M23.0-M2

IVI 3.0-M3IVI 3.0-M3

Functional Features

• BT - Serial Port Profile 1.1, AVRCP,

A2DP, HFP 1.6, MAP

• Web APIs (Vehicle Info, DLNA DMS,

Speech)

• 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 Layer Manager

• Genivi Audio Manager

• Diagnostic Log and Trace

• Tizen IVI SDK

IVI 3.0 M2

Functional Features

• GENIVI Compliance w/ 6.0

• AGL incremental requirements as defined by

AGL and OEM/Tier1 customers

• 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

IVI 3.0 M3

IVI 3.0 FinalIVI 3.0 Final

In Planning

In Planning

POR

POR

IVI Next…IVI Next…

Functional Features

• 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 Next

Tizen 3.0 AlphaTizen 3.0 Alpha

BetaBeta

FinalFinal

* IVI 3.o Final will be focused on bug fixes

and stabilization of all features in previous

Tizen IVI 3.0 releases

Tizen IVI Roadmap

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

9

Architecture

W3C/HTML5 W3C/HTML5 Device APIs Device APIs

Web Runtime Web Runtime

VideoVideo TouchTouch

CSS3CSS3 WebGLWebGL

WorkerWorker

BTBT CallCall

LBSLBS NFCNFC

MsgMsg… …

ApplicationsApplications

Web FrameworkWeb Framework

KernelKernel

CoreCore

Application

Framework

Application

Framework

Graphics & UIGraphics & UI MultimediaMultimedia WebWeb MessagingMessaging LocationLocation

SecuritySecurity SystemSystem BaseBase ConnectivityConnectivity TelephonyTelephony PIMPIM

Linux Kernel & device driversLinux Kernel & device drivers

Web ApplicationsWeb Applications

Public

API

IVIIVI

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

10

Tizen IVI Multi-user system

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

11

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

– 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 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

12

Dissociate Seat and User

● General Linux– Before Login → No use– Seat = Display

● IVI– Before Login → Guest– Login → add user to a seat– User can change seat

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

13

What needs to change

● Application Frame work● Login Manager● Startup procedure● Security model

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

14

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

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

15

AppFW with Tizen Login Manager

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

16

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

Global AppsUser 1 Apps User 2 Apps

Default Apps

Tizen 3.0 multi user AppFWJune 2014

Dominig ar FollIntel Open Source Technology Centre

17

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

Tizen 3.0 multi user AppFWJune 2014

Dominig ar FollIntel Open Source Technology Centre

18

Tizen 3 : Application Framework

Security

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

20

¿ IT Security in a Car ?

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

21

Tizen an integrated security

● Application isolation with controlled sharing– No access to system privileges– No undeclared data sharing– No direct launch in session

● 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– Application available for all or individual user– No data contamination of uncontrolled sharing.

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

22

Three Domains Model - A new simplified model

● "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 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

23

Per Application Manifest

● Manifest are fined grainede.g. Bluetooth– 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 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

24

Manifest enforcement SAPI (evolution from Tizen 2.x CAPI)Apps

Service API

Service API

Security

Core services

FrameworksCore App

SAPI

Cynara

User session

System

User session

API call permission : ALWAYS / NEVER / ASK ONCE / ASK ALWAYS (+ answers cache)

Internal APIs (based on CAPIs)

Services Proxy Daemon

Native App

SAPI

Native Framework

AMD Session Agent AMD Session Agent

ModuleModuleModuleModuleModuleModule

Xwalk Process

Tizen Ext. Crosswalk

W3CAPIs

RP

EP

SAPI

RP

EP

RP

EP

BT Service Connman Service ..Media service. ,,,App FW,,,

Xwalk Process

Tizen Ext. Crosswalk

W3CAPIs

RP

EP

SAPI

RP

EP

RP

EP

Web Run Time

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

26

CrossWalk Architecture

Browser Process (BP)Browser Process (BP)

WebAppWebApp

Render

Process (RP)

Render

Process (RP)

Extension

Process (EP)

Extension

Process (EP)

I

P

C

I

P

C

WebAppWebApp

Render

Process (RP)

Render

Process (RP)

Extension

Process (EP)

Extension

Process (EP)

I

P

C

I

P

C

Tizen OSTizen OS

• 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

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

27

CrossWalk Security

• 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

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

28

Modello HTML5 UI

● HTML5 UI– Proof of concept– Reference– Open Source Option– Fully functional

Nice add-on

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

30

Tizen Goodies● Graphic

– Weston 1.5 with XDG and Layers

– EFL 1.9– QT 5.3– Ozone– Gstreamer 1.2

● Automotive Middleware– Automotive Message Broker– Murphy resource

management● DLNA, WiFi P2P, DNLA, NFC, ...

● Build Systems– OBS– Yocto– Eclipse SDK

● Architecture– IA 64 bits– IA 32 bits– ARM 32 bits

Tizen 3 IVIALS June 2014

Dominig ar FollIntel Open Source Technology Centre

31

?¿