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 • Security Concerns
Zones Defined Zone is a specific location inside the vehicle.
Zone Defined - ctnd
Use Cases
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.
Automotive Message Broker Zones API
Automotive Message Broker Zones API AMB provides vehicle data to applications.
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
AMB - High level
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) •
AMB - Manager
Zones in AMB 6 Zone “masks” • and a “nozone” •
Common Zone combinations
DataObject example /{source_id}/{zone_number} /DataObject
Where are my zones?
DataObject interface
Use-cases fulfilled!
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.
Use Case: The same Seat Position Application running in each zone wants to set Seat Position. Discover the current application zone {gap}. 1. DBus API: manager.FindObjectForZone(“SeatPosition”, myZone) 2. web api: var seatPosition = tizen.vehicle.get(“SeatPosition”, 3. myZone)
Use Case: Driver wants to activate child lock for his young child DBus API: manager.ZonesForObjectName(“ChildLock”) 1. App Displays the zones to Driver. 2.
Use Case: Driver wants to activate child lock for his young child DBus API: manager.ZonesForObjectName(“ChildLock”) 1. App Displays the zones to Driver. 2. Driver selects a zone 3. obj = manager.FindObjectForZone(“ChildLock”, 10) 4. Driver sets child lock to “true”. 5.
Use Case: Driver wants to set the temperature for the front of the car in a 3+ zone vehicle.
Use Case: Driver wants to set the temperature for the front of the car in a 3+ zone vehicle. var zones = manager.ZonesForObject(“HVAC”) 1. foreach(zone in zones) if(zone & Zone.Front) //set temp 2.
Security We don’t want apps in certain zones to access other zones: • Example: Child zone to set Driver zone’s seat position •
Security Murphy policy manager
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/
Recommend
More recommend