This page lists the different components and tasks to be completed for the architecture discussed on the Vehicle data exchange protocols page. The table references to the following diagram, with components that are considered in scope for the PoC highlighted with green color.
Vehicle
Definitions:
StateStorage and VSSFeeder is expected to be combined into one component in the implementation.
SignalStoreIF : Done by reading/writing sqlite database transactions, and using the notification feature to notify components that update occurred.
StateStorage: Essentially implemented by sqlite instance
SignalFeedIF: This is an internal implementation detail now since StateStorage/VSSFeeder is essentially one program
OEM Cloud
ValueStoreIF: ?
ValueQueryIF: ?
The interface is expected to be accessing the database itself. In order to give the GraphQL server full freedom to query data intelligently, it should connect directly to the SQL database.
Apache License is more preferred by participants.
# | Component | Work | Software Components / Implementation details (PoC) | Software Components / Implementation for Production Systems (WIP, future) | Owner |
---|---|---|---|---|---|
1 | In-vehicle State storage (laptop simulator) |
|
→ state_storage implementation by Ulf |
|
→ Ulf |
2 | In-vehicle VSS2 translation (a.k.a. VSS feeder) |
|
then (future) run full vehicle driving simulator | Keith | |
3 | In-vehicle Data Package |
| Protocol defined within the CCS project | Future development. No support currently to transfer a Data Package in W3C Gen2 | Gunnar |
4 | In-vehicle Data server |
| Use server directory from W3C_VehicleSignalInterfaceImpl | Ulf | |
5 | OEM Cloud Vehicle client |
| Written in Go, some similar code as in W3C Gen 2 reference server Demo includes this function already.. In ccs-client repo. | Ulf | |
6 | OEM Cloud VSS2 database |
Gunnar: I have some experience setting up Postgres, so this is a reasonable option. |
Implemented in In ccs-client repo. | In production more likely to be an object store database instead of a RDBS. Sanjeev looking at Apache ecosystem and Hortonworks/Cloudera platform capabilities. | Ulf |
7 | OEM Cloud Identity management |
| Later. programming language preference could be influenced by the programmer | -- | |
8 | OEM Cloud Access management |
| Later. programming language preference could be influenced by the programmer | -- | |
9 | OEM Cloud Resource Management |
| GraphQL → Apache Apollo?
| (Alexander Domin) | |
10 | Neutral Server Data Marketplace |
| Repo link? In vss-graphql-client-swift repository Has programming framework/example (in SWIFT) to access data via graphql.
TODO: Expose a neutral-server API to third party applications. | Kevin | |
11 | 3rd Party Application |
| Example/standard API work needed Need discussion/definition of what the open API should be. The API would be quite transparent if VSS is exposed directly, but the Neutral Server API might expose different functions also. The apps could however be used with modification. | Kevin |