Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Interfaces

...

1

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

OwnerComment
2

VSS feeder component

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

Stefan WysockiSee 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


4
  • todo design and implement franca service (SomeIP)
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-40


5
  • todo implement feeder as PoC


6
  • todo check signal to service translation in Adaptive Autosar
  • in-progress in CCS project:
    Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyCCS-88


7
  • todo 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


8
  • 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 (shared with the VSS data server component) or writing into an API provided by the VSS data server. 


9

VSS data server component

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



10
  • 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


11
  • APP implement request/response serialization (look at Application Layer)
    • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)


12

Define GraphQL schema - what does it look like?

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

Alex.See vss-graphql repository
13
  • todo 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.


14
  • 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


15
  • todo handle the subscription for APPs
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-50
  • => Implement Subscriptions (according to GraphQL)


16
  • 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



17

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.


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

    • description TBD
    • definition of done TBD


19

Framework Layer / Authentication Service

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

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

Stefan Wysocki
(TietoEVRY)


21
  • todo generate access token for the APP including the APP permissions
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-56

Stefan Wysocki
(TietoEVRY)

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

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).

^^ 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?)




23

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

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

Tieto?
24
  • 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


25
  • Implement authentication as required by the concept including access token request, etc.
  • Jira
    serverJIRA
    serverId121ddff2-c571-320f-9e4d-d5b9371533bd
    keyAASIG-60

Stefan Wysocki
(TietoEVRY)

Will be provided as a part of "Authentication Service" to showcase the exposed API
26
  • APP implement request/response serialization for the client
  • 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


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


...

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
    )