admin-shell-io / aas-specs

Repository of the Asset Administration Shell Specification IDTA-01001 - Metamodel
https://industrialdigitaltwin.org/en/content-hub/aasspecifications
Creative Commons Attribution 4.0 International
45 stars 26 forks source link

add constraint: for Submodel with kind=Instance Property/value and MultiLanguageProperty shall be defined. #398

Open BirgitBoss opened 2 months ago

BirgitBoss commented 2 months ago

Is your feature request related to a problem? Please describe. Up to now Property/value and Property/valueId (and similar for MultiLangaugeProperty) are both optional. The reasons: a) for Submodel TEmplate they do not exist b) it is possible to either have a value or a valueId: in both cases a value would be defined

For the Value-Only-Serialization this leads to problems because it cannot be expected that properties do have a value.

There is one constraints for value and valueId:

Constraint AASd-007: If both the Property/value and the Property/valueId are present, the value of Property/value needs to be identical to the value of the referenced coded value in Property/valueId.

and

Constraint AASd-012: if both the MultiLanguageProperty/value and the MultiLanguageProperty/valueId are present, the meaning must be the same for each string in a specific language, as specified in MultiLanguageProperty/valueId.

Proposal:

For of Property within a Submodel with kind=Instance Property/value shall be defined.

For of MultiLanguageProperty within a Submodel with kind=Instance MultiLanguageProperty/value shall be defined.

Since the introduction of these constraints would not be backwards-comptible, we can first just request "should"

For of Property within a Submodel with kind=Instance Property/value should be defined. and add a note: In future releases this constraints be mandatory to be fulfilled.

For of MultiLanguageProperty within a Submodel with kind=Instance MultiLanguageProperty/value should be defined. and add a note: In future releases this constraints be mandatory to be fulfilled.

mjacoby commented 2 months ago

What exactly does shall be defined mean here? Is null an acceptable value or e.g. in case of an integer property, must the value be a valid integer?