{ "$schema": "http://json-schema.org/schema#", "$schemaVersion": "0.0.1", "modelTags": "Corosect", "$id": "https://smart-data-models.github.io/dataModel.AAS/I4SubmodelElementOperation/schema.json", "title": "Smart Data Models - RAMI4.0 Asset Administration Shell -AAS- Generic Submodel Element Operation schema", "description": "Based on IDTA-01001-3-0, describes a generic RAMI4.0 SubmodelElement representing an OPERATION (Command) of a referenced Asset Administration Shell", "type": "object", "derivedFrom": "https://industrialdigitaltwin.org/en/wp-content/uploads/sites/2/2023/04/IDTA-01001-3-0_SpecificationAssetAdministrationShell_Part1_Metamodel.pdf", "license": "", "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "properties": { "type": { "type": "string", "enum": [ "I4SubmodelElementOperation" ], "description": "Property. It has to be RAMI4.0 I4SubmodelElementOperation NGSI Entity type to represent a RAMI4.0 AAS Digital Twin Submodel Operation component" }, "refI4AssetId": { "type": "string", "description": "Relationship. References the root Asset which this SubmodelElement belongs to" }, "refI4AASId": { "type": "string", "description": "Relationship. References the root Asset Administration Shell which this SubmodelElement belongs to" }, "refI4SubmodelId": { "type": "string", "description": "Relationship. References the root Submodel which this SubmodelElement belongs to" }, "hasDataSpecification": { "type": "array", "description": "Property. Element that can be extended by using data specification templates. A data specification template defines a named set of additional attributes an element may or shall have. RAMI4.0 specification", "items": { "type": "object", "description": "Property. Object containing the elements of the data specification", "properties": { "type": { "type": "string", "description": "Property. Link, url or description of the specified data. DataSpecification template conformant to IEC61360" } } } }, "idShort": { "type": "string", "description": "Property. short id is the (short) name of the SubmodelElement within RAMI40 environment" }, "category": { "type": "string", "description": "Property. The category is a value that gives further meta information w.r.t. to the class of the element" }, "modelType": { "type": "object", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Usually -Operation- is set for this type" } } }, "descriptions": { "type": "array", "description": "Property. For adding detailed knowledge about the Element in different languages", "items": { "type": "object", "description": "Property. Every object containing a description", "properties": { "language": { "type": "string", "description": "Property. Substring identifying the language. Acronym according to ISO 639-1" }, "text": { "type": "string", "description": "Property. The Description text is filled here" } } } }, "semanticId": { "type": "object", "description": "Property. It refers to an external information source, which explains the formulation of the submodel element", "properties": { "keys": { "type": "array", "description": "Property. Keys for the semantic id", "items": { "type": "object", "description": "Property. Every object containing the keys for the semantic id", "properties": { "local": { "type": "boolean", "description": "Property. Describes a local or not item" }, "value": { "type": "string", "description": "Property. Describes/includes the corresponding value" }, "index": { "type": "integer", "description": "Property. Integer value of the item" }, "idType": { "type": "string", "description": "Property. References the ID of the type" } } } } } }, "kind": { "type": "string", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used" }, "requestId": { "type": "string", "description": "Property. Client request ID sent -for INPUT- and/or the retrieved value/status -for OUTPUT-. Used to TRACK the operations" }, "timeout": { "type": "integer", "description": "Property. Represents the timeout value for this command reported by the OPC-UA server" }, "inputVariable": { "type": "array", "description": "Property. Array with input parameters of the operation", "items": { "type": "object", "description": "Property. Defines an Input variable for this command request", "properties": { "value": { "type": "string", "description": "Property. The given value in string format" }, "valueType": { "type": "object", "description": "Property. The value type used in string format", "properties": { "dataObjectType": { "type": "object", "description": "Property. Property of the item. string, integer, float, num etc. are used set for this type", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Object type" } } } } }, "idShort": { "type": "string", "description": "Property. short id is the (short) name of the Input Value -variable name- within RAMI40 environment" }, "category": { "type": "string", "description": "Property. The category is a value that gives further meta information w.r.t. to the class of the element" }, "modelType": { "type": "object", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Usually -OperationVariable- is set for this type" } } }, "descriptions": { "type": "array", "description": "Property. For adding detailed knowledge about the Element in different languages", "items": { "type": "object", "description": "Property. Every object containing the descriptions properties", "properties": { "language": { "type": "string", "description": "Property. Substring identifying the language. Acronym according to ISO 639-1" }, "text": { "type": "string", "description": "Property. The Description text is filled here" } } } }, "kind": { "type": "string", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used" }, "hasDataSpecification": { "type": "array", "description": "Property. Element that can be extended by using data specification templates. A data specification template defines a named set of additional attributes an element may or shall have. RAMI4.0 specification", "items": { "type": "object", "description": "Property. Every object containing the attributes of the data specification", "properties": { "type": { "type": "string", "description": "Property. Link, url or description of the specified data. DataSpecification template conformant to IEC61360" } } } }, "constraints": { "type": "array", "description": "Property. Constraints an Input Variable may have. RAMI4.0 Asset Administration Shell specification. Version 3.0RC02", "items": { "type": "object", "description": "Property. The object containing the constraints", "properties": { "type": { "type": "string", "description": "Property. Link, url, constraint ID (AAS Version 3.0RC02) or description of the constrain to be applied" } } } } } } }, "outputVariable": { "type": "array", "description": "Property. Array with Output parameters of the operation", "items": { "type": "object", "description": "Property. Defines an Output variable for this command request", "properties": { "value": { "type": "string", "description": "Property. The obtained value in string format" }, "valueType": { "type": "object", "description": "Property. The value type used in string format", "properties": { "dataObjectType": { "type": "object", "description": "Property. Property of the item. string, integer, float, num etc. are used set for this type", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Object type" } } } } }, "idShort": { "type": "string", "description": "Property. short id is the (short) name of the Output Value -variable name- within RAMI40 environment" }, "category": { "type": "string", "description": "Property. The category is a value that gives further meta information w.r.t. to the class of the element" }, "modelType": { "type": "object", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Usually -OperationVariable- is set for this type" } } }, "descriptions": { "type": "array", "description": "Property. For adding detailed knowledge about the Element in different languages", "items": { "type": "object", "description": "Property. Every object containing the attributes of the descriptions", "properties": { "language": { "type": "string", "description": "Property. Substring identifying the language. Acronym according to ISO 639-1" }, "text": { "type": "string", "description": "Property. The Description text is filled here" } } } }, "kind": { "type": "string", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used" }, "hasDataSpecification": { "type": "array", "description": "Property. Element that can be extended by using data specification templates. A data specification template defines a named set of additional attributes an element may or shall have. RAMI4.0 specification", "items": { "type": "object", "description": "Property. Every object containing the details of the data specification", "properties": { "type": { "type": "string", "description": "Property. Link, url or description of the specified data. DataSpecification template conformant to IEC61360" } } } }, "constraints": { "type": "array", "description": "Property. Constraints an Output Variable may have. RAMI4.0 Asset Administration Shell specification. Version 3.0RC02", "items": { "type": "object", "description": "Property. Every object containing the description of the constraints", "properties": { "type": { "type": "string", "description": "Property. Link, url, constraint ID (AAS Version 3.0RC02) or description of the constrain to be applied" } } } } } } }, "inoutputVariable": { "type": "array", "description": "Property. Array with parameters that are input and output of the operation", "items": { "type": "object", "description": "Property. Defines an inoutput variable for this command request", "properties": { "value": { "type": "string", "description": "Property. The obtained value in string format" }, "valueType": { "type": "object", "description": "Property. The value type used in string format", "properties": { "dataObjectType": { "type": "object", "description": "Property. Property of the item. string, integer, float, num etc. are used set for this type", "properties": { "name": { "type": "string", "description": "Property. Property of the item. Object type" } } } } }, "idShort": { "type": "string", "description": "Property. short id is the (short) name of the inoutput Value -variable name- within RAMI40 environment" }, "category": { "type": "string", "description": "Property. The category is a value that gives further meta information w.r.t. to the class of the element" }, "modelType": { "type": "object", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used", "properties": { "name": { "type": "string", "description": "Property. Property of the item" } } }, "descriptions": { "type": "array", "description": "Property. For adding detailed knowledge about the Element in different languages", "items": { "type": "object", "description": "Property. Every object containing the attributes of the descriptions", "properties": { "language": { "type": "string", "description": "Property. Substring identifying the language. Acronym according to ISO 639-1" }, "text": { "type": "string", "description": "Property. The Description text is filled here" } } } }, "kind": { "type": "string", "description": "Property. For the distinction of 'type' and 'instance', the term 'kind' is used" }, "hasDataSpecification": { "type": "array", "description": "Property. Element that can be extended by using data specification templates. A data specification template defines a named set of additional attributes an element may or shall have. RAMI4.0 specification", "items": { "type": "object", "description": "Property. Every object containing the descriptions of the data specification", "properties": { "type": { "type": "string", "description": "Property. Link, url or description of the specified data. DataSpecification template conformant to IEC61360" } } } }, "constraints": { "type": "array", "description": "Property. Constraints an inoutput Variable may have. RAMI4.0 Asset Administration Shell specification. Version 3.0RC02", "items": { "type": "object", "description": "Property. Every object containing the constraints ", "properties": { "type": { "type": "string", "description": "Property. Link, url, constraint ID (AAS Version 3.0RC02) or description of the constrain to be applied" } } } } } } }, "operationResult": { "type": "object", "description": "Property. Contains The operation invocation result object with the returned result of an operation invocation", "properties": { "success": { "type": "boolean", "description": "Property. Success true if operation succeed. False if not" }, "isException": { "type": "boolean", "description": "Property. True if it is an exception" }, "entity": { "type": "object", "description": "Property. Set of properties linked to the operation results" }, "entityType": { "type": "string", "description": "Property. Entity type description/reference" }, "messages": { "type": "array", "description": "Property. Additional message containing information for the requester", "items": { "type": "object", "description": "Property. Item object for the messages", "properties": { "messageType": { "type": "string", "description": "Property. The message type enum", "enum": [ "error", "exception", "info", "warning" ] }, "text": { "type": "string", "description": "Property. A message containing more information for the requester about a certain happening in the backend" }, "code": { "type": "string", "description": "Property. Technology-dependent status or error code" } } } } } }, "executionState": { "type": "string", "description": "Property. The operation invocation result state", "enum": [ "canceled", "completed", "failed", "initiated", "running", "timeout" ] } } } ], "required": [ "id", "type" ] }