COVESA / vehicle_signal_specification

Vehicle Signal Specification - standardized way to describe automotive data
Mozilla Public License 2.0
320 stars 164 forks source link

Feature rule set extensions #685

Open alanmapleburl-au opened 10 months ago

alanmapleburl-au commented 10 months ago

These extensions to the VSS allow consumers to understand each signal well enough to determine its relation to signals emitted by vehicle components and to downstream client and consumer needs. Because they are optional extensions permitted by VSS Overlays, they do not break any current code or processes.

The properties.md file describes the promotion of dataProperty and objectProperty to a first-class types, allowing signals to reference the property they report.

The elementType key provides each entry's classification within the vehicle signal domain, such as SignalDefinition, FeatureOfInterest, Property, etc.

The identifier key provides a unique and immutable key. This allows restructuring of the tree and the files/folders without any effect on the key. In my examples I've used the entire path of the entry, but it could be any unique value.

The definition key provides the necessary and sufficient conditions of the entry which can translate to formal axioms.

The featureOfInterest and property keys in the attributes, sensors, and actuators explicitly refer to the object being observed or manipulated, and the property being reported. This is needed not only to aid integration, but to allow analysis, discovery, automation, and inferencing through the graph.

SebastianSchildt commented 10 months ago

I made some small comments, but generally, to get a better understanding, can you somewhere upload how the standard catalogue would look like implementing these suggestions? I.e. modified vspecs or something you generated. I guess like all things, what specifically to use as content for your suggested properties might be discussed on a case by case basis, but seeing some "this is how I meant it" example of the VSS as you have modified might help the discussion.

erikbosch commented 10 months ago

As general info to reviewers - this PR is related to the presentation "Integrating Vehicle Signals with VSS and Metadata" which is available in the COVESA wiki. Please review the presentation to get more background information.

Some areas that I think we should discuss:

erikbosch commented 10 months ago

Meeting notes:

alanmapleburl-au commented 10 months ago

@SebastianSchildt Please see Erik's general info to reviewers. He refers to a presentation that will satisfy your desire to see it in action. @erikbosch I would follow up the acceptance of this PR with a series of PR's that populate the additions @erikbosch I think the initial rule on signals is that the property's data type, unit, min, and max are reviewed for any overrides. That doesn't break anything. Eventually the rule could be that those k/v pairs default to the specified property if omitted. @jdacoello I tried to specify the requirements. If you comment the ones that seem unnecessary I can elaborate.

I'm interested in the notion of a custom VSS profile but couldn't find any info on that.

jdacoello commented 10 months ago
  • Daniel: ...I have offered Paul to assist in establish guidelines.

Here is the first draft for such a methodology. I explain there the fundamental components that must be described by each of the COVESA projects and its associated artefacts using a unified structure.

https://wiki.covesa.global/pages/viewpage.action?pageId=85196928

erikbosch commented 10 months ago

I spent some time thinking how we possibly could "transform" this PR into a "VSS Profile". Not straightforward as we do not really have anything called "VSS profile" as of today, but I created a draft PR to show my ideas. My idea is to create a section in the documentation where we document more or less official VSS extensions. In my draft I created something very short for the Eclipse KUKSA DBC mechanism and what I consider mostly as a placeholder for the "Ford Data Properties" (or whatever we would like to call it). This could possibly be a way forward to capture the good ideas from Alan but at the same time postponing the decision on whether this shall be an official/recommended profile or even integrated into the official syntax.

image

SebastianSchildt commented 10 months ago

I like the general direction, as a word could we maybe rather call this "VSS Extensions" or "VSS Addons"? maybe somebody has a better term, but for me "Profile" either sounds like "Two wheeler profile" "Truck profile" pr potetnially something like "VSS base profile", i.e. in my head I connect it more with the "catalogue" part, whereas the things suggested here are bit more about adding new "features"/functionality to the model

erikbosch commented 10 months ago

Meeting notes: