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


1

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

OwnerComment
2

VSS feeder component (tick)

AASIG-37 - Getting issue details... STATUS

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

Stefan Wysocki

See vss-feeder repository


3
  • todo create a layer concept for the Franca to VSS leaf mapping (model transformation)
  • AASIG-39 - Getting issue details... STATUS
  • (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) 
  • (green star) We are not immediately dependent on it now.
  • AASIG-40 - Getting issue details... STATUS
  • (error) Awaiting item 3, and more implementation.


5

superfluous line, removed



6
  • Check signal to service translation in Adaptive AUTOSAR
  • (green star) We are not immediately dependent on it now.
  • in-progress in CCS project: CCS-88 - Getting issue details... STATUS
  • (error) For future milestones


7
  • Create PoC SOME/IP simulation component to playback agreed use cases
  • AASIG-42 - Getting issue details... STATUS
    • 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


8
  • Select and implement feeder input API → how feeder writes data into the "shared database"
  • AASIG-43 - Getting issue details... STATUS
  • 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 
  • DECISION:  vss-feeder writes into SQLite file, and the other components read from the file.  I.e. the database "API" is SQL.


9

VSS data server component

AASIG-44 - Getting issue details... STATUS

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

(warning) Pending some input from Alexander on permissions

See JIRA for some updates




10
  • Implement the connection between the access protocol (GraphQL) and the fetching/writing of data into the database.
  • AASIG-45 - Getting issue details... STATUS done duplicate of AASIG-48 - Getting issue details... STATUS
  • PR sent with reduced schema that matches only the OpenDS signals. 
    Long term solution should be. 
  • PR proposal vss-graphql/pull/7 repository
  • New plan uses separate Demo repo instead → action Gunnar Andersson


11
  • 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.


12

Define GraphQL schema - what does it look like?

AASIG-47 - Getting issue details... STATUS

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

Alex.See vss-graphql repository
13
  • Resolve requested data for the APP from the VSS data structure
  • AASIG-48 - Getting issue details... STATUS
  • ==> 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.


14
  • todo change/write data values for requested data leaves
  • AASIG-49 - Getting issue details... STATUS
    • ==> Same as implementation of 14, but for writing.
    • This means:  Implement Mutation functions in GraphQL
  • (error) Not implemented any writing support yet.


15
  • Handle the subscription for APPs
  • AASIG-50 - Getting issue details... STATUS
  • => Implement Subscriptions (according to GraphQL)
  • (error) Not implemented any subscription support yet.


16


17

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

AASIG-53 - Getting issue details... STATUS

  • 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)
  • AASIG-38 - Getting issue details... STATUS
    • description TBD
    • definition of done TBD
  • (warning)Awaiting proposal PR


19

Framework Layer / Authentication Service

AASIG-54 - Getting issue details... STATUS

(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
  • AASIG-55 - Getting issue details... STATUS
    • description TBD
    • definition of done TBD
  • (error) TODO

Stefan Wysocki
(TietoEVRY)


21
  • todo generate access token for the APP including the APP permissions
  • AASIG-56 - Getting issue details... STATUS
  • (error) TODO

Stefan Wysocki
(TietoEVRY)

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

Application Layer

AASIG-57 - Getting issue details... STATUS

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

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

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



23

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

AASIG-58 - Getting issue details... STATUS

(tick) Done, see above for details

Tieto?
24
  • Implement the APP permissions based on permissions defined/proposed in VSS layers
  • AASIG-59 - Getting issue details... STATUS  
    • description TBD
    • definition of done TBD
  • (error) 


25
  • Implement authentication as required by the concept including access token request, etc.
  • AASIG-60 - Getting issue details... STATUS (warning) See above
  • (error)

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
  • AASIG-61 - Getting issue details... STATUS
  • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)


27
  • todo agree on PoC use cases for the implementation
  • AASIG-41 - Getting issue details... STATUS


28
  • implement the selected use cases
  • AASIG-62 - Getting issue details... STATUS



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. AASIG-67 - Getting issue details... STATUS
  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 ( AASIG-37 - Getting issue details... STATUS ) and Apollo needs to be adjusted to get data from SQLite.  (That is  AASIG-48 - Getting issue details... STATUS )




  • No labels