Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Some clarifications and responsibility updates

...

#ComponentWork(green star) Software Components / Implementation details (PoC)(WIP, future)
Software Components / Implementation (Productionfor Production Systems
(star) (WIP, future)
Owner
1In-vehicle
State storage
(laptop simulator)
  • 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
Gerald investigating (KUKSA)
2

In-vehicle

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

  • Implementation of SOME/IP client?
  • or simple simulator
  • or Vehicle Driving Simulator (LG?  OpenDS? or GENIVI GitHub version?)
    • = set up simulator, make it drive around track, get list of available signals, write code to convert signals to VSS...
    • Signals are fed over DDS to AutoWare or Apollo autonomous driving stacks.
    • Sim needs a high-end graphics machine
  • Look if VSI or VSD should play a part
  • Custom code, feeding simple simulated data

then (future) run full vehicle driving simulator


Gerald investigating (KUKSA)
3

In-vehicle

Data server
(laptop simulator)

  • Data server implementation for W3C Gen2
    • Reference implementation exists in GitHub MEAE-GOT
    • Ulf can work together with someone how to connect to an existing API of "state storage"
    • (also talk to Kuksa project - VISS+REST server)

Use server directory from W3C_VehicleSignalInterfaceImpl



Ulf
4

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 ?
    • No clear answer.  Depends on use-case.  What is the rate of data for example?
    • Sanjeev: It would make sense to write also client in Go.
  • This program shall also store the data into the data lake program (or directly into the database used as data lake)
  1. Sanjeev starts: New client written in Go
    Separate repository (GENIVI GitHub)
    Integrate with MEAE-GOT server repo makes sense.
    git submodule could be an option




Sanjeev
5

OEM Cloud

VSS2 data lake

  • Selection of libraries and database to handle data lake
    • Define database schema Can we get BMW help to define a relational database schema, and maybe also the implementation?→ Start with Ulf's proposal for DB schema
  • Custom control code (Python or C++)
  • + Sqlite binding, OK for PoC, or other database such as postgresql.

In production more likely to be an object store database instead of a RDBS.

Object store matches the "data lake" concept better.

Kevin to ask in within Geotab
6

OEM Cloud

Identity management

  • Implementation of end-user login and authentication using OpenID
    • Lots of candidates.  Responsible implementer should propose a good alternative.

Later. programming language preference could be influenced by the programmer



--
7

OEM Cloud

Access management

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

Later. programming language preference could be influenced by the programmer



--
8

OEM Cloud

Resource Management
 = Data server API

  • Implementation of basic API management
  • Resource Mgmt is the ExVe naming.
  • Implementation of a GraphQL API using the VSS2 schema 
GraphQL → Apache Apollo?
(waiting for input from Alexander)
9

Neutral Server

Data Marketplace

  • Separate instance that consumes the OEM Cloud OAuth2 and GraphQL APIs
    • We could implement a very simplistic neutral server using the published API of High Mobility, but an open implementation.
    • Security, consent and other complicates things.   Leave those details out.


Kevin
103rd Party Application
  • Example applications exist on High Mobility's GitHub
  • One instance that consumes the Neutral Server/Data Marketplace APIs
    • Use an example application from HM
    • For example an app that just shows the data (written in Node.js)
  • One instance that consumes the OEM Cloud OAuth2 and GraphQL APIs
    • Modify the application to use the OEM API directly


Kevin