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

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

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

  • look at for the slide

 

1

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

Owner

Comment

2

VSS feeder component 

Error rendering macro 'jira' : null

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 (Deactivated)

See vss-feeder repository

 

3
  • todo create a layer concept for the Franca to VSS leaf mapping (model transformation)

  • Error rendering macro 'jira' : null

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

  •  We are not immediately dependent on it now.

  • Error rendering macro 'jira' : null

  •  Awaiting item 3, and more implementation.

 

 

5

superfluous line, removed

 

 

6
  • Check signal to service translation in Adaptive AUTOSAR

  •  We are not immediately dependent on it now.

  • in-progress in CCS project:

    Error rendering macro 'jira' : null

  •  For future milestones

 

 

7
  • Create PoC SOME/IP simulation component to playback agreed use cases

  • Error rendering macro 'jira' : null

    • 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

    •  For future milestones

 

 

8
  • Select and implement feeder input API → how feeder writes data into the "shared database"

  • Error rendering macro 'jira' : null

  • 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 

  • 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

Error rendering macro 'jira' : null

 TODO: (Gunnar) Put vss-feeder,

 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.

  • Error rendering macro 'jira' : null
    done duplicate of

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

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

 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

  • ==> This means:  Implement the resolvers function in GraphQL
    Depends on choosing the database implementation first.

  • ==> Adjust resolver to fetch the data from SQLite.

  •   The basic one without permission enforcement is done.
     Pending permissions-enforcement.

 

 

14
  • todo change/write data values for requested data leaves

    • ==> Same as implementation of 14, but for writing.

    • This means:  Implement Mutation functions in GraphQL

  •  Not implemented any writing support yet.

 

 

15
  • Handle the subscription for APPs

  • => Implement Subscriptions (according to GraphQL)

  •  Not implemented any subscription support yet.

 

 

16

 

 

17

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

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

  • Awaiting proposal PR

 

 

18
  • todo finalize permissions layer concept (independent work item)

    • description TBD

    • definition of done TBD

  • Awaiting proposal PR

 

 

19

Framework Layer / Authentication Service

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

@Stefan Wysocki (Deactivated)
(TietoEVRY)

Will update the description and DoD for this component

20
  • todo request APP permissions from package manager

    • description TBD

    • definition of done TBD

  •  TODO

@Stefan Wysocki (Deactivated)
(TietoEVRY)

 

21
  • todo generate access token for the APP including the APP permissions

  •  TODO

@Stefan Wysocki (Deactivated)
(TietoEVRY)

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

22

Application Layer

  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)

 Done, see above for details

Tieto?

 

24
  • Implement the APP permissions based on permissions defined/proposed in VSS layers

  •  

    • description TBD

    • definition of done TBD

  •  

 

 

25
  • Implement authentication as required by the concept including access token request, etc.

  •  See above

@Stefan Wysocki (Deactivated)
(TietoEVRY)

Will be provided as a part of "Authentication Service" to showcase the exposed API

26
  • APP implement request/response serialization for the client

  • Gunnar: this is probably defined by the communication protocol (defined by GraphQL)

 

 

27
  • todo agree on PoC use cases for the implementation

 

 

28
  • implement the selected use cases