Global V2C Design Guide
High Level API Design Guide
Fiat Chrysler Automobiles
© 2016 FCA ALL RIGHTS RESERVED
Table of Contents
1 Purpose..................................................................................................................................................................3
1.1 Global V2C API Owner..................................................................................................................................3
1.2 Revision notes..............................................................................................................................................3
1.3 FCA RASIC.....................................................................................................................................................3
2 Description ............................................................................................................................................................3
2.1 Scope............................................................................................................................................................3
2.2 Out of Scope.................................................................................................................................................3
2.3 Enablers .......................................................................................................................................................3
3 Use Case Sequence Diagrams................................................................................................................................4
3.1 Use Case Sequence Diagram........................................................................................................................4
3.1.1 Prerequisites............................................................................................................................................4
3.1.2 Use Case Sequence Description (Repeated Per Use Case) ......................................................................4
3.1.3 Exit Conditions.........................................................................................................................................5
3.1.4 Error Handling and Recovery...................................................................................................................5
© 2016 FCA ALL RIGHTS RESERVED
1 Purpose
The purpose of this document is to more clearly define the design requirements and principles for the
implementation of the Global V2C API, for all standard MQTT API’s in both the vehicle and back office.
1.1 Global V2C API Owner
Name: James E Simon
Email Address: james.simon1@external.fcagroup.com
Phonne Number: 586.275.8066
1.2 Revision notes
Date
Author
Description
-03-
/06/2018
James Simon
Steve Malson
Initial Draft
1.3 FCA RASIC
Role
Responsible
Name
Phone
Lead V2C API
Integtrator
V2C Integration and
Architecture
Steve
Malson
steven.malson@external.fcagroup.com
+1 (425) 939-
7452
V2C API Interface
Architect
V2C MQTT API
Definition and
Design
James Simon
James.simon1@external.fcagroup.com
586.275.8066
Global Simulator
Developer
Development of
Global Simulator
and Test
Framework
Steven
Kowalczyk
skowalczyk@jdmconsulting.com
Project Owner
??
FCA ICT Architect
ICT Cloud
Architecture
Asif Khan
Asif.Khan1@external.fcagroup.com
FCA IT Lead
IT Lead
Michael
Mathias
michael.mathias@fcagroup.com
+1 248-838-
6556
2 Description
The FCA Uconnect Global API’s define a standard data communication protocol for the Telematics Unit in the
vehicle to interface with the cloud based Service Delivery Platform (SDP). The in-vehicle unit consists of either a
Telematics Box Module (TBM) or Head Unit (HU), while the SDP can be hosted in any one of many cloud based
infrastructures including Amazon Web Services (AWS).
The primary objective of this API is to create interoperability between the FCA regions including APAC, EMEA,
LATAM, and NAFTA which with proper adoption will result in efficiency improvements and cost reductions as
© 2016 FCA ALL RIGHTS RESERVED
platforms become more global. Additionally, the API will improve the FCA Connected Vehicle Platform design for
performance, scalability, flexibility, security, maintainability, and cost effectiveness.
The API is based on industry best-practices for the Internet of Things (IoT) including the use of the secure MQTT
and HTTP communication protocols. The need to minimize costly wireless network traffic has also lead to the use
of Protocol Buffers for efficiently formatting the data into messages between the client (TBM or HU) and the
services (SDP).Scope
2.1 Out of Scope
HTTP Restful services for content delivery such as FOTA, MOTA, IVH.
3 Use Case Sequence Diagrams
3.1 Client and Subscription Status
3.1.1 Prerequisites
TU Feeds
Vehicle Factory Feeds
PKI Certificate Process Complete
Server Initializtion
© 2016 FCA ALL RIGHTS RESERVED
[Correalates to content from the FFS]
[Shoud include the various vehicle power modes the use case should work in]
3.1.2 Use Case Sequence Description (Repeated Per Use Case)
Sequence
No
Protocol
Topic
Operation/Object name
Description
1
Java
OnConnectCallBack
OnSubscribeCallBack
OnUnSubscribeCallBack
VAS registers to monitor
client connections status\n
and publish to the LFCLE\n
LifeCycle Topic\n to
understand the state of the
client\n and maintain
which topics the client\n
is subscribed to
activate broker
2 -8
MQTT
FCASDP/{ServiceTopic}/#
FCASDP/LFCLE/#
Subscribe
Each microservice subscribes to the
topic(s) relevant to it’s operations
and the Client Lifecycle topic
9
Java
N/A
OnConnectCallBack
The client is connected and the VAS is
informed via the call back
© 2016 FCA ALL RIGHTS RESERVED
10
Java
N/A
OnSubscribeCallBAck
The connected client subscribes to all
topics
11
N/A
N/A
Determine Veh State
Infers vehicle state by requested
topics
12
MQTT
FCASDP/{IOT:
ClientID}/LFCLE/#
Publish LifeCycle Message
Connection and
Subscriptions
Publishes to LFCLE topic the client
connection and subscription
information. This is read by the other
services
13-23
MQTT
FCASDP/LFCLE/{TopicName}
Notify client is connected
and subscribed
Each microservice is notified about
the client connection and
subscription status
For Key On, all services are
subscribed to. For LM1 – only High
Priority services are subscibed to.
24-30
MQTT
FCASDP/LFCLE/{TopicName}
Notify when a client
disconnects or
unsubscribes
Each microservice is notified about
the client connections and
subscription status, when the client
unsubscribes. i.e. moving from Key
On to LM1
3.1.3 Exit Conditions
This sequence is complete when the backend microservices are updated with latest information about client
connection and subscription status. This information should be maintained in a record store or db for fast lookup.
3.1.4 Error Handling and Recovery
TBD
3.2 High Priority Messages
3.2.1 Prerequisites
Server Initializtion
Client Connection and Subscription Status Flow
User Enrollment and Subscription Activiation
© 2016 FCA ALL RIGHTS RESERVED
[Correalates to content from the FFS]
[Shoud include the various vehicle power modes the use case should work in]
3.2.2 Use Case Sequence Description (Repeated Per Use Case)
Sequence
No
Protocol
Topic
Operation/Object name
Description
1
Java
OnConnectCallBack
OnSubscribeCallBack
OnUnSubscribeCallBack
VAS registers to monitor
client connections status\n
and publish to the LFCLE\n
LifeCycle Topic\n to
understand the state of the
client\n and maintain
which topics the client\n
is subscribed to
activate broker
2 -8
MQTT
FCASDP/{ServiceTopic}/#
FCASDP/LFCLE/#
Subscribe
Each microservice subscribes to the
topic(s) relevant to it’s operations
and the Client Lifecycle topic
9
Java
N/A
OnConnectCallBack
The client is connected and the VAS is
informed via the call back
© 2016 FCA ALL RIGHTS RESERVED
10
Java
N/A
OnSubscribeCallBAck
The connected client subscribes to all
topics
11
N/A
N/A
Determine Veh State
Infers vehicle state by requested
topics
12
MQTT
FCASDP/{IOT:
ClientID}/LFCLE/#
Publish LifeCycle Message
Connection and
Subscriptions
Publishes to LFCLE topic the client
connection and subscription
information. This is read by the other
services
13-23
MQTT
FCASDP/LFCLE/{TopicName}
Notify client is connected
and subscribed
Each microservice is notified about
the client connection and
subscription status
For Key On, all services are
subscribed to. For LM1 – only High
Priority services are subscibed to.
24-30
MQTT
FCASDP/LFCLE/{TopicName}
Notify when a client
disconnects or
unsubscribes
Each microservice is notified about
the client connections and
subscription status, when the client
unsubscribes. i.e. moving from Key
On to LM1
3.2.3 Exit Conditions
This sequence is complete when the backend microservices are updated with latest information about client
connection and subscription status. This information should be maintained in a record store or db for fast lookup.
3.2.4 Error Handling and Recovery
TBD