production planning ontology
type: Ontology
contributor: Arkopaul Sarkar, National Institute of Standards and Technology
contributor: Boonserm Kulvatonyu, National Institute of Standards and Technology
contributor: Dusan Sormaz, Ohio University
contributor: Evan Wallace, National Institute of Standards and Technology
contributor: Gabriela Henning, CONICET
contributor: Mandvi Malik Fuloria, Ohio University
contributor: Milos Drobnjakovic, National Institute of Standards and Technology
contributor: Saruda Seeharit, Ohio University
abstract: Production Planning Reference ontology is a domain reference ontology for process and production planning activities within various industries. It includes general terms common for different types of manufacturing industries, such as discrete manufacturing, process manufacturing, batch manufacturing, biomanufacturing, and others. Being a reference ontology, it is expected that users of the production planning ontology will extend its classes in ways compatible with common vocabulary in manufacturing domains, such as aerospace, automotive, food industries, and others.
creator: IOF Production Planning and Scheduling Working Group
license: http://opensource.org/licenses/MIT
publisher: Industrial Ontology Foundry
title: IOF Production Planning Reference Ontology
imports: Core
version IRI: ProductionPlanning
acronym: IOF-PPRO
explanatory note: This ontology is for industrial domain and manufacturing enterprises. As such, many constructs could use ‘Manufacturing’ qualifier in the name and/or label. We feel it would saturate terms and blind users, and we used qualifier 'manufacturing' where we felt appropriate based on common industrial practice.
maturity: Released

agential capability
type: Class
subclass of: Capability
equivalent class: Class
  intersection of: Capability
  intersection of: Restriction
    on property: capabilityOf
    some values from: Agent
example: making nice slides, cooking Indian food, changing tools on CNC machine, NC programmer
first order logic definition: Capability(x) ∧ ∃y (Agent(y) ∧ capabilityOf(x, y)) → AgentialCapability(x)
natural language definition: capability that is borne by an agent
semi formal natural language definition: x is a capability and there exists some y such that y is an agent and x is a capability of y
usage note: Synonym: skill

changeover process
type: Class
subclass of: manufacturing enterprise process
example: replacing the die for Toyota Camry engine hood by the die for Camry trunk hood, replacing the fixture for the new part being machined, cleaning the vessel of the mixer in food production when changing the product to be mixed.
explanatory note: The work required to change a specific machine, resource, work center, or line from making the last good piece of item A to making the first good piece of item B
first order logic axiom: ChangeoverProcess(p) → PlannedProcess(p)
is primitive: true
natural language definition: planned process that prepares a production resource to produce a different product or perform a different manufacturing operation
primitive rationale: not all conditions can be specified at this point for a wide range of industrial examples
semi formal natural language axiom: if an entity is an instance of 'changeover process', then it is an instance of 'planned process'

inspection plan
type: Class
subclass of: PlanSpecification
example: incoming-material inspection procedure for steel coils; in-process dimensional inspection checklist for machined engine blocks; sampling and testing protocol for a pharmaceutical batch; final-product inspection plan for assembled pumps
direct source: ISO/ASTM 52900:2021 (3.3.13)
first order logic axiom: PlanSpecification(x) ∧ ∃y(prescribes(x,y) ∧ ProductInspectionProcess(y)) → InspectionPlan(x)
is primitive: true
natural language definition: plan specification that prescribes how products are to be inspected, including the required resources and inspection sequence
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: if x is a ‘plan specification’ that ‘prescribes’ some ‘product inspection process’ then x is an ‘inspection plan’

