Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Not 100% up to date yet but progress.

EA Block Diagram foe the External Data Server Proof-of-Concept

Image Added

Implementation details are collected here  ← @alexander.domin start here.

...

titleFilling instructions

Please add your name in the "Owner" column for the task(s) you would like to take over and add comments in the last colum if any.

For the task(s) you selected, please add a short description and a definition of done

...


1

Work Breakdown Structure for the External Data Server Proof-Of-Concept

  • EA block-diagram, look at ExternalDataServerPoC-lookatslide#7
  • After addition of a description of work and definition of done to each TODO, these TODOs will be entered into Jira.
OwnerComment

OwnerComment
2

VSS feeder component (tick)

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-37

Checked with demo that has vss-feeder as submodule.
VSS feeder seems to provide data with the right* format.
*(Note: SQLite database schema was not (yet) aligned with CCS project schema).

2

VSS feeder component

  • todo finalize permissions layer concept (independent work item)
    • description TBD
    • definition of done TBD
Stefan Wysocki

See vss-feeder repository


3
  • todo create a layer concept for the Franca to VSS leaf mapping (model transformation)
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-39
  • (green star) We are not immediately dependent on it now.
  • VSS to Franca transformation is a Work-in-progress PR currently:
     vss-tools/pull/6 repository


4
  • todo design and implement franca service (SomeIP)
5
  • todo implement feeder as PoC
  •  
  • (green star) We are not immediately dependent on it now.
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-40
  • (error) Awaiting item 3, and more implementation.


5

superfluous line, removed



6
  • Check
6todo check
  • signal to service translation in Adaptive
Autosar
  • AUTOSAR
  • (green star) We are not immediately dependent on it now.
  • in-progress in CCS project:
    Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyCCS-88
  • (error) For future milestones


7
  • Create PoC SOME/IP
7
  • todo agree on PoC use cases for the implementation
8todo create PoC Someip
  • simulation component to playback agreed use cases
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-42

    • note: we could consider using an Adaptive Autosar node like what we did for the FARACON demo
    • note: VSS data base could be merged into the VSS feeder
    • (error) For future milestones


89
  • Select and implement feeder input API → how feeder writes data into the "shared database"
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-43
  • Either it is writing directly into the database (tick) (shared with the VSS data server component) or writing into an API (error)provided by the VSS data
server. 
  • server 
  • DECISION:  vss-feeder writes into SQLite file, and the other components read from the file.  I.e. the database "API" is SQL.


910

VSS data server component

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-44

(error) TODO: (Gunnar) Put vss-feeder,

(warning) Pending some input from Alexander on permissions

See JIRA for some updates




1011
  • Implement the connection between the access protocol (GraphQL) and the fetching/writing of data into the database.
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-45
    done duplicate of
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-48
  • PR sent with reduced schema that matches only the OpenDS signals. 
    Long term solution should be.


1112
  • APP implement request/response serialization (look at Application Layer)
    • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)
  • (tick) Done.  (It uses apollo plugin for Android and therefore works only with Apollo).  Thereby it serializes automatically with the right JSON formats.


1213

Define GraphQL schema - what does it look like?

  – Alexander Domin will deliver

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-47

(warning) See above, working to use the proposal from PR 7 in the new demo repo setup.

Alex.See vss-graphql repository
1413todo resolve
  • Resolve requested data for the APP from the VSS data structure
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-48
  • ==> This means:  Implement the resolvers function in GraphQL
    Depends on choosing the database implementation first.
  • ==> Adjust resolver to fetch the data from SQLite.
  • (tick)  The basic one without permission enforcement is done.
    (warning) Pending permissions-enforcement.


1415
  • todo change/write data values for requested data leaves
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-49

    • ==> Same as implementation of 14, but for writing.
    • This means:  Implement Mutation functions in GraphQL
  • (error) Not implemented any writing support yet.


15
  • Handle
16todo handle
  • the subscription for APPs
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-50
  • => Implement Subscriptions (according to GraphQL)
  • (error) Not implemented any subscription support yet.


