Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Some clarifications + PoC proposals

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.


#ComponentWork(green star) Software Components / Implementation details (PoC)(WIP, future)
Software Components / Implementation (Production)
Owner


In-vehicle
State storage
Implementation of SOME/IP client
  • Custom code + in-memory database (+ persistence) + connection to feeder
  • Either locally cached during uptime of system or
  • Stored and indexed in a database to allow access to historical data
    • Selection of database
    • Implementation of database schema
  • Custom control code (Python or C++)
  • + sqlite binding, OK for PoC



  • Custom code


In-vehicle

VSS2 translation (a.k.a. VSS feeder)

  • Implementation of SOME/IP client?
  • or Simulator
  • Look if VSI or VSD should play a part
  • Custom code, feed simulated data



In-vehicle

Data server

  • Data server implementation for W3C Gen2
    • Reference implementation exists in
GitHub https://github.com/
    • GitHub MEAE-GOT
/W3C_VehicleSignalInterfaceImpl/tree/master/server

Use server directory from W3C_VehicleSignalInterfaceImpl




OEM Cloud

Vehicle client

  • W3C Gen2 protocol (VISS Websocket Pub/Sub)
  • Options:
    • Investigate Sanjeev's work for reusable client
    • Curl script
    • Custom code + HTTP library (e.g. written in python) custom code + libcurl binding
    • Client directory from MEAE-GOT/W3C ?
TBD
Implementation of the client to the vehicle serverReference implementation exists in GitHub https://github.com/MEAE-GOT/W3C_VehicleSignalInterfaceImpl/tree/master/client



OEM Cloud

VSS2 data lake

  • Selection of libraries and database to handle data lake
  • Custom control code (Python or C++)
  • Sqlite binding, OK for PoC
  • alt postgresql



OEM Cloud

Identity management

  • Implementation of end-user login and authentication using OpenID




OEM Cloud

Access management

  • Implementation of authorization between end-user and 3rd party application or Neutral Server using OAuth2




OEM Cloud

Resource management

  • Implementation of basic API management
  • Implementation of a GraphQL API using the VSS2
schema
  • schema 
GraphQL → Apache Apollo?


Neutral Server

Data Marketplace

  • Separate instance that consumes the OEM Cloud OAuth2 and GraphQL APIs




3rd Party Application
  • Separate instance that consumes the OEM Cloud OAuth2 and GraphQL APIs
  • Separate instance that consumes the Neutral Server/Data Marketplace APIs