DataSpecificationIec61360π
Content of data specification template for concept descriptions for properties,
values and value lists conformant to IEC 61360.
IEC61360 requires also a globally unique identifier for a concept
description. This ID is not part of the data specification template.
Instead the ConceptDescription.id as inherited via
Identifiable is used. Same holds for administrative
information like the version and revision.
ConceptDescription.idShort and DataSpecificationIec61360.shortName are very
similar. However, in this case the decision was to add
DataSpecificationIec61360.shortName explicitly to the data specification. Same holds for
ConceptDescription.displayName and
DataSpecificationIec61360.preferredName. Same holds for
ConceptDescription.description and DataSpecificationIec61360.definition.
- Constraint AASc-3a-010π
-
If DataSpecificationIec61360.value is not empty then DataSpecificationIec61360.valueList shall be empty and vice versa.
It is also possible that both DataSpecificationIec61360.value and DataSpecificationIec61360.valueList are empty. This is the case for concept descriptions that define the semantics of a property but do not have an enumeration (DataSpecificationIec61360.valueList) as data type.Although it is possible to define a ConceptDescription for a :attr:Β΄value_list`, it is not possible to reuse this DataSpecificationIec61360.valueList. It is only possible to directly add a DataSpecificationIec61360.valueList as data type to a specific semantic definition of a property. - Constraint AASc-3a-009π
- If DataSpecificationIec61360.dataType one of: DataTypeIec61360.IntegerMeasure, DataTypeIec61360.RealMeasure, DataTypeIec61360.RationalMeasure, DataTypeIec61360.IntegerCurrency, DataTypeIec61360.RealCurrency, then DataSpecificationIec61360.unit or DataSpecificationIec61360.unitId shall be defined.
Inheritances π
Properties π
- preferredName: List[LangStringPreferredNameTypeIec61360] π
-
Preferred nameIt is advised to keep the length of the name limited to 35 characters.
- Constraint AASc-3a-002π
- DataSpecificationIec61360.preferredName shall be provided at least in English.
- shortName: Optional[List[LangStringShortNameTypeIec61360]] π
-
Short name
- unit: Optional[NonEmptyXmlSerializableString] π
-
Unit
- unitId: Optional[Reference] π
-
Unique unit id
DataSpecificationIec61360.unit and DataSpecificationIec61360.unitId need to be consistent if both attributes are set
It is recommended to use an external reference ID. - sourceOfDefinition: Optional[NonEmptyXmlSerializableString] π
-
Source of definition
- symbol: Optional[NonEmptyXmlSerializableString] π
-
Symbol
- dataType: Optional[DataTypeIec61360] π
-
Data Type
- definition: Optional[List[LangStringDefinitionTypeIec61360]] π
-
Definition in different languages
- valueFormat: Optional[NonEmptyXmlSerializableString] π
-
Value FormatThe value format is based on ISO 13584-42 and IEC 61360-2.
- valueList: Optional[ValueList] π
-
List of allowed values
- value: Optional[ValueTypeIec61360] π
-
Value
- levelType: Optional[LevelType] π
-
Set of levels.
Invariants π
-
Constraint AASc-3a-010: If value is not empty then value list shall be empty and vice versa.
-
Constraint AASc-3a-009: If data type is a an integer, real or rational with a measure or currency, unit or unit ID shall be defined.
not ( ( (self.dataType is not None) and (self.dataType in Iec61360DataTypesWithUnit) ) ) or ( ( (self.unit is not None) or (self.unitId is not None) ) )
-
Definition must be either not set or have at least one item.
not (self.definition is not None) or (len(self.definition) >= 1)
-
Definition must specify unique languages.
not (self.definition is not None) or LangStringsHaveUniqueLanguages( self.definition )
-
Short name must be either not set or have at least one item.
-
Short name must specify unique languages.
not (self.shortName is not None) or LangStringsHaveUniqueLanguages( self.shortName )
-
Preferred name must have at least one item.
len(self.preferredName) >= 1
-
Preferred name must specify unique languages.
-
Constraint AASc-3a-002: preferred name shall be provided at least in English.
any( IsBcp47ForEnglish( langString.language ) for langString in self.preferredName )