Closed sschleemilch closed 1 month ago
MoM:
MoM:
S Schildt: Not on purpose
@UlfBj to be the one to answer.
validate
is described somewhere? Extend https://github.com/COVESA/vss-tools/blob/master/binary/README.md with an example or formal syntax stating that it is a string.E: Does anyone used struct concept
Adnan will check with S Schleemilch what it should be
Please review
Possible merge decision next week
MoM:
Questions
We are never exporting the arraysize attribute. On purpose?
S Schildt: Not on purpose
vss2binary -> export_node -> validate what is it?
@UlfBj to be the one to answer.
- Ulf: Checked by VISS server. Says what access control you have.
- Niclas: Written/Read as a string
- S Schildt: Will need to provide it
- Erik: @UlfBj can you check if the field
validate
is described somewhere? Extend https://github.com/COVESA/vss-tools/blob/master/binary/README.md with an example or formal syntax stating that it is a string.Should type tree properties be compliant to name-style and should follow the same --strict/--aborts name-style behavior?
- E: Does anyone used struct concept
- Adnan will check with S Schleemilch what it should be
- Please review
- Possible merge decision next week
From my perspective, it is done
Erik: @UlfBj can you check if the field validate is described somewhere? Extend https://github.com/COVESA/vss-tools/blob/master/binary/README.md with an example or formal syntax stating that it is a string.
This information is already linked to: More information can be found in: VISS Access Control.
Erik: @UlfBj can you check if the field validate is described somewhere? Extend https://github.com/COVESA/vss-tools/blob/master/binary/README.md with an example or formal syntax stating that it is a string.
This information is already linked to: More information can be found in: VISS Access Control.
I am wondering why it is not a specified internal attribute if it is present in the code and explicitly mentioned?
Erik: @UlfBj can you check if the field validate is described somewhere? Extend https://github.com/COVESA/vss-tools/blob/master/binary/README.md with an example or formal syntax stating that it is a string.
This information is already linked to: More information can be found in: VISS Access Control.
I am wondering why it is not a specified internal attribute if it is present in the code and explicitly mentioned?
Because it is "only" used in VISS (and thus the binary exporter, which currently is also only for the VISSR reference implementation), and not considered part of VSS (i.e. expected to be supported by all VSS tooling). That does not mean it is "not good", it is just similar to e.g. DBC mapping keys (currently afaik only used in KUKSA) or some specific deployment keys BMW might use in internal tooling.
I think, what would be a nice addition for the future, in case a specific tooling "requires" or understands special keys (like the binary exporter), if it could programmatically via an API whitelist those, instead of forcing the user to whitelist them on the command line.
Meeting 20th: Looking good,
What about the breaking changes?
MoM: Merge
Fixes: #380 Fixes: #390 Fixes the issue in discussion of #360 (removed the test in test_overlay_on_instance)
Rewrote the core logic using Pydantic.
-e/--extended-attributes
to not be able to pass core attributesPoints of interest / Questions / Code TODOs
arraysize
attribute. On purpose? 🆗 Not on purpose but we keep not exporting it for now until neededvalidate
what is it? 🆗 Clarified. In future to be discussed whether it should be part of the model when exporters explicitly mentioning it.--strict/--aborts name-style
behavior? 🆗 Type tree does not need to follow name style conventions. It would lead to weird property namesAdded
vspec export tree
)Todo
has
as valid bool prefix⚠️ Behavior changes to be discussed -> Change is ok 🆗
Extending instances implicitly
Take this config
Although there are only
Row1
andRow2
created the user wants to add another one implicitly. However that is some weird magic since it is unlogical to distinguish the behavior from what is displayed in the config: Adding something to all instances. Just because the name ofRow3
matches the instance expansions we should not rely on that imo.So, the outcome of the config as is would be in this implementation:
That is obviously not what the config intended but in my opinion the config is incorrect. When changing
instances
toRow[1,3]
we get the correct result:Validation improvements
Cross checking of
allowed-datatypes
Taking this example config:
Is detected as a misconfiguration since
numerics
does not exist but passes the current vss-tools model:Cross checking of
quantity
being definedPretty similar config but using a quantity that is not defined:
Is detected by tool but not by vss-tools:
Strict units yaml structure
Protecting against wrong structure in units.yaml and quantities.yaml such as using
description
instead ofdefinition
,units
instead ofunit
We actually have already violations in the current vss:Cross checking
arraysize
todatatype
being an arrayExample config
Is detected by the tool (note that datatype is not an array) but vss-tools has no problem with it:
Similar: Also checks that
arraysize
matches the entries ofdefault
:Checking
default
againstdatatype
Example:
Is detected but is not currently:
Checking
allowed
entries matchingdatatype
Similar to the use case before, Config:
Note that
foo
is not an uint8 and should not be accepted. Is detected:It also checks ranges e.g. -3 will violate uint8.
Checking
min/max
set together withallowed
Config:
Result:
Checking of
default
values againstallowed
Config:
Result:
Checking of
datatype
vsallowed_values
in specifiedunit
Config:
Result: