The core Ontology for production related concepts (Product, Process, Resource). It provides 2 ubiquitous aspects: hierarchical structure and type-instance relationship. An Entity is an object in the application domain. A SubEntity represents a child in the hierarchical structure. A Definition represents a type in the type-instance relationship.
The following concepts are formalized: - an **Entity** is an instance - a **Definition** is information common to a set of instances - a **SubEntity** is a (reified) reference to a child of the Entity ```mermaid classDiagram class Entity class Definition:::definition class SubDefinition:::definition Entity o-- SubEntity: subEntity Definition o-- SubDefinition: subDefinition Definition --|> Entity SubDefinition --|> SubEntity Entity --> Definition : entityDefinition SubEntity --> Entity : subEntityEntity SubDefinition --> Definition : subDefinitionDefinition SubEntity --> SubDefinition : subEntityDefinition classDef default fill:#f96,color:black classDef definition fill:#e9edc9,color:black ```
The Thing Ontology
A core ontology for production related concepts
The ontology supports 2 transversal aspects - **hierarchy** (or parent-child relationship): - things (elements) are composed of sub-things (sub-elements) - **definition** (or type instance relationship): - things (entities) are defined by other things (definitions) Hiearchy can be for instance: - for a Product, its parts, which are typically reified relations to other (sub) Products - for a Process, its steps, which are typically reified relations to other (sub) Processes Definitions can be for instance: - for a Product, its design, or its make - for a Product with variability, values for the variation points - for a Process excution, a reusable description of the things to be performed.
The definition(s) associated witht the subject entity
A Definition is some data shared by a group of Entities, describing (defining) some aspect common to these entities
An Entity is something either with a parent-child relationship, or with a definition relationship, or with both
An SubDefinition is the reified parent-child relationship: it represents a child of some parent Definition (but is not the child)
An SubEntity is the reified parent-child relationship: it represents a child of some parent Entity (but is not the child)