From 6a91009def78e274372dd4b072a92825a93cc5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Mayrb=C3=A4url?= Date: Thu, 5 Jan 2023 14:44:20 +0100 Subject: [PATCH] Added Operations event model --- .vscode/settings.json | 7 + .../OperationsEvent/OperationsEvent.json | 325 ++++++++++++++++++ .../OperationsEvent/OperationsEventClass.json | 57 +++ .../OperationsEventClassProperty.json | 71 ++++ ...erationsEventClassRecordSpecification.json | 17 + .../OperationsEventDefinition.json | 316 +++++++++++++++++ .../OperationsEventDefinitionProperty.json | 79 +++++ ...onsEventDefinitionRecordSpecification.json | 25 ++ .../OperationsEventProperty.json | 79 +++++ .../OperationsEventRecord.json | 68 ++++ .../OperationsEventRecordEntry.json | 83 +++++ 11 files changed, 1127 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEvent.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventClass.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassProperty.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassRecordSpecification.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinition.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionProperty.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionRecordSpecification.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventProperty.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecord.json create mode 100644 Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecordEntry.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c781dab --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "cSpell.words": [ + "digitaltwins", + "dtdl", + "dtmi" + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEvent.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEvent.json new file mode 100644 index 0000000..22b1352 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEvent.json @@ -0,0 +1,325 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEvent;1", + "@type": "Interface", + "displayName": "Operations event", + "description": "Large numbers of real-world events occur in any given manufacturing system. Only some real-world events are associated with manufacturing operations management activities and functions. The subset of those real-world events that require notification of process context specific information exchanges of this standard shall be defined as operations events. Operations events may be generated by any Level 4 or Level 3 function or activity", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "isACollectionOf", + "displayName": "Is a collection of", + "description": "The operations event records related to this operations event", + "target": "dtmi:digitaltwins:isa95:OperationsEventRecord;1" + }, + { + "@type": "Relationship", + "name": "hasValuesOf", + "displayName": "Has values of", + "description": "The operations event property values of this operations event", + "target": "dtmi:digitaltwins:isa95:OperationsEventProperty;1" + }, + { + "@type": "Relationship", + "name": "definedBy", + "displayName": "Defined by", + "description": "The operations event definition that defines the structure and generic context of the operation event message", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinition;1", + "comment": "Mandatory - Cardinality 1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "isMadeOf", + "displayName": "Is made up of", + "description": "This operations event is part of the related object as the whole. The associated events related to this operations event message. The reference is an ID with any additional attributes required", + "target": "dtmi:digitaltwins:isa95:OperationsEvent;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Contains additional information and descriptions of the operations event", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "effectiveTimestamp", + "displayName": "Effective timestamp", + "description": "The date and time the real-world event occurred", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "name": "recordTimestamp", + "displayName": "Record timestamp", + "description": "The time the operations event was recorded / transacted by the publisher", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "name": "hierarchyScope", + "displayName": "Hierarchy scope", + "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scope defines the scope of the equipment class, such as the site or area where it is defined.", + "schema": "string" + }, + { + "@type": "Relationship", + "name": "hierarchyScopeRel", + "displayName": "fits hierarchy scope", + "description": "Optional relationship to hierarchy.", + "comment": "Not part of the Standard Specs.", + "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", + "maxMultiplicity": 1 + }, + { + "@type": "Property", + "name": "Priority", + "displayName": "Priority", + "description": "Priority of the operations event that Is a guide to the relative level of importance of an operations event", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "operationsEventType", + "displayName": "Operations event type", + "description": "The type of Level 3 operations event", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "event", + "enumValue": "Event", + "displayName": "Event" + }, + { + "name": "alert", + "enumValue": "Alert", + "displayName": "Alert" + }, + { + "name": "alarm", + "enumValue": "Alarm", + "displayName": "Alarm" + } + ] + } + }, + { + "@type": "Property", + "name": "operationsEventLevel", + "displayName": "Operations event level", + "description": "Defines the domain level of the operations event publisher", + "schema": { + "@type": "Enum", + "valueSchema": "integer", + "enumValues": [ + { + "name": "level3", + "enumValue": 3, + "displayName": "Level 3" + }, + { + "name": "level4", + "enumValue": 4, + "displayName": "Level 4" + } + ] + } + }, + { + "@type": "Property", + "name": "operationsType", + "displayName": "Operations type", + "description": "Describes the category of operation", + "comment": "Required attribute", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "production", + "displayName": "Production", + "enumValue": "Production" + }, + { + "name": "inventory", + "displayName": "Inventory", + "enumValue": "Inventory" + }, + { + "name": "quality", + "displayName": "Quality", + "enumValue": "Quality" + }, + { + "name": "maintenance", + "displayName": "Maintenance", + "enumValue": "Maintenance" + }, + { + "name": "mixed", + "displayName": "Mixed", + "enumValue": "Mixed", + "comment": "Mixed can be used when the operations event does not refer to a specific operations activity or refers to several operation activities" + } + ] + } + }, + { + "@type": "Property", + "name": "momFunction", + "displayName": "MOM function", + "description": "Defines the MOM function of the operations event publisher", + "comment": "Defined values from Part 3 MOM Activity Model are", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "resourceManagement", + "enumValue": "Resource management", + "displayName": "Resource management" + }, + { + "name": "definitionManagement", + "enumValue": "Definition management", + "displayName": "Definition management" + }, + { + "name": "detailedScheduling", + "enumValue": "Detailed scheduling", + "displayName": "Detailed scheduling" + }, + { + "name": "dispatching", + "enumValue": "Dispatching", + "displayName": "Dispatching" + }, + { + "name": "executionManagement", + "enumValue": "Execution management", + "displayName": "Execution management" + }, + { + "name": "dataCollection", + "enumValue": "Data collection", + "displayName": "Data collection" + }, + { + "name": "performanceAnalysis", + "enumValue": "Performance analysis", + "displayName": "Performance analysis" + }, + { + "name": "tracking", + "enumValue": "Tracking", + "displayName": "Tracking" + } + ] + } + }, + { + "@type": "Property", + "name": "enterpriseFunction", + "displayName": "Enterprise function", + "description": "Defines the enterprise function of the operations event publisher", + "comment": "Defined values from Part 1 Functional Model are", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "orderProcessing", + "enumValue": "Order processing", + "displayName": "Order processing" + }, + { + "name": "operationsScheduling", + "enumValue": "Operations scheduling", + "displayName": "Operations scheduling" + }, + { + "name": "productionControl", + "enumValue": "Production control", + "displayName": "Production control" + }, + { + "name": "materialAndEnergyControl", + "enumValue": "Material and energy control", + "displayName": "Material and energy control" + }, + { + "name": "procurement", + "enumValue": "Procurement", + "displayName": "Procurement" + }, + { + "name": "qualityAssurance", + "enumValue": "Quality assurance", + "displayName": "Quality assurance" + }, + { + "name": "productInventoryControl", + "enumValue": "Product inventory control", + "displayName": "Product inventory control" + }, + { + "name": "productCostAccounting", + "enumValue": "Product cost accounting", + "displayName": "Product cost accounting" + }, + { + "name": "productShippingAdministration", + "enumValue": "Product shipping administration", + "displayName": "Product shipping administration" + }, + { + "name": "maintenanceManagement", + "enumValue": "Maintenance management", + "displayName": "Maintenance management" + }, + { + "name": "marketingAndSales", + "enumValue": "Marketing and sales", + "displayName": "Marketing and sales" + }, + { + "name": "rAndD", + "enumValue": "R&D", + "displayName": "R&D" + }, + { + "name": "engineering", + "enumValue": "Engineering", + "displayName": "Engineering" + } + ] + } + }, + { + "@type": "Property", + "name": "category", + "displayName": "Category", + "description": "General grouping associated with an operations event definition", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "source", + "displayName": "Source", + "description": "The activity, function, task or phase that generated the operations event", + "schema": "string", + "writable": true + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClass.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClass.json new file mode 100644 index 0000000..4298692 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClass.json @@ -0,0 +1,57 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventClass;1", + "@type": "Interface", + "displayName": "Operations event class", + "description": "An operations event class is a representation of groupings of operations event definitions", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "isAssembledFrom", + "displayName": "Is assembled from", + "description": "The nested operations event class(s) makes up part of this operations event class as the whole", + "target": "dtmi:digitaltwins:isa95:OperationsEventClass;1" + }, + { + "@type": "Relationship", + "name": "includesPropertiesOf", + "displayName": "Includes properties of", + "description": "This operations event class(s) include properties of the operations event class", + "target": "dtmi:digitaltwins:isa95:OperationsEventClass;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "hasPropertiesOf", + "displayName": "Has properties of", + "description": "The operations event class property(s) of this operations event class", + "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1" + }, + { + "@type": "Relationship", + "name": "hasRecordSpecificationOf", + "displayName": "Has record specification of", + "description": "The operations event class record specification(s) related to this operations event class", + "target": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Additional information and description about the operations event class", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "extension", + "displayName": "Extension", + "description": "Defines constraints on the inclusion of the respective operations event class in a hierarchy", + "schema": "string", + "comment": "Defined value are - sealed: no entry can use this entry as its parent; - (No entry): no entry allows any entry to represent this entry as its parent /ancestor. NOTE 1 Extension can contain a set of entries of other operations event classes who represent this entry in their parent" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassProperty.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassProperty.json new file mode 100644 index 0000000..23078f9 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassProperty.json @@ -0,0 +1,71 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1", + "@type": "Interface", + "displayName": "Operations event class property", + "description": "Properties of an operations event class shall be listed as operations event class properties. An operations event class shall be further characterized through zero or more operations event class properties. Operations event class properties may contain nested operations event class properties", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "The child operations event classes contained within this operations event class", + "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Additional information and description about the operations event class property", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "propertyType", + "displayName": "Property type", + "description": "Defines the type of the property.", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "classType", + "enumValue": "ClassType", + "displayName": "Class Type", + "description": "The property value is defined for the class and there is no value associated with an instance" + }, + { + "name": "instanceType", + "enumValue": "InstanceType", + "displayName": "Instance Type", + "description": "the property value of the class is undefined" + }, + { + "name": "defaultType", + "enumValue": "DefaultType", + "displayName": "Default Type", + "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." + } + ] + } + }, + { + "@type": "Property", + "name": "value", + "displayName": "Value", + "description": "The value, set of values, or range of the property.", + "schema": "string" + }, + { + "@type": "Property", + "name": "valueUnitOfMeasure", + "displayName": "Value unit of measure", + "description": "The unit of measure of the associated property value", + "schema": "string" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassRecordSpecification.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassRecordSpecification.json new file mode 100644 index 0000000..ab3c735 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassRecordSpecification.json @@ -0,0 +1,17 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1", + "@type": "Interface", + "displayName": "Operations event class record specification", + "description": "Operations event classes define common structures of operations event definitions using operations event class record specifications. Operations event definitions as members of an operations event class that contain operations event class record specifications must support the record specification entries indicated in the operations event class. The structure and semantics of the operations event class record specification is the same as the operations event definition record specification", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "contents": [ + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "This parent operations event definition record specification is whole of the child operations event definition record specification(s) as the part", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinition.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinition.json new file mode 100644 index 0000000..4911c75 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinition.json @@ -0,0 +1,316 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventDefinition;1", + "@type": "Interface", + "displayName": "Operations event definition", + "description": "Definition and structure of operations event occurrences shall be shown as an operations event definition. The operations event definition of an operations event is identified by the definition ID attribute in the operations event occurrence. Those constructing or interpreting an operations event obtain and validate the structure and definition from the operations event definition", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "isAssembledFrom", + "displayName": "Is assembled from", + "description": "The nested operations event definition(s) makes up part of this operations event definition as the whole", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinition;1" + }, + { + "@type": "Relationship", + "name": "isAMemberOf", + "displayName": "Is a member of", + "description": "Operations event class(s) supported by this operations event definition. The operations event definition supports the operations event class property(s) and operations event class record specification associated with the operations event class", + "target": "dtmi:digitaltwins:isa95:OperationsEventClass;1" + }, + { + "@type": "Relationship", + "name": "hasRecordSpecificationsOf", + "displayName": "Has record specifications of", + "description": "The operations event definition record specification(s) related to this operations event definition", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1" + }, + { + "@type": "Relationship", + "name": "hasPropertiesOf", + "displayName": "Has properties of", + "description": "The operations event definition property(s) specifies this operations event definition", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Contains additional information and descriptions of the operations event definition", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "hierarchyScope", + "displayName": "Hierarchy scope", + "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scope defines the scope of the equipment class, such as the site or area where it is defined.", + "schema": "string" + }, + { + "@type": "Relationship", + "name": "hierarchyScopeRel", + "displayName": "fits hierarchy scope", + "description": "Optional relationship to hierarchy.", + "comment": "Not part of the Standard Specs.", + "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", + "maxMultiplicity": 1 + }, + { + "@type": "Property", + "name": "Priority", + "displayName": "Priority", + "description": "List of the priorities that act as a guide to the relative level of importance of an operations event", + "comment": "Production examples: {1,2,3}; Maintenance examples: {Low, Medium, High}", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "operationsEventType", + "displayName": "Operations event type", + "description": "The type of Level 3 operations event", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "event", + "enumValue": "Event", + "displayName": "Event" + }, + { + "name": "alert", + "enumValue": "Alert", + "displayName": "Alert" + }, + { + "name": "alarm", + "enumValue": "Alarm", + "displayName": "Alarm" + } + ] + } + }, + { + "@type": "Property", + "name": "operationsEventLevel", + "displayName": "Operations event level", + "description": "Defines the domain level of the operations event publisher", + "schema": { + "@type": "Enum", + "valueSchema": "integer", + "enumValues": [ + { + "name": "level3", + "enumValue": 3, + "displayName": "Level 3" + }, + { + "name": "level4", + "enumValue": 4, + "displayName": "Level 4" + } + ] + } + }, + { + "@type": "Property", + "name": "operationsType", + "displayName": "Operations type", + "description": "Describes the category of operation", + "comment": "Required attribute", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "production", + "displayName": "Production", + "enumValue": "Production" + }, + { + "name": "inventory", + "displayName": "Inventory", + "enumValue": "Inventory" + }, + { + "name": "quality", + "displayName": "Quality", + "enumValue": "Quality" + }, + { + "name": "maintenance", + "displayName": "Maintenance", + "enumValue": "Maintenance" + }, + { + "name": "mixed", + "displayName": "Mixed", + "enumValue": "Mixed", + "comment": "Mixed can be used when the operations event does not refer to a specific operations activity or refers to several operation activities" + } + ] + } + }, + { + "@type": "Property", + "name": "momFunction", + "displayName": "MOM function", + "description": "Defines the MOM function of the operations event publisher", + "comment": "Defined values from Part 3 MOM Activity Model are", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "resourceManagement", + "enumValue": "Resource management", + "displayName": "Resource management" + }, + { + "name": "definitionManagement", + "enumValue": "Definition management", + "displayName": "Definition management" + }, + { + "name": "detailedScheduling", + "enumValue": "Detailed scheduling", + "displayName": "Detailed scheduling" + }, + { + "name": "dispatching", + "enumValue": "Dispatching", + "displayName": "Dispatching" + }, + { + "name": "executionManagement", + "enumValue": "Execution management", + "displayName": "Execution management" + }, + { + "name": "dataCollection", + "enumValue": "Data collection", + "displayName": "Data collection" + }, + { + "name": "performanceAnalysis", + "enumValue": "Performance analysis", + "displayName": "Performance analysis" + }, + { + "name": "tracking", + "enumValue": "Tracking", + "displayName": "Tracking" + } + ] + } + }, + { + "@type": "Property", + "name": "enterpriseFunction", + "displayName": "Enterprise function", + "description": "Defines the enterprise function of the operations event publisher", + "comment": "Defined values from Part 1 Functional Model are", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "orderProcessing", + "enumValue": "Order processing", + "displayName": "Order processing" + }, + { + "name": "operationsScheduling", + "enumValue": "Operations scheduling", + "displayName": "Operations scheduling" + }, + { + "name": "productionControl", + "enumValue": "Production control", + "displayName": "Production control" + }, + { + "name": "materialAndEnergyControl", + "enumValue": "Material and energy control", + "displayName": "Material and energy control" + }, + { + "name": "procurement", + "enumValue": "Procurement", + "displayName": "Procurement" + }, + { + "name": "qualityAssurance", + "enumValue": "Quality assurance", + "displayName": "Quality assurance" + }, + { + "name": "productInventoryControl", + "enumValue": "Product inventory control", + "displayName": "Product inventory control" + }, + { + "name": "productCostAccounting", + "enumValue": "Product cost accounting", + "displayName": "Product cost accounting" + }, + { + "name": "productShippingAdministration", + "enumValue": "Product shipping administration", + "displayName": "Product shipping administration" + }, + { + "name": "maintenanceManagement", + "enumValue": "Maintenance management", + "displayName": "Maintenance management" + }, + { + "name": "marketingAndSales", + "enumValue": "Marketing and sales", + "displayName": "Marketing and sales" + }, + { + "name": "rAndD", + "enumValue": "R&D", + "displayName": "R&D" + }, + { + "name": "engineering", + "enumValue": "Engineering", + "displayName": "Engineering" + } + ] + } + }, + { + "@type": "Property", + "name": "category", + "displayName": "Category", + "description": "General grouping associated with an operations event definition", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "source", + "displayName": "Source", + "description": "The activity that generated the operations event", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "acknowledgment", + "displayName": "Acknowledgment", + "description": "The operations event definition IDs of any expected subsequent notification", + "schema": "string", + "writable": true + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionProperty.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionProperty.json new file mode 100644 index 0000000..8502bbe --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionProperty.json @@ -0,0 +1,79 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1", + "@type": "Interface", + "displayName": "Operations event definition property", + "description": "Properties of an operations event definition shall be defined as operations event definition properties. An operations event definition shall be further characterized through zero or more operations event definition properties. Operations event definition properties may contain nested operations event definition properties", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "mapsTo", + "displayName": "Maps to", + "description": "If the operations event definition supports an operations event class, the operations event class property(s) are applied in the operations event definition property(s). This operations event definition property maps to the corresponding operations event class property", + "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "The nested operations event definition property(s) makes up part of this operations event definition property as the whole", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Additional information and description about the operations event definition property", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "propertyType", + "displayName": "Property type", + "description": "Defines the type of the property.", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "classType", + "enumValue": "ClassType", + "displayName": "Class Type", + "description": "The property value is defined for the class and there is no value associated with an instance" + }, + { + "name": "instanceType", + "enumValue": "InstanceType", + "displayName": "Instance Type", + "description": "the property value of the class is undefined" + }, + { + "name": "defaultType", + "enumValue": "DefaultType", + "displayName": "Default Type", + "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." + } + ] + } + }, + { + "@type": "Property", + "name": "value", + "displayName": "Value", + "description": "The value, set of values, or range of the property.", + "schema": "string" + }, + { + "@type": "Property", + "name": "valueUnitOfMeasure", + "displayName": "Value unit of measure", + "description": "The unit of measure of the associated property value", + "schema": "string" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionRecordSpecification.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionRecordSpecification.json new file mode 100644 index 0000000..78ef5b4 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionRecordSpecification.json @@ -0,0 +1,25 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1", + "@type": "Interface", + "displayName": "Operations event definition record specification", + "description": "Specification of the allowed content of operations event record shall be defined as the operations event definition record specification. Information object contents in an operations event vary depending on the process context of the operations event. The operations event definition record specification describes and specifies the information objects and associated actions that are allowed in the operations event occurrence. The publisher/sender shall follow this specification to construct the message", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "contents": [ + { + "@type": "Relationship", + "name": "mapsTo", + "displayName": "Maps to", + "description": "If the operations event supports an operations event class, the operations event class record specification(s) is applied in this operations event definition record specification. This operations event definition record specification maps to the corresponding operations event class record specification", + "target": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "This parent operations event definition record specification is whole of the child operations event definition record specification (s) as the part", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventProperty.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventProperty.json new file mode 100644 index 0000000..c40fad7 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventProperty.json @@ -0,0 +1,79 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventProperty;1", + "@type": "Interface", + "displayName": "Operations event property", + "description": "Properties of an operations event shall be defined as operations event properties. An operations event shall be further characterized through zero or more operations event properties. Operations event properties may contain nested operations event properties", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "mapsTo", + "displayName": "Maps to", + "description": "The operations event(s) supports the operations definition. The operations event definition property(s) is applied in this operations event property(s). This operations event property maps to the corresponding operations event definition property. If the same ID exists in an operations event definition property, the attributes of the property will be the same", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "The nested operations event property(s) makes up part of this operations event property as the whole", + "target": "dtmi:digitaltwins:isa95:OperationsEventProperty;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Additional information about the operations event property", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "propertyType", + "displayName": "Property type", + "description": "Defines the type of the property.", + "schema": { + "@type": "Enum", + "valueSchema": "string", + "enumValues": [ + { + "name": "classType", + "enumValue": "ClassType", + "displayName": "Class Type", + "description": "The property value is defined for the class and there is no value associated with an instance" + }, + { + "name": "instanceType", + "enumValue": "InstanceType", + "displayName": "Instance Type", + "description": "the property value of the class is undefined" + }, + { + "name": "defaultType", + "enumValue": "DefaultType", + "displayName": "Default Type", + "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." + } + ] + } + }, + { + "@type": "Property", + "name": "value", + "displayName": "Value", + "description": "The value, set of values, or range of the property.", + "schema": "string" + }, + { + "@type": "Property", + "name": "valueUnitOfMeasure", + "displayName": "Value unit of measure", + "description": "The unit of measure of the associated property value", + "schema": "string" + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecord.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecord.json new file mode 100644 index 0000000..e8b93a3 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecord.json @@ -0,0 +1,68 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventRecord;1", + "@type": "Interface", + "displayName": "Operations event record", + "description": "The bundle of operations event record entry objects that are pertinent to the real-world MOM event shall be defined as an operations event record", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "recordsActionOn", + "displayName": "Records action on", + "description": "This operations record acts as a container for operations record entry(s) with common action attribute applied", + "comment": "Multiplicity: 1", + "target": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1" + }, + { + "@type": "Relationship", + "name": "specifiedBy", + "displayName": "Specified by", + "description": "The operations event definition record specification defines the allowed information objects contained within this operations event record. The specified actions must match the action attribute in this operations event record entry", + "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "This parent operations event record is whole of the child operations event record(s) as the part", + "target": "dtmi:digitaltwins:isa95:OperationsEventRecord;1" + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Contains additional information and description of the operations event record", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "action", + "displayName": "Action", + "description": "The action performed on the operations event record entry within the operations event record", + "comment": "Samples: [Added, Deleted, Changed, Observed], Changed]", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "effectiveTimestamp", + "displayName": "Effective timestamp", + "description": "The date and time for which the operations event record and its action was/is effective. The effective timestamp attribute explicitly states the time of the real-world event.If no entry is provided, the effective timestamp is the effective timestamp represented in the operations event", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "name": "recordTimestamp", + "displayName": "Record timestamp", + "description": "The date and time the publisher recorded/transacted the action. The record timestamp attribute explicitly states the time that the publisher/sender took the reported action. If no entry is provided, the record timestamp is the record timestamp represented in the operations event", + "schema": "dateTime", + "writable": true + } + ] +} \ No newline at end of file diff --git a/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecordEntry.json b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecordEntry.json new file mode 100644 index 0000000..08b42c6 --- /dev/null +++ b/Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecordEntry.json @@ -0,0 +1,83 @@ +{ + "@context": "dtmi:dtdl:context;2", + "@id": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1", + "@type": "Interface", + "displayName": "Operations event record entry", + "description": "The operations event record entry object shall be a single information object and any third-party manufacturing operations message profile within an operations event record. There shall be one or more operations event record entry objects in an operations event record. The relationships and their roles in an operations event record entry are defined in the operations record specification", + "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", + "extends": [ + "dtmi:digitaltwins:isa95:BaseModel;1" + ], + "contents": [ + { + "@type": "Relationship", + "name": "contains", + "displayName": "Contains", + "description": "This parent operations event record entry is whole of the child operations event record entry(s) as the part", + "target": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1" + }, + { + "@type": "Relationship", + "name": "correspondsToAnEntryIn", + "displayName": "Corresponds to an entry in", + "description": "An embedded information object. If data is referenced in this operations event record entry, the attribute is not used. The format of the information object is specified in the operations event record specification", + "target": "dtmi:digitaltwins:isa95:BaseModel;1", + "maxMultiplicity": 1 + }, + { + "@type": "Relationship", + "name": "correspondsToAnExternalEntryIn", + "displayName": "Corresponds to an entry in", + "description": "The reference to external data (information object) which is stored external to this operations event record entry. If data is embedded in this operations event record entry, the attribute is not used. The format of the reference is specified in the operations event record specification", + "target": "dtmi:digitaltwins:isa95:BaseModel;1", + "maxMultiplicity": 1 + }, + { + "@type": "Component", + "name": "description", + "displayName": "Description", + "description": "Contains additional information and description of the operations event record", + "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" + }, + { + "@type": "Property", + "name": "informationObject", + "displayName": "Information object", + "description": "An embedded information object. If data is referenced in this operations event record entry, the attribute is not used. The format of the information object is specified in this operations record specification", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "informationObjectID", + "displayName": "Information object ID", + "description": "The reference to external data (information object) which is stored external to this operations event record entry. If data is embedded in this operations event record entry, the attribute is not used. The format of the reference is specified in this operations event record specification", + "schema": "string", + "writable": true + }, + { + "@type": "Property", + "name": "effectiveTimestamp", + "displayName": "Effective timestamp", + "description": "The date and time that the operations event record entry was/is effective. If no effective timestamp is provided with operations event record entry, the effective timestamp is represented by the effective timestamp attribute in the operations event record", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "name": "recordTimestamp", + "displayName": "Record timestamp", + "description": "The date and time the publisher recorded / transacted the action. If no entry is provided, the record timestamp is the record timestamp attribute in the operations event record", + "schema": "dateTime", + "writable": true + }, + { + "@type": "Property", + "name": "informationObjectType", + "displayName": "Information object type", + "description": "Identifies the type of information object type that an operations event record entry is based upon. The allowed information object types are defined in the operations event record specification", + "schema": "string", + "writable": true + } + ] +} \ No newline at end of file