Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Define Observation. Adjust terms to match some existing web standards. Relate Snapshot to FreezeFrame.

...

  • A request to make measurements, typically some time in the future.
  • Unlike Request, which asks for Data Delivery, a Job definition is used to instruct a system to perform a measurement or several measurements over time, at some time in the future.
  • A Job does not deliver data until it is requested.
  • A Job may include conditions such as a time-period, but in advanced systems also other logical conditions that should be fulfilled for the job to execute.
  • TODO: Compare SENSORIS work on this.

Observation:

  • The act of making a measurement (?)

Record:  (or Measurement, or Observation?)

  • Format A format to represent one single measured data value
  • Subtypes (Record Types) indicate which Signal has been measured.
  • Records are used to represent data with associated metadata.  Different metadata depending on the Record Type, as needed for different cases
  • Example of possible record types:
    • Just the value.
    • The value plus a timestamp
    • The value plus a timestamp plus a timestamp accuracy information
    • The value plus additional qualitative information
  • All of the above may also specify the signal name, or not:  Some record types may need to specify the signal it is referring to but most do not, because record is delivered in a context where it is known which signal is being measured.


(question) Why not just use a single record type (superset of all functionality)?  

A: The reason would be to optimize the performance and bandwidth.  In other words, don't transfer what is not needed for a certain case.  If a timestamp is not needed, we should make sure we support transferring data without providing a timestamp, for example.

...

+ Record types which specify the signal name inside:  
SpecifiedPlainRecord, SpecifiedTimeStampedRecord, etc.

...

Main "Container" –

...

name for this?   Measurement? 

(i.e. the message that is in response to a Request)

=   A delivery of data sent at a particular time.

(this means the Message that is in response to a Request)

Might need to include some metadata regarding the request:

...

  • Vehicle identity – should this be special or is just a measurement on a VSS attribute.  For example VIN number is already defined in VSS.  Presumably it could be just a VSS defined data item?
  • <Benjamin to add what more metadata is needed>

Bundle

...

  • A collection of several records, transferred together.
  • Subtypes are TimeSeries and Snapshot.

TimeSeries

  • Several measured values, of the same signal, taken over a period of time.
  • A Bundle TimeSeries contains time stamp for each value
  • A Bundle is TimeSeries is a collection of Records

Snapshot:

  • Several measured values, of different signals, that have a relationship to each other because they were measured "at the same time"
    (which, due to potential time sync limitations or timestamp inaccuracy this "same time" could be defined as a time range of a chosen length)
  • A snapshot is built up of several Records, and additional information
  • A Job would likely define beforehand, which different signals shall be grouped into the Snapshot instances
  • A Snapshot can be a generalisation of the "Freeze Frame" concept used in automotive diagnostics.
    • Side note: Freeze Frames are sometimes delivered as an opaque data dump that can only be interpreted by those who know the internal structure but we are here proposing an understandable and readable format for Snapshot.    (With that said, these are so far general concepts and could be mapped to any data representation, only a proposal/example given here)
      • (and it is also implied by the example, that the snapshot only contains values from signals that exist in the VSS database, because each is identified by path)

  • Clarify if snapshot should have only one measurement per signal.
  • Explain timestamp inaccuracy...

...

{
"signal" : "vehicle.Body.ExteriorMirrors.Heating.Status"
   "ts" : "2020-01-10T02:59:43.491751"
   "value" : "false"
}

BundleTimeSeries:


    "signal"  :  "vehicle.body.cabin.temperature"
"count" : "132" # Might be redundant information, optional.
    "values" : {
        { 
   "ts" : "2020-01-10T02:59:43.491751"
   "value" : "42 "
     },
        { 
   "ts" : "2020-01-10T02:59:43.491751"
   "value" : "43"
     },
... 130 more records
}
}

...