2.6. 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 AnnotatedRelationshipElement(id_short: str | None, first: Reference, second: Reference, display_name: MultiLanguageNameType | None = None, annotation: Iterable[DataElement] = (), category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

An annotated relationship element is a RelationshipElement that can be annotated with additional DataElements.

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 DataElements that hold for the relationship between two elements

  • 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 basyx.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 BasicEventElement(id_short: str | None, observed: ModelReference[aas.AssetAdministrationShell | Submodel | SubmodelElement], direction: Direction, state: StateOfEvent, message_topic: str | None = None, message_broker: ModelReference[Submodel | SubmodelElementList | SubmodelElementCollection | Entity] | None = None, last_update: datetime | None = None, min_interval: relativedelta | None = None, max_interval: relativedelta | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A basic event element.

Variables:
  • id_short – Identifying string of the element within its name space. (inherited from Referable)

  • observedModelReference to the Referable, which defines the scope of the event. Can be AssetAdministrationShell, SubmodelElement or SubmodelElement. 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 SubmodelElement, SubmodelElementList, SubmodelElementCollection or Entity, 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 basyx.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.

property direction: Direction
property last_update: datetime | None
property max_interval: relativedelta | None
property message_topic: str | None
class Blob(id_short: str | None, content_type: str, value: bytes | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A BLOB is a DataElement that 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 basyx.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.

property content_type: str | None
class Capability(id_short: str | None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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 basyx.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 DataElement(id_short: str | None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A data element is a SubmodelElement that is not further composed out of other SubmodelElements. A data element is a SubmodelElement that 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 basyx.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 Entity(id_short: str | None, entity_type: EntityType, statement: Iterable[SubmodelElement] = (), global_asset_id: str | None = None, specific_asset_id: Iterable[SpecificAssetId] = (), display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

An entity is a SubmodelElement that is used to model entities

Constraint AASd-014: global_asset_id or specific_asset_id must be set if entity_type is 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 Identifier of the asset the entity is representing.

  • specific_asset_idReference to an identifier key value pair representing a specific identifier of the asset represented by the asset administration shell. See Constraint AASd-014

  • 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 basyx.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.

property entity_type: EntityType
property global_asset_id: str | None
property specific_asset_id: ConstrainedList[SpecificAssetId]
class EventElement(id_short: str | None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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 basyx.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 File(id_short: str | None, content_type: str, value: str | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A File is a DataElement that 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 basyx.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.

property content_type: str | None
property value: str | None
class MultiLanguageProperty(id_short: str | None, value: MultiLanguageTextType | None = None, value_id: Reference | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A multi language property is a DataElement that 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_idReference to the global unique id of a coded value

  • 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 basyx.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 Operation(id_short: str | None, input_variable: Iterable[SubmodelElement] = (), output_variable: Iterable[SubmodelElement] = (), in_output_variable: Iterable[SubmodelElement] = (), display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

An operation is a SubmodelElement with input and output variables.

In- and output variables are implemented as SubmodelElements directly without the wrapping OperationVariable. This makes implementing Constraint AASd-134 much easier since we can just use normal NamespaceSets. Furthermore, an OperationVariable contains nothing besides a single SubmodelElement anyway, 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 operation

  • output_variable – List of output parameters (SubmodelElements) of the operation

  • in_output_variable – List of parameters (SubmodelElements) that are input and output of the operation

  • 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 basyx.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 Property(id_short: str | None, value_type: Type[relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString], value: relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString | None = None, value_id: Reference | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A property is a DataElement that 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_idReference to the global unique id of a coded value

  • 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 basyx.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.

property value
class Range(id_short: str | None, value_type: Type[relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString], min: relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString | None = None, max: relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A range is a DataElement that 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 basyx.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.

property max
property min
class ReferenceElement(id_short: str | None, value: Reference | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A reference element is a DataElement that defines a Reference to another element within the same or another AAS or a Reference to an external object or entity.

Variables:
  • id_short – Identifying string of the element within its name space. (inherited from Referable)

  • valueReference to any other Referable element of the same or any other AAS or a Reference to 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 basyx.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 RelationshipElement(id_short: str | None, first: Reference, second: Reference, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[EmbeddedDataSpecification] = ())

A relationship element is used to define a relationship between two Referable elements.

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 basyx.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 Submodel(id_: str, submodel_element: Iterable[SubmodelElement] = (), id_short: str | None = None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, administration: AdministrativeInformation | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), kind: ModellingKind = ModellingKind.INSTANCE, extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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 SubmodelElements

  • 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)

  • 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 HasKind)

  • extension – An extension of the element. (inherited from basyx.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 SubmodelElement(id_short: str | None, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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. Properties are 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 basyx.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 SubmodelElementCollection(id_short: str | None, value: Iterable[SubmodelElement] = (), display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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 SubmodelElements

  • 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 basyx.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 SubmodelElementList(id_short: str | None, type_value_list_element: Type[_SE], value: Iterable[_SE] = (), semantic_id_list_element: Reference | None = None, value_type_list_element: Type[relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString] | None = None, order_relevant: bool = True, display_name: MultiLanguageNameType | None = None, category: str | None = None, description: MultiLanguageTextType | None = None, parent: UniqueIdShortNamespace | None = None, semantic_id: Reference | None = None, qualifier: Iterable[Qualifier] = (), extension: Iterable[Extension] = (), supplemental_semantic_id: Iterable[Reference] = (), embedded_data_specifications: Iterable[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 SubmodelElementList has a semanticId it shall be identical to SubmodelElementList/semanticIdListElement.

Constraint AASd-114: If two first level child elements in a SubmodelElementList have a semanticId then they shall be identical.

Constraint AASd-115: If a first level child element in a SubmodelElementList does not specify a semanticId, the value is assumed to be identical to SubmodelElementList/semanticIdListElement.

Constraint AASd-108: All first level child elements in a SubmodelElementList shall 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 SubmodelElementList shall 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 SubmodelElement type of the submodel elements contained in the list.

  • valueSubmodelElements contained in the list. The list is ordered.

  • semantic_id_list_element – Semantic ID of the SubmodelElements contained 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 basyx.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.

property order_relevant: bool
property semantic_id_list_element: Reference | None
property type_value_list_element: Type[_SE]
property value: OrderedNamespaceSet[_SE]
property value_type_list_element: Type[relativedelta | datetime | Date | time | GYearMonth | GYear | GMonthDay | GMonth | GDay | bool | Base64Binary | HexBinary | Float | float | Decimal | int | Long | Int | Short | Byte | NonPositiveInteger | NegativeInteger | NonNegativeInteger | PositiveInteger | UnsignedLong | UnsignedInt | UnsignedShort | UnsignedByte | AnyURI | str | NormalizedString] | None
class _SE

alias of TypeVar(‘_SE’, bound=SubmodelElement)