├── .vscode ├── extensions.json └── settings.json ├── Assets └── images │ ├── EquipmentHierarchyPrototype 2022-09-21.jpg │ ├── EquipmentHierarchyPrototype 2022-09-23.jpg │ ├── EquipmentHierarchyPrototype.jpg │ └── RevisedEquipmentHierarchyPrototype.jpg ├── LICENSE ├── Ontology ├── CommonObjectModels │ ├── BaseModel.json │ ├── Equipment.json │ ├── EquipmentAssetMapping.json │ ├── EquipmentClass.json │ ├── EquipmentClassProperty.json │ ├── EquipmentProperty.json │ ├── HierarchyScope.json │ ├── Material │ │ ├── MaterialClass.json │ │ ├── MaterialClassProperty.json │ │ ├── MaterialDefinition.json │ │ ├── MaterialDefinitionProperty.json │ │ ├── MaterialLot.json │ │ ├── MaterialLotProperty.json │ │ └── MaterialSublot.json │ ├── OperationalLocation │ │ ├── OperationalLocation.json │ │ ├── OperationalLocationClass.json │ │ ├── OperationalLocationClassProperty.json │ │ └── OperationalLocationProperty.json │ ├── OperationsEvent │ │ ├── OperationsEvent.json │ │ ├── OperationsEventClass.json │ │ ├── OperationsEventClassProperty.json │ │ ├── OperationsEventClassRecordSpecification.json │ │ ├── OperationsEventDefinition.json │ │ ├── OperationsEventDefinitionProperty.json │ │ ├── OperationsEventDefinitionRecordSpecification.json │ │ ├── OperationsEventProperty.json │ │ ├── OperationsEventRecord.json │ │ └── OperationsEventRecordEntry.json │ ├── OperationsRecord │ │ ├── OperationsRecordEntryTemplate.json │ │ ├── OperationsRecordSpecificationTemplate.json │ │ └── OperationsRecordTemplate.json │ ├── OperationsTest │ │ ├── EvaluatedProperty.json │ │ ├── OperationsTestRequirement.json │ │ ├── PropertyMeasurement.json │ │ ├── ResourceActual.json │ │ ├── TestResult.json │ │ ├── TestSpecification.json │ │ ├── TestSpecificationCriteria.json │ │ ├── TestSpecificationProperty.json │ │ ├── TestableObject.json │ │ └── TestableObjectProperty.json │ ├── Person │ │ ├── Person.json │ │ ├── PersonProperty.json │ │ ├── PersonnelClass.json │ │ └── PersonnelClassProperty.json │ ├── PhysicalAsset.json │ ├── PhysicalAssetClass.json │ ├── PhysicalAssetClassProperty.json │ ├── PhysicalAssetProperty.json │ ├── ProcessSegment │ │ ├── EquipmentSegmentSpecification.json │ │ ├── EquipmentSegmentSpecificationProperty.json │ │ ├── MaterialSegmentSpecification.json │ │ ├── MaterialSegmentSpecificationProperty.json │ │ ├── PersonnelSegmentSpecification.json │ │ ├── PersonnelSegmentSpecificationProperty.json │ │ ├── PhysicalAssetSegmentSpecification.json │ │ ├── PhysicalAssetSegmentSpecificationProperty.json │ │ ├── ProcessSegment.json │ │ ├── ProcessSegmentParameter.json │ │ └── SegmentDependency.json │ └── SpatialDefinition.json ├── EquipmentHierarchy │ ├── Area.json │ ├── Enterprise.json │ ├── ProcessCell.json │ ├── ProductionLine.json │ ├── ProductionUnit.json │ ├── Site.json │ ├── SiteAsset.json │ ├── StorageUnit.json │ ├── StorageZone.json │ ├── Unit.json │ ├── WorkCell.json │ ├── WorkCenter.json │ └── WorkUnit.json └── Extensions │ ├── LangStringSet.json │ └── Tags.json └── README.md /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "vsciot-vscode.vscode-dtdl" 4 | ] 5 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "digitaltwins", 4 | "dtdl", 5 | "dtmi" 6 | ] 7 | } -------------------------------------------------------------------------------- /Assets/images/EquipmentHierarchyPrototype 2022-09-21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JMayrbaeurl/opendigitaltwins-isa95/6a91009def78e274372dd4b072a92825a93cc5f9/Assets/images/EquipmentHierarchyPrototype 2022-09-21.jpg -------------------------------------------------------------------------------- /Assets/images/EquipmentHierarchyPrototype 2022-09-23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JMayrbaeurl/opendigitaltwins-isa95/6a91009def78e274372dd4b072a92825a93cc5f9/Assets/images/EquipmentHierarchyPrototype 2022-09-23.jpg -------------------------------------------------------------------------------- /Assets/images/EquipmentHierarchyPrototype.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JMayrbaeurl/opendigitaltwins-isa95/6a91009def78e274372dd4b072a92825a93cc5f9/Assets/images/EquipmentHierarchyPrototype.jpg -------------------------------------------------------------------------------- /Assets/images/RevisedEquipmentHierarchyPrototype.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JMayrbaeurl/opendigitaltwins-isa95/6a91009def78e274372dd4b072a92825a93cc5f9/Assets/images/RevisedEquipmentHierarchyPrototype.jpg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Jürgen Mayrbäurl 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/BaseModel.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:BaseModel;1", 4 | "@type": "Interface", 5 | "displayName": "Base ISA-95 model", 6 | "description": "Abstract base model for all ISA-95 models", 7 | "comment": "Not part of the ISA-95 standard", 8 | "contents": [ 9 | { 10 | "@type": "Property", 11 | "name": "ID", 12 | "schema": "string", 13 | "description": "Objects in the information model which require unique identifications contain an ID attribute, which are unique within the scope of the exchanged information", 14 | "comment": "According to 4.5.5.1 Object identification in ANSI/ISA-95.00.02-2018" 15 | }, 16 | { 17 | "@type": "Component", 18 | "name": "tags", 19 | "schema": "dtmi:digitaltwins:isa95:ext:Tags;1", 20 | "comment": "Not part of the ISA-95 standard. Makes querying easier. See https://docs.microsoft.com/en-us/azure/digital-twins/how-to-use-tags" 21 | } 22 | ] 23 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Equipment.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Equipment;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment", 6 | "description": "A representation of the elements of the equipment hierarchy model shown in ISA-95.00.01 shall be presented as equipment. Equipment may be a listing of any of the following: enterprise, site, area, work center, work unit, process cell, unit, production line, production unit, work cell, storage zone, and storage unit.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "definedBy", 16 | "displayName": "Defined by", 17 | "description": "Equipment classes supported by this equipment.", 18 | "target": "dtmi:digitaltwins:isa95:EquipmentClass;1", 19 | "comment": "Relationship type: Association" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "hasValuesOf", 24 | "displayName": "Has values of", 25 | "description": "The equipment property values of this equipment.", 26 | "target": "dtmi:digitaltwins:isa95:EquipmentProperty;1" 27 | }, 28 | { 29 | "@type": "Relationship", 30 | "name": "isMadeUpOf", 31 | "displayName": "Is made up of", 32 | "description": "The related object(s) makes up part of this equipment as the whole.", 33 | "target": "dtmi:digitaltwins:isa95:Equipment;1" 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Additional information about the equipment", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "hierarchyScope", 45 | "displayName": "Hierarchy scope", 46 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 47 | "schema": "string" 48 | }, 49 | { 50 | "@type": "Relationship", 51 | "name": "hierarchyScopeRel", 52 | "displayName": "fits hierarchy scope", 53 | "description": "Optional relationship to hierarchy.", 54 | "comment": "Not part of the Standard Specs.", 55 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 56 | "maxMultiplicity": 1 57 | }, 58 | { 59 | "@type": "Property", 60 | "name": "equipmentLevel", 61 | "displayName": "Equipment level", 62 | "writable": true, 63 | "description": "An identification of the level in the role-based equipment hierarchy", 64 | "schema": { 65 | "@type": "Enum", 66 | "valueSchema": "string", 67 | "enumValues": [ 68 | { 69 | "name": "Enterprise", 70 | "enumValue": "Enterprise" 71 | }, 72 | { 73 | "name": "Site", 74 | "enumValue": "Site" 75 | }, 76 | { 77 | "name": "Area", 78 | "enumValue": "Area" 79 | }, 80 | { 81 | "name": "WorkCenter", 82 | "displayName": "Work Center", 83 | "enumValue": "Work Center" 84 | }, 85 | { 86 | "name": "WorkUnit", 87 | "displayName": "Work Unit", 88 | "enumValue": "Work Unit" 89 | } 90 | ] 91 | } 92 | }, 93 | { 94 | "@type": "Component", 95 | "name": "spatialDefinition", 96 | "displayName": "Spatial definition", 97 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 98 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 99 | }, 100 | { 101 | "@type": "Relationship", 102 | "name": "implementedBy", 103 | "displayName": "Implemented by", 104 | "description": "This equipment as role in a process segment is implemented by the physical asset.", 105 | "comment": "For Equipment asset mapping", 106 | "target": "dtmi:digitaltwins:isa95:PhysicalAsset;1", 107 | "maxMultiplicity": 1 108 | } 109 | ] 110 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/EquipmentAssetMapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentAssetMapping;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment asset mapping", 6 | "description": "The relationship between a physical asset and an equipment shall be presented as an equipment asset mapping. The equipment asset mapping records the time period when one equipment object and one physical asset object were associated.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "RecordsUseOfEquipment", 15 | "displayName": "Records use of", 16 | "description": "The equipment performing the manufacturing function.", 17 | "target": "dtmi:digitaltwins:isa95:Equipment;1", 18 | "maxMultiplicity": 1 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "RecordsUseOfPhysicalAsset", 23 | "displayName": "Records use of", 24 | "description": "The physical asset that is associated with the equipment if the physical asset associated with a manufacturing function", 25 | "target": "dtmi:digitaltwins:isa95:PhysicalAsset;1", 26 | "maxMultiplicity": 1 27 | }, 28 | { 29 | "@type": "Component", 30 | "name": "description", 31 | "displayName": "Description", 32 | "description": "Additional information about the mapping element.", 33 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 34 | }, 35 | { 36 | "@type": "Property", 37 | "name": "hierarchyScope", 38 | "displayName": "Hierarchy scope", 39 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scopedefines the scope of the physical asset class, such as the site or area where it is defined", 40 | "schema": "string" 41 | }, 42 | { 43 | "@type": "Relationship", 44 | "name": "hierarchyScopeRel", 45 | "displayName": "fits hierarchy scope", 46 | "description": "Optional relationship to hierarchy.", 47 | "comment": "Not part of the Standard Specs.", 48 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 49 | "maxMultiplicity": 1 50 | }, 51 | { 52 | "@type": "Property", 53 | "name": "startTime", 54 | "displayName": "Start Time", 55 | "description": "The starting time of the association.", 56 | "schema": "dateTime", 57 | "writable": true 58 | }, 59 | { 60 | "@type": "Property", 61 | "name": "endTime", 62 | "displayName": "End Time", 63 | "description": "The ending time of the association. ", 64 | "schema": "dateTime", 65 | "writable": true 66 | } 67 | ] 68 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/EquipmentClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentClass;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment class", 6 | "description": "A representation of a grouping of equipment with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance shall be presented as an equipment class. Any piece of equipment may be a member of zero or more equipment classes. An equipment class may be defined as a specialization of zero or more equipment classes. An equipment class may be made up of zero or more equipment classes.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "includesPropertiesOf", 16 | "displayName": "Includes properties of", 17 | "target": "dtmi:digitaltwins:isa95:EquipmentClass;1", 18 | "description": "This equipment class(s) include properties of the equipment class." 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "isMadeUpOf", 23 | "displayName": "Is made up of", 24 | "target": "dtmi:digitaltwins:isa95:EquipmentClass;1", 25 | "description": "This parent equipment class is whole of the child equipment class(s) as the part." 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "hasPropertiesOf", 30 | "displayName": "Has properties of", 31 | "target": "dtmi:digitaltwins:isa95:EquipmentClassProperty;1", 32 | "description": "The equipment class property(s) of this equipment class." 33 | }, 34 | { 35 | "@type": "Component", 36 | "name": "description", 37 | "displayName": "Description", 38 | "description": "Additional information about the equipment class", 39 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 40 | }, 41 | { 42 | "@type": "Property", 43 | "name": "hierarchyScope", 44 | "displayName": "Hierarchy scope", 45 | "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.", 46 | "schema": "string" 47 | }, 48 | { 49 | "@type": "Relationship", 50 | "name": "hierarchyScopeRel", 51 | "displayName": "fits hierarchy scope", 52 | "description": "Optional relationship to hierarchy.", 53 | "comment": "Not part of the Standard Specs.", 54 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 55 | "maxMultiplicity": 1 56 | }, 57 | { 58 | "@type": "Property", 59 | "name": "equipmentLevel", 60 | "displayName": "Equipment level", 61 | "writable": true, 62 | "description": "Identification of the equipment level if the equipment element is defined", 63 | "schema": { 64 | "@type": "Enum", 65 | "valueSchema": "string", 66 | "enumValues": [ 67 | { 68 | "name": "Enterprise", 69 | "enumValue": "Enterprise" 70 | }, 71 | { 72 | "name": "Site", 73 | "enumValue": "Site" 74 | }, 75 | { 76 | "name": "Area", 77 | "enumValue": "Area" 78 | }, 79 | { 80 | "name": "WorkCenter", 81 | "displayName": "Work Center", 82 | "enumValue": "Work Center" 83 | }, 84 | { 85 | "name": "WorkUnit", 86 | "displayName": "Work Unit", 87 | "enumValue": "Work Unit" 88 | } 89 | ] 90 | } 91 | } 92 | ] 93 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/EquipmentClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment class property", 6 | "description": "An equipment class property may be tested to the evaluated property in a test specification where the measured results may be recorded in a property measurement attribute in a test result. The measured results may also be evaluated to the test specification criteria in the test specification that references the evaluated property where they may be recorded in an evaluated criterion result attribute in the test result. Equipment class properties may contain nested equipment class properties.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested equipment class property(s) makes up part of thisequipment class property as the whole", 18 | "target": "dtmi:digitaltwins:isa95:EquipmentClassProperty;1" 19 | }, 20 | { 21 | "@type": "Component", 22 | "name": "description", 23 | "displayName": "Description", 24 | "description": "Additional information about the equipment class property", 25 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 26 | }, 27 | { 28 | "@type": "Property", 29 | "name": "propertyType", 30 | "displayName": "Property type", 31 | "description": "Defines the type of the property.", 32 | "schema": { 33 | "@type": "Enum", 34 | "valueSchema": "string", 35 | "enumValues": [ 36 | { 37 | "name": "classType", 38 | "enumValue": "ClassType", 39 | "displayName": "Class Type", 40 | "description": "The property value is defined for the class and there is no value associated with an instance" 41 | }, 42 | { 43 | "name": "instanceType", 44 | "enumValue": "InstanceType", 45 | "displayName": "Instance Type", 46 | "description": "the property value of the class is undefined" 47 | }, 48 | { 49 | "name": "defaultType", 50 | "enumValue": "DefaultType", 51 | "displayName": "Default Type", 52 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 53 | } 54 | ] 55 | } 56 | }, 57 | { 58 | "@type": "Property", 59 | "name": "value", 60 | "displayName": "Value", 61 | "description": "The value, set of values, or range of the property.", 62 | "schema": "string" 63 | }, 64 | { 65 | "@type": "Property", 66 | "name": "valueUnitOfMeasure", 67 | "displayName": "Value unit of measure", 68 | "description": "The unit of measure of the associated property value", 69 | "schema": "string" 70 | } 71 | ] 72 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/EquipmentProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment property", 6 | "description": "Properties of equipment shall be presented as equipment properties. An equipment shall have zero or more equipment properties. These specify the current property values of the equipment for the associated equipment class property.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested equipment property(s) makes up part of this equipment property as the whole.", 18 | "target": "dtmi:digitaltwins:isa95:EquipmentProperty;1", 19 | "comment": "Relationship type: Composition hierarchy" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "mapsTo", 24 | "displayName": "Maps to", 25 | "description": "If the parent equipment supports an equipment class, the equipment class property(s) is applied in this equipment property(s).", 26 | "target": "dtmi:digitaltwins:isa95:EquipmentClassProperty;1", 27 | "comment": "Relationship type: Dependency" 28 | }, 29 | { 30 | "@type": "Component", 31 | "name": "description", 32 | "displayName": "Description", 33 | "description": "Additional information about the equipment property.", 34 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 35 | }, 36 | { 37 | "@type": "Property", 38 | "name": "value", 39 | "displayName": "Value", 40 | "description": "The value, set of values, or range of the property.", 41 | "schema": "string" 42 | }, 43 | { 44 | "@type": "Property", 45 | "name": "valueUnitOfMeasure", 46 | "displayName": "Value unit of measure", 47 | "description": "The unit of measure of the associated property value.", 48 | "schema": "string" 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/HierarchyScope.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:HierarchyScope;1", 4 | "@type": "Interface", 5 | "displayName": "Hierarchy scope", 6 | "description": "The hierarchy scope identifies where the exchanged information fits within the role-based equipment hierarchy. It defines the scope of the exchanged information, such as a site or area for ANSI/ISA-95.00.02-2018 – 19 –which the information is relevant. The hierarchy scope identifies the associated instance in the role-based equipment hierarchy. ", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "contents": [ 9 | { 10 | "@type": "Relationship", 11 | "name": "contains", 12 | "displayName": "Contains", 13 | "description": "The child hierarchy scope(s) contained within this hierarchy scope.", 14 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1" 15 | }, 16 | { 17 | "@type": "Property", 18 | "name": "equipmentID", 19 | "schema": "string", 20 | "writable": true, 21 | "displayName": "Equipment ID", 22 | "description": " unique identification of an equipment element" 23 | }, 24 | { 25 | "@type": "Property", 26 | "name": "equipmentLevel", 27 | "displayName": "Equipment level", 28 | "writable": true, 29 | "description": "Identification of the equipment level if the equipment element is defined", 30 | "schema": { 31 | "@type": "Enum", 32 | "valueSchema": "string", 33 | "enumValues": [ 34 | { 35 | "name": "Enterprise", 36 | "enumValue": "Enterprise" 37 | }, 38 | { 39 | "name": "Site", 40 | "enumValue": "Site" 41 | }, 42 | { 43 | "name": "Area", 44 | "enumValue": "Area" 45 | }, 46 | { 47 | "name": "WorkCenter", 48 | "displayName": "Work Center", 49 | "enumValue": "Work Center" 50 | }, 51 | { 52 | "name": "WorkUnit", 53 | "displayName": "Work Unit", 54 | "enumValue": "Work Unit" 55 | } 56 | ] 57 | } 58 | } 59 | ] 60 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Material/MaterialClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialClass;1", 4 | "@type": "Interface", 5 | "displayName": "Material class", 6 | "description": "A representation of groupings of material definitions for a definite purpose such as manufacturing operations definition, scheduling, capability, and performance shall be presented as a material class. A material definition shall belong to zero or more material classes.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "includesPropertiesOf", 16 | "displayName": "Includes properties of", 17 | "target": "dtmi:digitaltwins:isa95:MaterialClass;1", 18 | "description": "This material class(s) include properties of the material class." 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "IsAssembledFrom", 23 | "displayName": "Is assembled from", 24 | "target": "dtmi:digitaltwins:isa95:MaterialClass;1", 25 | "description": "This parent material class is whole of the child material class(s) as the part." 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "hasPropertiesOf", 30 | "displayName": "Has properties of", 31 | "target": "dtmi:digitaltwins:isa95:MaterialClassProperty;1", 32 | "description": "The material class property(s) of this material class." 33 | }, 34 | { 35 | "@type": "Component", 36 | "name": "description", 37 | "displayName": "Description", 38 | "description": "Additional information about the material class.", 39 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 40 | }, 41 | { 42 | "@type": "Property", 43 | "name": "hierarchyScope", 44 | "displayName": "Hierarchy scope", 45 | "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.", 46 | "schema": "string" 47 | }, 48 | { 49 | "@type": "Relationship", 50 | "name": "hierarchyScopeRel", 51 | "displayName": "fits hierarchy scope", 52 | "description": "Optional relationship to hierarchy.", 53 | "comment": "Not part of the Standard Specs.", 54 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 55 | "maxMultiplicity": 1 56 | }, 57 | { 58 | "@type": "Property", 59 | "name": "assemblyType", 60 | "displayName": "Assembly type", 61 | "writable": true, 62 | "description": "Defines the type of the assembly", 63 | "schema": { 64 | "@type": "Enum", 65 | "valueSchema": "string", 66 | "enumValues": [ 67 | { 68 | "name": "physical", 69 | "enumValue": "Physical", 70 | "description": "the components of the assembly are physically connected or in the same area" 71 | }, 72 | { 73 | "name": "logical", 74 | "enumValue": "Logical", 75 | "description": "the components of the assembly are not necessarily physically connected or in the same area" 76 | } 77 | ] 78 | } 79 | }, 80 | { 81 | "@type": "Property", 82 | "name": "assemblyRelationship", 83 | "displayName": "Assembly relationship", 84 | "writable": true, 85 | "description": "Defines the type of the relationships", 86 | "schema": { 87 | "@type": "Enum", 88 | "valueSchema": "string", 89 | "enumValues": [ 90 | { 91 | "name": "permanent", 92 | "enumValue": "Permanent", 93 | "description": "an assembly that is not intended to be split during the production process" 94 | }, 95 | { 96 | "name": "transient", 97 | "enumValue": "Transient", 98 | "description": "a temporary assembly using during production, such as a pallet of different materials or a batch kit" 99 | } 100 | ] 101 | } 102 | } 103 | ] 104 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Material/MaterialClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Material class property", 6 | "description": "Properties of a material class shall be presented as material class properties. A material class may define zero or more material class properties. A material class property may be tested to the evaluated property in a test specification where the measured results may be recorded in a property measurement attribute in a test result.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested material class property(s) makes up part of this material class property as the whole", 18 | "target": "dtmi:digitaltwins:isa95:MaterialClassProperty;1" 19 | }, 20 | { 21 | "@type": "Component", 22 | "name": "description", 23 | "displayName": "Description", 24 | "description": "Additional information about the equipment class property", 25 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 26 | }, 27 | { 28 | "@type": "Property", 29 | "name": "propertyType", 30 | "displayName": "Property type", 31 | "description": "Defines the type of the property.", 32 | "schema": { 33 | "@type": "Enum", 34 | "valueSchema": "string", 35 | "enumValues": [ 36 | { 37 | "name": "classType", 38 | "enumValue": "ClassType", 39 | "displayName": "Class Type", 40 | "description": "The property value is defined for the class and there is no value associated with an instance" 41 | }, 42 | { 43 | "name": "instanceType", 44 | "enumValue": "InstanceType", 45 | "displayName": "Instance Type", 46 | "description": "the property value of the class is undefined" 47 | }, 48 | { 49 | "name": "defaultType", 50 | "enumValue": "DefaultType", 51 | "displayName": "Default Type", 52 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 53 | } 54 | ] 55 | } 56 | }, 57 | { 58 | "@type": "Property", 59 | "name": "value", 60 | "displayName": "Value", 61 | "description": "The value, set of values, or range of the property.", 62 | "schema": "string" 63 | }, 64 | { 65 | "@type": "Property", 66 | "name": "valueUnitOfMeasure", 67 | "displayName": "Value unit of measure", 68 | "description": "The unit of measure of the associated property value", 69 | "schema": "string" 70 | } 71 | ] 72 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Material/MaterialDefinition.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialDefinition;1", 4 | "@type": "Interface", 5 | "displayName": "Material definition", 6 | "description": "A representation of a material with similar characteristics for the purpose of manufacturing operations definition, scheduling, capability and performance shall be presented as a material definition", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "isAssembledFrom", 16 | "displayName": "Is assembled from", 17 | "description": "This material definition is part of the related object as the whole", 18 | "target": "dtmi:digitaltwins:isa95:MaterialDefinition;1", 19 | "comment": "Relationship type: Composition" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "hasPropertiesOf", 24 | "displayName": "Has properties of", 25 | "description": "The material definition property(s) of this material definition.", 26 | "target": "dtmi:digitaltwins:isa95:MaterialDefinitionProperty;1", 27 | "comment": "Relationship type: Composition" 28 | }, 29 | { 30 | "@type": "Relationship", 31 | "name": "isMemberOfClass", 32 | "displayName": "Is a member of class", 33 | "description": "This material definition objects support this material class. ", 34 | "target": "dtmi:digitaltwins:isa95:MaterialClass;1", 35 | "comment": "Relationship type: Association" 36 | }, 37 | { 38 | "@type": "Component", 39 | "name": "description", 40 | "displayName": "Description", 41 | "description": "Additional information about the material definition", 42 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 43 | }, 44 | { 45 | "@type": "Property", 46 | "name": "hierarchyScope", 47 | "displayName": "Hierarchy scope", 48 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 49 | "schema": "string" 50 | }, 51 | { 52 | "@type": "Relationship", 53 | "name": "hierarchyScopeRel", 54 | "displayName": "fits hierarchy scope", 55 | "description": "Optional relationship to hierarchy.", 56 | "comment": "Not part of the Standard Specs.", 57 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 58 | "maxMultiplicity": 1 59 | }, 60 | { 61 | "@type": "Component", 62 | "name": "spatialDefinition", 63 | "displayName": "Spatial definition", 64 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 65 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 66 | }, 67 | { 68 | "@type": "Property", 69 | "name": "assemblyType", 70 | "displayName": "Assembly type", 71 | "writable": true, 72 | "description": "Defines the type of the assembly", 73 | "schema": { 74 | "@type": "Enum", 75 | "valueSchema": "string", 76 | "enumValues": [ 77 | { 78 | "name": "physical", 79 | "enumValue": "Physical", 80 | "description": "the components of the assembly are physically connected or in the same area" 81 | }, 82 | { 83 | "name": "logical", 84 | "enumValue": "Logical", 85 | "description": "the components of the assembly are not necessarily physically connected or in the same area" 86 | } 87 | ] 88 | } 89 | }, 90 | { 91 | "@type": "Property", 92 | "name": "assemblyRelationship", 93 | "displayName": "Assembly relationship", 94 | "writable": true, 95 | "description": "Defines the type of the relationships", 96 | "schema": { 97 | "@type": "Enum", 98 | "valueSchema": "string", 99 | "enumValues": [ 100 | { 101 | "name": "permanent", 102 | "enumValue": "Permanent", 103 | "description": "an assembly that is not intended to be split during the production process" 104 | }, 105 | { 106 | "name": "transient", 107 | "enumValue": "Transient", 108 | "description": "a temporary assembly using during production, such as a pallet of different materials or a batch kit" 109 | } 110 | ] 111 | } 112 | } 113 | ] 114 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Material/MaterialDefinitionProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialDefinitionProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Material definition property", 6 | "description": "Properties of a material definition shall be presented as material definition properties. A material definition may define zero or more material definition properties. A material definition property may be tested to the evaluated property in a test specification where the measured results may be recorded in a property measurement attribute in a test result.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested material definition property(s) makes up part of this material definition property as the whole.", 18 | "target": "dtmi:digitaltwins:isa95:MaterialDefinitionProperty;1" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "mapsTo", 23 | "displayName": "Maps to", 24 | "description": "If the parent material definition supports a material class, the material class property(s) is applied in the material definition property(s). This material definition property maps to the corresponding material class property.", 25 | "target": "dtmi:digitaltwins:isa95:MaterialClassProperty;1", 26 | "comment": "Relationship type: Dependency" 27 | }, 28 | { 29 | "@type": "Component", 30 | "name": "description", 31 | "displayName": "Description", 32 | "description": "Additional information about the material definition property", 33 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 34 | }, 35 | { 36 | "@type": "Property", 37 | "name": "propertyType", 38 | "displayName": "Property type", 39 | "description": "Defines the type of the property.", 40 | "schema": { 41 | "@type": "Enum", 42 | "valueSchema": "string", 43 | "enumValues": [ 44 | { 45 | "name": "classType", 46 | "enumValue": "ClassType", 47 | "displayName": "Class Type", 48 | "description": "The property value is defined for the class and there is no value associated with an instance" 49 | }, 50 | { 51 | "name": "instanceType", 52 | "enumValue": "InstanceType", 53 | "displayName": "Instance Type", 54 | "description": "the property value of the class is undefined" 55 | }, 56 | { 57 | "name": "defaultType", 58 | "enumValue": "DefaultType", 59 | "displayName": "Default Type", 60 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 61 | } 62 | ] 63 | } 64 | }, 65 | { 66 | "@type": "Property", 67 | "name": "value", 68 | "displayName": "Value", 69 | "description": "The value, set of values, or range of the property.", 70 | "schema": "string" 71 | }, 72 | { 73 | "@type": "Property", 74 | "name": "valueUnitOfMeasure", 75 | "displayName": "Value unit of measure", 76 | "description": "The unit of measure of the associated property value", 77 | "schema": "string" 78 | } 79 | ] 80 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Material/MaterialLotProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialLotProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Material lot property", 6 | "description": "Properties of a material lot shall be presented as material lot properties. Each material can have unique values for zero or more material lot properties, such as a specific pH value for the specific material lot, or a specific density for the material lot", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested material lot property(s) makes up part of this material lot property as the whole", 18 | "target": "dtmi:digitaltwins:isa95:MaterialLotProperty;1" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "mapsTo", 23 | "displayName": "Maps to", 24 | "description": "If the parent material lot supports a material definition, the material definition property(s) is applied in the material lot property(s)", 25 | "target": "dtmi:digitaltwins:isa95:MaterialDefinitionProperty;1", 26 | "comment": "Relationship type: Dependency", 27 | "maxMultiplicity": 1 28 | }, 29 | { 30 | "@type": "Component", 31 | "name": "description", 32 | "displayName": "Description", 33 | "description": "Additional information about the material lot property", 34 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 35 | }, 36 | { 37 | "@type": "Property", 38 | "name": "value", 39 | "displayName": "Value", 40 | "description": "The value, set of values, or range of the property.", 41 | "schema": "string" 42 | }, 43 | { 44 | "@type": "Property", 45 | "name": "valueUnitOfMeasure", 46 | "displayName": "Value unit of measure", 47 | "description": "The unit of measure of the associated property value", 48 | "schema": "string" 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationalLocation/OperationalLocation.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationalLocation;1", 4 | "@type": "Interface", 5 | "displayName": "Operational location", 6 | "description": "A logical or physical location where a material lot, material sublot, equipment, physical asset or person is located or expected to be located shall be presented as an operational location. Operational locations may be made up of other operational locations.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "definedBy", 15 | "displayName": "Defined by", 16 | "description": "The operational location class(s) to which this operational location belongs", 17 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClass;1", 18 | "comment": "Relationship type: Association" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "hasValuesOf", 23 | "displayName": "Has values of", 24 | "description": "The operational location property(s) of this operational location.", 25 | "target": "dtmi:digitaltwins:isa95:OperationalLocationProperty;1" 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "isMadeUpOf", 30 | "displayName": "Is made up of", 31 | "description": "The child operational location(s) contained within this operational location.", 32 | "target": "dtmi:digitaltwins:isa95:OperationalLocation;1" 33 | }, 34 | { 35 | "@type": "Component", 36 | "name": "description", 37 | "displayName": "Description", 38 | "description": "Contains additional information and descriptions of the operational location.", 39 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 40 | }, 41 | { 42 | "@type": "Property", 43 | "name": "hierarchyScope", 44 | "displayName": "Hierarchy scope", 45 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scopedefines the scope of the physical asset class, such as the site or area where it is defined.", 46 | "schema": "string" 47 | }, 48 | { 49 | "@type": "Relationship", 50 | "name": "hierarchyScopeRel", 51 | "displayName": "fits hierarchy scope", 52 | "description": "Optional relationship to hierarchy.", 53 | "comment": "Not part of the Standard Specs.", 54 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 55 | "maxMultiplicity": 1 56 | }, 57 | { 58 | "@type": "Component", 59 | "name": "spatialDefinition", 60 | "displayName": "Spatial definition", 61 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 62 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 63 | } 64 | ] 65 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationalLocation/OperationalLocationClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationalLocationClass;1", 4 | "@type": "Interface", 5 | "displayName": "Operational location class", 6 | "description": "A representation of a grouping of operational locations with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance shall be presented as an operational location class. Any operational location may be a member of zero or more operational location classes.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "includesPropertiesOf", 15 | "displayName": "Includes properties of", 16 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClass;1", 17 | "description": "This operational location class(s) include properties of the operational location class." 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "isMadeUpOf", 22 | "displayName": "Is made up of", 23 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClass;1", 24 | "description": "This parent operational location class is whole of the child operational location class(s) as the part" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "hasPropertiesOf", 29 | "displayName": "Has properties of", 30 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClassProperty;1", 31 | "description": "The operational location class property(s) of this operational location class" 32 | }, 33 | { 34 | "@type": "Component", 35 | "name": "description", 36 | "displayName": "Description", 37 | "description": "Additional information about the operational location class", 38 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 39 | }, 40 | { 41 | "@type": "Property", 42 | "name": "hierarchyScope", 43 | "displayName": "Hierarchy scope", 44 | "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.", 45 | "schema": "string" 46 | }, 47 | { 48 | "@type": "Relationship", 49 | "name": "hierarchyScopeRel", 50 | "displayName": "fits hierarchy scope", 51 | "description": "Optional relationship to hierarchy.", 52 | "comment": "Not part of the Standard Specs.", 53 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 54 | "maxMultiplicity": 1 55 | } 56 | ] 57 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationalLocation/OperationalLocationClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationalLocationClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Operational location class property", 6 | "description": "Properties of an operational location class shall be defined as operational location class property(s). An operational location class property may contain nested operational location class property(s). An operational location class property may have zero or more operational location property(s) mapping to it.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The child operational location class property(s) of this operational location class property.", 17 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClassProperty;1" 18 | }, 19 | { 20 | "@type": "Component", 21 | "name": "description", 22 | "displayName": "Description", 23 | "description": "Additional information about the operational location class property", 24 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "value", 29 | "displayName": "Value", 30 | "description": "The value, set of values, or range of the property.", 31 | "schema": "string" 32 | }, 33 | { 34 | "@type": "Property", 35 | "name": "valueUnitOfMeasure", 36 | "displayName": "Value unit of measure", 37 | "description": "The unit of measure of the associated property value", 38 | "schema": "string" 39 | }, 40 | { 41 | "@type": "Property", 42 | "name": "propertyType", 43 | "displayName": "Property type", 44 | "description": "Defines the type of the property.", 45 | "schema": { 46 | "@type": "Enum", 47 | "valueSchema": "string", 48 | "enumValues": [ 49 | { 50 | "name": "classType", 51 | "enumValue": "ClassType", 52 | "displayName": "Class Type", 53 | "description": "The property value is defined for the class and there is no value associated with an instance" 54 | }, 55 | { 56 | "name": "instanceType", 57 | "enumValue": "InstanceType", 58 | "displayName": "Instance Type", 59 | "description": "the property value of the class is undefined" 60 | }, 61 | { 62 | "name": "defaultType", 63 | "enumValue": "DefaultType", 64 | "displayName": "Default Type", 65 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 66 | } 67 | ] 68 | } 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationalLocation/OperationalLocationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationalLocationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Operational location property", 6 | "description": "Properties of operational locations shall be presented as operational location properties. Anoperational location shall have zero or more operational location properties. These specify the current property values of the operational location for the associated operational location class property. Operational location properties may include a unit of measure.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The child operational location property(s) of this operational location property.", 17 | "target": "dtmi:digitaltwins:isa95:OperationalLocationProperty;1", 18 | "comment": "Relationship type: Composition hierarchy" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "mapsTo", 23 | "displayName": "Maps to", 24 | "description": "The operational location class property to which this operational location class property maps.", 25 | "target": "dtmi:digitaltwins:isa95:OperationalLocationClassProperty;1", 26 | "comment": "Relationship type: Dependency" 27 | }, 28 | { 29 | "@type": "Component", 30 | "name": "description", 31 | "displayName": "Description", 32 | "description": "Additional information about the asset property.", 33 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 34 | }, 35 | { 36 | "@type": "Property", 37 | "name": "value", 38 | "displayName": "Value", 39 | "description": "The value, set of values, or range of the property.", 40 | "schema": "string" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "valueUnitOfMeasure", 45 | "displayName": "Value unit of measure", 46 | "description": "The unit of measure of the associated property value", 47 | "schema": "string" 48 | } 49 | ] 50 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventClass;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event class", 6 | "description": "An operations event class is a representation of groupings of operations event definitions", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isAssembledFrom", 15 | "displayName": "Is assembled from", 16 | "description": "The nested operations event class(s) makes up part of this operations event class as the whole", 17 | "target": "dtmi:digitaltwins:isa95:OperationsEventClass;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "includesPropertiesOf", 22 | "displayName": "Includes properties of", 23 | "description": "This operations event class(s) include properties of the operations event class", 24 | "target": "dtmi:digitaltwins:isa95:OperationsEventClass;1", 25 | "maxMultiplicity": 1 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "hasPropertiesOf", 30 | "displayName": "Has properties of", 31 | "description": "The operations event class property(s) of this operations event class", 32 | "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1" 33 | }, 34 | { 35 | "@type": "Relationship", 36 | "name": "hasRecordSpecificationOf", 37 | "displayName": "Has record specification of", 38 | "description": "The operations event class record specification(s) related to this operations event class", 39 | "target": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1" 40 | }, 41 | { 42 | "@type": "Component", 43 | "name": "description", 44 | "displayName": "Description", 45 | "description": "Additional information and description about the operations event class", 46 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 47 | }, 48 | { 49 | "@type": "Property", 50 | "name": "extension", 51 | "displayName": "Extension", 52 | "description": "Defines constraints on the inclusion of the respective operations event class in a hierarchy", 53 | "schema": "string", 54 | "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" 55 | } 56 | ] 57 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event class property", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The child operations event classes contained within this operations event class", 17 | "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1" 18 | }, 19 | { 20 | "@type": "Component", 21 | "name": "description", 22 | "displayName": "Description", 23 | "description": "Additional information and description about the operations event class property", 24 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "propertyType", 29 | "displayName": "Property type", 30 | "description": "Defines the type of the property.", 31 | "schema": { 32 | "@type": "Enum", 33 | "valueSchema": "string", 34 | "enumValues": [ 35 | { 36 | "name": "classType", 37 | "enumValue": "ClassType", 38 | "displayName": "Class Type", 39 | "description": "The property value is defined for the class and there is no value associated with an instance" 40 | }, 41 | { 42 | "name": "instanceType", 43 | "enumValue": "InstanceType", 44 | "displayName": "Instance Type", 45 | "description": "the property value of the class is undefined" 46 | }, 47 | { 48 | "name": "defaultType", 49 | "enumValue": "DefaultType", 50 | "displayName": "Default Type", 51 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 52 | } 53 | ] 54 | } 55 | }, 56 | { 57 | "@type": "Property", 58 | "name": "value", 59 | "displayName": "Value", 60 | "description": "The value, set of values, or range of the property.", 61 | "schema": "string" 62 | }, 63 | { 64 | "@type": "Property", 65 | "name": "valueUnitOfMeasure", 66 | "displayName": "Value unit of measure", 67 | "description": "The unit of measure of the associated property value", 68 | "schema": "string" 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventClassRecordSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event class record specification", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "contents": [ 9 | { 10 | "@type": "Relationship", 11 | "name": "contains", 12 | "displayName": "Contains", 13 | "description": "This parent operations event definition record specification is whole of the child operations event definition record specification(s) as the part", 14 | "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event definition property", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "mapsTo", 15 | "displayName": "Maps to", 16 | "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", 17 | "target": "dtmi:digitaltwins:isa95:OperationsEventClassProperty;1", 18 | "maxMultiplicity": 1 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "contains", 23 | "displayName": "Contains", 24 | "description": "The nested operations event definition property(s) makes up part of this operations event definition property as the whole", 25 | "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1" 26 | }, 27 | { 28 | "@type": "Component", 29 | "name": "description", 30 | "displayName": "Description", 31 | "description": "Additional information and description about the operations event definition property", 32 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 33 | }, 34 | { 35 | "@type": "Property", 36 | "name": "propertyType", 37 | "displayName": "Property type", 38 | "description": "Defines the type of the property.", 39 | "schema": { 40 | "@type": "Enum", 41 | "valueSchema": "string", 42 | "enumValues": [ 43 | { 44 | "name": "classType", 45 | "enumValue": "ClassType", 46 | "displayName": "Class Type", 47 | "description": "The property value is defined for the class and there is no value associated with an instance" 48 | }, 49 | { 50 | "name": "instanceType", 51 | "enumValue": "InstanceType", 52 | "displayName": "Instance Type", 53 | "description": "the property value of the class is undefined" 54 | }, 55 | { 56 | "name": "defaultType", 57 | "enumValue": "DefaultType", 58 | "displayName": "Default Type", 59 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 60 | } 61 | ] 62 | } 63 | }, 64 | { 65 | "@type": "Property", 66 | "name": "value", 67 | "displayName": "Value", 68 | "description": "The value, set of values, or range of the property.", 69 | "schema": "string" 70 | }, 71 | { 72 | "@type": "Property", 73 | "name": "valueUnitOfMeasure", 74 | "displayName": "Value unit of measure", 75 | "description": "The unit of measure of the associated property value", 76 | "schema": "string" 77 | } 78 | ] 79 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventDefinitionRecordSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event definition record specification", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "contents": [ 9 | { 10 | "@type": "Relationship", 11 | "name": "mapsTo", 12 | "displayName": "Maps to", 13 | "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", 14 | "target": "dtmi:digitaltwins:isa95:OperationsEventClassRecordSpecification;1", 15 | "maxMultiplicity": 1 16 | }, 17 | { 18 | "@type": "Relationship", 19 | "name": "contains", 20 | "displayName": "Contains", 21 | "description": "This parent operations event definition record specification is whole of the child operations event definition record specification (s) as the part", 22 | "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event property", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "mapsTo", 15 | "displayName": "Maps to", 16 | "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", 17 | "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionProperty;1", 18 | "maxMultiplicity": 1 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "contains", 23 | "displayName": "Contains", 24 | "description": "The nested operations event property(s) makes up part of this operations event property as the whole", 25 | "target": "dtmi:digitaltwins:isa95:OperationsEventProperty;1" 26 | }, 27 | { 28 | "@type": "Component", 29 | "name": "description", 30 | "displayName": "Description", 31 | "description": "Additional information about the operations event property", 32 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 33 | }, 34 | { 35 | "@type": "Property", 36 | "name": "propertyType", 37 | "displayName": "Property type", 38 | "description": "Defines the type of the property.", 39 | "schema": { 40 | "@type": "Enum", 41 | "valueSchema": "string", 42 | "enumValues": [ 43 | { 44 | "name": "classType", 45 | "enumValue": "ClassType", 46 | "displayName": "Class Type", 47 | "description": "The property value is defined for the class and there is no value associated with an instance" 48 | }, 49 | { 50 | "name": "instanceType", 51 | "enumValue": "InstanceType", 52 | "displayName": "Instance Type", 53 | "description": "the property value of the class is undefined" 54 | }, 55 | { 56 | "name": "defaultType", 57 | "enumValue": "DefaultType", 58 | "displayName": "Default Type", 59 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 60 | } 61 | ] 62 | } 63 | }, 64 | { 65 | "@type": "Property", 66 | "name": "value", 67 | "displayName": "Value", 68 | "description": "The value, set of values, or range of the property.", 69 | "schema": "string" 70 | }, 71 | { 72 | "@type": "Property", 73 | "name": "valueUnitOfMeasure", 74 | "displayName": "Value unit of measure", 75 | "description": "The unit of measure of the associated property value", 76 | "schema": "string" 77 | } 78 | ] 79 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecord.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventRecord;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event record", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "recordsActionOn", 15 | "displayName": "Records action on", 16 | "description": "This operations record acts as a container for operations record entry(s) with common action attribute applied", 17 | "comment": "Multiplicity: 1", 18 | "target": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "specifiedBy", 23 | "displayName": "Specified by", 24 | "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", 25 | "target": "dtmi:digitaltwins:isa95:OperationsEventDefinitionRecordSpecification;1", 26 | "maxMultiplicity": 1 27 | }, 28 | { 29 | "@type": "Relationship", 30 | "name": "contains", 31 | "displayName": "Contains", 32 | "description": "This parent operations event record is whole of the child operations event record(s) as the part", 33 | "target": "dtmi:digitaltwins:isa95:OperationsEventRecord;1" 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Contains additional information and description of the operations event record", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "action", 45 | "displayName": "Action", 46 | "description": "The action performed on the operations event record entry within the operations event record", 47 | "comment": "Samples: [Added, Deleted, Changed, Observed], Changed]", 48 | "schema": "string", 49 | "writable": true 50 | }, 51 | { 52 | "@type": "Property", 53 | "name": "effectiveTimestamp", 54 | "displayName": "Effective timestamp", 55 | "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", 56 | "schema": "dateTime", 57 | "writable": true 58 | }, 59 | { 60 | "@type": "Property", 61 | "name": "recordTimestamp", 62 | "displayName": "Record timestamp", 63 | "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", 64 | "schema": "dateTime", 65 | "writable": true 66 | } 67 | ] 68 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsEvent/OperationsEventRecordEntry.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1", 4 | "@type": "Interface", 5 | "displayName": "Operations event record entry", 6 | "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", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "This parent operations event record entry is whole of the child operations event record entry(s) as the part", 17 | "target": "dtmi:digitaltwins:isa95:OperationsEventRecordEntry;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "correspondsToAnEntryIn", 22 | "displayName": "Corresponds to an entry in", 23 | "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", 24 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 25 | "maxMultiplicity": 1 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "correspondsToAnExternalEntryIn", 30 | "displayName": "Corresponds to an entry in", 31 | "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", 32 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 33 | "maxMultiplicity": 1 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Contains additional information and description of the operations event record", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "informationObject", 45 | "displayName": "Information object", 46 | "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", 47 | "schema": "string", 48 | "writable": true 49 | }, 50 | { 51 | "@type": "Property", 52 | "name": "informationObjectID", 53 | "displayName": "Information object ID", 54 | "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", 55 | "schema": "string", 56 | "writable": true 57 | }, 58 | { 59 | "@type": "Property", 60 | "name": "effectiveTimestamp", 61 | "displayName": "Effective timestamp", 62 | "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", 63 | "schema": "dateTime", 64 | "writable": true 65 | }, 66 | { 67 | "@type": "Property", 68 | "name": "recordTimestamp", 69 | "displayName": "Record timestamp", 70 | "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", 71 | "schema": "dateTime", 72 | "writable": true 73 | }, 74 | { 75 | "@type": "Property", 76 | "name": "informationObjectType", 77 | "displayName": "Information object type", 78 | "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", 79 | "schema": "string", 80 | "writable": true 81 | } 82 | ] 83 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsRecord/OperationsRecordEntryTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsRecordEntryTemplate;1", 4 | "@type": "Interface", 5 | "displayName": "Operations record entry template", 6 | "description": "The operations record entry template object shall be a single information object as an object defined in this part and Part 4 of this standard, and any third-party manufacturing operations message profile within an operations record template. There shall be one or more operations record entry template objects in an operations event record template", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "This parent operations record entrytemplate is whole of the child operations record entry template(s) as the part", 17 | "target": "dtmi:digitaltwins:isa95:OperationsRecordEntryTemplate;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "correspondsToAnEntryIn", 22 | "displayName": "Corresponds to an entry in", 23 | "description": "An embedded information object. If data is referenced in this operations record entry template, the attribute is not used. The format of the information object is specified in the operations record specification template", 24 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 25 | "maxMultiplicity": 1 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "correspondsToAnExternalEntryIn", 30 | "displayName": "Corresponds to an entry in", 31 | "description": "The reference to external data (information object) which is stored external to this operations record entry template. If data is embedded in this operations record entry template, the attribute is not used. The format of the reference is specified in the operations record specification template", 32 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 33 | "maxMultiplicity": 1 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Additional information about the operations record entry template", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "informationObject", 45 | "displayName": "Information object", 46 | "description": "An embedded information object. If data is referenced in this operations record entry template, the attribute is not used. The format of the information object is specified in this operations record specification template", 47 | "schema": "string", 48 | "writable": true 49 | }, 50 | { 51 | "@type": "Property", 52 | "name": "informationObjectID", 53 | "displayName": "Information object ID", 54 | "description": "The reference to external data (information object) which is stored external to this operations record entry template. If data is embedded in this operations record entry template, the attribute is not used. The format of the reference is specified in this operations record specification template", 55 | "schema": "string", 56 | "writable": true 57 | }, 58 | { 59 | "@type": "Property", 60 | "name": "effectiveTimestamp", 61 | "displayName": "Effective timestamp", 62 | "description": "The date and time that the operations record entry template was/is effective. If no effective timestamp is provided with operations record entry template, the effective timestamp is represented by the effective timestamp attribute in the operations record template", 63 | "schema": "dateTime", 64 | "writable": true 65 | }, 66 | { 67 | "@type": "Property", 68 | "name": "recordTimestamp", 69 | "displayName": "Record timestamp", 70 | "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 record template", 71 | "schema": "dateTime", 72 | "writable": true 73 | }, 74 | { 75 | "@type": "Property", 76 | "name": "informationObjectType", 77 | "displayName": "Information object type", 78 | "description": "Identifies the type of information object type that an operations record entry template is based upon. The allowed information object types are defined in the operations record specification template", 79 | "schema": "string", 80 | "writable": true 81 | } 82 | ] 83 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsRecord/OperationsRecordSpecificationTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsRecordSpecificationTemplate;1", 4 | "@type": "Interface", 5 | "displayName": "Operations record specification template", 6 | "description": "Specification of the permitted content and form of objects in an operations record template shall be defined in an associated operations record specification template", 7 | "comment": "Abstract - According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "This parent operations record specification template is whole of the child operations record specification template(s) as the part", 17 | "target": "dtmi:digitaltwins:isa95:OperationsRecordSpecificationTemplate;1" 18 | }, 19 | { 20 | "@type": "Component", 21 | "name": "description", 22 | "displayName": "Description", 23 | "description": "Contains additional information and description of the operations record specification template", 24 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "informationObjectType", 29 | "displayName": "Information object type", 30 | "description": "Permitted set of information objects allowed in the operations record template occurrence. An operations record entry template contains the reference to the information object for operations record template. NOTE 1 An unconstrained set of values can be represented with the * entry", 31 | "comment": "Since DTDLv2 doesn't support array, use strings like [Equipment, Personnel] or [JobList]", 32 | "schema": "string", 33 | "writable": true 34 | }, 35 | { 36 | "@type": "Property", 37 | "name": "informationObjectTypeMltiplicity", 38 | "displayName": "Information object type multiplicity", 39 | "description": "The range of the information object(s) in operations record entry template allowed in the operations record template occurrence. If no limit is explicitly specified, the unbounded keyword is specified. If no multiplicity entry is specified, this is equivalent to no constraint. EXAMPLE 2 {Min: 0, Max: Unbounded}", 40 | "comment": "Samples: {Min: 1, Max: 1}, Min:1, Max: Unbounded}", 41 | "schema": "string", 42 | "writable": true 43 | }, 44 | { 45 | "@type": "Property", 46 | "name": "action", 47 | "displayName": "Action", 48 | "description": "The permitted set of actions applied to the operations record entry template object in the operations record template by the publisher. Defined values for action are added, changed, deleted, and observed. If no action is specified, this is equivalent to all actions being allowed", 49 | "comment": "Samples: [Added, Deleted, Changed, Observed], Changed]", 50 | "schema": "string", 51 | "writable": true 52 | }, 53 | { 54 | "@type": "Property", 55 | "name": "ationMultiplicity", 56 | "displayName": "Action multiplicity", 57 | "description": "The range of actions allowed to be represented in the operations record template occurrence.If no limit is explicitly specified, the unbounded keyword is specified. If no multiplicity entry is specified, this is equivalent to no constraint. EXAMPLE 3 {Min: 0, Max: Unbounded}", 58 | "comment": "Samples: {Min: 1, Max: 1}, Min:1, Max: Unbounded}", 59 | "schema": "string", 60 | "writable": true 61 | } 62 | ] 63 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsRecord/OperationsRecordTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsRecordTemplate;1", 4 | "@type": "Interface", 5 | "displayName": "Operations record template", 6 | "description": "The bundle of operations record entry template objects pertinent to a specified real-world manufacturing recording activity shall be defined as an operations record template", 7 | "comment": "Abstract - According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "recordsActionOn", 15 | "displayName": "Records action on", 16 | "description": "This operations record template acts as a container for operations record entry template (s) applying a common action for each operations record template", 17 | "target": "dtmi:digitaltwins:isa95:OperationsRecordEntryTemplate;1", 18 | "comment": "Cardiniality is 1..*" 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "specifiedBy", 23 | "displayName": "Specified by", 24 | "description": "The operations record specification template defines the information object(s) allowed to be contained within an operations record entry template in this operation record template. The specified action must match the value in the attribute, action, in this operations record template", 25 | "target": "dtmi:digitaltwins:isa95:OperationsRecordSpecificationTemplate;1", 26 | "comment": "Mandatory", 27 | "maxMultiplicity": 1 28 | }, 29 | { 30 | "@type": "Relationship", 31 | "name": "contains", 32 | "displayName": "Contains", 33 | "description": "This parent operations record template is whole of the child operations record template(s) as the part", 34 | "target": "dtmi:digitaltwins:isa95:OperationsRecordTemplate;1" 35 | }, 36 | { 37 | "@type": "Component", 38 | "name": "description", 39 | "displayName": "Description", 40 | "description": "Contains additional information and description of the operations record template", 41 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 42 | }, 43 | { 44 | "@type": "Property", 45 | "name": "action", 46 | "displayName": "Action", 47 | "description": "The action performed on the operations record entry template(s) within the operations record template. Defined values are added, changed, deleted and observed", 48 | "comment": "Samples: [Added, Deleted, Changed, Observed], Changed]", 49 | "schema": "string", 50 | "writable": true 51 | }, 52 | { 53 | "@type": "Property", 54 | "name": "effectiveTimestamp", 55 | "displayName": "Effective timestamp", 56 | "description": "The date and time that the operations record entry template was/is effective as the time of the real-world event’s recording. If no effective timestamp is provided with operations record entry template, the effective timestamp is represented by the effective timestamp attribute in the operations record template", 57 | "schema": "dateTime", 58 | "writable": true 59 | }, 60 | { 61 | "@type": "Property", 62 | "name": "recordTimestamp", 63 | "displayName": "Record timestamp", 64 | "description": "The date and time the publisher recorded/transacted the action. Record timestamp explicitly states the time that the publisher took the action of the operations record template", 65 | "schema": "dateTime", 66 | "writable": true 67 | } 68 | ] 69 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/EvaluatedProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EvaluatedProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Evaluated property", 6 | "description": "The evaluated property object identifies the set of testable object / testable object property pairs to be measured and the applicable test method to obtain a property measurement", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "correspondsTo", 15 | "displayName": "Corresponds to", 16 | "description": "The testable object property ID which is to be measured by this test specification", 17 | "target": "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "measuredWithMethodOf", 22 | "displayName": "Measured with method of", 23 | "description": "The work master ID or work directive ID which is applied test method to obtain the measurement of this evaluated property for test specification of the testable object property ID", 24 | "comment": "TODO - Not implemented yet - See Part 4", 25 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 26 | "maxMultiplicity": 1 27 | }, 28 | { 29 | "@type": "Relationship", 30 | "name": "references", 31 | "displayName": "References", 32 | "description": "This test specification criteria used to evaluate the evaluated property of a testable object property", 33 | "target": "dtmi:digitaltwins:isa95:TestSpecificationCriteria;1" 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Description of the evaluated property", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/OperationsTestRequirement.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:OperationsTestRequirement;1", 4 | "@type": "Interface", 5 | "displayName": "Operations test requirement", 6 | "description": "The operations test requirements are represented as abstract interface objects to simplify the operations test model diagram", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "specifies", 15 | "displayName": "Specifies", 16 | "description": "The test specification(s) used to evaluate this operations test requirement", 17 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "correspondsToAnElementIn", 22 | "displayName": "Corresponds to an element in", 23 | "description": "A cross-model association to an element in the resource model for the testable object as explained in Clause 3.3.8. Identifies the associated testable object of this operations test requirement for a specific segment requirement", 24 | "target": "dtmi:digitaltwins:isa95:TestableObject;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "mapsToAPropertyElementIn", 29 | "displayName": "Maps to a property element in", 30 | "description": "A cross-model dependency to a property element in the resource model for the testable object property as explained in Clause 3.3.8", 31 | "target": "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/PropertyMeasurement.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PropertyMeasurement;1", 4 | "@type": "Interface", 5 | "displayName": "Property measurement", 6 | "description": "The measurement obtained during execution of work master (defined in Part 4 of this standard) shall be presented as a property measurement. A property measurement reports the measurement obtained for a single testable object property corresponding to an evaluated property of a test specification for a specific person, equipment, physical asset, material lot or material sublot", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "recordsMeasurementOf", 15 | "displayName": "Records measurement of", 16 | "description": "The testable object property ID for which this property measurement is records the measurement result", 17 | "target": "dtmi:digitaltwins:isa95:TestableObjectProperty;1", 18 | "maxMultiplicity": 1 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "measuredWithMethodOf", 23 | "displayName": "Measured with method of", 24 | "description": "The work master ID or work directive ID which is applied test method to obtain the measurement of this property measurement for test specification of the testable object property ID", 25 | "target": "dtmi:digitaltwins:isa95:BaseModel;1", 26 | "comment": "TODO - Not implemented yet - See Part 4", 27 | "maxMultiplicity": 1 28 | }, 29 | { 30 | "@type": "Component", 31 | "name": "description", 32 | "displayName": "Description", 33 | "description": "Additional information about the property measurement", 34 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 35 | }, 36 | { 37 | "@type": "Property", 38 | "name": "measurementDate", 39 | "displayName": "Measurement date", 40 | "description": "The date and time when the measurement was obtained", 41 | "schema": "dateTime", 42 | "writable": true 43 | }, 44 | { 45 | "@type": "Property", 46 | "name": "value", 47 | "displayName": "Value", 48 | "description": "The measured value for the testable object property", 49 | "schema": "string" 50 | }, 51 | { 52 | "@type": "Property", 53 | "name": "valueUnitOfMeasure", 54 | "displayName": "Value unit of measure", 55 | "description": "The unit of measure of the measured value, if applicable", 56 | "schema": "string" 57 | }, 58 | { 59 | "@type": "Property", 60 | "name": "expiration", 61 | "displayName": "Expiration", 62 | "description": "The date of the expiration of the property measurement", 63 | "schema": "dateTime", 64 | "writable": true 65 | } 66 | ] 67 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/ResourceActual.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ResourceActual;1", 4 | "@type": "Interface", 5 | "displayName": "Resource actual", 6 | "description": "The resource actual represents an abstract interface object to simplify the operations test model diagram. The interface object represents the objects that can report test result(s)", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018" 8 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestResult;1", 4 | "@type": "Interface", 5 | "displayName": "Test result", 6 | "description": "The results from the test evaluation of property measurement of the testable object property of the testable object per the test specifications shall be presented as test results. A test result reports the measured results and evaluation of test specification criteria from a test for a specific person, piece of equipment, physical asset, material lot or material sublot", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOfResults", 15 | "displayName": "Is made up of", 16 | "description": "The child test result(s) of this test result", 17 | "target": "dtmi:digitaltwins:isa95:TestResult;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "isMadeUpOfMeasurements", 22 | "displayName": "Is made up of", 23 | "description": "The measurement obtained for each testable object property", 24 | "target": "dtmi:digitaltwins:isa95:PropertyMeasurement;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "generatedInContextOf", 29 | "displayName": "Generated in context of", 30 | "description": "The operations test requirement object applied to execute the test and generate the test result", 31 | "target": "dtmi:digitaltwins:isa95:OperationsTestRequirement;1", 32 | "maxMultiplicity": 1 33 | }, 34 | { 35 | "@type": "Relationship", 36 | "name": "recordsTestResultsFor", 37 | "displayName": "Records test results for", 38 | "description": "The tested object recorded by this test result", 39 | "target": "dtmi:digitaltwins:isa95:TestableObject;1", 40 | "maxMultiplicity": 1, 41 | "comment": "Mandatory. Must not be 'empty'" 42 | }, 43 | { 44 | "@type": "Component", 45 | "name": "description", 46 | "displayName": "Description", 47 | "description": "Additional information about the test result", 48 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 49 | }, 50 | { 51 | "@type": "Property", 52 | "name": "hierarchyScope", 53 | "displayName": "Hierarchy scope", 54 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 55 | "schema": "string" 56 | }, 57 | { 58 | "@type": "Relationship", 59 | "name": "hierarchyScopeRel", 60 | "displayName": "fits hierarchy scope", 61 | "description": "Optional relationship to hierarchy.", 62 | "comment": "Not part of the Standard Specs.", 63 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 64 | "maxMultiplicity": 1 65 | }, 66 | { 67 | "@type": "Property", 68 | "name": "evaluationDate", 69 | "displayName": "Evaluation date", 70 | "description": "Date and time of evaluation of the test result", 71 | "schema": "dateTime", 72 | "writable": true 73 | }, 74 | { 75 | "@type": "Property", 76 | "name": "evaluatedCriterionResult", 77 | "displayName": "Evaluated criterion result", 78 | "description": "Result obtained from evaluation of the associated test specification criteria.", 79 | "schema": { 80 | "@type": "Enum", 81 | "valueSchema": "string", 82 | "enumValues": [ 83 | { 84 | "name": "pass", 85 | "displayName": "Pass", 86 | "enumValue": "Pass" 87 | }, 88 | { 89 | "name": "fail", 90 | "displayName": "Fail", 91 | "enumValue": "Fail" 92 | }, 93 | { 94 | "name": "warn", 95 | "displayName": "Warn", 96 | "enumValue": "Warn" 97 | }, 98 | { 99 | "name": "other", 100 | "displayName": "Other", 101 | "enumValue": "Other", 102 | "comment": "See additional property 'otherEvaluatedCriterionResult'" 103 | } 104 | ] 105 | } 106 | }, 107 | { 108 | "@type": "Property", 109 | "name": "otherEvaluatedCriterionResult", 110 | "displayName": "Other evaluated criterion result", 111 | "description": "Not part of the Standard. But makes 'evaluatedCriterionResult' property value list extensible", 112 | "schema": "string", 113 | "writable": true 114 | }, 115 | { 116 | "@type": "Property", 117 | "name": "expiration", 118 | "displayName": "Expiration", 119 | "description": "Date of the expiration of the test result criteria", 120 | "schema": "dateTime", 121 | "writable": true 122 | } 123 | ] 124 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Test specification", 6 | "description": "The test specification details the test specification criteria and the tested evaluated property(s) required for a testable object to match the quality or performance requirements of the business or particular customers", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOf", 15 | "displayName": "Is made up of", 16 | "description": "The child test specifications of this test specification", 17 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "specifiesTestForOperations", 22 | "displayName": "Specifies test for", 23 | "description": "The operations test requirement ID(s) evaluated by this test specification", 24 | "target": "dtmi:digitaltwins:isa95:OperationsTestRequirement;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "hasValuesOf", 29 | "displayName": "Has values of", 30 | "description": "The test specification property values of this test specification", 31 | "target": "dtmi:digitaltwins:isa95:TestSpecificationProperty;1" 32 | }, 33 | { 34 | "@type": "Relationship", 35 | "name": "isMadeUpOfCriteria", 36 | "displayName": "Is made up of", 37 | "description": "The test specification criteria which is to be applied to determine the test outcome upon evaluation of the test specification", 38 | "target": "dtmi:digitaltwins:isa95:TestSpecificationCriteria;1" 39 | }, 40 | { 41 | "@type": "Relationship", 42 | "name": "evaluates", 43 | "displayName": "Evaluates", 44 | "description": "The evaluated property(s) measured and evaluated by this test specification", 45 | "target": "dtmi:digitaltwins:isa95:EvaluatedProperty;1" 46 | }, 47 | { 48 | "@type": "Relationship", 49 | "name": "specifiesTestForObject", 50 | "displayName": "Specifies test for", 51 | "description": "The ID of the testable object tested by this test specification", 52 | "target": "dtmi:digitaltwins:isa95:TestableObject;1" 53 | }, 54 | { 55 | "@type": "Component", 56 | "name": "description", 57 | "displayName": "Description", 58 | "description": "A description of the test specification", 59 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 60 | }, 61 | { 62 | "@type": "Property", 63 | "name": "version", 64 | "displayName": "Version", 65 | "description": "An identification of the version of the test specification", 66 | "schema": "string", 67 | "writable": true 68 | }, 69 | { 70 | "@type": "Property", 71 | "name": "effectiveStartDate", 72 | "displayName": "Effective start date", 73 | "description": "The effective start date and time for use of the test specification or set of test specifications", 74 | "schema": "dateTime", 75 | "writable": true 76 | }, 77 | { 78 | "@type": "Property", 79 | "name": "effectiveEndDate", 80 | "displayName": "Effective end date", 81 | "description": "The effective end date and time for use of the test specification or set of test specifications", 82 | "schema": "dateTime", 83 | "writable": true 84 | }, 85 | { 86 | "@type": "Property", 87 | "name": "publishedDate", 88 | "displayName": "Published date", 89 | "description": "The date and time on which the test specification was published or generated", 90 | "schema": "dateTime", 91 | "writable": true 92 | }, 93 | { 94 | "@type": "Property", 95 | "name": "hierarchyScope", 96 | "displayName": "Hierarchy scope", 97 | "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.", 98 | "schema": "string" 99 | }, 100 | { 101 | "@type": "Relationship", 102 | "name": "hierarchyScopeRel", 103 | "displayName": "fits hierarchy scope", 104 | "description": "Optional relationship to hierarchy.", 105 | "comment": "Not part of the Standard Specs.", 106 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 107 | "maxMultiplicity": 1 108 | }, 109 | { 110 | "@type": "Property", 111 | "name": "testSampleSize", 112 | "displayName": "Test sample size", 113 | "description": "Sample size required to perform the test", 114 | "schema": "string", 115 | "writable": true 116 | }, 117 | { 118 | "@type": "Property", 119 | "name": "physicalSample", 120 | "displayName": "Physical sample", 121 | "description": "Defines whether physical sampling is required to perform the test", 122 | "schema": { 123 | "@type": "Enum", 124 | "valueSchema": "string", 125 | "enumValues": [ 126 | { 127 | "name": "yes", 128 | "displayName": "Yes", 129 | "enumValue": "Yes", 130 | "description": "physical samples are required" 131 | }, 132 | { 133 | "name": "no", 134 | "displayName": "No", 135 | "enumValue": "No", 136 | "description": "physical samples are not required" 137 | } 138 | ] 139 | } 140 | }, 141 | { 142 | "@type": "Property", 143 | "name": "recurrenceQuantity", 144 | "displayName": "Recurrence quantity", 145 | "description": "The amount of operations activity required between samples", 146 | "schema": "string", 147 | "writable": true 148 | }, 149 | { 150 | "@type": "Property", 151 | "name": "recurrenceTimeInterval", 152 | "displayName": "Recurrence time interval", 153 | "description": "The duration of operational activity required between samples", 154 | "schema": "string", 155 | "writable": true 156 | } 157 | ] 158 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestSpecificationCriteria.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestSpecificationCriteria;1", 4 | "@type": "Interface", 5 | "displayName": "Test specification criteria", 6 | "description": "The test specification criteria object defines the set of criterion to evaluate and the test result to be reported when a testable object satisfies those criteria.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "references", 15 | "displayName": "References", 16 | "description": "This test specification criteria used to evaluate the evaluated property of a testable object property", 17 | "target": "dtmi:digitaltwins:isa95:EvaluatedProperty;1" 18 | }, 19 | { 20 | "@type": "Component", 21 | "name": "description", 22 | "displayName": "Description", 23 | "description": "Description of the test specification criteria", 24 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "sequence", 29 | "displayName": "Sequence", 30 | "description": "Specifies the sequence of evaluation of test specification criteria. The sequence shall be executed lowest first. Duplicate sequence values shall be executed in parallel with worst case result reported if both criteria are evaluated as true", 31 | "schema": "integer", 32 | "writable": true 33 | }, 34 | { 35 | "@type": "Property", 36 | "name": "expression", 37 | "displayName": "Expression", 38 | "description": "An expression of the test specification criteria to be evaluated. If the expression is empty, then the test specification criteria represents the else criterion", 39 | "schema": "string", 40 | "writable": true 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "result", 45 | "displayName": "Result", 46 | "description": "The value to be given to the result of the test if the test specification criteria expression is evaluated as true", 47 | "schema": { 48 | "@type": "Enum", 49 | "valueSchema": "string", 50 | "enumValues": [ 51 | { 52 | "name": "pass", 53 | "displayName": "Pass", 54 | "enumValue": "Pass" 55 | }, 56 | { 57 | "name": "fail", 58 | "displayName": "Fail", 59 | "enumValue": "Fail" 60 | }, 61 | { 62 | "name": "warn", 63 | "displayName": "Warn", 64 | "enumValue": "Warn" 65 | }, 66 | { 67 | "name": "other", 68 | "displayName": "Other", 69 | "enumValue": "Other", 70 | "comment": "See additional property 'otherResult'" 71 | } 72 | ] 73 | } 74 | }, 75 | { 76 | "@type": "Property", 77 | "name": "otherResult", 78 | "displayName": "Other result", 79 | "description": "Not part of the Standard. But makes 'result' property value list extensible", 80 | "schema": "string", 81 | "writable": true 82 | } 83 | ] 84 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestSpecificationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestSpecificationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Test specification property", 6 | "description": "The test specification property object defines properties of the test specification. These properties are not the characteristics to be tested", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The child test specification property(s) of this test specification property", 17 | "target": "dtmi:digitaltwins:isa95:TestSpecificationProperty;1" 18 | }, 19 | { 20 | "@type": "Component", 21 | "name": "description", 22 | "displayName": "Description", 23 | "description": "Description of the test specification property", 24 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "value", 29 | "displayName": "Value", 30 | "description": "The value, set of values, or range of the property.", 31 | "schema": "string" 32 | }, 33 | { 34 | "@type": "Property", 35 | "name": "valueUnitOfMeasure", 36 | "displayName": "Value unit of measure", 37 | "description": "The unit of measure of the associated property value", 38 | "schema": "string" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestableObject.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestableObject;1", 4 | "@type": "Interface", 5 | "displayName": "Testable object", 6 | "description": "The testable object and testable object property are represented as abstract interface objects to simplify the operations test model diagram. The interface objects represent the objects that are able to be tested by a test specification(s)", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "contents": [ 9 | { 10 | "@type": "Relationship", 11 | "name": "specifies", 12 | "displayName": "Specifies", 13 | "description": "The test specification(s) used to evaluate this testable object.", 14 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 15 | }, 16 | { 17 | "@type": "Relationship", 18 | "name": "hasTestableObjectPropertyValuesOf", 19 | "displayName": "Has values of", 20 | "description": "The testable object property values of this testable object", 21 | "target": "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/OperationsTest/TestableObjectProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:TestableObjectProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Testable object property", 6 | "description": "The testable object and testable object property are represented as abstract interface objects to simplify the operations test model diagram. The interface objects represent the objects that are able to be tested by a test specification(s)", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018" 8 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Person/Person.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Person;1", 4 | "@type": "Interface", 5 | "displayName": "Person", 6 | "description": "A representation of a specifically identified individual shall be presented as a person. A person may be a member of zero or more personnel classes.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "definedBy", 16 | "displayName": "Defined by", 17 | "description": "Personnel classes supported by this person.This person supports the personnel class property(s) associated with the personnel class.", 18 | "target": "dtmi:digitaltwins:isa95:PersonnelClass;1", 19 | "comment": "Relationship type: Association" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "hasValuesOf", 24 | "displayName": "Has values of", 25 | "description": "The person property values of this person.", 26 | "target": "dtmi:digitaltwins:isa95:PersonProperty;1" 27 | }, 28 | { 29 | "@type": "Component", 30 | "name": "description", 31 | "displayName": "Description", 32 | "description": "Additional information about the resource.", 33 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 34 | }, 35 | { 36 | "@type": "Property", 37 | "name": "hierarchyScope", 38 | "displayName": "Hierarchy scope", 39 | "description": "Identifies where the exchanged information fits within the role-based equipment hierarchy. Optionally, hierarchy scope defines the scope of the person definition.", 40 | "schema": "string" 41 | }, 42 | { 43 | "@type": "Relationship", 44 | "name": "hierarchyScopeRel", 45 | "displayName": "fits hierarchy scope", 46 | "description": "Optional relationship to hierarchy.", 47 | "comment": "Not part of the Standard Specs.", 48 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 49 | "maxMultiplicity": 1 50 | }, 51 | { 52 | "@type": "Property", 53 | "name": "name", 54 | "displayName": "Name", 55 | "description": "The name of the individual.This is meant as an additional identification of the resource, but only as information and not as a unique value.", 56 | "schema": "string" 57 | }, 58 | { 59 | "@type": "Component", 60 | "name": "spatialDefinition", 61 | "displayName": "Spatial definition", 62 | "description": "Spatially defines the personas a zero-dimensional point, one-dimensional line, or two-dimensional shape or three-dimensional solid,/ / WKT / POLYGON ( ( -646.99 676.18, -645.14 683.09, -", 63 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 64 | }, 65 | { 66 | "@type": "Property", 67 | "name": "operationalLocation", 68 | "displayName": "Operational location", 69 | "description": "Identifies the operational location of the person.", 70 | "schema": "string" 71 | }, 72 | { 73 | "@type": "Property", 74 | "name": "operationalLocationType", 75 | "displayName": "Operational location type", 76 | "description": "Indicates whether the operational location attribute refers to an operational location object or contains a description of the operational location.Mandatory where an operational location attribute is specified.Defined values are operational location:operational location attribute references an operational location;description:operational location attribute contains a description of the operational location, such as a street address.", 77 | "schema": { 78 | "@type": "Enum", 79 | "valueSchema": "string", 80 | "enumValues": [ 81 | { 82 | "name": "operationalLocation", 83 | "enumValue": "Operational Location", 84 | "displayName": "Operational Location", 85 | "description": "operational location attribute references an operational location;" 86 | }, 87 | { 88 | "name": "description", 89 | "enumValue": "description", 90 | "displayName": "Description", 91 | "description": "operational location attribute contains a description of the operational location, such as a street address." 92 | } 93 | ] 94 | } 95 | } 96 | ] 97 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Person/PersonProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PersonProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Person Property", 6 | "description": "Properties of a person shall be presented as person properties. Each person shall have zero or more person properties. These specify the current property values of the person for the associated personnel class property. ", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "This nested person property(s)is part of the person property as the whole.", 18 | "target": "dtmi:digitaltwins:isa95:PersonProperty;1", 19 | "comment": "Relationship type: Composition hierarchy" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "mapsTo", 24 | "displayName": "Maps to", 25 | "description": "If the person supports the parent personnel class,the personnel class property(s)is applied in this person property(s). ", 26 | "target": "dtmi:digitaltwins:isa95:PersonnelClassProperty;1", 27 | "comment": "Relationship type: Dependency" 28 | }, 29 | { 30 | "@type": "Component", 31 | "name": "description", 32 | "displayName": "Description", 33 | "description": "Additional information about the person property.", 34 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 35 | }, 36 | { 37 | "@type": "Property", 38 | "name": "value", 39 | "displayName": "Value", 40 | "description": "The value, set of values, or range of the property.", 41 | "schema": "string" 42 | }, 43 | { 44 | "@type": "Property", 45 | "name": "valueUnitOfMeasure", 46 | "displayName": "Value unit of measure", 47 | "description": "The unit of measure of the associated property value", 48 | "schema": "string" 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Person/PersonnelClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PersonnelClass;1", 4 | "@type": "Interface", 5 | "displayName": "Personnel Class", 6 | "description": "A representation of a grouping of persons with similar characteristics for a definite purpose such as manufacturing operations definition, scheduling, capability and performance shall be presented as a personnel class. Any person may be a member of zero or more personnel classes. A personnel class may be defined as a specialization of zero or more personnel class. A personnel class may be made up of zero or more personnel class(s).", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", "dtmi:digitaltwins:isa95:TestableObject;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "includesPropertiesOf", 15 | "displayName": "Includes properties of", 16 | "target": "dtmi:digitaltwins:isa95:PersonnelClass;1", 17 | "description": "This personnel class(s)include properties of the personnel class." 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "hasPropertiesOf", 22 | "displayName": "Has properties of", 23 | "target": "dtmi:digitaltwins:isa95:PersonnelClassProperty;1", 24 | "description": "The personnel class property(s)of this personnel class." 25 | }, 26 | { 27 | "@type": "Component", 28 | "name": "description", 29 | "displayName": "Description", 30 | "description": "Additional information and description about the personnel class.", 31 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 32 | }, 33 | { 34 | "@type": "Property", 35 | "name": "hierarchyScope", 36 | "displayName": "Hierarchy scope", 37 | "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.", 38 | "schema": "string" 39 | }, 40 | { 41 | "@type": "Relationship", 42 | "name": "hierarchyScopeRel", 43 | "displayName": "fits hierarchy scope", 44 | "description": "Optional relationship to hierarchy.", 45 | "comment": "Not part of the Standard Specs.", 46 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 47 | "maxMultiplicity": 1 48 | } 49 | ] 50 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/Person/PersonnelClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PersonnelClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Personnel Class Property", 6 | "description": "Properties of a personnel class shall be presented as personnel class properties. Each personnel class shall have zero or more recognized properties", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested personnel class property(s) makes up part of this personnel class property as the whole.", 18 | "target": "dtmi:digitaltwins:isa95:PersonnelClassProperty;1" 19 | }, 20 | { 21 | "@type": "Component", 22 | "name": "description", 23 | "displayName": "Description", 24 | "description": "Additional information and description about the personnel class property.", 25 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 26 | }, 27 | { 28 | "@type": "Property", 29 | "name": "value", 30 | "displayName": "Value", 31 | "description": "The value, set of values, or range of the property.", 32 | "schema": "string" 33 | }, 34 | { 35 | "@type": "Property", 36 | "name": "valueUnitOfMeasure", 37 | "displayName": "Value unit of measure", 38 | "description": "The unit of measure of the associated property value", 39 | "schema": "string" 40 | }, 41 | { 42 | "@type": "Property", 43 | "name": "propertyType", 44 | "displayName": "Property type", 45 | "description": "Defines the type of the property.", 46 | "schema": { 47 | "@type": "Enum", 48 | "valueSchema": "string", 49 | "enumValues": [ 50 | { 51 | "name": "classType", 52 | "enumValue": "ClassType", 53 | "displayName": "Class Type", 54 | "description": "The property value is defined for the class and there is no value associated with an instance" 55 | }, 56 | { 57 | "name": "instanceType", 58 | "enumValue": "InstanceType", 59 | "displayName": "Instance Type", 60 | "description": "the property value of the class is undefined" 61 | }, 62 | { 63 | "name": "defaultType", 64 | "enumValue": "DefaultType", 65 | "displayName": "Default Type", 66 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 67 | } 68 | ] 69 | } 70 | } 71 | ] 72 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/PhysicalAsset.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAsset;1", 4 | "@type": "Interface", 5 | "displayName": "Physical Asset", 6 | "description": "A physical piece of equipment shall be presented as a physical asset.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "definedBy", 16 | "displayName": "Defined by", 17 | "description": "Physical asset classes supported by this physical asset. This physical asset supports the physical asset class property(s) associated with the physical asset class.", 18 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClass;1", 19 | "comment": "Relationship type: Association" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "hasValuesOf", 24 | "displayName": "Has values of", 25 | "description": "The physical asset property values of this physical asset.", 26 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetProperty;1" 27 | }, 28 | { 29 | "@type": "Relationship", 30 | "name": "isMadeUpOf", 31 | "displayName": "Is made up of", 32 | "description": "The related object(s) makes up part of this physical asset as the whole.", 33 | "target": "dtmi:digitaltwins:isa95:PhysicalAsset;1" 34 | }, 35 | { 36 | "@type": "Component", 37 | "name": "description", 38 | "displayName": "Description", 39 | "description": "Additional information about the physical asset", 40 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 41 | }, 42 | { 43 | "@type": "Property", 44 | "name": "hierarchyScope", 45 | "displayName": "Hierarchy scope", 46 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scopedefines the scope of the physical asset class, such as the site or area where it is defined.", 47 | "schema": "string" 48 | }, 49 | { 50 | "@type": "Relationship", 51 | "name": "hierarchyScopeRel", 52 | "displayName": "fits hierarchy scope", 53 | "description": "Optional relationship to hierarchy.", 54 | "comment": "Not part of the Standard Specs.", 55 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 56 | "maxMultiplicity": 1 57 | }, 58 | { 59 | "@type": "Property", 60 | "name": "fixedAssetID", 61 | "displayName": "Fixed asset ID", 62 | "description": "Contains a unique identification for financial tracking as required by laws or regulations", 63 | "schema": "string" 64 | }, 65 | { 66 | "@type": "Property", 67 | "name": "vendorID", 68 | "displayName": "Vendor ID", 69 | "description": "Contains a vendors serial number", 70 | "schema": "string" 71 | }, 72 | { 73 | "@type": "Component", 74 | "name": "spatialDefinition", 75 | "displayName": "Spatial definition", 76 | "description": "Spatially defines the physical asset as a zero-dimensional point, one-dimensional line, or two-dimensional shape or three dimensional solid.", 77 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 78 | }, 79 | { 80 | "@type": "Property", 81 | "name": "physicalLocation", 82 | "displayName": "Physical location", 83 | "description": "Contains a vendors serial number", 84 | "schema": "string" 85 | }, 86 | { 87 | "@type": "Property", 88 | "name": "physicalocationType", 89 | "displayName": "Physical location type", 90 | "description": "Indicates whether the physical location attribute refers to an operational location object or contains a description of the physical location. Mandatory where a physical location attribute is specified. Defined values are operational location: physical location attribute references an operational location; description: physical location attribute contains a description of the physical location, such as a street address.", 91 | "schema": { 92 | "@type": "Enum", 93 | "valueSchema": "string", 94 | "enumValues": [ 95 | { 96 | "name": "operationalLocation", 97 | "enumValue": "operationalLocation", 98 | "displayName": "Operational Location", 99 | "description": "physical location attribute references an operational location" 100 | }, 101 | { 102 | "name": "description", 103 | "enumValue": "description", 104 | "displayName": "Description", 105 | "description": " physical location attribute contains a description of the physical location, such as a street address." 106 | } 107 | ] 108 | } 109 | } 110 | ] 111 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/PhysicalAssetClass.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAssetClass;1", 4 | "@type": "Interface", 5 | "displayName": "Physical Asset class", 6 | "description": "A representation of a grouping of physical assets with similar characteristics for purposes of repair and replacement shall be presented as a physical asset class. Any physical asset shall be a member of one physical asset class. A physical asset class may be defined as a specialization of zero or more physical asset classes. A physical asset class may be made up of zero or more physical asset classes.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObject;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "includesPropertiesOf", 16 | "displayName": "Includes properties of", 17 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClass;1", 18 | "description": "This physical asset class(s) include properties of the physical asset class." 19 | }, 20 | { 21 | "@type": "Relationship", 22 | "name": "isMadeUpOf", 23 | "displayName": "Is made up of", 24 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClass;1", 25 | "description": "This parent physical asset class is whole of the child physical asset class(s) as the part." 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "hasPropertiesOf", 30 | "displayName": "Has properties of", 31 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClassProperty;1", 32 | "description": "The physical asset class property(s) of this physical asset class." 33 | }, 34 | { 35 | "@type": "Property", 36 | "name": "manufacturer", 37 | "displayName": "Manufacturer", 38 | "description": "An identification of the manufacturer.", 39 | "schema": "string" 40 | }, 41 | { 42 | "@type": "Component", 43 | "name": "description", 44 | "displayName": "Description", 45 | "description": "Additional information about the property class asset", 46 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 47 | }, 48 | { 49 | "@type": "Property", 50 | "name": "hierarchyScope", 51 | "displayName": "Hierarchy scope", 52 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scopedefines the scope of the physical asset class, such as the site or area where it is defined.", 53 | "schema": "string" 54 | }, 55 | { 56 | "@type": "Relationship", 57 | "name": "hierarchyScopeRel", 58 | "displayName": "fits hierarchy scope", 59 | "description": "Optional relationship to hierarchy.", 60 | "comment": "Not part of the Standard Specs.", 61 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 62 | "maxMultiplicity": 1 63 | } 64 | ] 65 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/PhysicalAssetClassProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAssetClassProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Physical Asset class property", 6 | "description": "Properties of a physical asset class shall be presented as physical asset class properties. Each may have zero or more recognized properties.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested physical asset class property(s) makes up part of this physical asset class property as the whole", 18 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClassProperty;1" 19 | }, 20 | { 21 | "@type": "Component", 22 | "name": "description", 23 | "displayName": "Description", 24 | "description": "Additional information about the asset property.", 25 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 26 | }, 27 | { 28 | "@type": "Property", 29 | "name": "propertyType", 30 | "displayName": "Property type", 31 | "description": "Defines the type of the property.", 32 | "schema": { 33 | "@type": "Enum", 34 | "valueSchema": "string", 35 | "enumValues": [ 36 | { 37 | "name": "classType", 38 | "enumValue": "ClassType", 39 | "displayName": "Class Type", 40 | "description": "The property value is defined for the class and there is no value associated with an instance" 41 | }, 42 | { 43 | "name": "instanceType", 44 | "enumValue": "InstanceType", 45 | "displayName": "Instance Type", 46 | "description": "the property value of the class is undefined" 47 | }, 48 | { 49 | "name": "defaultType", 50 | "enumValue": "DefaultType", 51 | "displayName": "Default Type", 52 | "description": "The property value is defined for the class as the default instance value, but individual instances of the class may redefine specific values." 53 | } 54 | ] 55 | } 56 | }, 57 | { 58 | "@type": "Property", 59 | "name": "value", 60 | "displayName": "Value", 61 | "description": "The value, set of values, or range of the property.", 62 | "schema": "string" 63 | }, 64 | { 65 | "@type": "Property", 66 | "name": "valueUnitOfMeasure", 67 | "displayName": "Value unit of measure", 68 | "description": "The unit of measure of the associated property value", 69 | "schema": "string" 70 | } 71 | ] 72 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/PhysicalAssetProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAssetProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Physical Asset property", 6 | "description": "Properties of physical assets shall be presented as physical asset properties. A physical asset shall have zero or more physical asset properties. These specify the current property values of the physical asset for the associated physical asset class property. Physical asset properties may include a unit of measure. ", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1", 10 | "dtmi:digitaltwins:isa95:TestableObjectProperty;1" 11 | ], 12 | "contents": [ 13 | { 14 | "@type": "Relationship", 15 | "name": "contains", 16 | "displayName": "Contains", 17 | "description": "The nested physical asset property(s) makes up part of this physical asset property as the whole.", 18 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetProperty;1", 19 | "comment": "Relationship type: Composition hierarchy" 20 | }, 21 | { 22 | "@type": "Relationship", 23 | "name": "mapsTo", 24 | "displayName": "Maps to", 25 | "description": "If the parent physical asset supports a physical asset class, the physical asset class property(s) is applied in this physical asset property(s).This physical asset property maps to the corresponding physical asset class property.", 26 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClassProperty;1", 27 | "comment": "Relationship type: Dependency" 28 | }, 29 | { 30 | "@type": "Component", 31 | "name": "description", 32 | "displayName": "Description", 33 | "description": "Additional information about the asset property.", 34 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 35 | }, 36 | { 37 | "@type": "Property", 38 | "name": "value", 39 | "displayName": "Value", 40 | "description": "The value, set of values, or range of the property.", 41 | "schema": "string" 42 | }, 43 | { 44 | "@type": "Property", 45 | "name": "valueUnitOfMeasure", 46 | "displayName": "Value unit of measure", 47 | "description": "The unit of measure of the associated property value", 48 | "schema": "string" 49 | } 50 | ] 51 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/EquipmentSegmentSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment segment specification", 6 | "description": "Equipment resources that are required for a process segment shall be presented as equipment segment specifications", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOf", 15 | "displayName": "Is made up of", 16 | "description": "The related object(s) makes up part of this equipment segment specification as the whole", 17 | "target": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecification;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "specifies", 22 | "displayName": "Specifies", 23 | "description": "The test specification(s) used to evaluate this testable object.", 24 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "hasPropertiesOf", 29 | "displayName": "has properties of", 30 | "description": "The equipment segment specification property(s) of this equipment segment specification", 31 | "target": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecificationProperty;1" 32 | }, 33 | { 34 | "@type": "Relationship", 35 | "name": "correspondsToEquipmentClass", 36 | "displayName": "Corresponds to", 37 | "description": "A cross-model association to element in the equipment model as explained in Clause 3.3.8. Identifies the associated equipment class or set of equipment classes of the specification for a specific process segment", 38 | "target": "dtmi:digitaltwins:isa95:EquipmentClass;1" 39 | }, 40 | { 41 | "@type": "Relationship", 42 | "name": "correspondsToEquipment", 43 | "displayName": "Corresponds to", 44 | "description": "A cross-model association to element in the equipment model as explained in Clause 3.3.8. Identifies the associated equipment or set of equipment of the specification for a specific process segment. Typically, either equipment class or equipment is defined", 45 | "target": "dtmi:digitaltwins:isa95:Equipment;1" 46 | }, 47 | { 48 | "@type": "Component", 49 | "name": "description", 50 | "displayName": "Description", 51 | "description": "Contains additional information and descriptions", 52 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "hierarchyScope", 57 | "displayName": "Hierarchy scope", 58 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 59 | "schema": "string" 60 | }, 61 | { 62 | "@type": "Relationship", 63 | "name": "hierarchyScopeRel", 64 | "displayName": "fits hierarchy scope", 65 | "description": "Optional relationship to hierarchy.", 66 | "comment": "Not part of the Standard Specs.", 67 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 68 | "maxMultiplicity": 1 69 | }, 70 | { 71 | "@type": "Component", 72 | "name": "spatialDefinition", 73 | "displayName": "Spatial definition", 74 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 75 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 76 | }, 77 | { 78 | "@type": "Property", 79 | "name": "operationalLocation", 80 | "displayName": "Operational location", 81 | "description": "Identifies the operational location of the equipment specified by this equipment segment specification", 82 | "schema": "string" 83 | }, 84 | { 85 | "@type": "Property", 86 | "name": "operationalLocationType", 87 | "displayName": "Operational location type", 88 | "description": "Indicates whether the operational location attribute refers to an operational location object or contains a description of the operational location. Mandatory where an operational location attribute is specified", 89 | "schema": { 90 | "@type": "Enum", 91 | "valueSchema": "string", 92 | "enumValues": [ 93 | { 94 | "name": "operationalLocation", 95 | "enumValue": "Operational Location", 96 | "displayName": "Operational Location", 97 | "description": "operational location attribute references an operational location;" 98 | }, 99 | { 100 | "name": "description", 101 | "enumValue": "Description", 102 | "displayName": "Description", 103 | "description": "operational location attribute contains a description of the operational location, such as a street address." 104 | } 105 | ] 106 | } 107 | }, 108 | { 109 | "@type": "Property", 110 | "name": "equipmentUse", 111 | "displayName": "Equipment use", 112 | "description": "Defines the expected use of the equipment class or equipment in the context of the process segment", 113 | "schema": "string", 114 | "writable": true 115 | }, 116 | { 117 | "@type": "Property", 118 | "name": "quantity", 119 | "displayName": "Quantity", 120 | "schema": "double", 121 | "description": "Specifies the amount of resources required", 122 | "writable": true 123 | }, 124 | { 125 | "@type": "Property", 126 | "name": "quantityUnitOfMeasure", 127 | "displayName": "Quantity unit of measure", 128 | "description": "The unit of measure of the associated quantity", 129 | "schema": "string", 130 | "writable": true 131 | } 132 | ] 133 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/EquipmentSegmentSpecificationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecificationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Equipment segment specification property", 6 | "description": "Specific properties that are required for equipment segment specifications shall be presented as equipment segment specification properties", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The equipment segment specification property(s) of this equipment segment specification property", 17 | "target": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecificationProperty;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "mapsToClassProperty", 22 | "displayName": "Maps to", 23 | "description": "A cross-model dependency to element in the equipment model as explained in Clause 3.3.8", 24 | "target": "dtmi:digitaltwins:isa95:EquipmentClassProperty;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "mapsToProperty", 29 | "displayName": "Maps to", 30 | "description": "A cross-model dependency to element in the equipment model as explained in Clause 3.3.8", 31 | "target": "dtmi:digitaltwins:isa95:EquipmentProperty;1" 32 | }, 33 | { 34 | "@type": "Component", 35 | "name": "description", 36 | "displayName": "Description", 37 | "description": "Contains additional information and descriptions of the property", 38 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 39 | }, 40 | { 41 | "@type": "Property", 42 | "name": "value", 43 | "displayName": "Value", 44 | "description": "The value, set of values, or range of the property.", 45 | "schema": "string" 46 | }, 47 | { 48 | "@type": "Property", 49 | "name": "valueUnitOfMeasure", 50 | "displayName": "Value unit of measure", 51 | "description": "The unit of measure of the associated property value", 52 | "schema": "string" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "quantity", 57 | "displayName": "Quantity", 58 | "schema": "double", 59 | "description": "Specifies the amount of resources required", 60 | "writable": true 61 | }, 62 | { 63 | "@type": "Property", 64 | "name": "quantityUnitOfMeasure", 65 | "displayName": "Quantity unit of measure", 66 | "description": "The unit of measure of the associated quantity", 67 | "schema": "string", 68 | "writable": true 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/MaterialSegmentSpecificationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:MaterialSegmentSpecificationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Material segment specification property", 6 | "description": "Specific properties that are required for material segment specifications shall be presented as material segment specification properties", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The material segment specification property(s) of this material segment specification property", 17 | "target": "dtmi:digitaltwins:isa95:MaterialSegmentSpecificationProperty;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "mapsToClassProperty", 22 | "displayName": "Maps to", 23 | "description": "A cross-model dependency to element in the material model as explained in Clause 3.3.8", 24 | "target": "dtmi:digitaltwins:isa95:MaterialClassProperty;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "mapsToDefinitionProperty", 29 | "displayName": "Maps to", 30 | "description": "A cross-model dependency to element in the material model as explained in Clause 3.3.8", 31 | "target": "dtmi:digitaltwins:isa95:MaterialDefinitionProperty;1" 32 | }, 33 | { 34 | "@type": "Relationship", 35 | "name": "mapsToLotProperty", 36 | "displayName": "Maps to", 37 | "description": "A cross-model dependency to element in the material model as explained in Clause 3.3.8", 38 | "target": "dtmi:digitaltwins:isa95:MaterialLotProperty;1" 39 | }, 40 | { 41 | "@type": "Component", 42 | "name": "description", 43 | "displayName": "Description", 44 | "description": "Contains additional information and descriptions of the property", 45 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 46 | }, 47 | { 48 | "@type": "Property", 49 | "name": "value", 50 | "displayName": "Value", 51 | "description": "The value, set of values, or range of the property.", 52 | "schema": "string" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "valueUnitOfMeasure", 57 | "displayName": "Value unit of measure", 58 | "description": "The unit of measure of the associated property value", 59 | "schema": "string" 60 | }, 61 | { 62 | "@type": "Property", 63 | "name": "quantity", 64 | "displayName": "Quantity", 65 | "schema": "double", 66 | "description": "Specifies the personnel resource required for the parent process segment", 67 | "writable": true 68 | }, 69 | { 70 | "@type": "Property", 71 | "name": "quantityUnitOfMeasure", 72 | "displayName": "Quantity unit of measure", 73 | "description": "The unit of measure of the associated quantity", 74 | "schema": "string", 75 | "writable": true 76 | } 77 | ] 78 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/PersonnelSegmentSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Personnel segment specification", 6 | "description": "Personnel resources that are required for a process segment shall be presented as personnel segment specifications", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOf", 15 | "displayName": "Is made up of", 16 | "description": "The related object(s) makes up part of this personnel segment specification as the whole", 17 | "target": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecification;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "specifies", 22 | "displayName": "Specifies", 23 | "description": "The test specification(s) used to evaluate this testable object.", 24 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "hasPropertiesOf", 29 | "displayName": "has properties of", 30 | "description": "The personnel segment specification property(s) of this personnel segment specification", 31 | "target": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecificationProperty;1" 32 | }, 33 | { 34 | "@type": "Relationship", 35 | "name": "correspondsToPersonnelClass", 36 | "displayName": "Corresponds to", 37 | "description": "A cross-model association to element in the personnel model as explained in Clause 3.3.8. Identifies the associated personnel class or set of personnel classes specified", 38 | "target": "dtmi:digitaltwins:isa95:PersonnelClass;1" 39 | }, 40 | { 41 | "@type": "Relationship", 42 | "name": "correspondsToPerson", 43 | "displayName": "Corresponds to", 44 | "description": "A cross-model association to element in the personnel model as explained in Clause 3.3.8. Identifies the associated person or set of persons specified. Typically, either personnel class or person is specified, but not both", 45 | "target": "dtmi:digitaltwins:isa95:Person;1" 46 | }, 47 | { 48 | "@type": "Component", 49 | "name": "description", 50 | "displayName": "Description", 51 | "description": "Additional information about the process segment", 52 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "hierarchyScope", 57 | "displayName": "Hierarchy scope", 58 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 59 | "schema": "string" 60 | }, 61 | { 62 | "@type": "Relationship", 63 | "name": "hierarchyScopeRel", 64 | "displayName": "fits hierarchy scope", 65 | "description": "Optional relationship to hierarchy.", 66 | "comment": "Not part of the Standard Specs.", 67 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 68 | "maxMultiplicity": 1 69 | }, 70 | { 71 | "@type": "Component", 72 | "name": "spatialDefinition", 73 | "displayName": "Spatial definition", 74 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 75 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 76 | }, 77 | { 78 | "@type": "Property", 79 | "name": "operationalLocation", 80 | "displayName": "Operational location", 81 | "description": "Identifies the operational location of the personnel resource(s) specified by this personnel segment specification", 82 | "schema": "string" 83 | }, 84 | { 85 | "@type": "Property", 86 | "name": "operationalLocationType", 87 | "displayName": "Operational location type", 88 | "description": "ndicates whether the operational location attribute refers to an operational location object or contains a description of the operational location. Mandatory where an operational location attribute is specified", 89 | "schema": { 90 | "@type": "Enum", 91 | "valueSchema": "string", 92 | "enumValues": [ 93 | { 94 | "name": "operationalLocation", 95 | "enumValue": "OperationalLocation", 96 | "displayName": "Operational Location", 97 | "description": "operational location attribute references an operational location;" 98 | }, 99 | { 100 | "name": "description", 101 | "enumValue": "Description", 102 | "displayName": "Description", 103 | "description": "operational location attribute contains a description of the operational location, such as a street address." 104 | } 105 | ] 106 | } 107 | }, 108 | { 109 | "@type": "Property", 110 | "name": "personnelUse", 111 | "displayName": "Personnel use", 112 | "description": "Defines the expected use of the personnel class or person in the context of the process segment.", 113 | "schema": "string", 114 | "writable": true 115 | }, 116 | { 117 | "@type": "Property", 118 | "name": "quantity", 119 | "displayName": "Quantity", 120 | "schema": "double", 121 | "description": "Specifies the personnel resource required for the parent process segment", 122 | "writable": true 123 | }, 124 | { 125 | "@type": "Property", 126 | "name": "quantityUnitOfMeasure", 127 | "displayName": "Quantity unit of measure", 128 | "description": "The unit of measure of the associated quantity", 129 | "schema": "string", 130 | "writable": true 131 | } 132 | ] 133 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/PersonnelSegmentSpecificationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecificationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Personnel segment specification property", 6 | "description": "Specific properties that are required for personnel segment specifications shall be presented as personnel segment specification properties", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The personnel segment specification property(s) of this personnel segment specification property", 17 | "target": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecificationProperty;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "mapsToClassProperty", 22 | "displayName": "Maps to", 23 | "description": "A cross-model dependency to element in the personnel model as explained in Clause 3.3.8", 24 | "target": "dtmi:digitaltwins:isa95:PersonnelClassProperty;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "mapsToProperty", 29 | "displayName": "Maps to", 30 | "description": "A cross-model dependency to element in the personnel model as explained in Clause 3.3.8", 31 | "target": "dtmi:digitaltwins:isa95:PersonProperty;1" 32 | }, 33 | { 34 | "@type": "Component", 35 | "name": "description", 36 | "displayName": "Description", 37 | "description": "Contains additional information and descriptions of the property", 38 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 39 | }, 40 | { 41 | "@type": "Property", 42 | "name": "value", 43 | "displayName": "Value", 44 | "description": "The value, set of values, or range of the property.", 45 | "schema": "string" 46 | }, 47 | { 48 | "@type": "Property", 49 | "name": "valueUnitOfMeasure", 50 | "displayName": "Value unit of measure", 51 | "description": "The unit of measure of the associated property value", 52 | "schema": "string" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "quantity", 57 | "displayName": "Quantity", 58 | "schema": "double", 59 | "description": "Specifies the personnel resource required for the parent process segment", 60 | "writable": true 61 | }, 62 | { 63 | "@type": "Property", 64 | "name": "quantityUnitOfMeasure", 65 | "displayName": "Quantity unit of measure", 66 | "description": "The unit of measure of the associated quantity", 67 | "schema": "string", 68 | "writable": true 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/PhysicalAssetSegmentSpecification.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecification;1", 4 | "@type": "Interface", 5 | "displayName": "Physical asset segment specification", 6 | "description": "Physical asset resources that are required for a process segment shall be presented as physical asset segment specifications", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOf", 15 | "displayName": "Is made up of", 16 | "description": "The related object(s) makes up part of this physical asset segment specification as the whole", 17 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecification;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "specifies", 22 | "displayName": "Specifies", 23 | "description": "The test specification(s) used to evaluate this testable object.", 24 | "target": "dtmi:digitaltwins:isa95:TestSpecification;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "hasPropertiesOf", 29 | "displayName": "has properties of", 30 | "description": "The physical asset segment specification property(s) of this physical asset segment specification", 31 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecificationProperty;1" 32 | }, 33 | { 34 | "@type": "Relationship", 35 | "name": "correspondsToPhysicalAssetClass", 36 | "displayName": "Corresponds to", 37 | "description": "A cross-model association to element in the physical asset model as explained in Clause 3.3.8. Identifies the associated physical asset class or set of physical asset classes of the specification for a specific process segment", 38 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClass;1" 39 | }, 40 | { 41 | "@type": "Relationship", 42 | "name": "correspondsToPhysicalAsset", 43 | "displayName": "Corresponds to", 44 | "description": "A cross-model association to element in the physical asset model as explained in Clause 3.3.8. Identifies the associated physical asset or set of physical assets of the specification for a specific process segment. Typically, either physical asset class or physical asset is specified, but not both", 45 | "target": "dtmi:digitaltwins:isa95:PhysicalAsset;1" 46 | }, 47 | { 48 | "@type": "Component", 49 | "name": "description", 50 | "displayName": "Description", 51 | "description": "Contains additional information and descriptions", 52 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "hierarchyScope", 57 | "displayName": "Hierarchy scope", 58 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 59 | "schema": "string" 60 | }, 61 | { 62 | "@type": "Relationship", 63 | "name": "hierarchyScopeRel", 64 | "displayName": "fits hierarchy scope", 65 | "description": "Optional relationship to hierarchy.", 66 | "comment": "Not part of the Standard Specs.", 67 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 68 | "maxMultiplicity": 1 69 | }, 70 | { 71 | "@type": "Component", 72 | "name": "spatialDefinition", 73 | "displayName": "Spatial definition", 74 | "description": "Spatially defines the equipment as a zero-dimensional point, one dimensional line, or two dimensional shape or three dimensional solid.", 75 | "schema": "dtmi:digitaltwins:isa95:SpatialDefinition;1" 76 | }, 77 | { 78 | "@type": "Property", 79 | "name": "physicalLocation", 80 | "displayName": "Physical location", 81 | "description": "Identifies the physical location of the physical asset(s) specified by this physical asset segment specification", 82 | "schema": "string" 83 | }, 84 | { 85 | "@type": "Property", 86 | "name": "physicalocationType", 87 | "displayName": "Physical location type", 88 | "description": "Indicates whether the physical location attribute refers to an operational location object or contains a description of the physical location. Mandatory where a physical location attribute is specified", 89 | "schema": { 90 | "@type": "Enum", 91 | "valueSchema": "string", 92 | "enumValues": [ 93 | { 94 | "name": "operationalLocation", 95 | "enumValue": "operationalLocation", 96 | "displayName": "Operational Location", 97 | "description": "physical location attribute references an operational location" 98 | }, 99 | { 100 | "name": "description", 101 | "enumValue": "description", 102 | "displayName": "Description", 103 | "description": " physical location attribute contains a description of the physical location, such as a street address." 104 | } 105 | ] 106 | } 107 | }, 108 | { 109 | "@type": "Property", 110 | "name": "physicalAssetUse", 111 | "displayName": "Physical asset use", 112 | "description": "Defines the expected use of the physical asset class or physical asset in the context of the process segment", 113 | "schema": "string", 114 | "writable": true 115 | }, 116 | { 117 | "@type": "Property", 118 | "name": "quantity", 119 | "displayName": "Quantity", 120 | "schema": "double", 121 | "description": "Specifies the amount of resources required", 122 | "writable": true 123 | }, 124 | { 125 | "@type": "Property", 126 | "name": "quantityUnitOfMeasure", 127 | "displayName": "Quantity unit of measure", 128 | "description": "The unit of measure of the associated quantity", 129 | "schema": "string", 130 | "writable": true 131 | } 132 | ] 133 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/PhysicalAssetSegmentSpecificationProperty.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecificationProperty;1", 4 | "@type": "Interface", 5 | "displayName": "Physical asset segment specification property", 6 | "description": "Specific properties that are required for physical asset segment specifications shall be presented as physical asset segment specification property(s)", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "contains", 15 | "displayName": "Contains", 16 | "description": "The physical asset segment specification property(s) of this physical asset segment specification property", 17 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecificationProperty;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "mapsToClassProperty", 22 | "displayName": "Maps to", 23 | "description": "A cross-model dependency to element in the physical asset model as explained in Clause 3.3.8", 24 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetClassProperty;1" 25 | }, 26 | { 27 | "@type": "Relationship", 28 | "name": "mapsToProperty", 29 | "displayName": "Maps to", 30 | "description": "A cross-model dependency to element in the physical asset model as explained in Clause 3.3.8", 31 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetProperty;1" 32 | }, 33 | { 34 | "@type": "Component", 35 | "name": "description", 36 | "displayName": "Description", 37 | "description": "Contains additional information and descriptions of the property", 38 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 39 | }, 40 | { 41 | "@type": "Property", 42 | "name": "value", 43 | "displayName": "Value", 44 | "description": "The value, set of values, or range of the property.", 45 | "schema": "string" 46 | }, 47 | { 48 | "@type": "Property", 49 | "name": "valueUnitOfMeasure", 50 | "displayName": "Value unit of measure", 51 | "description": "The unit of measure of the associated property value", 52 | "schema": "string" 53 | }, 54 | { 55 | "@type": "Property", 56 | "name": "quantity", 57 | "displayName": "Quantity", 58 | "schema": "double", 59 | "description": "Specifies the amount of resources required", 60 | "writable": true 61 | }, 62 | { 63 | "@type": "Property", 64 | "name": "quantityUnitOfMeasure", 65 | "displayName": "Quantity unit of measure", 66 | "description": "The unit of measure of the associated quantity", 67 | "schema": "string", 68 | "writable": true 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/ProcessSegment.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ProcessSegment;1", 4 | "@type": "Interface", 5 | "displayName": "Process segment", 6 | "description": "A process segment lists the classes of personnel, equipment, physical assets, and material needed, and/or it may present specific resources, such as specific equipment needed for the process segment. A process segment may list the quantity of the resource needed. A process segment is something that occurs or can occur during manufacturing operations", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": [ 9 | "dtmi:digitaltwins:isa95:BaseModel;1" 10 | ], 11 | "contents": [ 12 | { 13 | "@type": "Relationship", 14 | "name": "isMadeUpOf", 15 | "displayName": "Is made up of", 16 | "description": "This parent process segment is whole of the child process segment(s) as the part", 17 | "target": "dtmi:digitaltwins:isa95:ProcessSegment;1" 18 | }, 19 | { 20 | "@type": "Relationship", 21 | "name": "includesPropertiesOf", 22 | "displayName": "Includes properties of", 23 | "description": "This process segment class(s) include properties of the process segment class", 24 | "maxMultiplicity": 1, 25 | "target": "dtmi:digitaltwins:isa95:ProcessSegment;1" 26 | }, 27 | { 28 | "@type": "Relationship", 29 | "name": "hasAnExecutionDependencyOn", 30 | "displayName": "Has an execution dependency on", 31 | "description": "Process segment has an association class relationship with segment dependency. The process segment(s) applying the ordering / sequencing rules from the segment dependency related to the process segment execution", 32 | "target": "dtmi:digitaltwins:isa95:ProcessSegment;1" 33 | }, 34 | { 35 | "@type": "Relationship", 36 | "name": "hasAnExecutionDependencyOnSegment", 37 | "displayName": "Has an execution dependency on", 38 | "description": "Process segment has an association class relationship with segment dependency. The ordering / sequencing rules related to the process segment execution", 39 | "target": "dtmi:digitaltwins:isa95:SegmentDependency;1" 40 | }, 41 | { 42 | "@type": "Relationship", 43 | "name": "containsParameter", 44 | "displayName": "Contains", 45 | "description": "The process parameter specifications related to this process segment", 46 | "target": "dtmi:digitaltwins:isa95:ProcessSegmentParameter;1" 47 | }, 48 | { 49 | "@type": "Relationship", 50 | "name": "containsPersonnelSpecification", 51 | "displayName": "Contains", 52 | "description": "The personnel specification(s) defining part of this process segment", 53 | "target": "dtmi:digitaltwins:isa95:PersonnelSegmentSpecification;1" 54 | }, 55 | { 56 | "@type": "Relationship", 57 | "name": "containsEquipmentSpecification", 58 | "displayName": "Contains", 59 | "description": "The equipment specification(s) defining part of this process segment", 60 | "target": "dtmi:digitaltwins:isa95:EquipmentSegmentSpecification;1" 61 | }, 62 | { 63 | "@type": "Relationship", 64 | "name": "containsPhysicalAssetSpecification", 65 | "displayName": "Contains", 66 | "description": "The physical asset specification(s) defining part of this process segment", 67 | "target": "dtmi:digitaltwins:isa95:PhysicalAssetSegmentSpecification;1" 68 | }, 69 | { 70 | "@type": "Relationship", 71 | "name": "containsMaterialSpecification", 72 | "displayName": "Contains", 73 | "description": "The material specification(s) defining part of this process segment", 74 | "target": "dtmi:digitaltwins:isa95:MaterialSegmentSpecification;1" 75 | }, 76 | { 77 | "@type": "Component", 78 | "name": "description", 79 | "displayName": "Description", 80 | "description": "Additional information about the process segment", 81 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 82 | }, 83 | { 84 | "@type": "Property", 85 | "name": "operationsType", 86 | "displayName": "Operations type", 87 | "description": "Describes the category of the activity", 88 | "comment": "Required attribute. Possible values are: production, maintenance, quality, inventory, or mixed", 89 | "writable": true, 90 | "schema": { 91 | "@type": "Enum", 92 | "valueSchema": "string", 93 | "enumValues": [ 94 | { 95 | "name": "production", 96 | "enumValue": "Production" 97 | }, 98 | { 99 | "name": "maintenance", 100 | "enumValue": "Maintenance" 101 | }, 102 | { 103 | "name": "quality", 104 | "enumValue": "Quality" 105 | }, 106 | { 107 | "name": "inventory", 108 | "enumValue": "Inventory" 109 | }, 110 | { 111 | "name": "mixed", 112 | "enumValue": "Mixed", 113 | "comment": " can be used when the activity contains several categories of process segments" 114 | } 115 | ] 116 | } 117 | }, 118 | { 119 | "@type": "Property", 120 | "name": "hierarchyScope", 121 | "displayName": "Hierarchy scope", 122 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. ", 123 | "schema": "string" 124 | }, 125 | { 126 | "@type": "Relationship", 127 | "name": "hierarchyScopeRel", 128 | "displayName": "fits hierarchy scope", 129 | "description": "Optional relationship to hierarchy.", 130 | "comment": "Not part of the Standard Specs.", 131 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 132 | "maxMultiplicity": 1 133 | }, 134 | { 135 | "@type": "Property", 136 | "name": "definitionType", 137 | "displayName": "Definition type", 138 | "description": "Defines the type of the process segment", 139 | "schema": { 140 | "@type": "Enum", 141 | "valueSchema": "string", 142 | "enumValues": [ 143 | { 144 | "name": "pattern", 145 | "enumValue": "Pattern", 146 | "description": "a process segment used as a template for other process segments" 147 | }, 148 | { 149 | "name": "instance", 150 | "enumValue": "Instance", 151 | "description": "a process segment that may be directly scheduled and tracked" 152 | } 153 | ] 154 | }, 155 | "writable": true 156 | }, 157 | { 158 | "@type": "Property", 159 | "name": "duration", 160 | "displayName": "Duration", 161 | "description": "Duration of process segment", 162 | "schema": "string", 163 | "writable": true 164 | }, 165 | { 166 | "@type": "Property", 167 | "name": "durationUnitOfMeasure", 168 | "displayName": "Duration unit of measure", 169 | "description": "The units of measure of the duration", 170 | "schema": "string", 171 | "writable": true 172 | } 173 | ] 174 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/ProcessSegmentParameter.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ProcessSegmentParameter;1", 4 | "@type": "Interface", 5 | "displayName": "Process segment parameter", 6 | "description": "Specific parameters required for a process segment shall be presented as process segment parameters. Process segment parameters may contain nested process segment parameters", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": ["dtmi:digitaltwins:isa95:BaseModel;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "contains", 13 | "displayName": "Contains", 14 | "description": "This parameter segment parameter is part of the parameter segment parameter as the whole", 15 | "target": "dtmi:digitaltwins:isa95:ProcessSegmentParameter;1", 16 | "comment": "Relationship type: Composition hierarchy" 17 | }, 18 | { 19 | "@type": "Component", 20 | "name": "description", 21 | "displayName": "Description", 22 | "description": "Contains additional information", 23 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 24 | }, 25 | { 26 | "@type": "Property", 27 | "name": "hierarchyScope", 28 | "displayName": "Hierarchy scope", 29 | "description": "Identifies where the exchanged information fits within the role based equipment hierarchy. Optionally, hierarchy scopedefines the scope of the physical asset class, such as the site or area where it is defined", 30 | "schema": "string" 31 | }, 32 | { 33 | "@type": "Relationship", 34 | "name": "hierarchyScopeRel", 35 | "displayName": "fits hierarchy scope", 36 | "description": "Optional relationship to hierarchy.", 37 | "comment": "Not part of the Standard Specs.", 38 | "target": "dtmi:digitaltwins:isa95:HierarchyScope;1", 39 | "maxMultiplicity": 1 40 | }, 41 | { 42 | "@type": "Property", 43 | "name": "value", 44 | "displayName": "Value", 45 | "description": "The value, set of values, or range of acceptable values", 46 | "schema": "string" 47 | }, 48 | { 49 | "@type": "Property", 50 | "name": "valueUnitOfMeasure", 51 | "displayName": "Value unit of measure", 52 | "description": "Unit of measure of the values", 53 | "schema": "string" 54 | } 55 | ] 56 | } -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/ProcessSegment/SegmentDependency.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:SegmentDependency;1", 4 | "@type": "Interface", 5 | "displayName": "Segment dependency", 6 | "description": "Process dependencies that are independent of any particular product or operations task shall be presented as segment dependencies.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "extends": ["dtmi:digitaltwins:isa95:BaseModel;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "processSegmentFrom", 13 | "displayName": "Has an execution dependency on", 14 | "description": "The source process segment(s) that the target process segment(s) are dependent. Process segment has an association class relationship with segment dependency", 15 | "target": "dtmi:digitaltwins:isa95:ProcessSegment;1" 16 | }, 17 | { 18 | "@type": "Relationship", 19 | "name": "processSegmentTo", 20 | "displayName": "Has an execution dependency on", 21 | "description": "The target process segment(s) that are dependent on source process segment(s).Process segment has an association class relationship with segment dependency", 22 | "target": "dtmi:digitaltwins:isa95:ProcessSegment;1" 23 | }, 24 | { 25 | "@type": "Component", 26 | "name": "description", 27 | "displayName": "Description", 28 | "description": "Contains additional information", 29 | "schema": "dtmi:digitaltwins:isa95:LangStringSet;1" 30 | }, 31 | { 32 | "@type": "Property", 33 | "name": "dependencyType", 34 | "displayName": "Dependency Type", 35 | "description": "Defines the execution dependency constraints of one segment to another segment.as the type of the execution or dependency factor between the segments", 36 | "writable": true, 37 | "schema": { 38 | "@type": "Enum", 39 | "valueSchema": "string", 40 | "enumValues": [ 41 | { 42 | "name": "atStart", 43 | "enumValue": "at start", 44 | "description": "start B at A start" 45 | }, 46 | { 47 | "name": "afterStart", 48 | "enumValue": "after start", 49 | "description": "start B after A start" 50 | }, 51 | { 52 | "name": "afterEnd", 53 | "enumValue": "after end", 54 | "description": "start B after A end" 55 | }, 56 | { 57 | "name": "notFollow", 58 | "enumValue": "not follow", 59 | "description": "B cannot follow A;" 60 | }, 61 | { 62 | "name": "possibleParallel", 63 | "enumValue": "possible parallel", 64 | "description": "B may run in parallel to A" 65 | }, 66 | { 67 | "name": "notInParallel", 68 | "enumValue": "not in parallel", 69 | "description": "B may not run in parallel to A" 70 | }, 71 | { 72 | "name": "noLaterAfterStart", 73 | "enumValue": "no later after start", 74 | "description": "start B no later than dependency factor after A start" 75 | }, 76 | { 77 | "name": "noEarlierAfterStart", 78 | "enumValue": "no earlier after start", 79 | "description": "start B no earlier than dependency factor after A start" 80 | }, 81 | { 82 | "name": "noLaterAfterEnd", 83 | "enumValue": "no later after end", 84 | "description": "start B no later than dependency factor after A end" 85 | }, 86 | { 87 | "name": "noEarlierAfterEnd", 88 | "enumValue": "no earlier after end", 89 | "description": " B no earlier than dependency factor after A end" 90 | } 91 | ] 92 | } 93 | }, 94 | { 95 | "@type": "Property", 96 | "name": "dependencyFactor", 97 | "displayName": "Dependency factor", 98 | "description": "Factor used by dependency", 99 | "schema": "string", 100 | "writable": true 101 | }, 102 | { 103 | "@type": "Property", 104 | "name": "dependencyFactorUnitOfMeasure", 105 | "displayName": "Dependency factor unit of measure", 106 | "description": "The units of measure of the dependency factor", 107 | "schema": "string", 108 | "writable": true 109 | } 110 | ] 111 | } 112 | -------------------------------------------------------------------------------- /Ontology/CommonObjectModels/SpatialDefinition.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:SpatialDefinition;1", 4 | "@type": "Interface", 5 | "displayName": "Spatial Definition", 6 | "description": "The spatial definition provides a means of communicating zero-dimensional point, one-dimensional line, or two-dimensional shape or three-dimensional solid geospatial location data for planning/scheduling, actuals, resources, and analytics.", 7 | "comment": "According to ANSI/ISA-95.00.02-2018 Enterprise-Control System Integration − Part 2: Objects and Attributes for - Approved 24 May 2018", 8 | "contents": [ 9 | { 10 | "@type": "Property", 11 | "name": "value", 12 | "displayName": "Value", 13 | "description": "A string to uniquely identify a spatial definition. EXAMPLE 1 UN/CEFACT CCTS: TextType) of the geospatial information in the format indicated in the format attribute.", 14 | "schema": "string", 15 | "writable": true 16 | }, 17 | { 18 | "@type": "Property", 19 | "name": "format", 20 | "displayName": "Format", 21 | "description": "An enumerator that determines the format of the value attribute. E.g. GPX, WKT, ...", 22 | "schema": "string", 23 | "writable": true 24 | }, 25 | { 26 | "@type": "Property", 27 | "name": "SRID", 28 | "description": "SRID is the Spatial Reference Identifier which identifies the coordinate reference system to identify a predefined coordinate", 29 | "schema": "string", 30 | "writable": true 31 | }, 32 | { 33 | "@type": "Property", 34 | "name": "SRIDauthority", 35 | "displayName": "SRID authority", 36 | "description": "The SRID authority identifies the authority that defines the coordinate reference system identified by the SRID. ", 37 | "schema": "string", 38 | "writable": true 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/Area.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Area;1", 4 | "@type": "Interface", 5 | "displayName": "Area", 6 | "description": "An area is a physical, geographical, or logical grouping determined by the site. It may contain work centers such as process cells, production units, production lines, and storage zones. Most Level 3 functions occur within the area. The main production capability and geographical location within a site usually identify areas. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:HierarchyScope;1", "dtmi:digitaltwins:isa95:SiteAsset;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "workCenter", 13 | "description": "Reference to a contained work center of the area", 14 | "displayName": "contains Work center", 15 | "comment": "Not part of the ISA-95 Standard. Just to make the graph easier to handle", 16 | "target": "dtmi:digitaltwins:isa95:WorkCenter;1" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/Enterprise.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Enterprise;1", 4 | "@type": "Interface", 5 | "displayName": "Enterprise", 6 | "description": "An enterprise is a collection of sites and areas and represents the top level of a role based equipment hierarchy. The enterprise is responsible for determining what products will be manufactured, at which sites they will be manufactured, and in general how they will be manufactured. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:HierarchyScope;1", "dtmi:digitaltwins:isa95:BaseModel;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "site", 13 | "description": "Reference to a contained site of the enterprise", 14 | "comment": "Not part of the ISA-95 Standard. Just to make the graph easier to handle", 15 | "displayName": "contains Site", 16 | "target": "dtmi:digitaltwins:isa95:Site;1" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/ProcessCell.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ProcessCell;1", 4 | "@type": "Interface", 5 | "displayName": "Process cell", 6 | "description": "Process cells and units are the lowest level of equipment typically scheduled by the Level 4 and Level 3 functions for batch manufacturing processes. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkCenter;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/ProductionLine.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ProductionLine;1", 4 | "@type": "Interface", 5 | "displayName": "Production Line", 6 | "description": "Production lines and work cells are the lowest levels of equipment typically scheduled by the Level 4 or Level 3 functions for discrete manufacturing processes. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkCenter;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/ProductionUnit.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ProductionUnit;1", 4 | "@type": "Interface", 5 | "displayName": "Production unit", 6 | "description": "A production unit generally encompasses all of the equipment required for a segment of continuous production that operates in a relatively autonomous manner. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkCenter;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/Site.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Site;1", 4 | "@type": "Interface", 5 | "displayName": "Site", 6 | "description": "A site is a physical, geographical, or logical grouping determined by the enterprise. It may contain areas, production lines, process cells, and production units. The Level 4 functions at a site are involved in local site management and optimization. Site planning and scheduling may involve work centers or work units within the areas. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:HierarchyScope;1", "dtmi:digitaltwins:isa95:BaseModel;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "area", 13 | "description": "Reference to a contained area of the site", 14 | "displayName": "contains Area", 15 | "comment": "Not part of the ISA-95 Standard. Just to make the graph easier to handle", 16 | "target": "dtmi:digitaltwins:isa95:Area;1" 17 | }, 18 | { 19 | "@type": "Relationship", 20 | "name": "asset", 21 | "description": "Reference to a contained asset of the site", 22 | "displayName": "contains Asset", 23 | "target": "dtmi:digitaltwins:isa95:SiteAsset;1" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/SiteAsset.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:SiteAsset;1", 4 | "@type": "Interface", 5 | "displayName": "Site asset", 6 | "description": "A generic site asset in the physical asset equipment hierarchy", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:BaseModel;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/StorageUnit.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:StorageUnit;1", 4 | "@type": "Interface", 5 | "displayName": "Storage unit", 6 | "description": "Storage zones and storage units are the lowest level of material movement equipment typically scheduled by the Level 4 and Level 3 functions for discrete, batch and continuous manufacturing processes. A storage zone is a type of work center and a storage unit is a type of work unit that is organized as elements within an area. These are the lower-level elements of an equipment hierarchy used in material storage and movement activities. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkUnit;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/StorageZone.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:StorageZone;1", 4 | "@type": "Interface", 5 | "displayName": "Storage zone", 6 | "description": "Storage zones and storage units are the lowest level of material movement equipment typically scheduled by the Level 4 and Level 3 functions for discrete, batch and continuous manufacturing processes. A storage zone is a type of work center and a storage unit is a type of work unit that is organized as elements within an area. These are the lower-level elements of an equipment hierarchy used in material storage and movement activities. ", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkCenter;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/Unit.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:Unit;1", 4 | "@type": "Interface", 5 | "displayName": "Unit", 6 | "description": "Units have well-defined processing capabilities and throughput capacities and these are used for Level 3 functions. T", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkUnit;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/WorkCell.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:WorkCell;1", 4 | "@type": "Interface", 5 | "displayName": "Work cell", 6 | "description": "Work cells are usually only identified when there is flexibility in the routing of work within a production line.", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:WorkUnit;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/WorkCenter.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:WorkCenter;1", 4 | "@type": "Interface", 5 | "displayName": "Work center", 6 | "description": "Work centers are elements of the equipment hierarchy under an area. The term work center may be used when the specific type of the equipment element is not significant for the purpose of the discussion.", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:HierarchyScope;1", "dtmi:digitaltwins:isa95:SiteAsset;1"], 9 | "contents": [ 10 | { 11 | "@type": "Relationship", 12 | "name": "workUnit", 13 | "description": "Reference to a contained work unit of the work center", 14 | "displayName": "contains Work unit", 15 | "comment": "Not part of the ISA-95 Standard. Just to make the graph easier to handle", 16 | "target": "dtmi:digitaltwins:isa95:WorkUnit;1" 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /Ontology/EquipmentHierarchy/WorkUnit.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:WorkUnit;1", 4 | "@type": "Interface", 5 | "displayName": "Work unit", 6 | "description": "A work unit is any element of the equipment hierarchy under a work center. Work units are the lowest form of elements in an equipment hierarchy that are typically scheduled by Level 3 functions.", 7 | "comment": "According to ANSI/ISA-95.00.01-2010 (IEC 62264-1 Mod) Enterprise-Control System Integration − Part 1: Models and Terminology - Approved 13 May 2010", 8 | "extends": ["dtmi:digitaltwins:isa95:HierarchyScope;1","dtmi:digitaltwins:isa95:SiteAsset;1"] 9 | } -------------------------------------------------------------------------------- /Ontology/Extensions/LangStringSet.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:LangStringSet;1", 4 | "@type": "Interface", 5 | "displayName": "Language String Set", 6 | "description": "A set of strings, each annotated by the language of the string. The meaning of the string in each language shall be the same.", 7 | "comment": "Not part of the ISA95 standard. But enables multi language strings", 8 | "contents": [ 9 | { 10 | "@type": "Property", 11 | "name": "langString", 12 | "description": "A set of strings, each annotated by the language of the string. The meaning of the stringin each language shall be the same.", 13 | "schema": { 14 | "@type": "Map", 15 | "mapKey": { 16 | "name": "iso2Code", 17 | "description": "ISO 3166-1 alpha-2 codes are two-letter country codes defined in ISO 3166-1, part of the ISO 3166 standard", 18 | "schema": "string" 19 | }, 20 | "mapValue": { 21 | "name": "langSpecString", 22 | "description": "A string in a specified language", 23 | "schema": "string" 24 | } 25 | }, 26 | "writable": true 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /Ontology/Extensions/Tags.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context": "dtmi:dtdl:context;2", 3 | "@id": "dtmi:digitaltwins:isa95:ext:Tags;1", 4 | "@type": "Interface", 5 | "displayName": "Tags", 6 | "description": "You can use the concept of tags to further identify and categorize your digital twins", 7 | "comment": "Not part of the AAS meta model. Makes querying easier. See https://docs.microsoft.com/en-us/azure/digital-twins/how-to-use-tags", 8 | "contents": [ 9 | { 10 | "@type": "Property", 11 | "name": "markers", 12 | "description": "A marker tag is a simple string that is used to mark or categorize a digital twin, such as 'blue' or 'red'. This string is the tag's name, and marker tags have no meaningful value—the tag is significant just by its presence (or absence).", 13 | "schema": { 14 | "@type": "Map", 15 | "mapKey": { 16 | "name": "tagName", 17 | "schema": "string" 18 | }, 19 | "mapValue": { 20 | "name": "tagValue", 21 | "schema": "boolean" 22 | } 23 | }, 24 | "writable": true 25 | }, 26 | { 27 | "@type": "Property", 28 | "name": "values", 29 | "description": "A value tag is a key-value pair that is used to give each tag a value, such as 'color': 'blue' or 'color': 'red'. Once a value tag is created, it can also be used as a marker tag by ignoring the tag's value.", 30 | "schema": { 31 | "@type": "Map", 32 | "mapKey": { 33 | "name": "tagName", 34 | "schema": "string" 35 | }, 36 | "mapValue": { 37 | "name": "tagValue", 38 | "schema": "string" 39 | } 40 | }, 41 | "writable": true 42 | } 43 | ] 44 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Open Digital Twins Ontology for ISA-95 Standard 2 | 3 | This project is a sample implementation of the [ISA-95](https://www.isa.org/standards-and-publications/isa-standards/isa-standards-committees/isa95) Standard as [DTDL](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/dtdlv2.md) models to be used e.g. with [Azure Digital Twins](https://azure.microsoft.com/en-us/products/digital-twins/#overview). 4 | 5 | Work in progress!! 6 | 7 | ## Supported models from ISA-95 8 | 9 | * Common Object Models 10 | * Logical equipment hierarchy 11 | * Physical asset hierarchy 12 | 13 | ## Contributing to ontology 14 | 15 | We are working on improving the main interfaces, adding more interfaces in areas that we don't yet support, as well as making better tools to integrate and use the models in smart manufacturing platforms and its applications. 16 | 17 | We encourage you to contribute to continue improving the DTDL-based ISA-95 ontology. Please point out bugs or peculiarities, add or extend interfaces and vocabularies, and suggest improvements to evolve this ontology. 18 | 19 | * Comment or create a new issue for bug reporting 20 | * For improvements, please fork this repository, make your changes and send a pull request 21 | 22 | Pull requests will be evaluated based on the quality of the proposed interface models, adherence to the modeling conventions used in the repo (see below), and conceptual and roadmap compliance. 23 | 24 | ### Modeling conventions 25 | 26 | * All entity naming (Interfaces, Properties, Relationships, Components, etc.) is done in English. 27 | * Interfaces are named as singular nouns using CamelCase with capital initial (aka. PascalCase). 28 | * Properties are named as singular nouns using camelCase with lower-case initial, typically with two or three name components. 29 | * Relationships are named as singular nouns using camelCase with lower-case initial, typically with two or three name components. Naming can represent either the relationship itself, in the case of generic relationships, or a target Interface. 30 | * Please use language-tagged `displayName`and `description` fields, providing at minimum English-language versions of these (more languages are of course welcome!). 31 | * The English-language value of `displayName` should mirror the DTMI local name written out in lowercase, i.e., `isPartOf` has the display name `is part of`. 32 | 33 | ## Alignment with standards 34 | 35 | TBD 36 | 37 | ### Extensions 38 | 39 | Certain extensions to the ISA-95 Standard are used with the DTDL models. This improves the usability of the models with DTDL and services like Azure Digital Twins. 40 | 41 | ## More about Azure Digital Twins 42 | 43 | * [Azure Digital Twins product page](https://azure.microsoft.com/en-us/services/digital-twins/) 44 | * [Azure Digital Twins: Powering the next generation of IoT connected solutions](https://channel9.msdn.com/Events/Build/2020/INT177) 45 | * [Digital Twins Definition Language Repository](https://github.com/Azure/opendigitaltwins-dtdl) 46 | * [Azure Digital Twins introduction video](https://azure.microsoft.com/en-us/resources/videos/azure-digital-twins-introduction-video/) 47 | * [Azure Digital Twins IoT Show Public Preview](https://www.youtube.com/watch?v=D6kyhrRVdfc&feature=youtu.be) 48 | * [Azure Digital Twins Tech Deep Dive](https://www.youtube.com/watch?v=5Ku55g1GQG8&feature=youtu.be) 49 | * [ADT Explorer](https://github.com/Azure-Samples/digital-twins-explorer) 50 | 51 | 52 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). 53 | For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. 54 | 55 | ### Contributors 56 | 57 | Microsoft: Jürgen Mayrbäurl --------------------------------------------------------------------------------