Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: minor: various tightening of text

...

There is a parallel proposal within the Data Architecture group for documenting Covesa concepts such as design patterns, architectures and Howtos, that could be used to publish such documents created by work from that result from work on this proposal.

Central Data Service Playground (Why, What, How)

...

  • A PoC is often a snapshot in time and often specific in scope. Playground suggests greater flexibility. The central service, the lego Lego building block, is intended to be flexible and evolving. Similarly with what it is combined with to illustrate Covesa concepts and technology.
  • The Playground could certainly be used to implement a PoC.
  • Patterns such as view/controller, out of the box data servers, application data stores linked to applications (e.g. SQLite) etc are well known. The Service could in part be defined by what's not known, by open questions , in next-gen architectures such as data-centric architectures, that needs to be tackled down. The Playground is the means to doing that and illustrating the results.

...

  • Address two high level implementation needs, keeping in mind a path towards production where possible:
    1. Easy to develop: make it easy to build, modify and trial by providing an instance running on a host, e.g. using Docker container(s).
    2. Closer to production: the same base code should be deployable to systems closer to production, including on automotive hardware (or its simulation), e.g. Yocto, container orchestration, SOA etc.
  • A path towards production can be helped supported by using production components, rather than overly simple substitutes, where it makes sense. For instance a particular scenario may use Kafka in a cloud connection. The point is not to pick a winning product in a particular category, but to recognise that using a production tool can represent a category that is known to scale. Detailed requirements for a specific production project and product selection for it, is rightly left to that project.
  • A generic code base for the basic building block should allow flexible compilation to meet those needs on x86 and ARM. The target for how it is used being a matter of deployment at a high level.
  • Follow the OSS mantra of adopt where you can, extend if needed, create where necessary.

...

  • As a starting point it is suggested that the Service could be realised as a basic building block combining VISS Data Protocol Server with highly functional VSS Data Store.
  • As well as the mentioned flexibility in implementation, flexibility in use is also intended:
    • With some supporting documentation it could help meet the ongoing request from newcomers to the VSS eco-system as to how VSS can be used.
    • The Data Architecture group for instance has various topics it wishes to investigate related to data-centric architectures.
    • The playground can be used to investigate internals of such a service. For example, connecting VISS to medium and high speed data, or adding a protocol.
    • External connections with other systems may also be a focus. For example, combining the Service with other components to implement a particular touchpoint such as mobile.
  • Further details can be found in the following sections.

...

It is assumed that the service would likely be deployed on a Zone, Domain or Central controller, with corresponding h/w capabilities.

Across large Interaction between Large ECU: In the Data Architecture group it is recognised that zone/domain specific data services will need to synchronise and cooperate between themselves and/or with a central vehicle computer, e.g. Inter-controller sync/cooperation:

...

As outlined in the logical description, as a starting point the Service could be realised as a basic building block combining VISS Data Server with highly functional VSS Data Store. The availability of generic code allows flexible deployment to meet the two high level implementation needs to support easy development trials, whilst also supporting investigation closer to production, including a path to production.

...

a path

...

to production

...

.

  • Initial idea/sketch for base building block
    • Generic code: VISS Data Server with VSS Data Store backend
      • Data Architecture requirements: Add Apache IotDB (Apache eco-system, embedded and UDF) and Realm (embedded, sync) as backends to enable research.
      • Example using WAII VISS Data Protocol Server, which supports historical data and has a data store backend and various embedded databases:
    • Deployment 1 - Easy to develop (assumed first target): x86 host Docker containers
    • Deployment 2 - Closer to production (assumed second target): ARM64 using common automotive deployment, e.g. Yocto Linux.


  • Investigation sketchesillustrations (examples):
    • Data Architecture and Infrastructure pillar
      • Sync
        • Multi-instance of deployment 1/2
      • Logical
        • knowledge layer proposal
          • e.g. sync up/down between knowledge generator and data layer
      • Data Service Internals (e.g. server, store connections)
        • Latency
        • Medium and high speed data
        • etc.
    • Touchpoints, common deployment scenarios, scenarios created by other Covesa groups etc.