Submodel🔗
A submodel defines a specific aspect of the asset represented by the AAS.
A submodel is used to structure the digital representation and technical
functionality of an Administration Shell into distinguishable parts. Each submodel
refers to a well-defined domain or subject matter. Submodels can become
standardized and, thus, become submodels templates.
Inheritances 🔗
Properties 🔗
- extensions: Optional[List[Extension]] 🔗
-
(From HasExtensions)An extension of the element.
- category: Optional[NameType] 🔗
-
(From Referable)The category is a value that gives further meta information w.r.t. to the class of the element. It affects the expected existence of attributes and the applicability of constraints.The category is not identical to the semantic definition (HasSemantics) of an element. The category e.g. could denote that the element is a measurement value whereas the semantic definition of the element would denote that it is the measured temperature.
- idShort: Optional[IdShortType] 🔗
-
(From Referable)In case of identifiables this attribute is a short name of the element. In case of referable this ID is an identifying string of the element within its name space.In case the element is a property and the property has a semantic definition (HasSemantics.semanticId) conformant to IEC61360 the Referable.idShort is typically identical to the short name in English.
- displayName: Optional[List[LangStringNameType]] 🔗
-
(From Referable)Display name. Can be provided in several languages.
- description: Optional[List[LangStringTextType]] 🔗
-
(From Referable)Description or comments on the element.
The description can be provided in several languages.
If no description is defined, then the definition of the concept description that defines the semantics of the element is used.
Additional information can be provided, e.g., if the element is qualified and which qualifier types can be expected in which context or which additional data specification templates are provided.
- administration: Optional[AdministrativeInformation] 🔗
-
(From Identifiable)Administrative information of an identifiable element.Some of the administrative information like the version number might need to be part of the identification.
- id: Identifier 🔗
-
(From Identifiable)The globally unique identification of the element.
- kind: Optional[ModellingKind] 🔗
-
(From HasKind)Kind of the element: either template or instance.Default: ModellingKind.Instance
- semanticId: Optional[Reference] 🔗
-
(From HasSemantics)Identifier of the semantic definition of the element. It is called semantic ID of the element or also main semantic ID of the element.It is recommended to use a global reference.
- supplementalSemanticIds: Optional[List[Reference]] 🔗
-
(From HasSemantics)Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element.It is recommended to use a global reference.
- qualifiers: Optional[List[Qualifier]] 🔗
-
(From Qualifiable)Additional qualification of a qualifiable element.
- Constraint AASd-021🔗
- Every qualifiable can only have one qualifier with the same Qualifier.type.
- embeddedDataSpecifications: Optional[List[EmbeddedDataSpecification]] 🔗
-
(From HasDataSpecification)Embedded data specification.
- submodelElements: Optional[List[SubmodelElement]] 🔗
-
A submodel consists of zero or more submodel elements.
Invariants 🔗
-
Extensions must be either not set or have at least one item.
(From HasExtensions)
not (self.extensions is not None) or (len(self.extensions) >= 1)
-
Constraint AASd-077: The name of an extension within Has-Extensions needs to be unique.
(From HasExtensions)
not (self.extensions is not None) or ExtensionNamesAreUnique( self.extensions )
-
Description must be either not set or have at least one item.
(From Referable)
not (self.description is not None) or (len(self.description) >= 1)
-
Description must specify unique languages.
(From Referable)
not (self.description is not None) or LangStringsHaveUniqueLanguages( self.description )
-
Display name must be either not set or have at least one item.
(From Referable)
not (self.displayName is not None) or (len(self.displayName) >= 1)
-
Display name must specify unique languages.
(From Referable)
not (self.displayName is not None) or LangStringsHaveUniqueLanguages( self.displayName )
-
Supplemental semantic IDs must be either not set or have at least one item.
(From HasSemantics)
not (self.supplementalSemanticIds is not None) or (len(self.supplementalSemanticIds) >= 1)
-
Constraint AASd-118: If there are supplemental semantic IDs defined then there shall be also a main semantic ID.
(From HasSemantics)
not (self.supplementalSemanticIds is not None) or (self.semanticId is not None)
-
Qualifiers must be either not set or have at least one item.
(From Qualifiable)
not (self.qualifiers is not None) or (len(self.qualifiers) >= 1)
-
Constraint AASd-021: Every qualifiable can only have one qualifier with the same type.
(From Qualifiable)
not (self.qualifiers is not None) or QualifierTypesAreUnique( self.qualifiers )
-
Embedded data specifications must be either not set or have at least one item.
(From HasDataSpecification)
not (self.embeddedDataSpecifications is not None) or (len(self.embeddedDataSpecifications) >= 1)
-
Submodel elements must be either not set or have at least one item.
not (self.submodelElements is not None) or (len(self.submodelElements) >= 1)
-
ID-shorts need to be defined for all the items of submodel elements according to AASd-117 (ID-short of Referables not being a direct child of a Submodel element list shall be specified).
not (self.submodelElements is not None) or ( all( item.idShort is not None for item in self.submodelElements ) )
-
Constraint AASd-022: ID-short of non-identifiable referables within the same name space shall be unique (case-sensitive).
not (self.submodelElements is not None) or IdShortsAreUnique( self.submodelElements )
-
Constraint AASd-129: If any qualifier kind value of a Submodel element qualifier (attribute qualifier inherited via Qualifiable) is equal to Template Qualifier then the submodel element shall be part of a submodel template, i.e. a Submodel with submodel kind (attribute kind inherited via Has-Kind) value is equal to Template.
not (self.submodelElements is not None) or ( not (self.KindOrDefault() != ModellingKind.Template) or ( all( not (submodelElement.qualifiers is not None) or ( all( qualifier.KindOrDefault() != QualifierKind.TemplateQualifier for qualifier in submodelElement.qualifiers ) ) for submodelElement in self.submodelElements ) ) )
-
Constraint AASd-119: If any qualifier kind value of a qualifiable qualifier is equal to template qualifier and the qualified element has kind then the qualified element shall be of kind template.
not (self.qualifiers is not None) or ( not ( any( qualifier.KindOrDefault() == QualifierKind.TemplateQualifier for qualifier in self.qualifiers ) ) or (self.KindOrDefault() == ModellingKind.Template) )
Usages
Environment | Environment.submodels |