2.6. aas.model.submodel - Meta-model of the submodels and events
This module contains everything needed to model Submodels and define Events according to the AAS metamodel.
- class basyx.aas.model.submodel.AnnotatedRelationshipElement(id_short: Optional[str], first: basyx.aas.model.base.Reference, second: basyx.aas.model.base.Reference, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, annotation: Iterable[basyx.aas.model.submodel.DataElement] = (), category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
An annotated relationship element is a
RelationshipElementthat can be annotated with additionalDataElements.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)first – Reference to the first element in the relationship taking the role of the subject which have to be of class Referable. (inherited from
RelationshipElement)second – Reference to the second element in the relationship taking the role of the object which have to be of class Referable. (inherited from
RelationshipElement)annotation – Unordered list of
DataElementsthat hold for the relationship between two elementsdisplay_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.BasicEventElement(id_short: Optional[str], observed: basyx.aas.model.base.ModelReference[Union[aas.AssetAdministrationShell, basyx.aas.model.submodel.Submodel, basyx.aas.model.submodel.SubmodelElement]], direction: basyx.aas.model.base.Direction, state: basyx.aas.model.base.StateOfEvent, message_topic: Optional[str] = None, message_broker: Optional[basyx.aas.model.base.ModelReference[Union[basyx.aas.model.submodel.Submodel, basyx.aas.model.submodel.SubmodelElementList, basyx.aas.model.submodel.SubmodelElementCollection, basyx.aas.model.submodel.Entity]]] = None, last_update: Optional[datetime.datetime] = None, min_interval: Optional[dateutil.relativedelta.relativedelta] = None, max_interval: Optional[dateutil.relativedelta.relativedelta] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A basic event element.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)observed –
ModelReferenceto the Referable, which defines the scope of the event. Can beAssetAdministrationShell,SubmodelorSubmodelElement. Reference to a referable, e.g. a data element or a submodel, that is being observed.direction – Direction of event as
Direction.state – State of event as
StateOfEvent.message_topic – Information for the outer message infrastructure for scheduling the event to the respective communication channel.
message_broker – Information, which outer message infrastructure shall handle messages for the EventElement. Refers to a
Submodel,SubmodelElementList,SubmodelElementCollectionorEntity, which contains DataElements describing the proprietary specification for the message broker. Note: for different message infrastructure, e.g. OPC UA or MQTT or AMQP, this proprietary specification could be standardized by having respective Submodels.last_update – Timestamp in UTC, when the last event was received (input direction) or sent (output direction).
min_interval – For input direction, reports on the maximum frequency, the software entity behind the respective Referable can handle input events. For output events, specifies the maximum frequency of outputting this event to an outer infrastructure.
max_interval – For input direction: not applicable. For output direction: maximum interval in time, the respective Referable shall send an update of the status of the event, even if no other trigger condition for the event was not met.
display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Blob(id_short: Optional[str], content_type: str, value: Optional[bytes] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A BLOB is a
DataElementthat represents a file that is contained with its source code in the value attribute.Note: In contrast to the file property the file content is stored directly as value in the Blob data element.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)content_type – Mime type of the content of the BLOB. The mime type states which file extension the file has. Valid values are e.g. “application/json”, “application/xls”, ”image/jpg”. The allowed values are defined as in RFC2046.
value – The value of the BLOB instance of a blob data element.
display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Capability(id_short: Optional[str], display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A capability is the implementation-independent description of the potential of an asset to achieve a certain effect in the physical or virtual world
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.DataElement(id_short: Optional[str], display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A data element is a
SubmodelElementthat is not further composed out of otherSubmodelElements. A data element is aSubmodelElementthat has a value. The type of value differs for different subtypes of data elements.<<abstract>>
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Entity(id_short: Optional[str], entity_type: basyx.aas.model.base.EntityType, statement: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), global_asset_id: Optional[str] = None, specific_asset_id: Iterable[basyx.aas.model.base.SpecificAssetId] = (), display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
An entity is a
SubmodelElementthat is used to model entities- Constraint AASd-014: global_asset_id or specific_asset_id must be set if
entity_typeis set to SELF_MANAGED_ENTITY. They must be empty otherwise.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)entity_type – Describes whether the entity is a co-managed or a self-managed entity.
statement – Unordered list of statements (
SubmodelElements) applicable to the entity, typically with a qualified value.global_asset_id – Global
Identifierof the asset the entity is representing.specific_asset_id –
Referenceto an identifier key value pair representing a specific identifier of the asset represented by the asset administration shell. See Constraint AASd-014display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- Constraint AASd-014: global_asset_id or specific_asset_id must be set if
- class basyx.aas.model.submodel.EventElement(id_short: Optional[str], display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
An event element. <<abstract>>
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.File(id_short: Optional[str], content_type: str, value: Optional[str] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A File is a
DataElementthat represents a file via its path description.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)content_type – Mime type of the content of the File.
value – Path and name of the referenced file (with file extension). The path can be absolute or relative.
display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.MultiLanguageProperty(id_short: Optional[str], value: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, value_id: Optional[basyx.aas.model.base.Reference] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A multi language property is a
DataElementthat has a multi language value.- 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 inMultiLanguageProperty/valueId.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)value – The value of the property instance.
value_id –
Referenceto the global unique id of a coded valuedisplay_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Operation(id_short: Optional[str], input_variable: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), output_variable: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), in_output_variable: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
An operation is a
SubmodelElementwith input and output variables.In- and output variables are implemented as
SubmodelElementsdirectly without the wrapping OperationVariable. This makes implementing Constraint AASd-134 much easier since we can just use normalNamespaceSets. Furthermore, an OperationVariable contains nothing besides a singleSubmodelElementanyway, so implementing it would just make using Operations more tedious for no reason.- Constraint AASd-134: For an Operation, the idShort of all inputVariable/value, outputVariable/value,
and inoutputVariable/value shall be unique.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)input_variable – List of input parameters (
SubmodelElements) of the operationoutput_variable – List of output parameters (
SubmodelElements) of the operationin_output_variable – List of parameters (
SubmodelElements) that are input and output of the operationdisplay_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Property(id_short: Optional[str], value_type: Type[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]], value: Optional[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]] = None, value_id: Optional[basyx.aas.model.base.Reference] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A property is a
DataElementthat has a single value.- Constraint AASd-007: If both, the value and the valueId of a Qualifier are present,
the value needs to be identical to the value of the referenced coded value in Qualifier/valueId.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)value_type – Data type of the value
value – The value of the property instance.
value_id –
Referenceto the global unique id of a coded valuedisplay_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Range(id_short: Optional[str], value_type: Type[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]], min: Optional[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]] = None, max: Optional[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A range is a
DataElementthat has a range value.- Constraint AASd-013: In case of a range with kind=Instance either the min or the max value or both
need to be defined
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)value_type – Data type of the min and max
min – The minimum value of the range. If the min value is missing then the value is assumed to be negative infinite
max – The maximum of the range. If the max value is missing then the value is assumed to be positive infinite
display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.ReferenceElement(id_short: Optional[str], value: Optional[basyx.aas.model.base.Reference] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A reference element is a
DataElementthat defines aReferenceto another element within the same or another AAS or aReferenceto an external object or entity.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)value –
Referenceto any otherReferableelement of the same or any other AAS or aReferenceto an external object or entity.display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.RelationshipElement(id_short: Optional[str], first: basyx.aas.model.base.Reference, second: basyx.aas.model.base.Reference, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A relationship element is used to define a relationship between two
Referableelements.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)first – Reference to the first element in the relationship taking the role of the subject which have to be of class Referable. (inherited from
RelationshipElement)second – Reference to the second element in the relationship taking the role of the object which have to be of class Referable. (inherited from
RelationshipElement)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.Submodel(id_: str, submodel_element: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), id_short: Optional[str] = None, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, administration: Optional[basyx.aas.model.base.AdministrativeInformation] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), kind: basyx.aas.model.base.ModellingKind = ModellingKind.INSTANCE, extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A Submodel defines a specific aspect of the asset represented by the AAS.
A submodel is used to structure the virtual 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 submodel types. Submodels can have different life-cycles.
- Variables
~.id – The globally unique id of the element. (inherited from
Identifiable)submodel_element – Unordered list of
SubmodelElementsid_short – Identifying string of the element within its name space. (inherited from
Referable)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)administration – Administrative information of an identifiable element. (inherited from
Identifiable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)kind – Kind of the element: Either TYPE or INSTANCE. Default is INSTANCE. (inherited from
aas.model.base.HasKind)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.SubmodelElement(id_short: Optional[str], display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A submodel element is an element suitable for the description and differentiation of assets.
Note: The concept of type and instance applies to submodel elements.
Propertiesare special submodel elements. The property types are defined in dictionaries (like the IEC Common Data Dictionary or eCl@ss), they do not have a value. The property type (kind=Type) is also called data element type in some standards. The property instances (kind=Instance) typically have a value. A property instance is also called property-value pair in certain standards.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.SubmodelElementCollection(id_short: Optional[str], value: Iterable[basyx.aas.model.submodel.SubmodelElement] = (), display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A submodel element collection is a set or list of
SubmodelElements.- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)value – list of
SubmodelElementsdisplay_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- class basyx.aas.model.submodel.SubmodelElementList(id_short: Optional[str], type_value_list_element: Type[basyx.aas.model.submodel._SE], value: Iterable[basyx.aas.model.submodel._SE] = (), semantic_id_list_element: Optional[basyx.aas.model.base.Reference] = None, value_type_list_element: Optional[Type[Union[dateutil.relativedelta.relativedelta, datetime.datetime, basyx.aas.model.datatypes.Date, datetime.time, basyx.aas.model.datatypes.GYearMonth, basyx.aas.model.datatypes.GYear, basyx.aas.model.datatypes.GMonthDay, basyx.aas.model.datatypes.GMonth, basyx.aas.model.datatypes.GDay, bool, basyx.aas.model.datatypes.Base64Binary, basyx.aas.model.datatypes.HexBinary, basyx.aas.model.datatypes.Float, float, decimal.Decimal, int, basyx.aas.model.datatypes.Long, basyx.aas.model.datatypes.Int, basyx.aas.model.datatypes.Short, basyx.aas.model.datatypes.Byte, basyx.aas.model.datatypes.NonPositiveInteger, basyx.aas.model.datatypes.NegativeInteger, basyx.aas.model.datatypes.NonNegativeInteger, basyx.aas.model.datatypes.PositiveInteger, basyx.aas.model.datatypes.UnsignedLong, basyx.aas.model.datatypes.UnsignedInt, basyx.aas.model.datatypes.UnsignedShort, basyx.aas.model.datatypes.UnsignedByte, basyx.aas.model.datatypes.AnyURI, str, basyx.aas.model.datatypes.NormalizedString]]] = None, order_relevant: bool = True, display_name: Optional[basyx.aas.model.base.MultiLanguageNameType] = None, category: Optional[str] = None, description: Optional[basyx.aas.model.base.MultiLanguageTextType] = None, parent: Optional[basyx.aas.model.base.UniqueIdShortNamespace] = None, semantic_id: Optional[basyx.aas.model.base.Reference] = None, qualifier: Iterable[basyx.aas.model.base.Qualifier] = (), extension: Iterable[basyx.aas.model.base.Extension] = (), supplemental_semantic_id: Iterable[basyx.aas.model.base.Reference] = (), embedded_data_specifications: Iterable[basyx.aas.model.base.EmbeddedDataSpecification] = ())
A submodel element list is an ordered list of
SubmodelElements. The numbering starts with Zero (0).- Constraint AASd-107: If a first level child element in a
SubmodelElementListhas a semanticId it shall be identical to SubmodelElementList/semanticIdListElement.
- Constraint AASd-114: If two first level child elements in a
SubmodelElementListhave a semanticId then they shall be identical.
- Constraint AASd-115: If a first level child element in a
SubmodelElementListdoes not specify a semanticId, the value is assumed to be identical to SubmodelElementList/semanticIdListElement.
- Constraint AASd-108: All first level child elements in a
SubmodelElementListshall have the same submodel element type as specified in SubmodelElementList/typeValueListElement.
- Constraint AASd-109: If SubmodelElementList/typeValueListElement is equal to Property or Range,
SubmodelElementList/valueTypeListElement shall be set and all first level child elements in the
SubmodelElementListshall have the value type as specified in SubmodelElementList/valueTypeListElement.
- Variables
id_short – Identifying string of the element within its name space. (inherited from
Referable)type_value_list_element – The
SubmodelElementtype of the submodel elements contained in the list.value –
SubmodelElementscontained in the list. The list is ordered.semantic_id_list_element – Semantic ID of the
SubmodelElementscontained in the list to match to.value_type_list_element – The value type of the submodel element contained in the list.
order_relevant – Defines whether order in list is relevant. If False the list is representing a set or a bag. Default: True
display_name – Can be provided in several languages. (inherited from
Referable)category – 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. (inherited from
Referable)description – Description or comments on the element. (inherited from
Referable)parent – Reference to the next referable parent element of the element. (inherited from
Referable)semantic_id – Identifier of the semantic definition of the element. It is called semantic id of the element. The semantic id may either reference an external global id or it may reference a referable model element of kind=Type that defines the semantics of the element. (inherited from
HasSemantics)qualifier – Unordered list of Qualifiers that gives additional qualification of a qualifiable element. (from
Qualifiable)extension – An extension of the element. (inherited from
aas.model.base.HasExtension)supplemental_semantic_id – Identifier of a supplemental semantic definition of the element. It is called supplemental semantic ID of the element. (inherited from
HasSemantics)embedded_data_specifications – List of Embedded data specification.
- Constraint AASd-107: If a first level child element in a