Upload
ryo-jin
View
366
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI - Janos Kovacs, Intel
Citation preview
Murphy integration to
Weston in Tizen IVI
Janos Kovacs
Intel
Open Source Technology Center
June 2014
2
Background
3
X Architecture
Wayland Architecture
Clients
Kernel
X serverCompositing
Window
Manager
Wayland Architecture
Kernel
Clients
Wayland
compositor(Weston)
4
Resource Management Framework in Murphy
Resource Engine(core library)
clie
nt
AP
I
config API
manager
AP
I
Resource
Managers(optional plugins)
Exception
Rules
(optional)
Client Protocol
Adapters(plugins)
LUA adapter
Config Protocol
Adapter(optional plugins)
DBTable
DBTable
Data
base Inte
rface
xxx_owners
xxx_users
5
Screen Management Building Blocks• Regulator
• Logic to adapt vehicle state, driver activities and application usage scenarios
• Set of rules and/or state machines
• Determines what applications can be active
• Layout Manager• Manages Areas and Layers
• Assigns and moves surfaces to areas/layers
• Depends on Regulations
• Resource Manager• Decides what active applications can do and when
• Depends on Regulations
• Application Launcher / Task Switcher• Launches/kills application
• Requests to switch active application
• Screen Controller• Carries out / enforces the decisions of Layout & Resource Manager
• Input Controller• Carries out / enforces the decisions of Input & Resource Manager
6
Basic Usecases for Screen Management
• Application launching
• Task switching
• Regulation changes
7
Evolution of HomeScreen
phase 1
8
Phase 1 Executive Summary
• Tizen IVI 2.0
• Toyota-san contributed HomeScreen to Tizen• Weston ICO plugins
• HomeScreen
• Sample applications
• First version of HomeScreen was monolithic• GUI
• System controller to manage screens, audio, input etc
• Conflicting audio management• TIZEN had its own Murphy based audio management for routing and volume ctrl.
• HomeScreen had its own management for volume control
• The two stack was not integrated
9
Building Block Locations
WestonHome Screen
ResourceManager
Screen
Controller
LayoutManager
LauncherTask Switcher
Regulator
InputManager
InputController
10
Pros and Cons
• Pros
• Efficient communication between HomeScreen and Weston
• Cons
• Conflicting Tizen and ICO audio controllers in PulseAudio
• Monolithic
• GUI and control logic were grown together
• Configuration
• Limited
• No scripting
11
Evolution of HomeScreen
phase 2
12
Phase 2 Executive Summary
• Tizen IVI 3.0, 2013EOY
• Integration of the audio stacks
• Home Screen refactored
• System Controller was separated and run outside of HomeScreen as a daemon
• Audio resource management was linked to Murphy
• Home Screen improvements
• Look & feel has changed
• Improved configurability and better integration for TIZEN infrastructure
13
Building Block Locations
Weston
System
ControllerHome Screen
LayoutManager
Layout
Manager
LauncherTask Switcher
Resource Managerscreen, input
Regulator
ScreenController
InputManager
InputManager
InputController
Murphy
Resource Manageraudio
14
Pros and Cons
• Pros
• GUI and control logic separated
• Cons
• Both HomeScreen and SystemController have layout management logic
• Proxying Weston messages represent an extra hop
• Simple integration to TIZEN resource management
• Oversimplified audio management
• No scripting
15
Evolution of HomeScreen
phase 3
16
Phase 3 Executive Summary
• Tizen IVI 3.0 image 20140318.3
• Functionally equivalent to Phase2
• System controller is implemented in Murphy• The Murphy implementation is a drop-in replacement to
SystemController written in C++
• Could be tested by installing the relevant Murphy plugins
• Uses the ICO weston plugins
• Snapshot only• Migrating from ICO weston plugins to GENIVI compliant IVI shell was prioritized over the reimplementation of
System Controller in Murphy
• Paralell efforts• Toyota team worked on migration to GENIVI shell (see phase 4)
• Intel team worked on reimplementation of SystemController in Murphy
17
Building Block Locations
WestonMurphyHome Screen
LayoutManager
LayoutManager
LauncherTask Switcher
ResourceManager
Regulator
ScreenController
InputManager
InputManager
InputController
18 Example signal flow: launching Application B
RegulatorLayout
Manager
Resource
Manager
Launcher
Task SwitcherLayout
ManagerApplication
A
Application
B
Screen
Controller
Launch B
create surfacecreate surface
notificationcreate resource for B
move to area
set layercreate surface
notificationB is ready
Make B activeshow surface
request resource B
grant B
revoke A
hide surface A
show surface B
hide surface
notification
show surface
notification
hide surface
notification
show surface
notificationMake launcher
inactive
B is active
A is inactive
hide HomeScreen surface hide HomeScreen surface
19
Pros and Cons
• Pros
• GUI and control logic separated
• Full integration to TIZEN resource management
• Scriptable => highly configurable
• Cons
• Both HomeScreen and SystemController have layout management logic
• Proxying Weston messages represent an extra hop
• Works only with the deprecated ICO weston plugins
20
Evolution of HomeScreen
phase 4
21
Phase 4 Executive Summary
• Tizen IVI 3.0 M14.2
• Uses the IVI-shell instead of ICO Weston plugins
• IVI-shell is GENIVI compliant
• IVI-shell upstreaming is ongoing
• Functionally equivalent to Phase2
22
Evolution of HomeScreen
phase 5
23
Phase 5 Executive Summary
• Tizen IVI M14.3
• Merge of Phase 3 and Phase 4
• System Controller is implemented in Murphy
• Uses the IVI-shell
• No new functionality
• Functionally equivalent to Phase 4
24
Future directions
(life after phase 5)
25
Main goals
• Further data flow optimisation
• move layout and input management to Weston
• build a PoC to verify the idea
• Work with OEMs and Tier1s on regulator
• Regulations are currently rule based
• Verify whether the current mechanisms are covering all the needs
• Do we need new mechanism beside rules?
• eg. Table driven approach
26
Building Block Locations
WestonMurphyHome Screen
LauncherTask Switcher
Regulator
LayoutManager
ResourceManager
ScreenController
InputManager
InputController
27
X Architecture
Clients
Kernel
X serverCompositing
Window
Manager
Wayland Architecture Tizen Architecture
Kernel Kernel
Clients Clients
Wayland
compositor(Weston)
MurphyWeston
HomeScreen