1. This is a draft of the report being created by the OMAuto Incubator Group at OMA. Feel free to edit this report if you have something of value to contribute.

If you want to add or edit an image on this page, download the file OMAuto Incubator Report Diagrams.pptx PowerPoint deck and follow the instructions. If you don't have PowerPoint, follow these instructions:


Table of Contents

1.     Scope

1.1          OMAuto Goal

Enable a path for automakers and operators to encourage communications interoperability across automotive and wireless industries.

1.2          Deliverables

Medium = technical report with a set of agreed recommendations to drive future standardization work (25-50 pages)

 

2.     References 

ReferenceDetails

\[GotAPI\]

Generic Open Terminal API Framework (GotAPI), Candidate Version 1.1 – 15 Dec 2015, Open Mobile Alliance, http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/generic-open-terminal-api-framework-1-1

\[DWAPI\]

Device WebAPI-PCH, Candidate Version 1.0 – 19 Apr 2016, Open Mobile Alliance, http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/oma-device-webapi-v1-0

  
  


3.     Terminology and Conventions

3.1          Conventions

This is an informative document, which is not intended to provide testable requirements to implementations.

3.2          Definitions 

TermMeaning

 

 
  
  

3.3     Abbreviations

AbbreviationMeaning
DWAPIDevice WebAPI
GotAPIGeneric Open Terminal API

OMA

Open Mobile Alliance 
  


4.     Introduction

4.1          Observed Problem

4.2          Hot Projects in Open Automotive

5.     Automotive Opportunity

5.1          DM

5.2          OMA Device APIs

Through OMA enablers focused on device APIs, we can enable automotive (Auto) systems to offer API services to apps running in app environments provided by the Auto system. Such API services can enable apps to access vehicle information/services or other connected devices. These OMA enabler APIs are based upon the Generic Open Terminal API (GotAPI) \[GotAPI\] enabler framework described in section 6.2.

5.2.1          Example Use Cases for OMA Device API use in the Auto Environment

OMA device APIs can enable synergy between app use cases in the Auto environment (e.g. driver safety, IoT, etc) and evolving Auto technologies. For example:

Through the two basic roles below, Auto systems (e.g. an RVI) that host a GotAPI-based API server can support a wide variety of use cases for apps running in the Auto system, e.g.


These use cases are illustrated below.

Use Case A: Web apps (e.g. an Auto Driving Lessons Coach) can access the RVI data and external device data through GotAPI/Device API. GotAPI enables the Web app to access RVI information/services without needing to implement the RVI-specific interfaces:

Use Case A


Use Case B: An RVI can access external device information/services, e.g. exposing access to a home lighting system. 

Use Case B

6. Automotive Industry API definition projects comparison

6.1 W3C Automotive Web API (PAUL B / TED)

6.1.1 Overview and objective of project...

6.1.2 API's defined

6.2 OMA GotAPI and DWAPI

This section introduces the OMA Generic Open Terminal API Framework (GotAPI) v1.1 enabler, and the GotAPI-based Device WebAPI (DWAPI) v1.0 \[DWAPI\] enabler. At a high level, GotAPI leverages widely supported Web technologies to enable a GotAPI server host (e.g. the Auto system) to provide an easy-to-integrate framework for apps to register and authenticate, discover available API services, access those API services, and secure the data exchanged between apps and other devices/services accessed through the GotAPI server. Without GotAPI, apps typically would have be designed to support the specific methods through which other devices/services are accessed, e.g. a variety of APIs, protocols, and connection bearers.

DWAPI builds upon GotAPI in defining Web-based APIs used to access healthcare devices through IEEE-specified interfaces. Additional APIs such as for 3D printer access are in development at OMA.

Overview: Various External Devices Working with Apps Through GotAPI

GotAPI Architecture

GotAPI defines how apps and the GotAPI enabler components interact through the interfaces illustrated below:

GotAPI Interfaces

 

6.3 LWM2M (AMIT S / PADHU)

6.3.1 Overview and objective of project...

6.3.2 API's defined

6.4 OneM2M (ELIZABETH to identify lead)

6.4.1 Overview and objective of project...

6.4.2 API's defined

6.5 GENIVI Remote Vehicle Interaction (RUDI S to collaborate with Magnus/Magnus)

6.5.1 Overview and objective of project...

6.5.2 API's defined

6.6 OCF IoTivity (SANJEEV)

6.6.1 Overview and objective of project

The Open Connectivity Foundation (OCF), a global consortium of leading companies focused on creating a standard for interoperable devices and services was founded in 2014. The OCF approach has three key deliverables:

  1. An Open Specification: Open Connectivity Foundation
  2. An Open Source Implementation: IoTivity
  3. A membership driven certification program:  OCF certification

We analyzed a wide variety of Connected Vehicle – Smart Home crossover use cases based on consumer interests and demonstrations shown in trade shows. We consolidated the list of use cases to the following broad categories.

  1. Home Energy Management
  2. Security System Interaction
  3. Vehicle Location
  4. Smart Home device status
  5. Vehicle Control from Smart Device
  6. Smart Device Control from Vehicle
  7. Electric Vehicle Time-of-Use Charging
  8. Entertainment
  9. Third party application service integrations based on the above use cases