machine
type: Class
subclass of: MaterialArtifact
example: computer numerical control milling center; 250-ton hydraulic press; industrial ribbon blender; plastic injection-molding unit; centrifugal pump in a chemical-processing line, ventilator, CT scanner
adapted from: - ISO 12100 defines “machine” as an “assembly, fitted with or intended to be fitted with a drive system other than directly applied human or animal effort, consisting of linked parts or components, at least one of which moves” NIST. - IEC 60050‑151 defines “machine” as “a system or device that uses energy to perform a specific task, often automatically” (Electropedia). - NIST (Smart Manufacturing Ontology) treats a machine as an “equipment unit that executes physical transformations autonomously or semi‑autonomously using power and control systems.” (see https://oagi.atlassian.net/wiki/spaces/IOF/pages/5952208897/Characterization+of+machines+and+tools#Trait-analysis)
explanatory note: - “physical artefact” emphasises that the entity is a concrete built thing. - “transforms energy or material” captures the notion of machines doing work (e.g., moving parts, powering machining, mixing, conveying). - “guided mechanical, electrical or fluid power” property points at machine having power, motion, and control (mechanical structure + power source + actuation). - “performing one or more processes” allows for generality (manufacturing, handling, processing, etc).
first order logic axiom: Machine(m) → MaterialArtifact(m)
is primitive: true
natural language definition: material artifact that uses controlled mechanical, electrical, or fluid power to transform energy or material while performing a process
primitive rationale: Many of the core characterizations of machine captured in the trait analysis (see https://oagi.atlassian.net/wiki/spaces/IOF/pages/5952208897/Characterization+of+machines+and+tools#Trait-analysis) cannot be formally expressed, especially energy transformation, power, control, motion and mechanical structures.
semi formal natural language axiom: if x is a machine then x is a 'material artifact'

manufacturing enterprise process
type: Class
subclass of: BusinessProcess
subclass of: Restriction
  on property: BFO_0000117
  some values from: ManufacturingProcess
example: process of completing a truck assembly, process for refining the crude oil into petrol, process for production of frozen food items
first order logic axiom: ManufacturingEnterpriseProcess(p) → ∃m(ManufacturingProcess(m) ∧ hasOccurrentPart(p,m))
is primitive: true
natural language definition: business process that consists of at least one manufacturing process
primitive rationale: This term is included as an umbrella term for every kind of process which is not typically 'business process' but also cannot be classified as types of 'manufacturing processes' either. Although they contain manufacturing process as parts, and most of the time, the primary sub-process, the sub-types of this class group or identify manufacturing processes and other ancillary processes for better organization, planning resources and raw materials, and sometimes scheduling and logistical management. Still, the question remains on the need of this class if the above criterion is hard to express formally.
semi formal natural language axiom: if an entity is an instance of 'manufacturing enterprise process', then it 'has occurrent part' some instance of 'manufacturing process'

manufacturing operation
type: Class
subclass of: Class
  intersection of: manufacturing enterprise process
  intersection of: Restriction
    on property: BFO_0000057
    some values from: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        on property: hasRole
        some values from: Class
  intersection of: Restriction
    on property: BFO_0000118
    some values from: process step
example: hole making in an engine block consisting of centering, drilling, reaming, and finishing on one machining center; injection molding of a plastic housing consisting of mold closing, material injection, cooling, and part ejection
explanatory note: An operation may consist of a single step and in such cases may include the same information as that in the process specification. However, in many situations, multiple steps are required to be performed on a machine to produce a single feature or to achieve a specific quality, geometric shape, or dimension of the designated product or component. In such multi-step operations, the primary equipment may require reconfiguration, including the attachment or detachment of tools or accessories. Additionally, the material may need to be repositioned or handled between steps, all of which are considered integral parts of the operation.
first order logic axiom: LA1: ManufacturingOperation(o) → ManufacturingEnterpriseProcess(o) ∧ ∃m(MaterialEntity(m) ∧ hasParticipantAtSomeTime(o,m) ∧ ∃r((EquipmentRole(r) ∨ OperatorRole(r)) ∧ hasRole(m,r))) ∧ ∃s(ProcessStep(s) ∧ hasProperOccurrentPart(o,s))
first order logic axiom: LA2: ProcessStep(x1) ∧ ProcessStep(x2) ∧ ManufacturingOperation(o) ∧ occurrentPartOfAtSomeTime(x1,o) ∧ occurrentPartOfAtSomeTime(x2,o) ∧ x1 ≠ x2 → ∃e,p1,p2,r1,r2(ManufacturingProcess(p1) ∧ ManufacturingProcess(p2) ∧ occurrentPartOfAtSomeTime(p1,x1) ∧ occurrentPartOfAtSomeTime(p2,x2) ∧ hasParticipantAtSomeTimes(p1,e) ∧ hasParticipantAtSomeTimes(p2,e) ∧ hasRole(e,r1) ∧ hasRole(e,r2) ∧ EquipmentRole(r1) ∧ EquipmentRole(r2))
is primitive: true
natural language definition: manufacturing enterprise process composed of process steps from the same product production process, with at least one manufacturing resource used in every step
primitive rationale: The common grouping criteria cannot be formalized for this class and therefore only a necessary condition could be derived which does not check the "common resource for all steps" condition. Furthermore, the use of operation in batch and continuous manufacturing may provide some more refinement on the role of the common participant.
semi formal natural language axiom: LA1: if an entity is an instance of 'manufacturing operation', then it is an instance of 'manufacturing enterprise process', 'has participant at some time' some instance of 'material entity' that 'has role' some instance of 'equipment role' or 'operator role', and 'has proper occurrent part' some instance of 'process step'
semi formal natural language axiom: LA2: if two distinct instances of 'process step' are occurrent parts of a 'manufacturing operation' at some time, then there are instances of 'manufacturing process', each occurrent part of one of those process steps at some time, that have a common participant at some times; that participant 'has role' instances of 'equipment role' in both processe

material handling plan
type: Class
subclass of: PlanSpecification
example: batch-transfer schedule for moving chemicals from a reactor to a storage tank; warehouse picking and delivery instructions for supplying components to an assembly line; pallet-movement schedule for transporting finished products to shipping
explanatory note: A specification (PlanSpecification) that prescribes one or more material handling operations—sequences of actions, resource allocations, and constraints—designed to govern the efficient, safe, and controlled movement of materials or entities within production, storage, or distribution contexts. The class is open to be further constrained by different kinds of material handling types. At this point only machine transfer process is included. The term can be overloaded by users with other general class axioms, e.g., some part of it describing the raw material sourcing process. As the natural language suggests, planning in warehouse will require a more detailed characterization, this term needs to be shared between two modules by some upper level mapping, however such proposal are yet to be made.
first order logic axiom: PlanSpecification(x) ∧ ∃y,z (prescribes(y, z) ∧ MachineTransferProcess(z)) ∧ hasContinuantPartAtAllTimes(x, y) → MaterialHandlingPlan(x)
is primitive: true
natural language definition: plan specification containing instructions that prescribe the movement of material between production machines
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: if x is a 'plan specification' that 'has continuant part at all times' some 'action specification' that 'prescribes' some 'machine transfer process', then x is a 'material handling plan'

material product specification
type: Class
subclass of: Class
  intersection of: DesignSpecification
  intersection of: Restriction
    on property: prescribes
    all values from: MaterialProduct
comment: This class will be harmonized with ProductDesignSpecification in ProductServiceSystem ontology
comment: specification of a product may contain a simple description of a product to a detailed CAD design, including geometry, structure, dimension, and tolerances. It may also contain reference to PLM system entity.
example: engineering drawing specifying the geometry and tolerances of an aluminum bracket; technical data sheet defining the composition and properties of a polymer resin; formulation and packaging requirements for an industrial coating; product specification requiring a tablet mass of 650 ± 10 milligrams
first order logic axiom: DesignSpecification(d) ∧ ∃m(MaterialProduct(m) ∧ prescribes(d,m)) → MaterialProductSpecification(d)
first order logic definition: MaterialProductSpecification(x) → DesignSpecification(x) ∧ ∀y (prescribes(x, y) → MaterialProduct(y))
is primitive: false
natural language definition: design specification that prescribes a material product
semi formal natural language axiom: if an instance of 'design specification' 'prescribes' some instance of 'material product', then it is an instance of 'material product specification'
semi formal natural language definition: If x is an 'design specification' and there exists a 'material product' which x prescribes then x is a 'material product specification'.

operation specification
type: Class
subclass of: ActionSpecification
subclass of: Restriction
  on property: BFO_0000111
  all values from: Class
    complement of: operation specification
subclass of: Restriction
  on property: BFO_0000110
  all values from: Class
    complement of: Class
      union of: process plan
      union of: production plan
example: machining work instruction specifying centering, drilling, reaming, and hole finishing; injection-molding instruction specifying mold closing, polymer injection, cooling, and part ejection, NC Program for machining a part on a lathe
explanatory note: This part of the plan specifies one or many steps, each of which is to be performed using one or more specific manufacturing resource in parallel or consecutively.
first order logic axiom: LA1: OperationSpecification(o) ∧ hasContinuantPartAtAllTimes(o,p) → ¬ProcessPlan(p) ∧ ¬ProductionPlan(p)
first order logic axiom: LA2: OperationSpecification(o) ∧ hasProperContinuantPartAtAllTimes(o,o') → ¬OperationSpecification(o')
first order logic axiom: LA3: ActionSpecification(o) ∧ ∃s(ProcessStepSpecification(s) ∧ hasContinuantPartAtAllTimes(o,s)) ∧ ∃p(ManufacturingOperation(p) ∧ prescribes(o,p)) → OperationSpecification(o)
is primitive: true
natural language definition: action specification that prescribes a manufacturing operation and includes specifications for its process steps
primitive rationale: see the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: LA1: if an instance of 'operation specification' 'has continuant part at all times' an entity, then that entity is neither an instance of 'process plan' nor an instance of 'production plan'
semi formal natural language axiom: LA2: if an instance of 'operation specification' 'has proper continuant part at all times' an entity, then that entity is not an instance of 'operation specification'
semi formal natural language axiom: LA3: if an instance of 'action specification' 'has continuant part at all times' some instance of 'process step specification' and 'prescribes' some instance of 'manufacturing operation', then it is an instance of 'operation specification'

operator
type: Class
subclass of: Agent
equivalent class: Class
  intersection of: Agent
  intersection of: Restriction
    on property: hasRole
    some values from: operator role
example: machinist running a CNC milling machine; technician monitoring a chemical reactor; production worker controlling an automated packaging line; utility company operating an industrial wastewater-treatment facility
first order logic definition: Operator(x) ↔ Agent(x) ∧ ∃y (OperatorRole(y) ∧ hasRole(x, y))
natural language definition: agent which has an operator role
semi formal natural language definition: every instance of 'operator' is defined as exactly an instance of 'agent' that 'has role' some 'operator role'

operator role
type: Class
subclass of: AgentRole
subclass of: Restriction
  on property: roleOf
  some values from: Class
    intersection of: Agent
    intersection of: Restriction
      on property: hasCapability
      some values from: Class
        intersection of: agential capability
        intersection of: Restriction
example: person as a CNC operator has an operator role of operating, maintaining, and utilizing the assigned CNC machine before, during, and after a manufacturing process
explanatory note: 1. Relevant skills may enable a capability of a single piece of equipment or the coordinated realization of capabilities of multiple pieces of equipment, such as those operating together in a process cell or production line 2. In this definition, enabling an equipment capability is not limited to directly operating the equipment. A skill may enable the realization of an equipment capability by allowing the agent to set up, start, stop, monitor, adjust, or otherwise use the equipment; monitor and control a process through the equipment; coordinate multiple pieces of equipment; interpret equipment states, process conditions, alarms, and outputs; respond to normal or abnormal conditions; inspect or assess equipment condition or performance; or perform operator-level cleaning, troubleshooting, or routine maintenance. Relevant skills may also include those needed to apply applicable quality, occupational safety, process safety, biosafety, hygiene, contamination-control, environmental, or other domain-specific requirements.
first order logic axiom: OperatorRole(r) → AgentRole(r) ∧ ∃g(Agent(g) ∧ roleOf(r,g) ∧ ∃c(AgentialCapability(c) ∧ hasCapability(g,c) ∧ ∃x(enables(c,x) ∧ ∃e(PieceOfEquipment(e) ∧ capabilityOf(x,e)))))
is primitive: true
natural language definition: role held by an agent when it possesses a skill that enables a capability of one or more pieces of equipment.
primitive rationale: The ontology does not yet include a construct for 'skill'. The current definition refers to 'capability', which is intended to serve as a supertype of 'skill', but this class is still under development. The definition employs the primitive relation enables, which has recently been introduced. Its adoption is pending discussion and approval by the IOF community. It is expected that this relation may be relocated to the IOF Core ontology upon acceptance.
semi formal natural language axiom: For every instance of 'operator role', there exists an instance of 'agent role' that 'is role of' some instance of 'agent' that 'has capability' some instance of 'agential capability' that 'enables' some capability that 'is capability of' some instance of 'piece of equipment'

process plan
type: Class
subclass of: PlanSpecification
subclass of: Restriction
  on property: BFO_0000111
  all values from: Class
    complement of: process plan
subclass of: Restriction
  on property: BFO_0000110
  all values from: Class
    complement of: production plan
equivalent class: Class
  intersection of: PlanSpecification
  intersection of: Restriction
    on property: BFO_0000111
    some values from: Class
      intersection of: ObjectiveSpecification
      intersection of: Restriction
        on property: BFO_0000110
        some values from: material product specification
  intersection of: Restriction
    on property: BFO_0000137
    some values from: production plan
example: IKEA instructions to assemble furniture such as tables and chairs, and a step-by-step recipe for preparing a cake.
first order logic axiom: LA1: ProcessPlan(p) ∧ hasProperContinuantPartAtAllTimes(p,p') → ¬ProcessPlan(p')
first order logic axiom: LA2: ProcessPlan(p) ∧ hasContinuantPartAtAllTimes(p,x) → ¬ProductionPlan(x)
first order logic axiom: LA3: PlanSpecification(p) ∧ ∃s((OperationSpecification(s) ∨ ProcessStepSpecification(s)) ∧ hasContinuantPartAtAllTimes(p,s)) ∧ ∃o(ProductProductionProcess(o) ∧ prescribes(p,o)) → ProcessPlan(p)
first order logic definition: ProcessPlan(p) ↔ PlanSpecification(p) ∧ ∃o(ObjectiveSpecification(o) ∧ hasProperContinuantPartAtAllTimes(p,o) ∧ ∃m(MaterialProductSpecification(m) ∧ hasContinuantPartAtAllTimes(o,m))) ∧ ∃p'(ProductionPlan(p') ∧ properContinuantPartOfAtAllTimes(p,p'))
natural language definition: plan specification that prescribes a product production process and includes specifications for its operations or process steps
semi formal natural language axiom: LA1: if p is an instance of 'process plan' and p 'has proper continuant part at all times' p', then p' is not an instance of 'process plan'
semi formal natural language axiom: LA2: if p is an instance of 'process plan' and p 'has continuant part at all times' x, then x is not an instance of 'production plan'
semi formal natural language axiom: LA3: if an instance of 'plan specification' 'has continuant part at all times' some instance of 'operation specification' or 'process step specification' and 'prescribes' some instance of 'product production process', then it is an instance of 'process plan'
semi formal natural language definition: every instance of 'process plan' is defined as exactly an instance of 'plan specification' that 'has proper continuant part at all times' some 'objective specification' that 'has continuant part at all times' some 'material product specification', and that is 'proper continuant part of at all times' some 'production plan'

process step
type: Class
subclass of: Class
  intersection of: manufacturing enterprise process
  intersection of: Restriction
    on property: BFO_0000118
    some values from: ManufacturingProcess
example: drill hole, steps- centering, twist drilling, enlarging the hole, and finish the holes- these four steps each of them are process step
first order logic axiom: ProcessStep(x) → ManufacturingEnterpriseProcess(x) ∧ ∃p(ManufacturingProcess(p) ∧ occurrentPartOfAtSomeTime(p,x)) ∧ ∀s((ProcessStep(s) ∧ occurrentPartOfAtSomeTime(s,x)) → s = x)
is primitive: true
natural language definition: manufacturing enterprise process within a manufacturing operation that contains one manufacturing process and no smaller process steps
primitive rationale: The class may contain many other varieties of processes along with a manufacturing process. The clause of "no further decomposition of step using step" is avoided to keep OWL axioms negation-free. Also, we do not use cardinality in axioms.
semi formal natural language axiom: if an entity is an instance of 'process step', then it is an instance of 'manufacturing enterprise process', has some instance of 'manufacturing process' as an occurrent part at some time, and every instance of 'process step' that is an occurrent part of it at some time is identical to it
usage note: Along with the instance of manufacturing process, process step may also include instances of setup process and inspection process as subprocesses.

process step specification
type: Class
subclass of: ActionSpecification
subclass of: Restriction
  on property: BFO_0000111
  all values from: Class
    complement of: process step specification
subclass of: Restriction
  on property: BFO_0000110
  all values from: Class
    complement of: Class
      union of: operation specification
      union of: process plan
      union of: production plan
example: drilling instruction requiring a 10-millimeter hole to be drilled to a depth of 20 millimeters; mixing instruction requiring a chemical batch to be agitated at 60 revolutions per minute for 10 minutes
explanatory note: A process-step specification is the atomic instruction within a process plan—the most specific, detailed, and direct component. It defines required input materials, recipes, dimensions, tolerances, attributes, and any necessary in-process handling or machine configurations. In some cases, it may be as simple as a label or brief instruction, such as “drill ten 0.45-inch holes in a 3' × 5' sheet.”
first order logic axiom: LA1: ProcessStepSpecification(s) ∧ hasContinuantPartAtAllTimes(s,x) → ¬ProcessPlan(x) ∧ ¬ProductionPlan(x) ∧ ¬OperationSpecification(x)
first order logic axiom: LA2: ProcessStepSpecification(s) ∧ hasProperContinuantPartAtAllTimes(s,s') → ¬ProcessStepSpecification(s')
first order logic axiom: LA3: ActionSpecification(s) ∧ ∃p(ProcessStep(p) ∧ prescribes(s,p)) → ProcessStepSpecification(s)
is primitive: true
natural language definition: action specification that prescribes some process step
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: LA1: if an instance of 'process step specification' 'has continuant part at all times' an entity, then that entity is not an instance of 'process plan', 'production plan', or 'operation specification'
semi formal natural language axiom: LA2: if an instance of 'process step specification' 'has proper continuant part at all times' an entity, then that entity is not an instance of 'process step specification'
semi formal natural language axiom: LA3: if an instance of 'action specification' 'prescribes' some instance of 'process step', then it is an instance of 'process step specification'

product inspection process
type: Class
subclass of: BusinessProcess
example: inspection of a bore of the engine block, final inspection of the truck at the end of assembly line, inspection of the PCB at the end of the fab line, inspection of the quality of glass bottle, visual inspection of defects on car body paint
first order logic axiom: ProductInspectionProcess(x) → BusinessProcess(x)
is primitive: true
natural language definition: business process that evaluates a product during or after production against specified requirements
primitive rationale: So far the only way to define inspection process is assuming the presence of a corresponding plan, which will be too demanding. That's why the condition of anything prescribed by an inspection plan is a product inspection process is sufficient. In future inspection process needs to be defined based on its exact characteristics but for the vastness of example of inspection process the task of generalization is challenging.
semi formal natural language axiom: if an entity is an instance of 'product inspection process', then it is an instance of 'business process'

production machine
type: Class
subclass of: Class
  intersection of: machine
  intersection of: Restriction
    on property: hasRole
    some values from: Class
      intersection of: EquipmentRole
      intersection of: Restriction
        on property: BFO_0000054
        all values from: ManufacturingProcess
example: CNC (Computer Numerical Control) milling machines are widely used in manufacturing to precisely cut and shape various materials, including metal, plastic, and wood.
first order logic axiom: Machine(x) ∧ ∃r (hasRole(x, r) ∧ EquipmentRole(r) ∧ ∀p (realizes(p, r) → ManufacturingProcess(p))) → EquipmentMachine(x)
is primitive: true
natural language definition: machine used as equipment in a manufacturing process
primitive rationale: see primitive rationale of Machine.
semi formal natural language axiom: if x is a ‘machine’ that ‘has role’ some ‘equipment role’ and for all y, if y ‘realizes’ that role then y is a ‘manufacturing process’, then x is an ‘equipment machine’

production order
type: Class
subclass of: ObjectiveSpecification
subclass of: Class
  intersection of: ObjectiveSpecification
  intersection of: Restriction
    on property: BFO_0000110
    some values from: material product specification
example: order to produce 100 brackets
first order logic axiom: LA1: ProductionOrder(o) → (ObjectiveSpecification(o) ∧ ∃m(MaterialProductSpecification(m) ∧ hasContinuantPartAtAllTimes(o,m)))
first order logic axiom: LA2: ObjectiveSpecification(o) ∧ ∃p(PlannedProcess(p) ∧ isAchievedByAtSomeTime(o,p) ∧ ∃q(ProductProductionProcess(q) ∧ hasOccurrentPart(p,q))) → ProductionOrder(o)
natural language definition: objective specification stating the product and quantity to be produced and any applicable release, completion, or delivery requirements
semi formal natural language axiom: LA1: if an entity is an instance of 'production order', then it is an instance of 'objective specification' and 'has continuant part at all times' some instance of 'material product specification'
semi formal natural language axiom: LA2: if an instance of 'objective specification' 'is achieved by at some time' some instance of 'planned process' that 'has occurrent part' some instance of 'product production process', then it is an instance of 'production order'

production plan
type: Class
subclass of: PlanSpecification
subclass of: Restriction
  on property: BFO_0000174
  all values from: Class
    complement of: production plan
equivalent class: Class
  intersection of: PlanSpecification
  intersection of: Restriction
    on property: BFO_0000111
    some values from: production order
example: Production of a batch of 1,000 plastic containers and 100 lids in one week, production of 200 wooden chairs at the wood workshop to be completed by August 9. In the first quarter of 2025, the sewing department will produce 500 shirts.
first order logic axiom: LA1: ProductionPlan(p) ∧ hasProperContinuantPartAtSomeTime(p,p') → ¬ProductionPlan(p')
first order logic axiom: LA2: PlanSpecification(p) ∧ ∃q(PlannedProcess(q) ∧ prescribes(p,q) ∧ ∃o(ProductProductionProcess(o) ∧ hasOccurrentPart(q,o))) → ProductionPlan(p)
first order logic definition: ProductionPlan(p) ↔ PlanSpecification(p) ∧ ∃o(ProductionOrder(o) ∧ hasProperContinuantPartAtAllTimes(p,o))
is primitive: false
natural language definition: plan specification that contains a set of production orders and prescribes how they are to be fulfilled
semi formal natural language axiom: LA1: if p is an instance of 'production plan' and p 'has proper continuant part at some time' p', then p' is not an instance of 'production plan'
semi formal natural language axiom: LA2: if an instance of 'plan specification' 'prescribes' some instance of 'planned process' that 'has occurrent part' some instance of 'product production process', then it is an instance of 'production plan'
semi formal natural language definition: every instance of 'production plan' is defined as exactly an instance of 'plan specification' that 'has proper continuant part at all times' some instance of 'production order'

production tool
type: Class
subclass of: tool
subclass of: Restriction
  on property: hasRole
  some values from: Class
    intersection of: EquipmentRole
    intersection of: Restriction
      on property: BFO_0000054
      all values from: ManufacturingProcess
example: carbide insert 1/2 in end mill tool; stamping die for Toyota hood panel; dough-cutting die producing 50 portions per minute
adapted from: - ISO 15531‑1 (resource definitions) refers to tools as devices used in manufacturing (implicit) NIST+11Iteh Standards+11ISO+11. - IEC 60050‑851 (Electropedia) defines “tool” as “an implement, usually manually controlled, used to perform work” machinerysafety101.com. - NIST Dictionary of Metrology describes a tool as “a hand‑held or mechanically actuated item used to apply force or precision to a workpiece” (NIST work) — general metrological usage. - Other references (Shumaker et al. 2011; Jones & Kamil 1973; Hauser 2000; Britannica; Merriam‑Webster; Oxford; Dictionary.com | Meanings & Definitions of English Words ) define a tool as a physical instrument (often hand‑held), used to extend an agent’s ability to modify environment or material. (see https://oagi.atlassian.net/wiki/spaces/IOF/pages/5952208897/Characterization+of+machines+and+tools#Trait-analysis)
explanatory note: - “designed to be held, guided or affixed” distinguishes tools from machines: often simpler, may require manual or machine guidance. - “facilitate execution of a task” covers uses ranging from hand‑tools (hammer, wrench) to machine‑tools (cutting insert, fixture) in the broader sense. - By stating “by a human, machine or mechanism,” the definition remains flexible to tools used both manually and in automated contexts.
first order logic axiom: ProductionTool(t) → ∃r(EquipmentRole(r) ∧ hasRole(t,r) ∧ ∀p(hasRealization(r,p) → ManufacturingProcess(p)))
is primitive: true
natural language definition: tool designed to be held, guided or affixed to enable execution of a manufacturing process
primitive rationale: Many of the core characterizations of production tool (more broadly tool) captured in the trait analysis (see https://oagi.atlassian.net/wiki/spaces/IOF/pages/5952208897/Characterization+of+machines+and+tools#Trait-analysis) cannot be formally expressed, especially energy transformation, power, control, motion and mechanical structures.
semi formal natural language axiom: if an entity is an instance of 'production tool', then it 'has role' some instance of 'equipment role' that 'has realization' only instances of 'manufacturing process'

tool
type: Class
subclass of: MaterialArtifact
example: adjustable wrench used to maintain a pump; multimeter used to troubleshoot an electrical cabinet; borescope used to inspect a pipeline; calibration gauge used to verify a pressure sensor; cleaning brush used to service processing equipment
adapted from: ISO 15531‑1 (resource definitions) refers to tools as devices used in manufacturing (implicit) NIST+11Iteh Standards+11ISO+11. IEC 60050‑851 (Electropedia) defines “tool” as “an implement, usually manually controlled, used to perform work” machinerysafety101.com. NIST Dictionary of Metrology describes a tool as “a hand‑held or mechanically actuated item used to apply force or precision to a workpiece” (NIST work) — general metrological usage. Other references (Shumaker et al. 2011; Jones & Kamil 1973; Hauser 2000; Britannica; Merriam‑Webster; Oxford; Meanings & Definitions of English Words | Dictionary.com ) define a tool as a physical instrument (often hand‑held), used to extend an agent’s ability to modify environment or material.
explanatory note: - “designed to be held, guided or affixed” distinguishes tools from machines: often simpler, may require manual or machine guidance. - “facilitate execution of a task” covers uses ranging from hand‑tools (hammer, wrench) to machine‑tools (cutting insert, fixture) in the broader sense. - By stating “by a human, machine or mechanism,” the definition remains flexible to tools used both manually and in automated contexts. - a tool is guided or affixed by a human, machine or mechanism to facilitate execution of a task
first order logic axiom: Tool(t) → MaterialArtifact(t)
is primitive: true
natural language definition: material artifact designed to be held, guided, or attached to help a person, machine, or mechanism perform a task
primitive rationale: Many of the core characterizations of production tool (more broadly tool) captured in the trait analysis (see https://oagi.atlassian.net/wiki/spaces/IOF/pages/5952208897/Characterization+of+machines+and+tools#Trait-analysis) cannot be formally expressed, especially energy transformation, power, control, motion and mechanical structures.
semi formal natural language axiom: if an entity is an instance of 'tool', then it is an instance of 'material artifact'

work-in-progress transfer process
type: Class
subclass of: MaterialLocationChangeProcess
equivalent class: Class
  intersection of: MaterialLocationChangeProcess
  intersection of: Restriction
    on property: BFO_0000057
    some values from: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        some values from: Class
      intersection of: Restriction
        some values from: Class
example: moving a partially machined engine block from a milling center to a drilling center; conveying molded plastic housings from an injection press to a trimming station; pumping a 500-liter chemical batch from reactor R-01 to filter F-02
first order logic definition: WorkInProgressTransferProcess(x) ↔ PlannedProcess(x) ∧ ∃y ∃t ∃t1 ∃t2 ∃s ∃s1 ∃z ∃z1 (MaterialEntity(y) ∧ TemporalInstant(t) ∧ TemporalInstant(t1) ∧ TemporalRegion(t2) ∧ ProductionMachine(s) ∧ ProductionMachine(s1) ∧ Site(z) ∧ Site(z1) ∧ hasParticipantAtSomeTime(x, y) ∧ firstInstantOf(t, t2) ∧ lastInstantOf(t1, t2) ∧ occupiesTemporalRegion(x, t2) ∧ existsAt(s, t) ∧ existsAt(s1, t1) ∧ locatedInAtAllTimes(s, z) ∧ locatedInAtAllTimes(s1, z1) ∧ locationOfAtAllTimes(s, y) ∧ locationOfAtAllTimes(s1, y))
natural language definition: material location change process in which work in progress moves between production machines
semi formal natural language axiom: every instance of 'work-in-progress transfer process' is defined as exactly an instance of 'planned process' that 'has participant at some time' some 'material entity' and 'occupies temporal region' some 'temporal region' whose 'first instant' is some 'temporal instant' t and 'last instant' is some 'temporal instant' t1, and there exist two distinct 'production machines' s and s1 such that s 'exists at' t and s1 'exists at' t1, and s is 'located in at all times' some 'site' z, s1 is 'located in at all times' some 'site' z1, and both s and s1 are 'location of at all times' the same 'material entity'.

enabled by
type: ObjectProperty
domain: Capability
range: Capability
inverse of: enables
example: the hole-making capability of a drilling machine is enabled by the cutting capability of the drill bit installed in the machine
first order logic definition: enbledBy(x, y) → enables(y, x)
is primitive: true
natural language definition: relation from one capability to another capability such that associated performance of the first capability is made possible by another
primitive rationale: see primitive rationale of 'enables'
semi formal natural language definition: if x is 'enabled by' y then y 'enables' x

enables
type: ObjectProperty
domain: Capability
range: Capability
example: the cutting capability of an installed drill bit enables the hole-making capability of a drilling machine
first order logic definition: enables(c1, c2) → ∀p1 (realizes(p1, c1) → ∃p2 realizes(p2, c2))
is primitive: true
natural language definition: a capability enables another capability only if realization of the first capability implies realization of the second capability
primitive rationale: This property is included to define 'operator role' but it is part of the set of construct for modeling the combined or emergent capability of systems stemming from capabilities of its sub-systems (components). THe other constructs are not completely developed yet and it is not decided which IOF module they will be part of.
semi formal natural language definition: if c1 'enables' c2, then there exist processes p1 and p2 such that p1 'realizes' c1 implies p2 'realizes' c2, or p2 'realizes' c2 implies p1 'realizes' c1