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)

Unable to render Jira issues macro, execution error.

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)
  • Unable to render Jira issues macro, execution error.
  • (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.
  • Unable to render Jira issues macro, execution error.
  • (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: Unable to render Jira issues macro, execution error.
  • (error) For future milestones


7
  • Create PoC SOME/IP simulation component to playback agreed use cases
  • Unable to render Jira issues macro, execution error.
    • 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"
  • Unable to render Jira issues macro, execution error.
  • 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

Unable to render Jira issues macro, execution error.

(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.
  • Unable to render Jira issues macro, execution error. done duplicate of Unable to render Jira issues macro, execution error.
  • 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?

Unable to render Jira issues macro, execution error.

(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
  • Unable to render Jira issues macro, execution error.
  • ==> 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
  • Unable to render Jira issues macro, execution error.
    • ==> 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
  • Unable to render Jira issues macro, execution error.
  • => Implement Subscriptions (according to GraphQL)
  • (error) Not implemented any subscription support yet.


16
  • APP implement authentication to access the data server (eg JWT), e.g. json Web token
  • Unable to render Jira issues macro, execution error.
  • todo implement the permissions handling in the data server
  • Unable to render Jira issues macro, execution error.
  • (warning) See above, awaiting implementation


17

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

Unable to render Jira issues macro, execution error.

  • 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)
  • Unable to render Jira issues macro, execution error.
    • description TBD
    • definition of done TBD
  • (warning)Awaiting proposal PR


19

Framework Layer / Authentication Service

Unable to render Jira issues macro, execution error.

(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
  • Unable to render Jira issues macro, execution error.
    • description TBD
    • definition of done TBD
  • (error) TODO

Stefan Wysocki
(TietoEVRY)


21
  • todo generate access token for the APP including the APP permissions
  • Unable to render Jira issues macro, execution error.
  • (error) TODO

Stefan Wysocki
(TietoEVRY)

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

Application Layer

Unable to render Jira issues macro, execution error.

  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)

Unable to render Jira issues macro, execution error.

(tick) Done, see above for details

Tieto?
24
  • Implement the APP permissions based on permissions defined/proposed in VSS layers
  • Unable to render Jira issues macro, execution error.  
    • description TBD
    • definition of done TBD
  • (error) 


25
  • Implement authentication as required by the concept including access token request, etc.
  • Unable to render Jira issues macro, execution error. (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
  • Unable to render Jira issues macro, execution error.
  • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)


27
  • todo agree on PoC use cases for the implementation
  • Unable to render Jira issues macro, execution error.


28
  • implement the selected use cases
  • Unable to render Jira issues macro, execution error.



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. Unable to render Jira issues macro, execution error.
  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 ( Unable to render Jira issues macro, execution error. ) and Apollo needs to be adjusted to get data from SQLite.  (That is  Unable to render Jira issues macro, execution error. )




  • No labels