While most of these use cases are realized through closed collaborative efforts, Samsung Open Source Group and Jaguar Land Rover Open Source Technology Center, followed an open collaboration model under the Genivi Alliance Incubator projects initiative. We were able to realize the use cases in bold, with minimal resources and a short duration.

6.6.2 Key Stakeholders

We understood that, for an IoT ecosystem to flourish, the architecture should be flexible enough for the key stakeholders to bring in their value proposition and make it easy for consumption by the rest of the ecosystem.Early adopters stand to gain significantly in such an ecosystem play and this typically tends to create ecosystem mono/duo polies. From the beginning our goal was to identify the key stakeholders of the IoT ecosystem and provide an architecture that helps them integrate their existing solutions/software stacks, with as little friction as possible. We identified the following roles and expectations.

 

RoleResponsibilitiesExpectations

Service Provider

Hosts the web service 

Provides access via API and Apps

Extending service into the IoT network.

Minimal/No changes in existing workflows.

More user engagement from multiple sources.

Customers

Consume Services & use IoT Devices

Provide credentials for privacy and security

Zero/Minimal Setup overhead

Ease of Use of Products & Services

Application Developers

Innovate and delight customers with

New {Web services & IoT devices} Apps

Maximize Asset Reuse

Simpler development

New revenue streams

Auto makers & Tier 1Manufacture at Scale

Compliance to standards (where applicable)

 Increased user adoption 

Feature Differentiation

 

 All four stake holder concerns have to addressed in order create a thriving ecosystem. It is also important to note these roles overlap significantly and a single entity could be playing multiple stakeholder roles in an ecosystem.

6.6.3 A Flexible Service Architecture for IoT

 The realization of the above use cases is enabled through an architecture called the “Web Service Interface (WSI)”.  With the WSI approach, we did not try to take data from IoT devices or the automobile into the cloud.  What we wanted to do was to provide a way for services and applications to be represented within the IoT network and to bring the execution of the rules from the cloud to inside the IoT network. This approach helped us to represent ANY service in a consistent manner thereby easing the handling of protocol, ownership, privacy, security and ease of use concerns.

 

 

 

 

6.6.4 How RVI models Vehicle Information as a Spec.

As explained in the section <<RVI Section>>, RVI seperates the vehicle service data representation from the transport. The "Vehicle Signal Specification" is a simple, flexible and scalable format to represent vehicle signals inside a vehicle using a simple tree like hierarchy. RVI Core stack handles the software infrastructure needed to discover other RVI endpoints and handling of end to end delivery of messages, i.e. the transport agnostic communications infrastructure. 

 

 

6.6.5 Vehicle Connectivity as a Service? 

Thinking about the connectivity to the vehicle as a service helped us to model the use case in terms of discovering and invoking services provided by the vehicle. This made the task of realizing the use cases to be simply a matter of service invocation rather than dealing with protocol details and intricacies. These details are best handled by the software stack dictated by the automaker or Tier-1 service provider. It addresses the key issue of who owns this part of the stack, which is always a point of concern in commercial deployments.

 In this context, the RVI Expert Group within Genivi had an open source software in place for many important vehicle connectivity use cases which we could readily use for representing vehicle connectivity as a service within the WSI architecture. This extends the connectivity services hosted by the vehicle to be accessed by IoT devices inside the smart home.

 

6.6.6 Demo Showcase Setup

 The RVI-OCF Gateway basically handled all the service specific details. 

 

6.6.7 Demo Showcase Setup

  1. The RVI service node hosted in the vehicle HMI running on GDP, connects via the cloud to the home gateway.
  2. The WSI gateway also runs an RVI node (this is currently an implementation limitation which can be removed once native RVI libraries are implemented)
  3. RVI provides many means to access services and we decided to use websockets.
  4. The WSI gateway connects via websockets to the local RVI node which then talks to the remote RVI node.
  5. Connection & remote RVI service discovery is handled purely by RVI and the WSI Gateway need not worry about the internals.

After connecting to the remote RVI node, the WSI Gateway simply translates between the service definitions provided by Remote RVI Service Node into corresponding OCF device control commands based on application developer logic. This mapping is totally independent of how the gateway functions and thus provides maximum flexibility to implement any rules or service logic you can come up with, depending on the scenario. In this case, the service was controlling the HVAC parameters of a vehicle. In future, we could extend the service to be whatever the situation demands. Another major benefit of this approach is that the IoT device data is never transmitted out of the home. Similarly, the vehicular data is never transmitted over the cloud. This provides a clear separation of the data across the domains, namely smart home and vehicle with a reduced security and privacy risk – while giving total control over the customer data to the existing services. In addition to the above demos and use cases, we also have made OCF stack called as IoTivity, as part of the GDP and AGL (Automotive Grade Linux), so that interested developers will now be able to implement use cases.


All of our source code is published under

 https://github.com/GENIVI/meta-genivi-ocf-demo/tree/master

 http://git.s-osg.org/ocf-automotive-sampleapps/

 A complete video demonstration of WSI at work is presented here.

 https://www.youtube.com/watch?v=351m-GrRSNE

 The complete blog is presented here.

 https://blogs.s-osg.org/osg-ocf-automotive-fortnight/

 

6.6.2 API's defined

Please focus on overall expected penetration of OSS work in IoT market

6.7 OMA-DM and vehicle security (YAIR N)

6.7.1 Overview and objective of project...

6.7.2 API's defined


7. Analysis and recommendations to achieve interoperability (JOEL H)