1617
  • APP implement authentication to access the data server (eg JWT), e.g. json Web token
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-51

  • todo implement the permissions handling in the data server
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-52

  • (warning) See above, awaiting implementation


1718

Define the "signal groups" that make up each permission and give each permission a name.

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-53

  • Example permission group created by Alexander (in .md file), similar to the layers discussion.  Alexander found it easiest to do Signal→Group mapping
    (this fits the VSS layer principle exactly.) but also to have the opposite view (Group→ Signals) generated by tooling (for human readability)
  • vss.permission.xxx (as proposed in VSS layers) was a nice convention, but let's confirm that we are aligned with Google standards on permission names.
  • (warning)Awaiting proposal PR


18
  • todo finalize permissions layer concept (independent work item)
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-38

    • description TBD
    • definition of done TBD
  • (warning)Awaiting proposal PR


19

Framework Layer / Authentication Service

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-54

(error) To be done.  Will be stored in android-vss-authentication-service repository

Stefan Wysocki
(TietoEVRY)

Will update the description and DoD for this component
20
  • todo request APP permissions from package manager
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-55

    • description TBD
    • definition of done TBD
  • (error) TODO

Stefan Wysocki
(TietoEVRY)

Will update the description and DoD for this component
2120
  • todo generate access token for the APP including the APP permissions
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-56
  • (error) TODO

Stefan Wysocki
(TietoEVRY)

Implementation of the module deployed on the platform. Buildable by Android buildystem (Android.bp)
2122

Application Layer

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-57

  1. Implement EV charging status App in Android, with a graphical UI
  2. Implement Position/speed/make/model/ any other info, as received from driving simulator (could be simple UI, maybe text)
.
  1. .

^^ Decision to implement number 2 first.

Alexander: There are helpers to access GraphQL from an Android project.  You add a plugin to your gradle project to include it.  Some classes will be generated based on the GraphQL schema we specify.  https://github.com/apollographql/apollo-android

Stefan: The app skeleton is in the aasig_dev_platform (Only on Stefan's fork still?)

→ Currently in aasig_dev_platform/tree/develop/vendor/genivi/modules repository

Will be put in Will be stored in android-vss-authentication-service repository



2322

TODO:  Define what signals we can get from simulator, and try the simulator (Tieto)

Jira
serverJIRA
serverId121ddff2-c571-320f-9e4d-d5b9371533bd
keyAASIG-58

(tick) Done, see above for details

Tieto?
2324
  • Implement the APP permissions based on permissions defined/proposed in VSS layers
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-59
     
    • description TBD
    • definition of done TBD
  • (error) 


2524
  • Implement authentication as required by the
concept 
  • concept including access token request, etc.
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-60
    (warning) See above
  • (error)

Stefan Wysocki
(TietoEVRY)

Will be provided as a part of "Authentication Service" to showcase the exposed API
2526
  • APP implement request/response serialization for the client

As above, this is likely defined by GraphQL.  Refer to the result of line 12
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-61
  • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)


27
  • todo agree on PoC use cases for the implementation
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-41


2826
  • implement the selected use cases
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-62



Support / Infrastructure

  1. Testing
    1. Stephen Lawrence I can contribute to the effort to integrate the PoC into the Genivi LAVA Automated testing if the group decides to use it.
    2. Jira
      serverJIRA
      serverId121ddff2-c571-320f-9e4d-d5b9371533bd
      keyAASIG-67
  2. Integration
    1. Stephen Lawrence : I would be happy to provide best effort support for integration on R-Car h/w where needed.


Interfaces

VSSDatabase :  Decision to first use SQLite as the intermediate storage. 
(Note. Reuse potential with CCS project)

  • SQLite is also a kind of inter-process communication between VSSFeeder and Apollo GraphQL server.
  • VSSFeeder needs to be adjusted to fill data into SQLite (
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-37
    ) and Apollo needs to be adjusted to get data from SQLite.  (That is 
    Jira
    serverJIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-48
    )