Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Moved data sync feature description from Data Store section into a stand alone component description as discussed in last weeks meeting

...

It could be a central component in a data/event architecture within one ECU (distributing data to processes / software components).  In those cases it is typical to have a direct shared memory or other internal "IPC" connection, not usually needing a IP network.

Notification features

Some databases might have some sort of "notification" feature that is used by other components directly.  Because if a Data-Server supports the subscription functionality towards its external clients, it would benefit from getting notifications from the StateStorage State Storage when a new value is received there, so that internal polling is not necessary.

However, if the component implements any more logic beyond simple subscription (notify me whenever a new value is written for this data item) then it should likely be named  named Data Server, or Event framework component (see definitions).

Sync features

Some databases might have a data synchronization component to automate sync of data between instances.

Some implementation options:
Apache IoTDB, REDIS, (sqlite), in-memory-table, Realm

...

A component that fetches data from a Data Server according to the chosen protocol. It typically interfaces with a database, OEM database or other, where it stores fetched data.

Data Synchronization Component

A component that automates the sync of data between instances. For example between Data Stores. This can include such sophisticated features as conflict resolution. Such features can be very useful when applying data centric architectures to zone and central compute electrical architectures in-vehicle. Different zones may have local zone specific State Storage that is selectively synchronized with State Storage in the central compute or TCU for further processing.

Event Framework Component

A component that implements logic to receive, process and redistribute events in an event-driven architecture fashion.  It must implement some kind of logical operations beyond simple "subscribe to all updates of this signal", and "notify all subscribers that this data changed".  If it has conditions like "Notify if this AND that event happened, and if signal value A < 3", then it is an event framework component.

In some cases the implementation of event frameworks have included some of the functionality of a data-server, data-client, etc. (see Variations)

VSS

...

Connector

A typically small component that is an implementation of a data source, and a binding/translator to/from non-VSS domains:

  1. It writes VSS signal data to a State Storage.
  2. It consumes data from non-VSS data sources and converts it to VSS-defined signals before writing into State Storage.
    The VSS signals are defined by one/more VSS catalog(s)  (=The shared VSS standard catalog and/or additional catalogs). The non-VSS format can be any data source and typically requires some kind of definition catalog as well. Finally, a conversion-mapping information between the non-VSS and VSS data definitions would be required.
  3. A feeder connector may connect to specific technologies where non-VSS data is provided.  Example: A CAN-bus VSS-feederconnector, ingests CAN signals, converts to appropriate VSS catalog signals, and write those into a State Storage.
  4. While it is less common, the same feeder connector component can of course handle "written" signals as well (data is read from state storage, written to the non-VSS domain).

Synonyms: the component may also be referred to as a Bridge or Feeder in some designs.

Data Connector

The generic form of the VSS Connector that manipulates any data model. Such as personal data.

OEM Database (a.k.a. Cloud database, a.k.a. Data Lake)

...