# | Component | Work | Software Components / Implementation details (PoC) | Software Components / Implementation for Production Systems (WIP, future) | Owner |
---|
1 | In-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
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-106 |
---|
|
| - Custom control code (Python or C++)
- + sqlite binding, OK for PoC
→ state_storage implementation by Ulf
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-107 |
---|
|
| Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-108 |
---|
|
| Keith
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-109 |
---|
|
→ Ulf
|
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
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-110 |
---|
|
| - Custom code, feeding simple simulated data
then (future) run full vehicle driving simulator Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-111 |
---|
|
|
| Keith Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-112 |
---|
|
|
3 | In-vehicle Data Package | - Collecting VSS2 data into snapshots and bundles according to Value measurement formats
- Presenting data packages to the Data server
- Possibly closely related to the State storage schema
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-113 |
---|
|
| Protocol defined within the CCS project
Start with results of Apache NiFi track to fulfil this need. Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-114 |
---|
|
| Future development. No support currently to transfer a Data Package in W3C Gen2 Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-115 |
---|
|
| Gunnar |
4 | 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)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-116 |
---|
|
| Use server directory from W3C_VehicleSignalInterfaceImpl Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-117 |
---|
|
|
| Ulf Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-154 |
---|
|
|
5 | 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)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-118 |
---|
|
| Written in Go, some similar code as in W3C Gen 2 reference server Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-119 |
---|
|
Demo includes this function already.. In ccs-client repo. Reads data from data server in vehicle and writes it into the database.
| Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-120 |
---|
|
| Ulf |
6 | OEM Cloud VSS2 database | - Selection of libraries and database
- Define database schema → Start with Ulf's proposal for DB schema
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-121 |
---|
|
Gunnar: I have some experience setting up Postgres, so this is a reasonable option. Ulf: A Go library to support Postgres exists, so this is only a small rewrite. | - Custom control code (Python or C++)
- + Sqlite binding, OK for PoC, or other database such as postgresql.
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-122 |
---|
|
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. Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-124 |
---|
|
| Ulf Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-125 |
---|
|
|
7 | OEM Cloud Identity management | - Implementation of end-user login and authentication using OpenID
- Lots of candidates. Responsible implementer should propose a good alternative.
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-126 |
---|
|
| Later. programming language preference could be influenced by the programmer
|
| -- |
8 | OEM Cloud Access management | - Implementation of authorization between end-user and 3rd party application or Neutral Server using OAuth2
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-127 |
---|
|
| Later. programming language preference could be influenced by the programmer
|
| -- |
9 | 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
- Interface to the client, is of course defined by GraphQL+schema.
- Interface to database (GraphQLDatabaseIF) is described above
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-128 |
---|
|
| GraphQL → Apache Apollo? Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-129 |
---|
|
Located in vss-graphql repo- Has one schema.
- Does not have tool to regenerate schema.
- Has Apollo server in docker
|
| (Alexander Domin)
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-130 |
---|
|
|
10 | 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.
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-131 |
---|
|
| Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-132 |
---|
|
Repo link? In vss-graphql-client-swift repository Has programming framework/example (in SWIFT) to access data via graphql. - This could show a way for 3rd party applications to access the OEM/GraphQL interface directly but possibly a more limited REST-API is more realistic for 3rd part app access
TODO: Expose a neutral-server API to third party applications.
|
| Kevin |
11 | 3rd 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
Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-133 |
---|
|
| Jira |
---|
server | JIRA |
---|
serverId | 121ddff2-c571-320f-9e4d-d5b9371533bd |
---|
key | CCS-134 |
---|
|
Example/standard API work needed The example apps are using High Mobility's API. 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 |