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 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 reference ontology, it is expacted 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
version info: This is initial version of Production planning ontology version 202502
change note: initial version
copyright: Copyright (c) 2022, 2023, 2024, 2025 Open Applications Group
maturity: Provisional

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: ∀x ( (Capability(x) ∧ ∃y (capabilityOf(x, y) ∧ Agent(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

inspection plan
type: Class
subclass of: PlanSpecification
direct source: ISO/ASTM 52900:2021 (3.3.13)
first order logic axiom: ∀x ( (PlanSpecification(x) ∧ ∃y (prescribes(x, y) ∧ ProductInspectionProcess(y))) → InspectionPlan(x) )
is primitive: true
natural language definition: Set of instructions specifying the process of verification including appropriate resources and sequence of inspections to be referenced by the manufacturing plan.
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: every instance of ‘inspection plan’ is defined as exactly an instance of ‘plan specification’ that ‘prescribes’ some ‘product inspection process’

machine
type: Class
subclass of: MaterialArtifact
editorial note: There is a strong argument to move this class to IOF Core.
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)
is primitive: true
natural language definition: physical artefact or system that transforms energy or material through guided mechanical, electrical or fluid power for performing one or more processes.
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 definition: if x is a machine then x is a physical artefact and x transforms energy or material through guided mechanical, electrical or fluid power in order to perform one or more processes
subject matter expert explanation: - “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).

machine 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
first order logic definition: MachineTransferProcess(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: A material location change process that involves moving work-in-progress parts between different machines.
semi formal natural language axiom: every instance of 'machine 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'.

manufacturing enterprise process
type: Class
subclass of: PlannedProcess
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
is primitive: true
natural language definition: business process that contains at least one manufacturing process
primitive rationale: This term is included as an umbrella term for every kind processes which are 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 groups or identity manufactruing processes and other anciliary 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 criteria is hard to express formally.

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
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: ∀o, x1, x2 ( 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 that aggregates only those process steps which are part of the same product production process and there exists at least one common manufacturing resource, used in the manufacturing process for each 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 step" condition. Furthermore, the use of operation in batch and continuous manufacturing many provide some more refinement on the role of the common participant.
semi formal natural language axiom: if ‘x1’ and ‘x2’ are distinct ‘process steps’ that are ‘occurrent part of at some time’ the same ‘manufacturing operation’, then there exists some ‘equipment’ that ‘has role’ some ‘equipment role’ and that ‘has participant at some times’ both a ‘manufacturing process’ that is ‘occurrent part of at some time’ x1 and a ‘manufacturing process’ that is ‘occurrent part of at some time’ x2

material handling plan
type: Class
subclass of: PlanSpecification
explanatory note: 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: ∀x (PlanSpecification(x) ∧ ∃y,z (prescribes(y, z) ∧ MachineTransferProcess(z)) ∧ hasContinuantPartAtAllTimes(x, y) → MaterialHandlingPlan(x))
is primitive: true
natural language definition: 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.
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: DesignSpecification
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.
equivalent class: Class
  intersection of: DesignSpecification
  intersection of: Restriction
    on property: prescribes
    all values from: MaterialProduct
first order logic axiom: MaterialProductSpecification(x) ↔ DesignSpecification(x) ∧ ∃y (prescribes(x, y) ∧ MaterialProduct(y))
is primitive: false
natural language definition: A design specification containing the structure, dimension, and other characteristics of a product that satisfies the requirement of a purchase order from a customer.
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
explanatory note: This part of the plan specifies one or many steps, each of which are to be performed using one or more specific manufacturing resource or parallely or consecutively.
first order logic definition: ActionSpecification(x) ∧ ∃y (ManufacturingOperation(y) ∧ prescribes(x,y)) → OperationSpecification(x)
is primitive: true
natural language definition: An action specification that prescribes some manufacturing operation.
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language definition: If x is an 'action specification' and there exists a 'manufacturing operation' y that is 'prescribed by' x then x is an '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
first order logic definition: Agent(x) ∧ ∃y (OperatorRole(y) ∧ hasRole(x, y))
natural language definition: person or organization which has an operator role
semi formal natural language definition: x is an 'agent' that 'has role' some 'operator role'

operator role
type: Class
subclass of: AgentRole
equivalent class: Class
  intersection of: AgentRole
  intersection of: Restriction
    on property: roleOf
    some values from: Class
      intersection of: Agent
      intersection of: Restriction
        on property: hasCapability
        some values from: Class
example: person as a CNC operator has an operator role of operating, mantaining, and utilizing the assigned CNC machine before, during, and after a manufacturing process
first order logic axiom: AgentRole(x) ∧ ∃a (Agent(a) ∧ roleOf(x, a) ∧ participatesIn(a, p) ∧ ManufacturingProcess(p)) → OperatorRole(x)
first order logic definition: AgentRole(x) → Role(x) ∧ ∃a ∃s ∃c ∃e ( Agent(a) ∧ roleOf(x,a) ∧ skill(s) ∧ hasCapability(a,s) ∧ Capability(c) ∧ PieceOfEquipment(e) ∧ capabilityOf(c,e) ∧ enables(s,c))
is primitive: true
natural language definition: role held by an agent when it possesses a skill that enables a capability of a piece 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: if x is an 'agent role' that is the 'role of' some 'agent' who 'participates in' a 'manufacturing process', then x is an 'operator role'
semi formal natural language definition: if x is an 'agent role', then x is a 'role' that is the 'role of' some 'agent' who 'has capability' some 'skill' s, and s 'enables' some 'capability' c that is the 'capability of' some 'piece of equipment' e.

process plan
type: Class
subclass of: PlanSpecification
equivalent class: Class
  intersection of: PlanSpecification
  intersection of: Restriction
    on property: BFO_0000111
    all 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_0000111
    all values from: Class
      union of: operation specification
      union of: process step specification
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: PlanSpecification(x) ∧ ∃y(prescribes(x,y) ∧ ProductProductionProcess(y)) → ProcessPlan(x)
first order logic definition: ProcessPlan(x) ↔ PlanSpecification(x) ∧ ∀y ((continuantPartAtAllTimes(y, x) ∧ ObjectiveSpecification(y)) → ProductionOrder(y)) ∧ ∀z ((continuantPartAtAllTimes(z, x) ∧ ActionSpecification(z)) → (OperationSpecification(z) ∨ ProcessSpecification(z)))
natural language definition: Plan which include steps and sequence required to produce a product at the required quality level and cost.
semi formal natural language axiom: x is a 'plan specification' if and only if x prescribes a 'product production process' then x is a 'process plan'.
semi formal natural language definition: If x is 'process plan' then x is a 'plan specification' and every 'objective specification' which is a continuant part of x is a 'production order', and every 'action specification', which is a continuant part of x is either a 'operation specification' or 'process specification'.

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 definition: processStep(x) ↔ ManufacturingEnterpriseProcess(x) ∧ ∃p (ManufacturingProcess(p) ∧ occurrentPartOfAtSomeTime(p,x)) ∧ ∀s ((processStep(s) ∧ occurrentPartOfAtSomeTime(s,x)) → (s = x))
is primitive: true
natural language definition: A unit subprocess of an operation which does not contain any other process step and exactly one manufacturing process as a subprocess.
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 definition: every instance of 'process step' is defined as exactly an instance of 'manufacturing enterprise process' that has at least one 'manufacturing process' as an 'occurrent part at some time' and does not have any other 'process step' as an 'occurrent part at some time'.
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
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: ActionSpecification(x) ∧ ∃y (ProcessStep(y)∧prescribes(x,y)) → ProcessSpecification(x)
is primitive: true
natural language definition: An action specification that prescribes some process steps.
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: If x is an 'action specifciation' and there exists a 'process step' y that is 'prescribed by' x then x is an 'process 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: LA1: ∀x (PlanSpecification(x) ∧ ∃y (ProductInspectionProcess(y) ∧ prescribes(x, y)) → InspectionPlan(x))
is primitive: true
natural language definition: Product inspection is a systematic process of evaluating goods during and after production to ensure they meet specified quality standards.
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 definition: if x is an instance of ‘plan specification’ that ‘prescribes’ some ‘product inspection process’, then x is an instance of ‘inspection plan’

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: ∀x (Machine(x) ∧ ∃r (hasRole(x, r) ∧ EquipmentRole(r) ∧ ∀p (realizes(p, r) → ManufacturingProcess(p))) → EquipmentMachine(x))
is primitive: true
natural language definition: machine that are used in manufacturing process as equipments.
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: ObjectiveSpecification(x) ∧ ∃y (isAchievedByAtSomeTime(x, y) ∧ ProductProductionProcess(y)) → ProductionOrder(x)
first order logic definition: ProductionOrder(x) ↔ ObjectiveSpecification(x) ∧ ∃y (MaterialProductSpecification(y) ∧ hasContinuantPartAtAllTimes(x, y))
natural language definition: A production order is a document that states the number of units to be manufactured, the date when the order is released for production, and where the units should be delivered once they have been completed. A production order may be triggered by a long-term plan to maintain certain inventory levels, or by the receipt of an order from a customer.
semi formal natural language axiom: If x is an 'objective specification' and there exists a 'product production process' y that x is achieved by at some time, then x is a 'production order'.
semi formal natural language definition: x is a 'production order' if and only if x 'has continuant part at all times' some y which is a 'material product specification'.

production plan
type: Class
subclass of: PlanSpecification
equivalent class: Class
  intersection of: PlanSpecification
  intersection of: Restriction
    on property: BFO_0000110
    all values from: Class
      union of: inspection plan
      union of: material handling plan
      union of: process plan
  intersection of: Restriction
    on property: BFO_0000111
    all 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: PlanSpecification(x) ∧ ∃y(prescribes(x,y) ∧ ProductProductionProcess(y)) → ProductionPlan(x)
first order logic definition: ProductionPlan(x) ↔ PlanSpecification(x) ∧ ∀y (continuantPartAtAllTimes(y,x) ∧ ObjectiveSpecification(y)) → ProductionOrder(y)) ∧ ∀z (continuantPartAtAllTimes(z,x) ∧ PlanSpecification(z) → (ProcessPlan(z) V InspectionPlan(z) V MaterialHandlingPlan(z)))
is primitive: false
natural language definition: Plan that aims at producing one or multiple products as specified or fulfills some production order.
semi formal natural language axiom: x is a 'plan specifcation' if and only if x prescribes a 'product production process' then x is a 'production plan'.
semi formal natural language definition: A production plan is a type of plan specification that has as continuant parts, at all times, at least one objective specification that is a production order, and any continuant part that is a plan specification must be either a process plan, an inspection plan, or a material handling plan

production tool
type: Class
subclass of: MaterialArtifact
subclass of: Restriction
  on property: hasRole
  some values from: Class
    intersection of: EquipmentRole
    intersection of: Restriction
      on property: BFO_0000054
      all values from: ManufacturingProcess
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)
is primitive: true
natural language definition: physical artefact designed to be held, guided or affixed to facilitate execution of a task by a human, machine or mechanism.
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 definition: if x is a tool then x is a physical artefact and x is designed to be held, guided or affixed by a human, machine or mechanism to facilitate execution of a task
subject matter expert explanation: - “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.

setup process
type: Class
subclass of: PlannedProcess
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
is primitive: true
natural language definition: Setup process is a planned process where tools are attached between two manufactruing operations on the same resource (for example machine) such that the output of the first is different from the output of the second
primitive rationale: not all conditions can be specified at this point for a wide range of industrial examples

enabled by
type: ObjectProperty
domain: Capability
range: Capability
inverse of: enables
first order logic definition: enbledBy(x, y) → enables(y, x)
is primitive: true
natural language definition: capability enabled by another capability implies the second capability enables the first capability.
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
first order logic definition: enables(c1, c2) → ∃p1 ∃p2 ((realizes(p1, c1) → realizes(p2, c2)) ∨ (realizes(p2, c2) → realizes(p1, c1)))
is primitive: true
natural language definition: capability enables another capability implies that either the realization of the first capability implies the realization of the second capability or the realization of the second capability implies the realization of the first 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