Multi-zone application development Automotive Linux Summit Kevron - - PowerPoint PPT Presentation

multi zone application development automotive linux summit
SMART_READER_LITE
LIVE PREVIEW

Multi-zone application development Automotive Linux Summit Kevron - - PowerPoint PPT Presentation

Multi-zone application development Automotive Linux Summit Kevron Rees Fall 2013 Agenda Zone defined Automotive Use-cases that require zones Automotive Message Broker (AMB) AMB Zones API Filling the Use-cases


slide-1
SLIDE 1

Multi-zone application development Automotive Linux Summit

Kevron Rees

Fall 2013

slide-2
SLIDE 2

Agenda

  • Zone defined
  • Automotive Use-cases that require zones
  • Automotive Message Broker (AMB)
  • AMB Zones API
  • Filling the Use-cases
  • Security Concerns
slide-3
SLIDE 3

Zones Defined

Zone is a specific location inside the vehicle.

slide-4
SLIDE 4

Zone Defined - ctnd

slide-5
SLIDE 5

Use Cases

slide-6
SLIDE 6

Use cases

  • The same Seat Position Application running in each zone wants to

set Seat Position.

  • Driver wants to use an Application to activate child lock for his

young child

  • Driver wants to set the temperature for the front of the car in a 3+

zone vehicle.

slide-7
SLIDE 7

Automotive Message Broker Zones API

slide-8
SLIDE 8

Automotive Message Broker Zones API

AMB provides vehicle data to applications.

slide-9
SLIDE 9

AMB Zones API

  • AMB organizes data into logical DBus paths:

/{source_id}/{zone_number}/DataObject

  • AMB provides a “Manager” API to discover the different

DataObjects

slide-10
SLIDE 10

AMB - High level

slide-11
SLIDE 11

AMB - Manager

The manager interface allows applications to:

  • Find sources for a specific vehicle data object (FindObject)
  • Discover zones for a given vehicle data object

(ZonesForObjectName)

  • Get a vehicle data object from a specific zone (FindObjectForZone)
  • List all supported vehicle data objects (List)
slide-12
SLIDE 12

AMB - Manager

slide-13
SLIDE 13

Zones in AMB

  • 6 Zone “masks”
  • and a “nozone”
slide-14
SLIDE 14

Common Zone combinations

slide-15
SLIDE 15

DataObject example

/{source_id}/{zone_number}/DataObject

slide-16
SLIDE 16

Where are my zones?

slide-17
SLIDE 17

DataObject interface

slide-18
SLIDE 18

Use-cases fulfilled!

slide-19
SLIDE 19

Use cases

  • The same Seat Position Application running in each zone wants to

set Seat Position.

  • Driver wants to activate child lock for his young child.
  • Driver wants to set the temperature for the front of the car in a 3+

zone vehicle.

slide-20
SLIDE 20

Use Case: The same Seat Position Application running in each zone wants to set Seat Position.

1.

Discover the current application zone {gap}.

2.

DBus API: manager.FindObjectForZone(“SeatPosition”, myZone)

3.

web api: var seatPosition = tizen.vehicle.get(“SeatPosition”, myZone)

slide-21
SLIDE 21

Use Case: Driver wants to activate child lock for his young child

1.

DBus API: manager.ZonesForObjectName(“ChildLock”)

2.

App Displays the zones to Driver.

slide-22
SLIDE 22
slide-23
SLIDE 23

Use Case: Driver wants to activate child lock for his young child

1.

DBus API: manager.ZonesForObjectName(“ChildLock”)

2.

App Displays the zones to Driver.

3.

Driver selects a zone

4.

  • bj = manager.FindObjectForZone(“ChildLock”, 10)

5.

Driver sets child lock to “true”.

slide-24
SLIDE 24

Use Case: Driver wants to set the temperature for the front of the car in a 3+ zone vehicle.

slide-25
SLIDE 25

Use Case: Driver wants to set the temperature for the front of the car in a 3+ zone vehicle.

1.

var zones = manager.ZonesForObject(“HVAC”)

2.

foreach(zone in zones) if(zone & Zone.Front) //set temp

slide-26
SLIDE 26

Security

  • We don’t want apps in certain zones to access other zones:

Example:

  • Child zone to set Driver zone’s seat position
slide-27
SLIDE 27

Security

Murphy policy manager

slide-28
SLIDE 28

Questions

Kevron Rees email: kevron.m.rees@intel.com AMB: https://github.com/otcshare/automotive-message-broker AMB Docs: http://otcshare.github.io/automotive-message-broker/html/