diff --git a/dev_scripts/pyproject.toml b/dev_scripts/pyproject.toml
index 571cf59..64b1d6e 100644
--- a/dev_scripts/pyproject.toml
+++ b/dev_scripts/pyproject.toml
@@ -16,7 +16,7 @@ authors = [
dependencies = [
"aas-core-meta@git+https://github.com/aas-core-works/aas-core-meta@f9cbdb3#egg=aas-core-meta",
- "aas-core-codegen@git+https://github.com/aas-core-works/aas-core-codegen@6df5c9e8#egg=aas-core-codegen",
+ "aas-core-codegen@git+https://github.com/aas-core-works/aas-core-codegen@dc2d21cd#egg=aas-core-codegen",
]
[project.urls]
diff --git a/v3/types.proto b/v3/types.proto
index 138dd73..ea60bcf 100644
--- a/v3/types.proto
+++ b/v3/types.proto
@@ -8,86 +8,30 @@ syntax = "proto3";
package aas_core3;
+///
+/// Single extension of an element.
+///
+message Extension {
///
- /// Single extension of an element.
- ///
- message Extension {
- ///
- /// Name of the extension.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-077:
- /// The name of an extension (Extension/name) within needs
- /// to be unique.
- ///
- ///
- ///
- string name = 1;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 2;
-
- ///
- /// Type of the value of the extension.
- ///
- ///
- /// Default:
- ///
- optional DataTypeDefXsd value_type = 3;
-
- ///
- /// Reference to an element the extension refers to.
- ///
- repeated Reference refers_to = 4;
-
- ///
- /// Value of the extension
- ///
- optional string value = 5;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 6;
- }
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 1;
///
- /// Enumeration for denoting whether an element is a template or an instance.
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
///
- enum ModellingKind {
- Modellingkind_UNSPECIFIED = 0;
-
- ///
- /// Specification of the common features of a structured element in sufficient detail
- /// that such a instance can be instantiated using it
- ///
- Modellingkind_TEMPLATE = 1;
-
- ///
- /// Concrete, clearly identifiable element instance. Its creation and validation
- /// may be guided by a corresponding element template.
- ///
- Modellingkind_INSTANCE = 2;
- }
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 2;
///
- /// Administrative meta-information for an element like version
- /// information.
+ /// Name of the extension.
///
///
///
@@ -95,1183 +39,637 @@ package aas_core3;
///
///
/// -
- /// Constraint AASd-005:
- /// If is not specified then also shall be
- /// unspecified. This means, a revision requires a version. If there is no version
- /// there is no revision neither. Revision is optional.
+ /// Constraint AASd-077:
+ /// The name of an extension (Extension/name) within needs
+ /// to be unique.
///
///
///
- message AdministrativeInformation {
- ///
- /// Revision of the element.
- ///
- optional string revision = 1;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 2;
-
- ///
- /// The subject ID of the subject responsible for making the element.
- ///
- optional Reference creator = 3;
-
- ///
- /// Identifier of the template that guided the creation of the element.
- ///
- ///
- ///
- /// In case of a submodel the is the identifier
- /// of the submodel template ID that guided the creation of the submodel
- ///
- ///
- /// The is not relevant for validation in Submodels.
- /// For validation the shall be used.
- ///
- ///
- /// Usage of is not restricted to submodel instances. So also
- /// the creation of submodel templates can be guided by another submodel template.
- ///
- ///
- optional string template_id = 4;
-
- ///
- /// Version of the element.
- ///
- optional string version = 5;
- }
+ string name = 3;
///
- /// Enumeration for kinds of qualifiers.
+ /// Type of the value of the extension.
///
///
- /// This element is experimental and therefore may be subject to change or may be
- /// removed completely in future versions of the meta-model.
+ /// Default:
///
- enum QualifierKind {
- Qualifierkind_UNSPECIFIED = 0;
+ optional DataTypeDefXsd value_type = 4;
- ///
- /// qualifies the value of the element and can change during run-time.
- ///
- ///
- /// Value qualifiers are only applicable to elements with kind
- /// .
- ///
- Qualifierkind_VALUE_QUALIFIER = 1;
+ ///
+ /// Value of the extension
+ ///
+ optional string value = 5;
- ///
- /// qualifies the semantic definition the element is referring to
- /// ()
- ///
- Qualifierkind_CONCEPT_QUALIFIER = 2;
+ ///
+ /// Reference to an element the extension refers to.
+ ///
+ repeated Reference refers_to = 6;
+}
- ///
- /// qualifies the elements within a specific submodel on concept level.
- ///
- ///
- /// Template qualifiers are only applicable to elements with kind
- /// .
- ///
- Qualifierkind_TEMPLATE_QUALIFIER = 3;
- }
+///
+/// Enumeration for denoting whether an element is a template or an instance.
+///
+enum ModellingKind {
+ Modellingkind_UNSPECIFIED = 0;
///
- /// A qualifier is a type-value-pair that makes additional statements w.r.t. the value
- /// of the element.
+ /// Specification of the common features of a structured element in sufficient detail
+ /// that such a instance can be instantiated using it
///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-006:
- /// If both the and the of
- /// a are present then the needs
- /// to be identical to the value of the referenced coded value
- /// in .
- ///
- /// -
- /// Constraint AASd-020:
- /// The value of shall be consistent to the data type as
- /// defined in .
- ///
- ///
- ///
- message Qualifier {
- ///
- /// The qualifier kind describes the kind of the qualifier that is applied to the
- /// element.
- ///
- ///
- /// Default:
- ///
- optional QualifierKind kind = 1;
-
- ///
- /// Data type of the qualifier value.
- ///
- DataTypeDefXsd value_type = 2;
-
- ///
- /// The qualifier type describes the type of the qualifier that is applied to
- /// the element.
- ///
- string type = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// The qualifier value is the value of the qualifier.
- ///
- optional string value = 5;
-
- ///
- /// Reference to the global unique ID of a coded value.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference value_id = 6;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 7;
- }
+ Modellingkind_TEMPLATE = 1;
///
- /// An asset administration shell.
- ///
- message AssetAdministrationShell {
- ///
- /// References to submodels of the AAS.
- ///
- ///
- ///
- /// A submodel is a description of an aspect of the asset the AAS is representing.
- ///
- ///
- /// The asset of an AAS is typically described by one or more submodels.
- ///
- ///
- /// Temporarily no submodel might be assigned to the AAS.
- ///
- ///
- repeated Reference submodels = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 4;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 5;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 6;
-
- ///
- /// Meta-information about the asset the AAS is representing.
- ///
- AssetInformation asset_information = 7;
-
- ///
- /// The reference to the AAS the AAS was derived from.
- ///
- optional Reference derived_from = 8;
-
- ///
- /// The globally unique identification of the element.
- ///
- string id = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Administrative information of an identifiable element.
- ///
- ///
- /// Some of the administrative information like the version number might need to
- /// be part of the identification.
- ///
- optional AdministrativeInformation administration = 11;
- }
+ /// Concrete, clearly identifiable element instance. Its creation and validation
+ /// may be guided by a corresponding element template.
+ ///
+ Modellingkind_INSTANCE = 2;
+}
+
+///
+/// Administrative meta-information for an element like version
+/// information.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-005:
+/// If is not specified then also shall be
+/// unspecified. This means, a revision requires a version. If there is no version
+/// there is no revision neither. Revision is optional.
+///
+///
+///
+message AdministrativeInformation {
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 1;
+
+ ///
+ /// Version of the element.
+ ///
+ optional string version = 2;
+
+ ///
+ /// Revision of the element.
+ ///
+ optional string revision = 3;
+
+ ///
+ /// The subject ID of the subject responsible for making the element.
+ ///
+ optional Reference creator = 4;
///
- /// In identifying meta data of the asset that is
- /// represented by an AAS is defined.
+ /// Identifier of the template that guided the creation of the element.
///
///
///
- /// The asset may either represent an asset type or an asset instance.
+ /// In case of a submodel the is the identifier
+ /// of the submodel template ID that guided the creation of the submodel
///
///
- /// The asset has a globally unique identifier plus – if needed – additional domain
- /// specific (proprietary) identifiers. However, to support the corner case of very
- /// first phase of lifecycle where a stabilised/constant_set global asset identifier
- /// does not already exist, the corresponding attribute is
- /// optional.
+ /// The is not relevant for validation in Submodels.
+ /// For validation the shall be used.
///
///
- /// Constraints:
+ /// Usage of is not restricted to submodel instances. So also
+ /// the creation of submodel templates can be guided by another submodel template.
///
- ///
- /// -
- ///
- /// Constraint AASd-116:
- /// globalAssetId is a reserved key. If used as value for
- /// then shall be
- /// identical to .
- ///
- ///
- /// Constraint AASd-116 is important to enable a generic search across
- /// global and specific asset IDs.
- ///
- ///
- ///
- /// In the book, Constraint AASd-116 imposes a
- /// case-insensitive equality against globalAssetId. This is
- /// culturally-dependent, and depends on the system settings.
- /// For example, the case-folding for the letters "i" and "I" is
- /// different in Turkish from English.
- ///
- ///
- /// We implement the constraint as case-sensitive instead to allow
- /// for interoperability across different culture settings.
- ///
- ///
- ///
- /// -
- /// Constraint AASd-131:
- /// For either the shall be
- /// defined or at least one item in .
- ///
- ///
///
- message AssetInformation {
- ///
- /// Additional domain-specific, typically proprietary identifier for the asset like
- /// e.g., serial number etc.
- ///
- repeated SpecificAssetId specific_asset_ids = 1;
-
- ///
- /// Denotes whether the Asset is of kind or
- /// .
- ///
- AssetKind asset_kind = 2;
-
- ///
- /// In case is applicable the is the asset ID
- /// of the type asset of the asset under consideration
- /// as identified by .
- ///
- ///
- /// In case is "Instance" than the denotes
- /// which "Type" the asset is of. But it is also possible
- /// to have an of an asset of kind "Type".
- ///
- optional string asset_type = 3;
-
- ///
- /// Global identifier of the asset the AAS is representing.
- ///
- ///
- ///
- /// This attribute is required as soon as the AAS is exchanged via partners in the life
- /// cycle of the asset. In a first phase of the life cycle the asset might not yet have
- /// a global ID but already an internal identifier. The internal identifier would be
- /// modelled via .
- ///
- ///
- /// This is a global reference.
- ///
- ///
- optional string global_asset_id = 4;
-
- ///
- /// Thumbnail of the asset represented by the Asset Administration Shell.
- ///
- ///
- /// Used as default.
- ///
- optional Resource default_thumbnail = 5;
- }
+ optional string template_id = 5;
+}
+
+///
+/// Enumeration for kinds of qualifiers.
+///
+///
+/// This element is experimental and therefore may be subject to change or may be
+/// removed completely in future versions of the meta-model.
+///
+enum QualifierKind {
+ Qualifierkind_UNSPECIFIED = 0;
///
- /// Resource represents an address to a file (a locator). The value is an URI that
- /// can represent an absolute or relative path
- ///
- message Resource {
- ///
- /// Content type of the content of the file.
- ///
- ///
- /// The content type states which file extensions the file can have.
- ///
- optional string content_type = 1;
-
- ///
- /// Path and name of the resource (with file extension).
- ///
- ///
- /// The path can be absolute or relative.
- ///
- string path = 2;
- }
+ /// qualifies the value of the element and can change during run-time.
+ ///
+ ///
+ /// Value qualifiers are only applicable to elements with kind
+ /// .
+ ///
+ Qualifierkind_VALUE_QUALIFIER = 1;
+
+ ///
+ /// qualifies the semantic definition the element is referring to
+ /// ()
+ ///
+ Qualifierkind_CONCEPT_QUALIFIER = 2;
+
+ ///
+ /// qualifies the elements within a specific submodel on concept level.
+ ///
+ ///
+ /// Template qualifiers are only applicable to elements with kind
+ /// .
+ ///
+ Qualifierkind_TEMPLATE_QUALIFIER = 3;
+}
+
+///
+/// A qualifier is a type-value-pair that makes additional statements w.r.t. the value
+/// of the element.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-006:
+/// If both the and the of
+/// a are present then the needs
+/// to be identical to the value of the referenced coded value
+/// in .
+///
+/// -
+/// Constraint AASd-020:
+/// The value of shall be consistent to the data type as
+/// defined in .
+///
+///
+///
+message Qualifier {
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 1;
///
- /// Enumeration for denoting whether an asset is a type asset or an instance asset.
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
///
- enum AssetKind {
- Assetkind_UNSPECIFIED = 0;
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 2;
+
+ ///
+ /// The qualifier kind describes the kind of the qualifier that is applied to the
+ /// element.
+ ///
+ ///
+ /// Default:
+ ///
+ optional QualifierKind kind = 3;
+
+ ///
+ /// The qualifier type describes the type of the qualifier that is applied to
+ /// the element.
+ ///
+ string type = 4;
- ///
- /// Type asset
- ///
- Assetkind_TYPE = 1;
+ ///
+ /// Data type of the qualifier value.
+ ///
+ DataTypeDefXsd value_type = 5;
- ///
- /// Instance asset
- ///
- Assetkind_INSTANCE = 2;
+ ///
+ /// The qualifier value is the value of the qualifier.
+ ///
+ optional string value = 6;
- ///
- /// Neither a type asset nor an instance asset
- ///
- Assetkind_NOT_APPLICABLE = 3;
- }
+ ///
+ /// Reference to the global unique ID of a coded value.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference value_id = 7;
+}
+
+///
+/// An asset administration shell.
+///
+message AssetAdministrationShell {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
///
- /// A specific asset ID describes a generic supplementary identifying attribute of the
- /// asset.
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
///
///
///
- /// The specific asset ID is not necessarily globally unique.
+ /// The description can be provided in several languages.
///
///
- /// Constraints:
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
///
- ///
- /// -
- /// Constraint AASd-133:
- /// shall be an external reference,
- /// i.e. = .
- ///
- ///
///
- message SpecificAssetId {
- ///
- /// The value of the specific asset identifier with the corresponding name.
- ///
- string value = 1;
-
- ///
- /// Name of the identifier
- ///
- string name = 2;
-
- ///
- /// The (external) subject the key belongs to or has meaning to.
- ///
- ///
- /// This is a global reference.
- ///
- optional Reference external_subject_id = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 5;
- }
+ repeated LangStringTextType description = 5;
///
- /// A submodel defines a specific aspect of the asset represented by the AAS.
- ///
- ///
- /// A submodel is used to structure the digital representation and technical
- /// functionality of an Administration Shell into distinguishable parts. Each submodel
- /// refers to a well-defined domain or subject matter. Submodels can become
- /// standardized and, thus, become submodels templates.
- ///
- message Submodel {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// A submodel consists of zero or more submodel elements.
- ///
- repeated SubmodelElement submodel_elements = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 6;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 7;
-
- ///
- /// Kind of the element: either type or instance.
- ///
- ///
- /// Default:
- ///
- optional ModellingKind kind = 8;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 9;
-
- ///
- /// The globally unique identification of the element.
- ///
- string id = 10;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 11;
-
- ///
- /// Administrative information of an identifiable element.
- ///
- ///
- /// Some of the administrative information like the version number might need to
- /// be part of the identification.
- ///
- optional AdministrativeInformation administration = 12;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 13;
- }
+ /// Administrative information of an identifiable element.
+ ///
+ ///
+ /// Some of the administrative information like the version number might need to
+ /// be part of the identification.
+ ///
+ optional AdministrativeInformation administration = 6;
///
- /// A relationship element is used to define a relationship between two elements
- /// being either referable (model reference) or external (global reference).
- ///
- message RelationshipElement {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Reference to the second element in the relationship taking the role of the object.
- ///
- Reference second = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// Reference to the first element in the relationship taking the role of the subject.
- ///
- Reference first = 6;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 7;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 8;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 11;
- }
+ /// The globally unique identification of the element.
+ ///
+ string id = 7;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 8;
///
- /// Enumeration of all possible elements of a .
+ /// The reference to the AAS the AAS was derived from.
///
- enum AasSubmodelElements {
- Aassubmodelelements_UNSPECIFIED = 0;
+ optional Reference derived_from = 9;
- Aassubmodelelements_ANNOTATED_RELATIONSHIP_ELEMENT = 1;
+ ///
+ /// Meta-information about the asset the AAS is representing.
+ ///
+ AssetInformation asset_information = 10;
+
+ ///
+ /// References to submodels of the AAS.
+ ///
+ ///
+ ///
+ /// A submodel is a description of an aspect of the asset the AAS is representing.
+ ///
+ ///
+ /// The asset of an AAS is typically described by one or more submodels.
+ ///
+ ///
+ /// Temporarily no submodel might be assigned to the AAS.
+ ///
+ ///
+ repeated Reference submodels = 11;
+}
+
+///
+/// In identifying meta data of the asset that is
+/// represented by an AAS is defined.
+///
+///
+///
+/// The asset may either represent an asset type or an asset instance.
+///
+///
+/// The asset has a globally unique identifier plus – if needed – additional domain
+/// specific (proprietary) identifiers. However, to support the corner case of very
+/// first phase of lifecycle where a stabilised/constant_set global asset identifier
+/// does not already exist, the corresponding attribute is
+/// optional.
+///
+///
+/// Constraints:
+///
+///
+/// -
+///
+/// Constraint AASd-116:
+/// globalAssetId is a reserved key. If used as value for
+/// then shall be
+/// identical to .
+///
+///
+/// Constraint AASd-116 is important to enable a generic search across
+/// global and specific asset IDs.
+///
+///
+///
+/// In the book, Constraint AASd-116 imposes a
+/// case-insensitive equality against globalAssetId. This is
+/// culturally-dependent, and depends on the system settings.
+/// For example, the case-folding for the letters "i" and "I" is
+/// different in Turkish from English.
+///
+///
+/// We implement the constraint as case-sensitive instead to allow
+/// for interoperability across different culture settings.
+///
+///
+///
+/// -
+/// Constraint AASd-131:
+/// For either the shall be
+/// defined or at least one item in .
+///
+///
+///
+message AssetInformation {
+ ///
+ /// Denotes whether the Asset is of kind or
+ /// .
+ ///
+ AssetKind asset_kind = 1;
- Aassubmodelelements_BASIC_EVENT_ELEMENT = 2;
+ ///
+ /// Global identifier of the asset the AAS is representing.
+ ///
+ ///
+ ///
+ /// This attribute is required as soon as the AAS is exchanged via partners in the life
+ /// cycle of the asset. In a first phase of the life cycle the asset might not yet have
+ /// a global ID but already an internal identifier. The internal identifier would be
+ /// modelled via .
+ ///
+ ///
+ /// This is a global reference.
+ ///
+ ///
+ optional string global_asset_id = 2;
- Aassubmodelelements_BLOB = 3;
+ ///
+ /// Additional domain-specific, typically proprietary identifier for the asset like
+ /// e.g., serial number etc.
+ ///
+ repeated SpecificAssetId specific_asset_ids = 3;
- Aassubmodelelements_CAPABILITY = 4;
+ ///
+ /// In case is applicable the is the asset ID
+ /// of the type asset of the asset under consideration
+ /// as identified by .
+ ///
+ ///
+ /// In case is "Instance" than the denotes
+ /// which "Type" the asset is of. But it is also possible
+ /// to have an of an asset of kind "Type".
+ ///
+ optional string asset_type = 4;
- Aassubmodelelements_DATA_ELEMENT = 5;
+ ///
+ /// Thumbnail of the asset represented by the Asset Administration Shell.
+ ///
+ ///
+ /// Used as default.
+ ///
+ optional Resource default_thumbnail = 5;
+}
+
+///
+/// Resource represents an address to a file (a locator). The value is an URI that
+/// can represent an absolute or relative path
+///
+message Resource {
+ ///
+ /// Path and name of the resource (with file extension).
+ ///
+ ///
+ /// The path can be absolute or relative.
+ ///
+ string path = 1;
- Aassubmodelelements_ENTITY = 6;
+ ///
+ /// Content type of the content of the file.
+ ///
+ ///
+ /// The content type states which file extensions the file can have.
+ ///
+ optional string content_type = 2;
+}
- Aassubmodelelements_EVENT_ELEMENT = 7;
+///
+/// Enumeration for denoting whether an asset is a type asset or an instance asset.
+///
+enum AssetKind {
+ Assetkind_UNSPECIFIED = 0;
- Aassubmodelelements_FILE = 8;
+ ///
+ /// Type asset
+ ///
+ Assetkind_TYPE = 1;
- Aassubmodelelements_MULTI_LANGUAGE_PROPERTY = 9;
+ ///
+ /// Instance asset
+ ///
+ Assetkind_INSTANCE = 2;
- Aassubmodelelements_OPERATION = 10;
+ ///
+ /// Neither a type asset nor an instance asset
+ ///
+ Assetkind_NOT_APPLICABLE = 3;
+}
+
+///
+/// A specific asset ID describes a generic supplementary identifying attribute of the
+/// asset.
+///
+///
+///
+/// The specific asset ID is not necessarily globally unique.
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-133:
+/// shall be an external reference,
+/// i.e. = .
+///
+///
+///
+message SpecificAssetId {
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 1;
- Aassubmodelelements_PROPERTY = 11;
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 2;
- Aassubmodelelements_RANGE = 12;
+ ///
+ /// Name of the identifier
+ ///
+ string name = 3;
- Aassubmodelelements_REFERENCE_ELEMENT = 13;
+ ///
+ /// The value of the specific asset identifier with the corresponding name.
+ ///
+ string value = 4;
- Aassubmodelelements_RELATIONSHIP_ELEMENT = 14;
+ ///
+ /// The (external) subject the key belongs to or has meaning to.
+ ///
+ ///
+ /// This is a global reference.
+ ///
+ optional Reference external_subject_id = 5;
+}
+
+///
+/// A submodel defines a specific aspect of the asset represented by the AAS.
+///
+///
+/// A submodel is used to structure the digital representation and technical
+/// functionality of an Administration Shell into distinguishable parts. Each submodel
+/// refers to a well-defined domain or subject matter. Submodels can become
+/// standardized and, thus, become submodels templates.
+///
+message Submodel {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
- Aassubmodelelements_SUBMODEL_ELEMENT = 15;
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
- Aassubmodelelements_SUBMODEL_ELEMENT_LIST = 16;
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
- Aassubmodelelements_SUBMODEL_ELEMENT_COLLECTION = 17;
- }
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
///
- /// A submodel element list is an ordered list of submodel elements.
+ /// Description or comments on the element.
///
///
///
- /// The numbering starts with zero (0).
+ /// The description can be provided in several languages.
///
///
- /// Constraints:
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
///
- ///
- /// -
- /// Constraint AASd-107:
- /// If a first level child element in a has
- /// a it
- /// shall be identical to .
- ///
- /// -
- /// Constraint AASd-114:
- /// If two first level child elements in a have
- /// a then they shall be identical.
- ///
- /// -
- /// Constraint AASd-115:
- /// If a first level child element in a does not
- /// specify a then the value is assumed to be
- /// identical to .
- ///
- /// -
- /// Constraint AASd-120:
- /// The of a being a direct child of a
- /// shall not be specified.
- ///
- /// -
- /// Constraint AASd-108:
- /// All first level child elements in a shall have
- /// the same submodel element type as specified in .
- ///
- /// -
- /// Constraint AASd-109:
- /// If is equal to
- /// or
- ///
- /// shall be set and all first
- /// level child elements in the shall have
- /// the value type as specified in .
- ///
- ///
///
- message SubmodelElementList {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Defines whether order in list is relevant. If = False
- /// then the list is representing a set or a bag.
- ///
- ///
- /// Default: True
- ///
- optional bool order_relevant = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// The submodel element type of the submodel elements contained in the list.
- ///
- AasSubmodelElements type_value_list_element = 6;
-
- ///
- /// Semantic ID the submodel elements contained in the list match to.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id_list_element = 7;
-
- ///
- /// The value type of the submodel element contained in the list.
- ///
- optional DataTypeDefXsd value_type_list_element = 8;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 9;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 10;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 11;
-
- ///
- /// Submodel element contained in the list.
- ///
- ///
- /// The list is ordered.
- ///
- repeated SubmodelElement value = 12;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 13;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 14;
- }
+ repeated LangStringTextType description = 5;
///
- /// A submodel element collection is a kind of struct, i.e. a a logical encapsulation
- /// of multiple named values. It has a fixed number of submodel elements.
- ///
- message SubmodelElementCollection {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// Submodel element contained in the collection.
- ///
- repeated SubmodelElement value = 5;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 6;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 7;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 8;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 9;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 10;
- }
+ /// Administrative information of an identifiable element.
+ ///
+ ///
+ /// Some of the administrative information like the version number might need to
+ /// be part of the identification.
+ ///
+ optional AdministrativeInformation administration = 6;
+
+ ///
+ /// The globally unique identification of the element.
+ ///
+ string id = 7;
///
- /// A property is a data element that has a single value.
+ /// Kind of the element: either type or instance.
///
///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-007:
- /// If both, the and the are
- /// present then the value of needs to be identical to
- /// the value of the referenced coded value in .
- ///
- ///
+ /// Default:
///
- message Property {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 5;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 6;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 7;
-
- ///
- /// Data type of the value
- ///
- DataTypeDefXsd value_type = 8;
-
- ///
- /// The value of the property instance.
- ///
- optional string value = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Reference to the global unique ID of a coded value.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference value_id = 11;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 12;
- }
+ optional ModellingKind kind = 8;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 9;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 10;
///
- /// A property is a data element that has a multi-language value.
+ /// Additional qualification of a qualifiable element.
///
///
///
@@ -1279,2500 +677,3249 @@ package aas_core3;
///
///
/// -
- /// Constraint AASd-012:
- /// If both the and the are present then for each
- /// string in a specific language the meaning must be the same as specified in
- /// .
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
///
///
///
- message MultiLanguageProperty {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 5;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 6;
-
- ///
- /// The value of the property instance.
- ///
- repeated LangStringTextType value = 7;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 8;
-
- ///
- /// Reference to the global unique ID of a coded value.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference value_id = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 11;
- }
+ repeated Qualifier qualifiers = 11;
///
- /// A range data element is a data element that defines a range with min and max.
- ///
- message Range {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// The maximum value of the range.
- ///
- ///
- /// If the max value is missing, then the value is assumed to be positive infinite.
- ///
- optional string max = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 6;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 7;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 8;
-
- ///
- /// Data type of the min und max
- ///
- DataTypeDefXsd value_type = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 11;
-
- ///
- /// The minimum value of the range.
- ///
- ///
- /// If the min value is missing, then the value is assumed to be negative infinite.
- ///
- optional string min = 12;
- }
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 12;
///
- /// A reference element is a data element that defines a logical reference to another
- /// element within the same or another AAS or a reference to an external object or
- /// entity.
- ///
- message ReferenceElement {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Global reference to an external object or entity or a logical reference to
- /// another element within the same or another AAS (i.e. a model reference to
- /// a Referable).
- ///
- optional Reference value = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 6;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 7;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 8;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 9;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 10;
- }
+ /// A submodel consists of zero or more submodel elements.
+ ///
+ repeated SubmodelElement submodel_elements = 13;
+}
+
+///
+/// A relationship element is used to define a relationship between two elements
+/// being either referable (model reference) or external (global reference).
+///
+message RelationshipElement {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
///
- /// A is a data element that represents a file that is contained with its
- /// source code in the value attribute.
- ///
- message Blob {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Content type of the content of the .
- ///
- ///
- ///
- /// The content type (MIME type) states which file extensions the file can have.
- ///
- ///
- /// Valid values are content types like e.g. application/json, application/xls,
- /// image/jpg.
- ///
- ///
- /// The allowed values are defined as in RFC2046.
- ///
- ///
- string content_type = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// The value of the instance of a blob data element.
- ///
- ///
- /// In contrast to the file property the file content is stored directly as value
- /// in the data element.
- ///
- optional bytes value = 6;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 7;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 8;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 11;
- }
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
///
- /// A File is a data element that represents an address to a file (a locator).
- ///
- ///
- /// The value is an URI that can represent an absolute or relative path.
- ///
- message File {
- ///
- /// Path and name of the referenced file (with file extension).
- ///
- ///
- /// The path can be absolute or relative.
- ///
- optional string value = 1;
-
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 2;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 6;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 7;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 8;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 9;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 10;
-
- ///
- /// Content type of the content of the file.
- ///
- ///
- /// The content type states which file extensions the file can have.
- ///
- string content_type = 11;
- }
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
///
- /// An annotated relationship element is a relationship element that can be annotated
- /// with additional data elements.
- ///
- message AnnotatedRelationshipElement {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Reference to the second element in the relationship taking the role of the object.
- ///
- Reference second = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// Reference to the first element in the relationship taking the role of the subject.
- ///
- Reference first = 6;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 7;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 8;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 9;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 10;
-
- ///
- /// A data element that represents an annotation that holds for the relationship
- /// between the two elements
- ///
- repeated DataElement annotations = 11;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 12;
- }
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
///
- /// An entity is a submodel element that is used to model entities.
+ /// Description or comments on the element.
///
///
///
- /// Constraints:
+ /// The description can be provided in several languages.
///
- ///
- /// -
- /// Constraint AASd-014:
- /// Either the attribute or
- /// of an must be set if is set to
- /// . They are not existing otherwise.
- ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Reference to the first element in the relationship taking the role of the subject.
+ ///
+ Reference first = 10;
+
+ ///
+ /// Reference to the second element in the relationship taking the role of the object.
+ ///
+ Reference second = 11;
+}
+
+///
+/// Enumeration of all possible elements of a .
+///
+enum AasSubmodelElements {
+ Aassubmodelelements_UNSPECIFIED = 0;
+
+ Aassubmodelelements_ANNOTATED_RELATIONSHIP_ELEMENT = 1;
+
+ Aassubmodelelements_BASIC_EVENT_ELEMENT = 2;
+
+ Aassubmodelelements_BLOB = 3;
+
+ Aassubmodelelements_CAPABILITY = 4;
+
+ Aassubmodelelements_DATA_ELEMENT = 5;
+
+ Aassubmodelelements_ENTITY = 6;
+
+ Aassubmodelelements_EVENT_ELEMENT = 7;
+
+ Aassubmodelelements_FILE = 8;
+
+ Aassubmodelelements_MULTI_LANGUAGE_PROPERTY = 9;
+
+ Aassubmodelelements_OPERATION = 10;
+
+ Aassubmodelelements_PROPERTY = 11;
+
+ Aassubmodelelements_RANGE = 12;
+
+ Aassubmodelelements_REFERENCE_ELEMENT = 13;
+
+ Aassubmodelelements_RELATIONSHIP_ELEMENT = 14;
+
+ Aassubmodelelements_SUBMODEL_ELEMENT = 15;
+
+ Aassubmodelelements_SUBMODEL_ELEMENT_LIST = 16;
+
+ Aassubmodelelements_SUBMODEL_ELEMENT_COLLECTION = 17;
+}
+
+///
+/// A submodel element list is an ordered list of submodel elements.
+///
+///
+///
+/// The numbering starts with zero (0).
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-107:
+/// If a first level child element in a has
+/// a it
+/// shall be identical to .
+///
+/// -
+/// Constraint AASd-114:
+/// If two first level child elements in a have
+/// a then they shall be identical.
+///
+/// -
+/// Constraint AASd-115:
+/// If a first level child element in a does not
+/// specify a then the value is assumed to be
+/// identical to .
+///
+/// -
+/// Constraint AASd-120:
+/// The of a being a direct child of a
+/// shall not be specified.
+///
+/// -
+/// Constraint AASd-108:
+/// All first level child elements in a shall have
+/// the same submodel element type as specified in .
+///
+/// -
+/// Constraint AASd-109:
+/// If is equal to
+/// or
+///
+/// shall be set and all first
+/// level child elements in the shall have
+/// the value type as specified in .
+///
+///
+///
+message SubmodelElementList {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Defines whether order in list is relevant. If = False
+ /// then the list is representing a set or a bag.
+ ///
+ ///
+ /// Default: True
+ ///
+ optional bool order_relevant = 10;
+
+ ///
+ /// Semantic ID the submodel elements contained in the list match to.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id_list_element = 11;
+
+ ///
+ /// The submodel element type of the submodel elements contained in the list.
+ ///
+ AasSubmodelElements type_value_list_element = 12;
+
+ ///
+ /// The value type of the submodel element contained in the list.
+ ///
+ optional DataTypeDefXsd value_type_list_element = 13;
+
+ ///
+ /// Submodel element contained in the list.
+ ///
+ ///
+ /// The list is ordered.
+ ///
+ repeated SubmodelElement value = 14;
+}
+
+///
+/// A submodel element collection is a kind of struct, i.e. a a logical encapsulation
+/// of multiple named values. It has a fixed number of submodel elements.
+///
+message SubmodelElementCollection {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Submodel element contained in the collection.
+ ///
+ repeated SubmodelElement value = 10;
+}
+
+///
+/// A property is a data element that has a single value.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-007:
+/// If both, the and the are
+/// present then the value of needs to be identical to
+/// the value of the referenced coded value in .
+///
+///
+///
+message Property {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Data type of the value
+ ///
+ DataTypeDefXsd value_type = 10;
+
+ ///
+ /// The value of the property instance.
+ ///
+ optional string value = 11;
+
+ ///
+ /// Reference to the global unique ID of a coded value.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference value_id = 12;
+}
+
+///
+/// A property is a data element that has a multi-language value.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-012:
+/// If both the and the are present then for each
+/// string in a specific language the meaning must be the same as specified in
+/// .
+///
+///
+///
+message MultiLanguageProperty {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// The value of the property instance.
+ ///
+ repeated LangStringTextType value = 10;
+
+ ///
+ /// Reference to the global unique ID of a coded value.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference value_id = 11;
+}
+
+///
+/// A range data element is a data element that defines a range with min and max.
+///
+message Range {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Data type of the min und max
+ ///
+ DataTypeDefXsd value_type = 10;
+
+ ///
+ /// The minimum value of the range.
+ ///
+ ///
+ /// If the min value is missing, then the value is assumed to be negative infinite.
+ ///
+ optional string min = 11;
+
+ ///
+ /// The maximum value of the range.
+ ///
+ ///
+ /// If the max value is missing, then the value is assumed to be positive infinite.
+ ///
+ optional string max = 12;
+}
+
+///
+/// A reference element is a data element that defines a logical reference to another
+/// element within the same or another AAS or a reference to an external object or
+/// entity.
+///
+message ReferenceElement {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Global reference to an external object or entity or a logical reference to
+ /// another element within the same or another AAS (i.e. a model reference to
+ /// a Referable).
+ ///
+ optional Reference value = 10;
+}
+
+///
+/// A is a data element that represents a file that is contained with its
+/// source code in the value attribute.
+///
+message Blob {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// The value of the instance of a blob data element.
+ ///
+ ///
+ /// In contrast to the file property the file content is stored directly as value
+ /// in the data element.
+ ///
+ optional bytes value = 10;
+
+ ///
+ /// Content type of the content of the .
+ ///
+ ///
+ ///
+ /// The content type (MIME type) states which file extensions the file can have.
+ ///
+ ///
+ /// Valid values are content types like e.g. application/json, application/xls,
+ /// image/jpg.
+ ///
+ ///
+ /// The allowed values are defined as in RFC2046.
+ ///
+ ///
+ string content_type = 11;
+}
+
+///
+/// A File is a data element that represents an address to a file (a locator).
+///
+///
+/// The value is an URI that can represent an absolute or relative path.
+///
+message File {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Path and name of the referenced file (with file extension).
+ ///
+ ///
+ /// The path can be absolute or relative.
+ ///
+ optional string value = 10;
+
+ ///
+ /// Content type of the content of the file.
+ ///
+ ///
+ /// The content type states which file extensions the file can have.
+ ///
+ string content_type = 11;
+}
+
+///
+/// An annotated relationship element is a relationship element that can be annotated
+/// with additional data elements.
+///
+message AnnotatedRelationshipElement {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Reference to the first element in the relationship taking the role of the subject.
+ ///
+ Reference first = 10;
+
+ ///
+ /// Reference to the second element in the relationship taking the role of the object.
+ ///
+ Reference second = 11;
+
+ ///
+ /// A data element that represents an annotation that holds for the relationship
+ /// between the two elements
+ ///
+ repeated DataElement annotations = 12;
+}
+
+///
+/// An entity is a submodel element that is used to model entities.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-014:
+/// Either the attribute or
+/// of an must be set if is set to
+/// . They are not existing otherwise.
+///
+///
+///
+message Entity {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Describes statements applicable to the entity by a set of submodel elements,
+ /// typically with a qualified value.
+ ///
+ repeated SubmodelElement statements = 10;
+
+ ///
+ /// Describes whether the entity is a co-managed entity or a self-managed entity.
+ ///
+ EntityType entity_type = 11;
+
+ ///
+ /// Global identifier of the asset the entity is representing.
+ ///
+ ///
+ /// This is a global reference.
+ ///
+ optional string global_asset_id = 12;
+
+ ///
+ /// Reference to a specific asset ID representing a supplementary identifier
+ /// of the asset represented by the Asset Administration Shell.
+ ///
+ repeated SpecificAssetId specific_asset_ids = 13;
+}
+
+///
+/// Enumeration for denoting whether an entity is a self-managed entity or a co-managed
+/// entity.
+///
+enum EntityType {
+ Entitytype_UNSPECIFIED = 0;
+
+ ///
+ /// For co-managed entities there is no separate AAS. Co-managed entities need to be
+ /// part of a self-managed entity.
+ ///
+ Entitytype_CO_MANAGED_ENTITY = 1;
+
+ ///
+ /// Self-Managed Entities have their own AAS but can be part of the bill of material of
+ /// a composite self-managed entity.
+ ///
+ ///
+ /// The asset of an I4.0 Component is a self-managed entity per definition.
+ ///
+ Entitytype_SELF_MANAGED_ENTITY = 2;
+}
+
+///
+/// Direction
+///
+///
+/// This element is experimental and therefore may be subject to change or may be
+/// removed completely in future versions of the meta-model.
+///
+enum Direction {
+ Direction_UNSPECIFIED = 0;
+
+ ///
+ /// Input direction.
+ ///
+ Direction_INPUT = 1;
+
+ ///
+ /// Output direction
+ ///
+ Direction_OUTPUT = 2;
+}
+
+///
+/// State of an event
+///
+///
+/// This element is experimental and therefore may be subject to change or may be
+/// removed completely in future versions of the meta-model.
+///
+enum StateOfEvent {
+ Stateofevent_UNSPECIFIED = 0;
+
+ ///
+ /// Event is on
+ ///
+ Stateofevent_ON = 1;
+
+ ///
+ /// Event is off.
+ ///
+ Stateofevent_OFF = 2;
+}
+
+///
+/// Defines the necessary information of an event instance sent out or received.
+///
+///
+/// This element is experimental and therefore may be subject to change or may be
+/// removed completely in future versions of the meta-model.
+///
+message EventPayload {
+ ///
+ /// Reference to the source event element, including identification of
+ /// , ,
+ /// 's.
+ ///
+ Reference source = 1;
+
+ ///
+ /// of the source event element, if available
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference source_semantic_id = 2;
+
+ ///
+ /// Reference to the referable, which defines the scope of the event.
+ ///
+ ///
+ /// Can be , or
+ /// .
+ ///
+ Reference observable_reference = 3;
+
+ ///
+ /// of the referable which defines the scope of
+ /// the event, if available.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference observable_semantic_id = 4;
+
+ ///
+ /// Information for the outer message infrastructure for scheduling the event to
+ /// the respective communication channel.
+ ///
+ optional string topic = 5;
+
+ ///
+ /// Subject, who/which initiated the creation.
+ ///
+ ///
+ /// This is an external reference.
+ ///
+ optional Reference subject_id = 6;
+
+ ///
+ /// Timestamp in UTC, when this event was triggered.
+ ///
+ string time_stamp = 7;
+
+ ///
+ /// Event specific payload.
+ ///
+ optional bytes payload = 8;
+}
+
+///
+/// A basic event element.
+///
+///
+/// This element is experimental and therefore may be subject to change or may be
+/// removed completely in future versions of the meta-model.
+///
+message BasicEventElement {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Reference to the , which defines the scope of the event.
+ /// Can be , , or
+ /// .
+ ///
+ ///
+ /// Reference to a referable, e.g., a data element or
+ /// a submodel, that is being observed.
+ ///
+ Reference observed = 10;
+
+ ///
+ /// Direction of event.
+ ///
+ ///
+ /// Can be { Input, Output }.
+ ///
+ Direction direction = 11;
+
+ ///
+ /// State of event.
+ ///
+ ///
+ /// Can be { On, Off }.
+ ///
+ StateOfEvent state = 12;
+
+ ///
+ /// Information for the outer message infrastructure for scheduling the event to the
+ /// respective communication channel.
+ ///
+ optional string message_topic = 13;
+
+ ///
+ /// Information, which outer message infrastructure shall handle messages for
+ /// the . Refers to a ,
+ /// , or
+ /// , which contains 's describing
+ /// the proprietary specification for the message broker.
+ ///
+ ///
+ /// For different message infrastructure, e.g., OPC UA or MQTT or AMQP, this
+ /// proprietary specification could be standardized by having respective Submodels.
+ ///
+ optional Reference message_broker = 14;
+
+ ///
+ /// Timestamp in UTC, when the last event was received (input direction) or sent
+ /// (output direction).
+ ///
+ optional string last_update = 15;
+
+ ///
+ /// 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.
+ ///
+ ///
+ /// Might be not specified, that is, there is no minimum interval.
+ ///
+ ///
+ optional string min_interval = 16;
+
+ ///
+ /// 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.
+ ///
+ ///
+ /// Might be not specified, that is, there is no maximum interval
+ ///
+ ///
+ optional string max_interval = 17;
+}
+
+///
+/// An operation is a submodel element with input and output variables.
+///
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-134:
+/// For an the of all
+/// 's in
+/// ,
+/// and shall be unique.
+///
+///
+///
+message Operation {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
+ ///
+ ///
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+
+ ///
+ /// Input parameter of the operation.
+ ///
+ repeated OperationVariable input_variables = 10;
+
+ ///
+ /// Output parameter of the operation.
+ ///
+ repeated OperationVariable output_variables = 11;
+
+ ///
+ /// Parameter that is input and output of the operation.
+ ///
+ repeated OperationVariable inoutput_variables = 12;
+}
+
+///
+/// The value of an operation variable is a submodel element that is used as input
+/// and/or output variable of an operation.
+///
+message OperationVariable {
+ ///
+ /// Describes an argument or result of an operation via a submodel element
+ ///
+ SubmodelElement value = 1;
+}
+
+///
+/// A capability is the implementation-independent description of the potential of an
+/// asset to achieve a certain effect in the physical or virtual world.
+///
+///
+/// The of a capability is typically an ontology.
+/// Thus, reasoning on capabilities is enabled.
+///
+message Capability {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Identifier of the semantic definition of the element. It is called semantic ID
+ /// of the element or also main semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ optional Reference semantic_id = 6;
+
+ ///
+ /// Identifier of a supplemental semantic definition of the element.
+ /// It is called supplemental semantic ID of the element.
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ repeated Reference supplemental_semantic_ids = 7;
+
+ ///
+ /// Additional qualification of a qualifiable element.
+ ///
+ ///
+ ///
+ /// Constraints:
+ ///
+ ///
+ /// -
+ /// Constraint AASd-021:
+ /// Every qualifiable can only have one qualifier with the same
+ /// .
+ ///
///
///
- message Entity {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Describes whether the entity is a co-managed entity or a self-managed entity.
- ///
- EntityType entity_type = 3;
-
- ///
- /// Describes statements applicable to the entity by a set of submodel elements,
- /// typically with a qualified value.
- ///
- repeated SubmodelElement statements = 4;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 5;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 6;
-
- ///
- /// Global identifier of the asset the entity is representing.
- ///
- ///
- /// This is a global reference.
- ///
- optional string global_asset_id = 7;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 8;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 9;
-
- ///
- /// Reference to a specific asset ID representing a supplementary identifier
- /// of the asset represented by the Asset Administration Shell.
- ///
- repeated SpecificAssetId specific_asset_ids = 10;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 11;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 12;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 13;
- }
+ repeated Qualifier qualifiers = 8;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 9;
+}
+
+///
+/// The semantics of a property or other elements that may have a semantic description
+/// is defined by a concept description.
+///
+///
+///
+/// The description of the concept should follow a standardized schema (realized as
+/// data specification template).
+///
+///
+/// Constraints:
+///
+///
+/// -
+///
+/// Constraint AASc-3a-004:
+/// For a with PROPERTY or
+/// VALUE using data specification IEC61360,
+/// the is mandatory and shall be
+/// one of: DATE, STRING, STRING_TRANSLATABLE, INTEGER_MEASURE,
+/// INTEGER_COUNT, INTEGER_CURRENCY, REAL_MEASURE, REAL_COUNT,
+/// REAL_CURRENCY, BOOLEAN, RATIONAL, RATIONAL_MEASURE,
+/// TIME, TIMESTAMP.
+///
+///
+/// Note: categories are deprecated since V3.0 of Part 1a of the document series
+/// "Details of the Asset Administration Shell".
+///
+///
+/// -
+///
+/// Constraint AASc-3a-005:
+/// For a with REFERENCE
+/// using data specification template IEC61360,
+/// the shall be
+/// one of: STRING, IRI, IRDI.
+///
+///
+/// Note: categories are deprecated since V3.0 of Part 1a of the document series
+/// "Details of the Asset Administration Shell".
+///
+///
+/// -
+///
+/// Constraint AASc-3a-006:
+/// For a with DOCUMENT
+/// using data specification IEC61360,
+/// the shall be one of FILE,
+/// BLOB, HTML
+///
+///
+/// Categories are deprecated since V3.0 of Part 1a of the document series
+/// "Details of the Asset Administration Shell".
+///
+///
+/// -
+///
+/// Constraint AASc-3a-007:
+/// For a with QUALIFIER_TYPE
+/// using data specification IEC61360,
+/// the is mandatory and shall be
+/// defined.
+///
+///
+/// Categories are deprecated since V3.0 of Part 1a of the document series
+/// "Details of the Asset Administration Shell".
+///
+///
+/// -
+///
+/// Constraint AASc-3a-008:
+/// For a using data specification template IEC61360,
+/// is mandatory and shall be
+/// defined at least in English.
+///
+///
+/// Exception: The concept description describes a value, i.e.
+/// is defined.
+///
+///
+/// -
+/// Constraint AASc-3a-003:
+/// For a using data specification template IEC61360,
+/// referenced via
+///
+/// the shall be set.
+///
+///
+///
+message ConceptDescription {
+ ///
+ /// An extension of the element.
+ ///
+ repeated Extension extensions = 1;
+
+ ///
+ /// The category is a value that gives further meta information
+ /// w.r.t. to the class of the element.
+ /// It affects the expected existence of attributes and the applicability of
+ /// constraints.
+ ///
+ ///
+ /// The category is not identical to the semantic definition
+ /// () of an element. The category e.g. could denote that
+ /// the element is a measurement value whereas the semantic definition of
+ /// the element would denote that it is the measured temperature.
+ ///
+ optional string category = 2;
+
+ ///
+ /// In case of identifiables this attribute is a short name of the element.
+ /// In case of referable this ID is an identifying string of the element within
+ /// its name space.
+ ///
+ ///
+ /// In case the element is a property and the property has a semantic definition
+ /// () conformant to IEC61360
+ /// the is typically identical to the short name in English.
+ ///
+ optional string id_short = 3;
+
+ ///
+ /// Display name. Can be provided in several languages.
+ ///
+ repeated LangStringNameType display_name = 4;
+
+ ///
+ /// Description or comments on the element.
+ ///
+ ///
+ ///
+ /// The description can be provided in several languages.
+ ///
+ ///
+ /// If no description is defined, then the definition of the concept
+ /// description that defines the semantics of the element is used.
+ ///
+ ///
+ /// Additional information can be provided, e.g., if the element is
+ /// qualified and which qualifier types can be expected in which
+ /// context or which additional data specification templates are
+ /// provided.
+ ///
+ ///
+ repeated LangStringTextType description = 5;
+
+ ///
+ /// Administrative information of an identifiable element.
+ ///
+ ///
+ /// Some of the administrative information like the version number might need to
+ /// be part of the identification.
+ ///
+ optional AdministrativeInformation administration = 6;
+
+ ///
+ /// The globally unique identification of the element.
+ ///
+ string id = 7;
+
+ ///
+ /// Embedded data specification.
+ ///
+ repeated EmbeddedDataSpecification embedded_data_specifications = 8;
+
+ ///
+ /// Reference to an external definition the concept is compatible to or was derived
+ /// from.
+ ///
+ ///
+ ///
+ /// It is recommended to use a global reference.
+ ///
+ ///
+ /// Compare to is-case-of relationship in ISO 13584-32 & IEC EN 61360
+ ///
+ ///
+ repeated Reference is_case_of = 9;
+}
+
+///
+/// Reference types
+///
+enum ReferenceTypes {
+ Referencetypes_UNSPECIFIED = 0;
+
+ ///
+ /// External reference.
+ ///
+ Referencetypes_EXTERNAL_REFERENCE = 1;
+
+ ///
+ /// Model reference.
+ ///
+ Referencetypes_MODEL_REFERENCE = 2;
+}
+
+///
+/// Reference to either a model element of the same or another AAS or to an external
+/// entity.
+///
+///
+///
+/// A reference is an ordered list of keys.
+///
+///
+/// A model reference is an ordered list of keys, each key referencing an element. The
+/// complete list of keys may for example be concatenated to a path that then gives
+/// unique access to an element.
+///
+///
+/// An external reference is a reference to an external entity.
+///
+///
+/// Constraints:
+///
+///
+/// -
+/// Constraint AASd-121:
+/// For 's the value of of the first key of "
+/// shall be one of .
+///
+/// -
+/// Constraint AASd-122:
+/// For external references, i.e. 's with
+/// = , the value
+/// of of the first key of shall be one of
+/// .
+///
+/// -
+/// Constraint AASd-123:
+/// For model references, i.e. 's with
+/// = , the value
+/// of of the first key of shall be one of
+/// .
+///
+/// -
+/// Constraint AASd-124:
+/// For external references, i.e. 's with
+/// = , the last
+/// key of shall be either one of
+/// or one of
+/// .
+///
+/// -
+///
+/// Constraint AASd-125:
+/// For model references, i.e. 's with
+/// = , with more
+/// than one key in the value of
+/// of each of the keys following the first
+/// key of shall be one of .
+///
+///
+/// Constraint AASd-125 ensures that the shortest path is used.
+///
+///
+/// -
+/// Constraint AASd-126:
+/// For model references, i.e. 's with
+/// = , with more
+/// than one key in the value of
+/// of the last key in the reference key chain may be
+/// one of or no key at all
+/// shall have a value out of .
+///
+/// -
+///
+/// Constraint AASd-127:
+/// For model references, i.e. 's with
+/// = , with more
+/// than one key in a key with
+/// shall be preceded by a key with
+/// or . All other
+/// AAS fragments, i.e. values
+/// out of , do not support fragments.
+///
+///
+/// Which kind of fragments are supported depends on the content type and the
+/// specification of allowed fragment identifiers for the corresponding resource
+/// being referenced via the reference.
+///
+///
+/// -
+/// Constraint AASd-128:
+/// For model references, i.e. 's with
+/// = , the
+/// of a preceded by a with
+/// = is an integer
+/// number denoting the position in the array of the submodel element list.
+///
+///
+///
+message Reference {
+ ///
+ /// Type of the reference.
+ ///
+ ///
+ /// Denotes, whether reference is an external reference or a model reference.
+ ///
+ ReferenceTypes type = 1;
+
+ ///
+ /// of the referenced model element
+ /// ( = ).
+ ///
+ ///
+ ///
+ /// For external references there typically is no semantic ID.
+ ///
+ ///
+ /// It is recommended to use a external reference.
+ ///
+ ///
+ optional Reference referred_semantic_id = 2;
+
+ ///
+ /// Unique references in their name space.
+ ///
+ repeated Key keys = 3;
+}
+
+///
+/// A key is a reference to an element by its ID.
+///
+message Key {
+ ///
+ /// Denotes which kind of entity is referenced.
+ ///
+ ///
+ ///
+ /// In case = ,
+ /// the key represents a reference to a source that can be globally identified.
+ ///
+ ///
+ /// In case = the key represents
+ /// a bookmark or a similar local identifier within its parent element as specified
+ /// by the key that precedes this key.
+ ///
+ ///
+ /// In all other cases the key references a model element of the same or of another AAS.
+ /// The name of the model element is explicitly listed.
+ ///
+ ///
+ KeyTypes type = 1;
///
- /// Enumeration for denoting whether an entity is a self-managed entity or a co-managed
- /// entity.
+ /// The key value, for example an IRDI or an URI
///
- enum EntityType {
- Entitytype_UNSPECIFIED = 0;
+ string value = 2;
+}
- ///
- /// For co-managed entities there is no separate AAS. Co-managed entities need to be
- /// part of a self-managed entity.
- ///
- Entitytype_CO_MANAGED_ENTITY = 1;
+///
+/// Enumeration of different key value types within a key.
+///
+enum KeyTypes {
+ Keytypes_UNSPECIFIED = 0;
- ///
- /// Self-Managed Entities have their own AAS but can be part of the bill of material of
- /// a composite self-managed entity.
- ///
- ///
- /// The asset of an I4.0 Component is a self-managed entity per definition.
- ///
- Entitytype_SELF_MANAGED_ENTITY = 2;
- }
+ Keytypes_ANNOTATED_RELATIONSHIP_ELEMENT = 1;
+
+ Keytypes_ASSET_ADMINISTRATION_SHELL = 2;
+
+ Keytypes_BASIC_EVENT_ELEMENT = 3;
+
+ Keytypes_BLOB = 4;
+
+ Keytypes_CAPABILITY = 5;
+
+ Keytypes_CONCEPT_DESCRIPTION = 6;
///
- /// Direction
+ /// Data element.
///
///
- /// This element is experimental and therefore may be subject to change or may be
- /// removed completely in future versions of the meta-model.
+ /// Data Element is abstract, i.e. if a key uses
+ /// the reference may be a Property, a File etc.
///
- enum Direction {
- Direction_UNSPECIFIED = 0;
-
- ///
- /// Input direction.
- ///
- Direction_INPUT = 1;
+ Keytypes_DATA_ELEMENT = 7;
- ///
- /// Output direction
- ///
- Direction_OUTPUT = 2;
- }
+ Keytypes_ENTITY = 8;
///
- /// State of an event
+ /// Event.
///
///
- /// This element is experimental and therefore may be subject to change or may be
- /// removed completely in future versions of the meta-model.
+ /// is abstract.
///
- enum StateOfEvent {
- Stateofevent_UNSPECIFIED = 0;
-
- ///
- /// Event is on
- ///
- Stateofevent_ON = 1;
+ Keytypes_EVENT_ELEMENT = 9;
- ///
- /// Event is off.
- ///
- Stateofevent_OFF = 2;
- }
+ Keytypes_FILE = 10;
///
- /// Defines the necessary information of an event instance sent out or received.
- ///
- ///
- /// This element is experimental and therefore may be subject to change or may be
- /// removed completely in future versions of the meta-model.
- ///
- message EventPayload {
- ///
- /// Reference to the source event element, including identification of
- /// , ,
- /// 's.
- ///
- Reference source = 1;
-
- ///
- /// Reference to the referable, which defines the scope of the event.
- ///
- ///
- /// Can be , or
- /// .
- ///
- Reference observable_reference = 2;
-
- ///
- /// of the source event element, if available
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference source_semantic_id = 3;
-
- ///
- /// of the referable which defines the scope of
- /// the event, if available.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference observable_semantic_id = 4;
-
- ///
- /// Information for the outer message infrastructure for scheduling the event to
- /// the respective communication channel.
- ///
- optional string topic = 5;
-
- ///
- /// Timestamp in UTC, when this event was triggered.
- ///
- string time_stamp = 6;
-
- ///
- /// Subject, who/which initiated the creation.
- ///
- ///
- /// This is an external reference.
- ///
- optional Reference subject_id = 7;
-
- ///
- /// Event specific payload.
- ///
- optional bytes payload = 8;
- }
+ /// Bookmark or a similar local identifier of a subordinate part of
+ /// a primary resource
+ ///
+ Keytypes_FRAGMENT_REFERENCE = 11;
- ///
- /// A basic event element.
- ///
- ///
- /// This element is experimental and therefore may be subject to change or may be
- /// removed completely in future versions of the meta-model.
- ///
- message BasicEventElement {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 3;
-
- ///
- /// Direction of event.
- ///
- ///
- /// Can be { Input, Output }.
- ///
- Direction direction = 4;
-
- ///
- /// Information for the outer message infrastructure for scheduling the event to the
- /// respective communication channel.
- ///
- optional string message_topic = 5;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 6;
-
- ///
- /// Timestamp in UTC, when the last event was received (input direction) or sent
- /// (output direction).
- ///
- optional string last_update = 7;
-
- ///
- /// 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.
- ///
- ///
- /// Might be not specified, that is, there is no maximum interval
- ///
- ///
- optional string max_interval = 8;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 9;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 10;
-
- ///
- /// State of event.
- ///
- ///
- /// Can be { On, Off }.
- ///
- StateOfEvent state = 11;
-
- ///
- /// Reference to the , which defines the scope of the event.
- /// Can be , , or
- /// .
- ///
- ///
- /// Reference to a referable, e.g., a data element or
- /// a submodel, that is being observed.
- ///
- Reference observed = 12;
-
- ///
- /// Information, which outer message infrastructure shall handle messages for
- /// the . Refers to a ,
- /// , or
- /// , which contains 's describing
- /// the proprietary specification for the message broker.
- ///
- ///
- /// For different message infrastructure, e.g., OPC UA or MQTT or AMQP, this
- /// proprietary specification could be standardized by having respective Submodels.
- ///
- optional Reference message_broker = 13;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 14;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 15;
-
- ///
- /// 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.
- ///
- ///
- /// Might be not specified, that is, there is no minimum interval.
- ///
- ///
- optional string min_interval = 16;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 17;
- }
+ Keytypes_GLOBAL_REFERENCE = 12;
///
- /// An operation is a submodel element with input and output variables.
+ /// Identifiable.
///
///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-134:
- /// For an the of all
- /// 's in
- /// ,
- /// and shall be unique.
- ///
- ///
+ /// Identifiable is abstract, i.e. if a key uses “Identifiable” the reference
+ /// may be an Asset Administration Shell, a Submodel or a Concept Description.
///
- message Operation {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// Input parameter of the operation.
- ///
- repeated OperationVariable input_variables = 3;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 4;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 5;
-
- ///
- /// Output parameter of the operation.
- ///
- repeated OperationVariable output_variables = 6;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 7;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 8;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 9;
-
- ///
- /// Parameter that is input and output of the operation.
- ///
- repeated OperationVariable inoutput_variables = 10;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 11;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 12;
- }
+ Keytypes_IDENTIFIABLE = 13;
///
- /// The value of an operation variable is a submodel element that is used as input
- /// and/or output variable of an operation.
+ /// Property with a value that can be provided in multiple languages
///
- message OperationVariable {
- ///
- /// Describes an argument or result of an operation via a submodel element
- ///
- SubmodelElement value = 1;
- }
+ Keytypes_MULTI_LANGUAGE_PROPERTY = 14;
- ///
- /// A capability is the implementation-independent description of the potential of an
- /// asset to achieve a certain effect in the physical or virtual world.
- ///
- ///
- /// The of a capability is typically an ontology.
- /// Thus, reasoning on capabilities is enabled.
- ///
- message Capability {
- ///
- /// Additional qualification of a qualifiable element.
- ///
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-021:
- /// Every qualifiable can only have one qualifier with the same
- /// .
- ///
- ///
- ///
- repeated Qualifier qualifiers = 1;
-
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// Identifier of a supplemental semantic definition of the element.
- /// It is called supplemental semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- repeated Reference supplemental_semantic_ids = 4;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 5;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 6;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 7;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 8;
-
- ///
- /// Identifier of the semantic definition of the element. It is called semantic ID
- /// of the element or also main semantic ID of the element.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- optional Reference semantic_id = 9;
- }
+ Keytypes_OPERATION = 15;
+
+ Keytypes_PROPERTY = 16;
///
- /// The semantics of a property or other elements that may have a semantic description
- /// is defined by a concept description.
+ /// Range with min and max
///
- ///
- ///
- /// The description of the concept should follow a standardized schema (realized as
- /// data specification template).
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-004:
- /// For a with PROPERTY or
- /// VALUE using data specification IEC61360,
- /// the is mandatory and shall be
- /// one of: DATE, STRING, STRING_TRANSLATABLE, INTEGER_MEASURE,
- /// INTEGER_COUNT, INTEGER_CURRENCY, REAL_MEASURE, REAL_COUNT,
- /// REAL_CURRENCY, BOOLEAN, RATIONAL, RATIONAL_MEASURE,
- /// TIME, TIMESTAMP.
- ///
- ///
- /// Note: categories are deprecated since V3.0 of Part 1a of the document series
- /// "Details of the Asset Administration Shell".
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-005:
- /// For a with REFERENCE
- /// using data specification template IEC61360,
- /// the shall be
- /// one of: STRING, IRI, IRDI.
- ///
- ///
- /// Note: categories are deprecated since V3.0 of Part 1a of the document series
- /// "Details of the Asset Administration Shell".
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-006:
- /// For a with DOCUMENT
- /// using data specification IEC61360,
- /// the shall be one of FILE,
- /// BLOB, HTML
- ///
- ///
- /// Categories are deprecated since V3.0 of Part 1a of the document series
- /// "Details of the Asset Administration Shell".
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-007:
- /// For a with QUALIFIER_TYPE
- /// using data specification IEC61360,
- /// the is mandatory and shall be
- /// defined.
- ///
- ///
- /// Categories are deprecated since V3.0 of Part 1a of the document series
- /// "Details of the Asset Administration Shell".
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-008:
- /// For a using data specification template IEC61360,
- /// is mandatory and shall be
- /// defined at least in English.
- ///
- ///
- /// Exception: The concept description describes a value, i.e.
- /// is defined.
- ///
- ///
- /// -
- /// Constraint AASc-3a-003:
- /// For a using data specification template IEC61360,
- /// referenced via
- ///
- /// the shall be set.
- ///
- ///
- ///
- message ConceptDescription {
- ///
- /// The category is a value that gives further meta information
- /// w.r.t. to the class of the element.
- /// It affects the expected existence of attributes and the applicability of
- /// constraints.
- ///
- ///
- /// The category is not identical to the semantic definition
- /// () of an element. The category e.g. could denote that
- /// the element is a measurement value whereas the semantic definition of
- /// the element would denote that it is the measured temperature.
- ///
- optional string category = 1;
-
- ///
- /// Reference to an external definition the concept is compatible to or was derived
- /// from.
- ///
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- ///
- /// Compare to is-case-of relationship in ISO 13584-32 & IEC EN 61360
- ///
- ///
- repeated Reference is_case_of = 2;
-
- ///
- /// In case of identifiables this attribute is a short name of the element.
- /// In case of referable this ID is an identifying string of the element within
- /// its name space.
- ///
- ///
- /// In case the element is a property and the property has a semantic definition
- /// () conformant to IEC61360
- /// the is typically identical to the short name in English.
- ///
- optional string id_short = 3;
-
- ///
- /// An extension of the element.
- ///
- repeated Extension extensions = 4;
-
- ///
- /// Display name. Can be provided in several languages.
- ///
- repeated LangStringNameType display_name = 5;
-
- ///
- /// Embedded data specification.
- ///
- repeated EmbeddedDataSpecification embedded_data_specifications = 6;
-
- ///
- /// The globally unique identification of the element.
- ///
- string id = 7;
-
- ///
- /// Description or comments on the element.
- ///
- ///
- ///
- /// The description can be provided in several languages.
- ///
- ///
- /// If no description is defined, then the definition of the concept
- /// description that defines the semantics of the element is used.
- ///
- ///
- /// Additional information can be provided, e.g., if the element is
- /// qualified and which qualifier types can be expected in which
- /// context or which additional data specification templates are
- /// provided.
- ///
- ///
- repeated LangStringTextType description = 8;
-
- ///
- /// Administrative information of an identifiable element.
- ///
- ///
- /// Some of the administrative information like the version number might need to
- /// be part of the identification.
- ///
- optional AdministrativeInformation administration = 9;
- }
+ Keytypes_RANGE = 17;
+
+ Keytypes_REFERABLE = 18;
///
- /// Reference types
+ /// Reference
///
- enum ReferenceTypes {
- Referencetypes_UNSPECIFIED = 0;
+ Keytypes_REFERENCE_ELEMENT = 19;
- ///
- /// External reference.
- ///
- Referencetypes_EXTERNAL_REFERENCE = 1;
+ ///
+ /// Relationship
+ ///
+ Keytypes_RELATIONSHIP_ELEMENT = 20;
- ///
- /// Model reference.
- ///
- Referencetypes_MODEL_REFERENCE = 2;
- }
+ Keytypes_SUBMODEL = 21;
///
- /// Reference to either a model element of the same or another AAS or to an external
- /// entity.
+ /// Submodel Element
///
///
- ///
- /// A reference is an ordered list of keys.
- ///
- ///
- /// A model reference is an ordered list of keys, each key referencing an element. The
- /// complete list of keys may for example be concatenated to a path that then gives
- /// unique access to an element.
- ///
- ///
- /// An external reference is a reference to an external entity.
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASd-121:
- /// For 's the value of of the first key of "
- /// shall be one of .
- ///
- /// -
- /// Constraint AASd-122:
- /// For external references, i.e. 's with
- /// = , the value
- /// of of the first key of shall be one of
- /// .
- ///
- /// -
- /// Constraint AASd-123:
- /// For model references, i.e. 's with
- /// = , the value
- /// of of the first key of shall be one of
- /// .
- ///
- /// -
- /// Constraint AASd-124:
- /// For external references, i.e. 's with
- /// = , the last
- /// key of shall be either one of
- /// or one of
- /// .
- ///
- /// -
- ///
- /// Constraint AASd-125:
- /// For model references, i.e. 's with
- /// = , with more
- /// than one key in the value of
- /// of each of the keys following the first
- /// key of shall be one of .
- ///
- ///
- /// Constraint AASd-125 ensures that the shortest path is used.
- ///
- ///
- /// -
- /// Constraint AASd-126:
- /// For model references, i.e. 's with
- /// = , with more
- /// than one key in the value of
- /// of the last key in the reference key chain may be
- /// one of or no key at all
- /// shall have a value out of .
- ///
- /// -
- ///
- /// Constraint AASd-127:
- /// For model references, i.e. 's with
- /// = , with more
- /// than one key in a key with
- /// shall be preceded by a key with
- /// or . All other
- /// AAS fragments, i.e. values
- /// out of , do not support fragments.
- ///
- ///
- /// Which kind of fragments are supported depends on the content type and the
- /// specification of allowed fragment identifiers for the corresponding resource
- /// being referenced via the reference.
- ///
- ///
- /// -
- /// Constraint AASd-128:
- /// For model references, i.e. 's with
- /// = , the
- /// of a preceded by a with
- /// = is an integer
- /// number denoting the position in the array of the submodel element list.
- ///
- ///
+ /// Submodel Element is abstract, i.e. if a key uses
+ /// the reference may be a , an etc.
///
- message Reference {
- ///
- /// Unique references in their name space.
- ///
- repeated Key keys = 1;
-
- ///
- /// Type of the reference.
- ///
- ///
- /// Denotes, whether reference is an external reference or a model reference.
- ///
- ReferenceTypes type = 2;
-
- ///
- /// of the referenced model element
- /// ( = ).
- ///
- ///
- ///
- /// For external references there typically is no semantic ID.
- ///
- ///
- /// It is recommended to use a external reference.
- ///
- ///
- optional Reference referred_semantic_id = 3;
- }
+ Keytypes_SUBMODEL_ELEMENT = 22;
///
- /// A key is a reference to an element by its ID.
- ///
- message Key {
- ///
- /// The key value, for example an IRDI or an URI
- ///
- string value = 1;
-
- ///
- /// Denotes which kind of entity is referenced.
- ///
- ///
- ///
- /// In case = ,
- /// the key represents a reference to a source that can be globally identified.
- ///
- ///
- /// In case = the key represents
- /// a bookmark or a similar local identifier within its parent element as specified
- /// by the key that precedes this key.
- ///
- ///
- /// In all other cases the key references a model element of the same or of another AAS.
- /// The name of the model element is explicitly listed.
- ///
- ///
- KeyTypes type = 2;
- }
+ /// Struct of Submodel Elements
+ ///
+ Keytypes_SUBMODEL_ELEMENT_COLLECTION = 23;
///
- /// Enumeration of different key value types within a key.
+ /// List of Submodel Elements
///
- enum KeyTypes {
- Keytypes_UNSPECIFIED = 0;
+ Keytypes_SUBMODEL_ELEMENT_LIST = 24;
+}
- Keytypes_ANNOTATED_RELATIONSHIP_ELEMENT = 1;
+///
+/// Enumeration listing all XSD anySimpleTypes
+///
+enum DataTypeDefXsd {
+ Datatypedefxsd_UNSPECIFIED = 0;
- Keytypes_ASSET_ADMINISTRATION_SHELL = 2;
+ Datatypedefxsd_ANY_URI = 1;
- Keytypes_BASIC_EVENT_ELEMENT = 3;
+ Datatypedefxsd_BASE_64_BINARY = 2;
- Keytypes_BLOB = 4;
+ Datatypedefxsd_BOOLEAN = 3;
- Keytypes_CAPABILITY = 5;
+ Datatypedefxsd_BYTE = 4;
- Keytypes_CONCEPT_DESCRIPTION = 6;
+ Datatypedefxsd_DATE = 5;
- ///
- /// Data element.
- ///
- ///
- /// Data Element is abstract, i.e. if a key uses
- /// the reference may be a Property, a File etc.
- ///
- Keytypes_DATA_ELEMENT = 7;
+ Datatypedefxsd_DATE_TIME = 6;
- Keytypes_ENTITY = 8;
+ Datatypedefxsd_DECIMAL = 7;
- ///
- /// Event.
- ///
- ///
- /// is abstract.
- ///
- Keytypes_EVENT_ELEMENT = 9;
+ Datatypedefxsd_DOUBLE = 8;
- Keytypes_FILE = 10;
+ Datatypedefxsd_DURATION = 9;
- ///
- /// Bookmark or a similar local identifier of a subordinate part of
- /// a primary resource
- ///
- Keytypes_FRAGMENT_REFERENCE = 11;
+ Datatypedefxsd_FLOAT = 10;
- Keytypes_GLOBAL_REFERENCE = 12;
+ Datatypedefxsd_G_DAY = 11;
- ///
- /// Identifiable.
- ///
- ///
- /// Identifiable is abstract, i.e. if a key uses “Identifiable” the reference
- /// may be an Asset Administration Shell, a Submodel or a Concept Description.
- ///
- Keytypes_IDENTIFIABLE = 13;
+ Datatypedefxsd_G_MONTH = 12;
- ///
- /// Property with a value that can be provided in multiple languages
- ///
- Keytypes_MULTI_LANGUAGE_PROPERTY = 14;
+ Datatypedefxsd_G_MONTH_DAY = 13;
- Keytypes_OPERATION = 15;
+ Datatypedefxsd_G_YEAR = 14;
- Keytypes_PROPERTY = 16;
+ Datatypedefxsd_G_YEAR_MONTH = 15;
- ///
- /// Range with min and max
- ///
- Keytypes_RANGE = 17;
+ Datatypedefxsd_HEX_BINARY = 16;
- Keytypes_REFERABLE = 18;
+ Datatypedefxsd_INT = 17;
- ///
- /// Reference
- ///
- Keytypes_REFERENCE_ELEMENT = 19;
+ Datatypedefxsd_INTEGER = 18;
- ///
- /// Relationship
- ///
- Keytypes_RELATIONSHIP_ELEMENT = 20;
+ Datatypedefxsd_LONG = 19;
- Keytypes_SUBMODEL = 21;
+ Datatypedefxsd_NEGATIVE_INTEGER = 20;
- ///
- /// Submodel Element
- ///
- ///
- /// Submodel Element is abstract, i.e. if a key uses
- /// the reference may be a , an etc.
- ///
- Keytypes_SUBMODEL_ELEMENT = 22;
+ Datatypedefxsd_NON_NEGATIVE_INTEGER = 21;
- ///
- /// Struct of Submodel Elements
- ///
- Keytypes_SUBMODEL_ELEMENT_COLLECTION = 23;
+ Datatypedefxsd_NON_POSITIVE_INTEGER = 22;
- ///
- /// List of Submodel Elements
- ///
- Keytypes_SUBMODEL_ELEMENT_LIST = 24;
- }
+ Datatypedefxsd_POSITIVE_INTEGER = 23;
- ///
- /// Enumeration listing all XSD anySimpleTypes
- ///
- enum DataTypeDefXsd {
- Datatypedefxsd_UNSPECIFIED = 0;
+ Datatypedefxsd_SHORT = 24;
+
+ Datatypedefxsd_STRING = 25;
+
+ Datatypedefxsd_TIME = 26;
- Datatypedefxsd_ANY_URI = 1;
+ Datatypedefxsd_UNSIGNED_BYTE = 27;
- Datatypedefxsd_BASE_64_BINARY = 2;
+ Datatypedefxsd_UNSIGNED_INT = 28;
- Datatypedefxsd_BOOLEAN = 3;
+ Datatypedefxsd_UNSIGNED_LONG = 29;
- Datatypedefxsd_BYTE = 4;
+ Datatypedefxsd_UNSIGNED_SHORT = 30;
+}
- Datatypedefxsd_DATE = 5;
+///
+/// String with length 128 maximum and minimum 1 characters and with language tags
+///
+message LangStringNameType {
+ ///
+ /// Language tag conforming to BCP 47
+ ///
+ string language = 1;
+
+ ///
+ /// Text in the
+ ///
+ string text = 2;
+}
- Datatypedefxsd_DATE_TIME = 6;
+///
+/// String with length 1023 maximum and minimum 1 characters and with language tags
+///
+message LangStringTextType {
+ ///
+ /// Language tag conforming to BCP 47
+ ///
+ string language = 1;
- Datatypedefxsd_DECIMAL = 7;
+ ///
+ /// Text in the
+ ///
+ string text = 2;
+}
+
+///
+/// Container for the sets of different identifiables.
+///
+///
+/// w.r.t. file exchange: There is exactly one environment independent on how many
+/// files the contained elements are split. If the file is split then there
+/// shall be no element with the same identifier in two different files.
+///
+message Environment {
+ ///
+ /// Asset administration shell
+ ///
+ repeated AssetAdministrationShell asset_administration_shells = 1;
- Datatypedefxsd_DOUBLE = 8;
+ ///
+ /// Submodel
+ ///
+ repeated Submodel submodels = 2;
- Datatypedefxsd_DURATION = 9;
+ ///
+ /// Concept description
+ ///
+ repeated ConceptDescription concept_descriptions = 3;
+}
- Datatypedefxsd_FLOAT = 10;
+///
+/// Embed the content of a data specification.
+///
+message EmbeddedDataSpecification {
+ ///
+ /// Actual content of the data specification
+ ///
+ DataSpecificationContent data_specification_content = 1;
- Datatypedefxsd_G_DAY = 11;
+ ///
+ /// Reference to the data specification
+ ///
+ Reference data_specification = 2;
+}
- Datatypedefxsd_G_MONTH = 12;
+enum DataTypeIec61360 {
+ Datatypeiec61360_UNSPECIFIED = 0;
- Datatypedefxsd_G_MONTH_DAY = 13;
+ ///
+ /// values containing a calendar date, conformant to ISO 8601:2004 Format yyyy-mm-dd
+ /// Example from IEC 61360-1:2017: "1999-05-31" is the [DATE] representation of:
+ /// "31 May 1999".
+ ///
+ Datatypeiec61360_DATE = 1;
- Datatypedefxsd_G_YEAR = 14;
+ ///
+ /// values consisting of sequence of characters but cannot be translated into other
+ /// languages
+ ///
+ Datatypeiec61360_STRING = 2;
- Datatypedefxsd_G_YEAR_MONTH = 15;
+ ///
+ /// values containing string but shall be represented as different string in different
+ /// languages
+ ///
+ Datatypeiec61360_STRING_TRANSLATABLE = 3;
- Datatypedefxsd_HEX_BINARY = 16;
+ ///
+ /// values containing values that are measure of type INTEGER. In addition such a value
+ /// comes with a physical unit.
+ ///
+ Datatypeiec61360_INTEGER_MEASURE = 4;
- Datatypedefxsd_INT = 17;
+ ///
+ /// values containing values of type INTEGER but are no currencies or measures
+ ///
+ Datatypeiec61360_INTEGER_COUNT = 5;
- Datatypedefxsd_INTEGER = 18;
+ ///
+ /// values containing values of type INTEGER that are currencies
+ ///
+ Datatypeiec61360_INTEGER_CURRENCY = 6;
- Datatypedefxsd_LONG = 19;
+ ///
+ /// values containing values that are measures of type REAL. In addition such a value
+ /// comes with a physical unit.
+ ///
+ Datatypeiec61360_REAL_MEASURE = 7;
- Datatypedefxsd_NEGATIVE_INTEGER = 20;
+ ///
+ /// values containing numbers that can be written as a terminating or non-terminating
+ /// decimal; a rational or irrational number but are no currencies or measures
+ ///
+ Datatypeiec61360_REAL_COUNT = 8;
- Datatypedefxsd_NON_NEGATIVE_INTEGER = 21;
+ ///
+ /// values containing values of type REAL that are currencies
+ ///
+ Datatypeiec61360_REAL_CURRENCY = 9;
- Datatypedefxsd_NON_POSITIVE_INTEGER = 22;
+ ///
+ /// values representing truth of logic or Boolean algebra (TRUE, FALSE)
+ ///
+ Datatypeiec61360_BOOLEAN = 10;
- Datatypedefxsd_POSITIVE_INTEGER = 23;
+ ///
+ /// values containing values of type STRING conformant to Rfc 3987
+ ///
+ ///
+ /// In IEC61360-1 (2017) only URI is supported.
+ /// An IRI type allows in particular to express an URL or an URI.
+ ///
+ Datatypeiec61360_IRI = 11;
- Datatypedefxsd_SHORT = 24;
+ ///
+ /// values conforming to ISO/IEC 11179 series global identifier sequences
+ ///
+ ///
+ ///
+ /// IRDI can be used instead of the more specific data types ICID or ISO29002_IRDI.
+ ///
+ ///
+ /// ICID values are value conformant to an IRDI, where the delimiter between RAI and ID
+ /// is “#” while the delimiter between DI and VI is confined to “##”
+ ///
+ ///
+ /// ISO29002_IRDI values are values containing a global identifier that identifies an
+ /// administrated item in a registry. The structure of this identifier complies with
+ /// identifier syntax defined in ISO/TS 29002-5. The identifier shall fulfil the
+ /// requirements specified in ISO/TS 29002-5 for an "international registration data
+ /// identifier" (IRDI).
+ ///
+ ///
+ Datatypeiec61360_IRDI = 12;
- Datatypedefxsd_STRING = 25;
+ ///
+ /// values containing values of type rational
+ ///
+ Datatypeiec61360_RATIONAL = 13;
- Datatypedefxsd_TIME = 26;
+ ///
+ /// values containing values of type rational. In addition such a value comes with a
+ /// physical unit.
+ ///
+ Datatypeiec61360_RATIONAL_MEASURE = 14;
- Datatypedefxsd_UNSIGNED_BYTE = 27;
+ ///
+ /// values containing a time, conformant to ISO 8601:2004 but restricted to what is
+ /// allowed in the corresponding type in xml.
+ ///
+ ///
+ ///
+ /// Format hh:mm (ECLASS)
+ ///
+ ///
+ /// Example from IEC 61360-1:2017: "13:20:00-05:00" is the [TIME] representation of:
+ /// 1.20 p.m. for Eastern Standard Time, which is 5 hours behind Coordinated
+ /// Universal Time (UTC).
+ ///
+ ///
+ Datatypeiec61360_TIME = 15;
- Datatypedefxsd_UNSIGNED_INT = 28;
+ ///
+ /// values containing a time, conformant to ISO 8601:2004 but restricted to what is
+ /// allowed in the corresponding type in xml.
+ ///
+ ///
+ /// Format yyyy-mm-dd hh:mm (ECLASS)
+ ///
+ Datatypeiec61360_TIMESTAMP = 16;
- Datatypedefxsd_UNSIGNED_LONG = 29;
+ ///
+ /// values containing an address to a file. The values are of type URI and can represent
+ /// an absolute or relative path.
+ ///
+ ///
+ /// IEC61360 does not support the file type.
+ ///
+ Datatypeiec61360_FILE = 17;
- Datatypedefxsd_UNSIGNED_SHORT = 30;
- }
+ ///
+ /// Values containing string with any sequence of characters, using the syntax of HTML5
+ /// (see W3C Recommendation 28:2014)
+ ///
+ Datatypeiec61360_HTML = 18;
///
- /// String with length 128 maximum and minimum 1 characters and with language tags
+ /// values containing the content of a file. Values may be binaries.
+ ///
+ ///
+ ///
+ /// HTML conformant to HTML5 is a special blob.
+ ///
+ ///
+ /// In IEC61360 binary is for a sequence of bits, each bit being represented by “0” and
+ /// “1” only. A binary is a blob but a blob may also contain other source code.
+ ///
+ ///
+ Datatypeiec61360_BLOB = 19;
+}
+
+///
+/// Value represented by up to four variants of a numeric value in a specific role:
+/// MIN, NOM, TYP and MAX. True means that the value is available,
+/// false means the value is not available.
+///
+///
+///
+/// EXAMPLE from [IEC61360-1]: In the case of having a property which is
+/// of the LEVEL_TYPE min/max − expressing a range − only those two values
+/// need to be provided.
+///
+///
+///
+/// This is how AAS deals with the following combinations of level types:
+///
+///
+/// -
+/// Either all attributes are false. In this case the concept is mapped
+/// to a and level type is ignored.
+///
+/// -
+/// At most one of the attributes is set to true. In this case
+/// the concept is mapped to a .
+///
+/// -
+/// Min and max are set to true. In this case the concept is mapped
+/// to a .
+///
+/// -
+/// More than one attribute is set to true but not min and max only
+/// (see second case). In this case the concept is mapped
+/// to a with the corresponding
+/// number of Properties.
+/// Example: If attribute and are set to true
+/// then the concept is mapped to a
+/// with two Properties within: min and nom.
+/// The data type of both Properties is the same.
+///
+///
+///
+///
+/// In the cases 2. and 4. the of the Property
+/// or Properties within the needs to include
+/// information about the level type. Otherwise, the semantics is not described
+/// in a unique way. Please refer to the specification.
+///
+///
+message LevelType {
+ ///
+ /// Minimum of the value
///
- message LangStringNameType {
- ///
- /// Text in the
- ///
- string text = 1;
+ bool min = 1;
- ///
- /// Language tag conforming to BCP 47
- ///
- string language = 2;
- }
+ ///
+ /// Nominal value (value as designated)
+ ///
+ bool nom = 2;
///
- /// String with length 1023 maximum and minimum 1 characters and with language tags
+ /// Value as typically present
///
- message LangStringTextType {
- ///
- /// Text in the
- ///
- string text = 1;
+ bool typ = 3;
- ///
- /// Language tag conforming to BCP 47
- ///
- string language = 2;
- }
+ ///
+ /// Maximum of the value
+ ///
+ bool max = 4;
+}
+
+///
+/// A value reference pair within a value list. Each value has a global unique id
+/// defining its semantic.
+///
+message ValueReferencePair {
+ ///
+ /// The value of the referenced concept definition of the value in .
+ ///
+ string value = 1;
///
- /// Container for the sets of different identifiables.
+ /// Global unique id of the value.
///
///
- /// w.r.t. file exchange: There is exactly one environment independent on how many
- /// files the contained elements are split. If the file is split then there
- /// shall be no element with the same identifier in two different files.
+ /// It is recommended to use a global reference.
///
- message Environment {
- ///
- /// Concept description
- ///
- repeated ConceptDescription concept_descriptions = 1;
+ Reference value_id = 2;
+}
- ///
- /// Asset administration shell
- ///
- repeated AssetAdministrationShell asset_administration_shells = 2;
+///
+/// A set of value reference pairs.
+///
+message ValueList {
+ ///
+ /// A pair of a value together with its global unique id.
+ ///
+ repeated ValueReferencePair value_reference_pairs = 1;
+}
+
+///
+/// String with length 255 maximum and minimum 1 characters and with language tags
+///
+///
+/// It is advised to keep the length of the name limited to 35 characters.
+///
+message LangStringPreferredNameTypeIec61360 {
+ ///
+ /// Language tag conforming to BCP 47
+ ///
+ string language = 1;
- ///
- /// Submodel
- ///
- repeated Submodel submodels = 3;
- }
+ ///
+ /// Text in the
+ ///
+ string text = 2;
+}
+///
+/// String with length 18 maximum and minimum 1 characters and with language tags
+///
+message LangStringShortNameTypeIec61360 {
///
- /// Embed the content of a data specification.
+ /// Language tag conforming to BCP 47
///
- message EmbeddedDataSpecification {
- ///
- /// Reference to the data specification
- ///
- Reference data_specification = 1;
+ string language = 1;
- ///
- /// Actual content of the data specification
- ///
- DataSpecificationContent data_specification_content = 2;
- }
+ ///
+ /// Text in the
+ ///
+ string text = 2;
+}
- enum DataTypeIec61360 {
- Datatypeiec61360_UNSPECIFIED = 0;
-
- ///
- /// values containing a calendar date, conformant to ISO 8601:2004 Format yyyy-mm-dd
- /// Example from IEC 61360-1:2017: "1999-05-31" is the [DATE] representation of:
- /// "31 May 1999".
- ///
- Datatypeiec61360_DATE = 1;
-
- ///
- /// values consisting of sequence of characters but cannot be translated into other
- /// languages
- ///
- Datatypeiec61360_STRING = 2;
-
- ///
- /// values containing string but shall be represented as different string in different
- /// languages
- ///
- Datatypeiec61360_STRING_TRANSLATABLE = 3;
-
- ///
- /// values containing values that are measure of type INTEGER. In addition such a value
- /// comes with a physical unit.
- ///
- Datatypeiec61360_INTEGER_MEASURE = 4;
-
- ///
- /// values containing values of type INTEGER but are no currencies or measures
- ///
- Datatypeiec61360_INTEGER_COUNT = 5;
-
- ///
- /// values containing values of type INTEGER that are currencies
- ///
- Datatypeiec61360_INTEGER_CURRENCY = 6;
-
- ///
- /// values containing values that are measures of type REAL. In addition such a value
- /// comes with a physical unit.
- ///
- Datatypeiec61360_REAL_MEASURE = 7;
-
- ///
- /// values containing numbers that can be written as a terminating or non-terminating
- /// decimal; a rational or irrational number but are no currencies or measures
- ///
- Datatypeiec61360_REAL_COUNT = 8;
-
- ///
- /// values containing values of type REAL that are currencies
- ///
- Datatypeiec61360_REAL_CURRENCY = 9;
-
- ///
- /// values representing truth of logic or Boolean algebra (TRUE, FALSE)
- ///
- Datatypeiec61360_BOOLEAN = 10;
-
- ///
- /// values containing values of type STRING conformant to Rfc 3987
- ///
- ///
- /// In IEC61360-1 (2017) only URI is supported.
- /// An IRI type allows in particular to express an URL or an URI.
- ///
- Datatypeiec61360_IRI = 11;
-
- ///
- /// values conforming to ISO/IEC 11179 series global identifier sequences
- ///
- ///
- ///
- /// IRDI can be used instead of the more specific data types ICID or ISO29002_IRDI.
- ///
- ///
- /// ICID values are value conformant to an IRDI, where the delimiter between RAI and ID
- /// is “#” while the delimiter between DI and VI is confined to “##”
- ///
- ///
- /// ISO29002_IRDI values are values containing a global identifier that identifies an
- /// administrated item in a registry. The structure of this identifier complies with
- /// identifier syntax defined in ISO/TS 29002-5. The identifier shall fulfil the
- /// requirements specified in ISO/TS 29002-5 for an "international registration data
- /// identifier" (IRDI).
- ///
- ///
- Datatypeiec61360_IRDI = 12;
-
- ///
- /// values containing values of type rational
- ///
- Datatypeiec61360_RATIONAL = 13;
-
- ///
- /// values containing values of type rational. In addition such a value comes with a
- /// physical unit.
- ///
- Datatypeiec61360_RATIONAL_MEASURE = 14;
-
- ///
- /// values containing a time, conformant to ISO 8601:2004 but restricted to what is
- /// allowed in the corresponding type in xml.
- ///
- ///
- ///
- /// Format hh:mm (ECLASS)
- ///
- ///
- /// Example from IEC 61360-1:2017: "13:20:00-05:00" is the [TIME] representation of:
- /// 1.20 p.m. for Eastern Standard Time, which is 5 hours behind Coordinated
- /// Universal Time (UTC).
- ///
- ///
- Datatypeiec61360_TIME = 15;
-
- ///
- /// values containing a time, conformant to ISO 8601:2004 but restricted to what is
- /// allowed in the corresponding type in xml.
- ///
- ///
- /// Format yyyy-mm-dd hh:mm (ECLASS)
- ///
- Datatypeiec61360_TIMESTAMP = 16;
-
- ///
- /// values containing an address to a file. The values are of type URI and can represent
- /// an absolute or relative path.
- ///
- ///
- /// IEC61360 does not support the file type.
- ///
- Datatypeiec61360_FILE = 17;
-
- ///
- /// Values containing string with any sequence of characters, using the syntax of HTML5
- /// (see W3C Recommendation 28:2014)
- ///
- Datatypeiec61360_HTML = 18;
-
- ///
- /// values containing the content of a file. Values may be binaries.
- ///
- ///
- ///
- /// HTML conformant to HTML5 is a special blob.
- ///
- ///
- /// In IEC61360 binary is for a sequence of bits, each bit being represented by “0” and
- /// “1” only. A binary is a blob but a blob may also contain other source code.
- ///
- ///
- Datatypeiec61360_BLOB = 19;
- }
+///
+/// String with length 1023 maximum and minimum 1 characters and with language tags
+///
+message LangStringDefinitionTypeIec61360 {
+ ///
+ /// Language tag conforming to BCP 47
+ ///
+ string language = 1;
///
- /// Value represented by up to four variants of a numeric value in a specific role:
- /// MIN, NOM, TYP and MAX. True means that the value is available,
- /// false means the value is not available.
+ /// Text in the
+ ///
+ string text = 2;
+}
+
+///
+/// Content of data specification template for concept descriptions for properties,
+/// values and value lists conformant to IEC 61360.
+///
+///
+///
+/// IEC61360 requires also a globally unique identifier for a concept
+/// description. This ID is not part of the data specification template.
+/// Instead the as inherited via
+/// is used. Same holds for administrative
+/// information like the version and revision.
+///
+///
+/// and are very
+/// similar. However, in this case the decision was to add
+/// explicitly to the data specification. Same holds for
+/// and
+/// . Same holds for
+/// and .
+///
+///
+/// Constraints:
+///
+///
+/// -
+///
+/// Constraint AASc-3a-010:
+/// If is not empty then shall be empty
+/// and vice versa.
+///
+///
+/// It is also possible that both and are
+/// empty. This is the case for concept descriptions that define the semantics
+/// of a property but do not have an enumeration () as
+/// data type.
+///
+///
+/// Although it is possible to define a for a
+/// :attr:´value_list`,
+/// it is not possible to reuse this .
+/// It is only possible to directly add a as data type
+/// to a specific semantic definition of a property.
+///
+///
+/// -
+/// Constraint AASc-3a-009:
+/// If one of:
+/// ,
+/// ,
+/// ,
+/// ,
+/// , then or
+/// shall be defined.
+///
+///
+///
+message DataSpecificationIec61360 {
+ ///
+ /// Preferred name
///
///
///
- /// EXAMPLE from [IEC61360-1]: In the case of having a property which is
- /// of the LEVEL_TYPE min/max − expressing a range − only those two values
- /// need to be provided.
+ /// It is advised to keep the length of the name limited to 35 characters.
///
///
- ///
- /// This is how AAS deals with the following combinations of level types:
+ /// Constraints:
///
///
/// -
- /// Either all attributes are false. In this case the concept is mapped
- /// to a and level type is ignored.
- ///
- /// -
- /// At most one of the attributes is set to true. In this case
- /// the concept is mapped to a .
- ///
- /// -
- /// Min and max are set to true. In this case the concept is mapped
- /// to a .
- ///
- /// -
- /// More than one attribute is set to true but not min and max only
- /// (see second case). In this case the concept is mapped
- /// to a with the corresponding
- /// number of Properties.
- /// Example: If attribute and are set to true
- /// then the concept is mapped to a
- /// with two Properties within: min and nom.
- /// The data type of both Properties is the same.
+ /// Constraint AASc-3a-002:
+ /// shall be provided at least in English.
///
///
+ ///
+ repeated LangStringPreferredNameTypeIec61360 preferred_name = 1;
+
+ ///
+ /// Short name
+ ///
+ repeated LangStringShortNameTypeIec61360 short_name = 2;
+
+ ///
+ /// Unit
+ ///
+ optional string unit = 3;
+
+ ///
+ /// Unique unit id
+ ///
+ ///
+ ///
+ /// and need to be consistent if both attributes
+ /// are set
///
///
- /// In the cases 2. and 4. the of the Property
- /// or Properties within the needs to include
- /// information about the level type. Otherwise, the semantics is not described
- /// in a unique way. Please refer to the specification.
+ /// It is recommended to use an external reference ID.
///
///
- message LevelType {
- ///
- /// Maximum of the value
- ///
- bool max = 1;
+ optional Reference unit_id = 4;
- ///
- /// Minimum of the value
- ///
- bool min = 2;
-
- ///
- /// Nominal value (value as designated)
- ///
- bool nom = 3;
-
- ///
- /// Value as typically present
- ///
- bool typ = 4;
- }
+ ///
+ /// Source of definition
+ ///
+ optional string source_of_definition = 5;
///
- /// A value reference pair within a value list. Each value has a global unique id
- /// defining its semantic.
+ /// Symbol
///
- message ValueReferencePair {
- ///
- /// The value of the referenced concept definition of the value in .
- ///
- string value = 1;
+ optional string symbol = 6;
- ///
- /// Global unique id of the value.
- ///
- ///
- /// It is recommended to use a global reference.
- ///
- Reference value_id = 2;
- }
+ ///
+ /// Data Type
+ ///
+ optional DataTypeIec61360 data_type = 7;
///
- /// A set of value reference pairs.
+ /// Definition in different languages
///
- message ValueList {
- ///
- /// A pair of a value together with its global unique id.
- ///
- repeated ValueReferencePair value_reference_pairs = 1;
- }
+ repeated LangStringDefinitionTypeIec61360 definition = 8;
///
- /// String with length 255 maximum and minimum 1 characters and with language tags
+ /// Value Format
///
///
- /// It is advised to keep the length of the name limited to 35 characters.
+ /// The value format is based on ISO 13584-42 and IEC 61360-2.
///
- message LangStringPreferredNameTypeIec61360 {
- ///
- /// Text in the
- ///
- string text = 1;
-
- ///
- /// Language tag conforming to BCP 47
- ///
- string language = 2;
- }
+ optional string value_format = 9;
///
- /// String with length 18 maximum and minimum 1 characters and with language tags
+ /// List of allowed values
///
- message LangStringShortNameTypeIec61360 {
- ///
- /// Text in the
- ///
- string text = 1;
+ optional ValueList value_list = 10;
- ///
- /// Language tag conforming to BCP 47
- ///
- string language = 2;
- }
+ ///
+ /// Value
+ ///
+ optional string value = 11;
///
- /// String with length 1023 maximum and minimum 1 characters and with language tags
+ /// Set of levels.
///
- message LangStringDefinitionTypeIec61360 {
- ///
- /// Text in the
- ///
- string text = 1;
+ optional LevelType level_type = 12;
+}
+
+message HasSemantics {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
+ BasicEventElement basic_event_element = 3;
+ Blob blob = 4;
+ Capability capability = 5;
+ Entity entity = 6;
+ Extension extension = 7;
+ File file = 8;
+ MultiLanguageProperty multi_language_property = 9;
+ Operation operation = 10;
+ Property property = 11;
+ Qualifier qualifier = 12;
+ Range range = 13;
+ ReferenceElement reference_element = 14;
+ SpecificAssetId specific_asset_id = 15;
+ Submodel submodel = 16;
+ SubmodelElementCollection submodel_element_collection = 17;
+ SubmodelElementList submodel_element_list = 18;
+ }
+}
+
+message HasExtensions {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
+ AssetAdministrationShell asset_administration_shell = 3;
+ BasicEventElement basic_event_element = 4;
+ Blob blob = 5;
+ Capability capability = 6;
+ ConceptDescription concept_description = 7;
+ Entity entity = 8;
+ File file = 9;
+ MultiLanguageProperty multi_language_property = 10;
+ Operation operation = 11;
+ Property property = 12;
+ Range range = 13;
+ ReferenceElement reference_element = 14;
+ Submodel submodel = 15;
+ SubmodelElementCollection submodel_element_collection = 16;
+ SubmodelElementList submodel_element_list = 17;
+ }
+}
+
+message Referable {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
+ AssetAdministrationShell asset_administration_shell = 3;
+ BasicEventElement basic_event_element = 4;
+ Blob blob = 5;
+ Capability capability = 6;
+ ConceptDescription concept_description = 7;
+ Entity entity = 8;
+ File file = 9;
+ MultiLanguageProperty multi_language_property = 10;
+ Operation operation = 11;
+ Property property = 12;
+ Range range = 13;
+ ReferenceElement reference_element = 14;
+ Submodel submodel = 15;
+ SubmodelElementCollection submodel_element_collection = 16;
+ SubmodelElementList submodel_element_list = 17;
+ }
+}
- ///
- /// Language tag conforming to BCP 47
- ///
- string language = 2;
+message Identifiable {
+ oneof value {
+ AssetAdministrationShell asset_administration_shell = 1;
+ ConceptDescription concept_description = 2;
+ Submodel submodel = 3;
}
+}
- ///
- /// Content of data specification template for concept descriptions for properties,
- /// values and value lists conformant to IEC 61360.
- ///
- ///
- ///
- /// IEC61360 requires also a globally unique identifier for a concept
- /// description. This ID is not part of the data specification template.
- /// Instead the as inherited via
- /// is used. Same holds for administrative
- /// information like the version and revision.
- ///
- ///
- /// and are very
- /// similar. However, in this case the decision was to add
- /// explicitly to the data specification. Same holds for
- /// and
- /// . Same holds for
- /// and .
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- ///
- /// Constraint AASc-3a-010:
- /// If is not empty then shall be empty
- /// and vice versa.
- ///
- ///
- /// It is also possible that both and are
- /// empty. This is the case for concept descriptions that define the semantics
- /// of a property but do not have an enumeration () as
- /// data type.
- ///
- ///
- /// Although it is possible to define a for a
- /// :attr:´value_list`,
- /// it is not possible to reuse this .
- /// It is only possible to directly add a as data type
- /// to a specific semantic definition of a property.
- ///
- ///
- /// -
- /// Constraint AASc-3a-009:
- /// If one of:
- /// ,
- /// ,
- /// ,
- /// ,
- /// , then or
- /// shall be defined.
- ///
- ///
- ///
- message DataSpecificationIec61360 {
- ///
- /// Value
- ///
- optional string value = 1;
-
- ///
- /// Set of levels.
- ///
- optional LevelType level_type = 2;
-
- ///
- /// Symbol
- ///
- optional string symbol = 3;
-
- ///
- /// Preferred name
- ///
- ///
- ///
- /// It is advised to keep the length of the name limited to 35 characters.
- ///
- ///
- /// Constraints:
- ///
- ///
- /// -
- /// Constraint AASc-3a-002:
- /// shall be provided at least in English.
- ///
- ///
- ///
- repeated LangStringPreferredNameTypeIec61360 preferred_name = 4;
-
- ///
- /// Data Type
- ///
- optional DataTypeIec61360 data_type = 5;
-
- ///
- /// Short name
- ///
- repeated LangStringShortNameTypeIec61360 short_name = 6;
-
- ///
- /// Definition in different languages
- ///
- repeated LangStringDefinitionTypeIec61360 definition = 7;
-
- ///
- /// Unit
- ///
- optional string unit = 8;
-
- ///
- /// Value Format
- ///
- ///
- /// The value format is based on ISO 13584-42 and IEC 61360-2.
- ///
- optional string value_format = 9;
-
- ///
- /// Unique unit id
- ///
- ///
- ///
- /// and need to be consistent if both attributes
- /// are set
- ///
- ///
- /// It is recommended to use an external reference ID.
- ///
- ///
- optional Reference unit_id = 10;
-
- ///
- /// List of allowed values
- ///
- optional ValueList value_list = 11;
-
- ///
- /// Source of definition
- ///
- optional string source_of_definition = 12;
+message HasKind {
+ oneof value {
+ Submodel submodel = 1;
+ }
+}
+
+message HasDataSpecification {
+ oneof value {
+ AdministrativeInformation administrative_information = 1;
+ RelationshipElement relationship_element = 2;
+ AnnotatedRelationshipElement annotated_relationship_element = 3;
+ AssetAdministrationShell asset_administration_shell = 4;
+ BasicEventElement basic_event_element = 5;
+ Blob blob = 6;
+ Capability capability = 7;
+ ConceptDescription concept_description = 8;
+ Entity entity = 9;
+ File file = 10;
+ MultiLanguageProperty multi_language_property = 11;
+ Operation operation = 12;
+ Property property = 13;
+ Range range = 14;
+ ReferenceElement reference_element = 15;
+ Submodel submodel = 16;
+ SubmodelElementCollection submodel_element_collection = 17;
+ SubmodelElementList submodel_element_list = 18;
}
+}
+
+message Qualifiable {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
+ BasicEventElement basic_event_element = 3;
+ Blob blob = 4;
+ Capability capability = 5;
+ Entity entity = 6;
+ File file = 7;
+ MultiLanguageProperty multi_language_property = 8;
+ Operation operation = 9;
+ Property property = 10;
+ Range range = 11;
+ ReferenceElement reference_element = 12;
+ Submodel submodel = 13;
+ SubmodelElementCollection submodel_element_collection = 14;
+ SubmodelElementList submodel_element_list = 15;
+ }
+}
+
+message SubmodelElement {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
+ BasicEventElement basic_event_element = 3;
+ Blob blob = 4;
+ Capability capability = 5;
+ Entity entity = 6;
+ File file = 7;
+ MultiLanguageProperty multi_language_property = 8;
+ Operation operation = 9;
+ Property property = 10;
+ Range range = 11;
+ ReferenceElement reference_element = 12;
+ SubmodelElementCollection submodel_element_collection = 13;
+ SubmodelElementList submodel_element_list = 14;
+ }
+}
- message DataSpecificationContent {
- oneof value {
- DataSpecificationIec61360 data_specification_iec_61360 = 1;
- }
+message RelationshipElement_choice {
+ oneof value {
+ RelationshipElement relationship_element = 1;
+ AnnotatedRelationshipElement annotated_relationship_element = 2;
}
+}
+
+message DataElement {
+ oneof value {
+ Blob blob = 1;
+ File file = 2;
+ MultiLanguageProperty multi_language_property = 3;
+ Property property = 4;
+ Range range = 5;
+ ReferenceElement reference_element = 6;
+ }
+}
- message SubmodelElement {
- oneof value {
- RelationshipElement relationship_element = 1;
- AnnotatedRelationshipElement annotated_relationship_element = 2;
- BasicEventElement basic_event_element = 3;
- Blob blob = 4;
- Capability capability = 5;
- Entity entity = 6;
- File file = 7;
- MultiLanguageProperty multi_language_property = 8;
- Operation operation = 9;
- Property property = 10;
- Range range = 11;
- ReferenceElement reference_element = 12;
- SubmodelElementCollection submodel_element_collection = 13;
- SubmodelElementList submodel_element_list = 14;
- }
+message EventElement {
+ oneof value {
+ BasicEventElement basic_event_element = 1;
+ }
+}
+
+message AbstractLangString {
+ oneof value {
+ LangStringDefinitionTypeIec61360 lang_string_definition_type_iec_61360 = 1;
+ LangStringNameType lang_string_name_type = 2;
+ LangStringPreferredNameTypeIec61360 lang_string_preferred_name_type_iec_61360 = 3;
+ LangStringShortNameTypeIec61360 lang_string_short_name_type_iec_61360 = 4;
+ LangStringTextType lang_string_text_type = 5;
}
+}
- message DataElement {
- oneof value {
- Blob blob = 1;
- File file = 2;
- MultiLanguageProperty multi_language_property = 3;
- Property property = 4;
- Range range = 5;
- ReferenceElement reference_element = 6;
- }
+message DataSpecificationContent {
+ oneof value {
+ DataSpecificationIec61360 data_specification_iec_61360 = 1;
}
+}
/*
* This code has been automatically generated by aas-core-codegen.