![Page 1: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/1.jpg)
Murphy integration to
Weston in Tizen IVI
Janos Kovacs
Intel
Open Source Technology Center
June 2014
![Page 2: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/2.jpg)
2
Background
![Page 3: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/3.jpg)
3
X Architecture
Wayland Architecture
Clients
Kernel
X serverCompositing
Window
Manager
Wayland Architecture
Kernel
Clients
Wayland
compositor(Weston)
![Page 4: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/4.jpg)
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
![Page 5: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/5.jpg)
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
![Page 6: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/6.jpg)
6
Basic Usecases for Screen Management
• Application launching
• Task switching
• Regulation changes
![Page 7: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/7.jpg)
7
Evolution of HomeScreen
phase 1
![Page 8: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/8.jpg)
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
![Page 9: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/9.jpg)
9
Building Block Locations
WestonHome Screen
ResourceManager
Screen
Controller
LayoutManager
LauncherTask Switcher
Regulator
InputManager
InputController
![Page 10: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/10.jpg)
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
![Page 11: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/11.jpg)
11
Evolution of HomeScreen
phase 2
![Page 12: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/12.jpg)
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
![Page 13: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/13.jpg)
13
Building Block Locations
Weston
System
ControllerHome Screen
LayoutManager
Layout
Manager
LauncherTask Switcher
Resource Managerscreen, input
Regulator
ScreenController
InputManager
InputManager
InputController
Murphy
Resource Manageraudio
![Page 14: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/14.jpg)
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
![Page 15: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/15.jpg)
15
Evolution of HomeScreen
phase 3
![Page 16: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/16.jpg)
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
![Page 17: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/17.jpg)
17
Building Block Locations
WestonMurphyHome Screen
LayoutManager
LayoutManager
LauncherTask Switcher
ResourceManager
Regulator
ScreenController
InputManager
InputManager
InputController
![Page 18: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/18.jpg)
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
![Page 19: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/19.jpg)
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
![Page 20: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/20.jpg)
20
Evolution of HomeScreen
phase 4
![Page 21: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/21.jpg)
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
![Page 22: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/22.jpg)
22
Evolution of HomeScreen
phase 5
![Page 23: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/23.jpg)
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
![Page 24: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/24.jpg)
24
Future directions
(life after phase 5)
![Page 25: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/25.jpg)
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
![Page 26: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/26.jpg)
26
Building Block Locations
WestonMurphyHome Screen
LauncherTask Switcher
Regulator
LayoutManager
ResourceManager
ScreenController
InputManager
InputController
![Page 27: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/27.jpg)
27
X Architecture
Clients
Kernel
X serverCompositing
Window
Manager
Wayland Architecture Tizen Architecture
Kernel Kernel
Clients Clients
Wayland
compositor(Weston)
MurphyWeston
HomeScreen
![Page 28: Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI](https://reader033.vdocument.in/reader033/viewer/2022051413/5554dec6b4c905a16f8b5367/html5/thumbnails/28.jpg)