Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does VSS-syntax only support a single root? #662

Closed
erikbosch opened this issue Sep 27, 2023 · 3 comments · Fixed by #716
Closed

Does VSS-syntax only support a single root? #662

erikbosch opened this issue Sep 27, 2023 · 3 comments · Fixed by #716

Comments

@erikbosch
Copy link
Collaborator

Today we mention here and there in the documentation that the VSS catalog forms a tree, and vss-tools actually gives an error if you have more than one root. But we do not really say anywhere that a model using VSS-syntax must have a single root, i.e. that something like below is an invalid VSS model.

If we want to keep the idea that there can only be a single tree and a single root I think we should improve documentation so it clearly states that. If we do not think that is a reasonable limitation we should start looking at how vss-tools can support multiple trees.

(Whether a VSS model must have exactly one root or not does not necessarily affect downstream implementations, as an implementation may support access to multiple models in parallel)

a:
  type: branch
  description: Branch A.

a.b:
  datatype: float
  type: sensor
  unit: km
  description: A sensor.
  
c:
  type: branch
  description: Branch A.

c.d:
  datatype: float
  type: sensor
  unit: km
  description: A sensor.
@ppb2020
Copy link
Collaborator

ppb2020 commented Sep 27, 2023

FWIW, in our implementation, we do rely on the fact that there is a single root. It probably would not be a big deal to adapt,but that would require a few changes, some of which may not be trivial.

@UlfBj
Copy link
Contributor

UlfBj commented Oct 3, 2023

If a structured and comprehensive model that supports multiple roots/trees is desired, then there is HIM.
https://covesa.github.io/hierarchical_information_model/
The VSS rule set is a subset of the HIM rule set, so switching to HIM is in principle done by pointing to the above documentation instead of the current.

@erikbosch
Copy link
Collaborator Author

Similar to the discussion on node/signal names (mandatory rules vs. recommendations) we could actually think of a dual approach:

  • VSS tools (and VSS syntax definition) shall support multiple roots
  • But it is recommended to only have 1 root, and that would be a requirement for the standard cataalog (i.e. with --strict you would get an error if having multiple roots)

erikbosch added a commit to boschglobal/vehicle_signal_specification that referenced this issue Feb 9, 2024
Clarifies string/float/double.
Reformat recommendatations to state that they also are rules for VSS catalog
Remove enum recommendation

Fixes COVESA#705
Fixes COVESA#706
Partially solves COVESA#700
Fixes COVESA#662

Signed-off-by: Erik Jaegervall <[email protected]>
erikbosch added a commit to boschglobal/vehicle_signal_specification that referenced this issue Feb 14, 2024
Clarifies string/float/double.
Reformat recommendatations to state that they also are rules for VSS catalog
Remove enum recommendation

Fixes COVESA#705
Fixes COVESA#706
Partially solves COVESA#700
Fixes COVESA#662

Signed-off-by: Erik Jaegervall <[email protected]>
erikbosch added a commit to boschglobal/vehicle_signal_specification that referenced this issue May 6, 2024
Clarifies string/float/double.
Reformat recommendatations to state that they also are rules for VSS catalog
Remove enum recommendation

Fixes COVESA#705
Fixes COVESA#706
Partially solves COVESA#700
Fixes COVESA#662

Signed-off-by: Erik Jaegervall <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants