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


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
    2

    VSS feeder componentcomponent (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).

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


    5todo implement feeder as PoC

    superfluous line, removed



    6
    • todo check Check signal to service translation in Adaptive AutosarAUTOSAR
    • (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
    • todo create PoC Someip Create PoC SOME/IP 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


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


    9

    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




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

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


    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
    • (error) Not implemented any writing support yet.


    15
    • todo handle 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.


    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

    • (warning) See above, awaiting implementation


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


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

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

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

    (tick) Done, see above for details

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


    25
    • Implement authentication as required by the 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
    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


    ...

    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
      )