{
  "package": "hyper-ontology/1",
  "designed_with": "Praxis",
  "implemented_with": "Hyper Ontology",
  "paper": {
    "title": "Depot Operating Object Model: Ontologies for Unifying Factory Systems From Test Cell to Part Lot",
    "url": "https://codeatoms.ai/factory-ontology-rebuild-depot-us/",
    "doi": "10.5281/zenodo.23570177"
  },
  "sector": "discrete-manufacturing-and-automotive",
  "country": "United States",
  "scenario": "the operator is described by class, never by name: a United States government vehicle rebuild depot where power packs and hulls are disassembled, rebuilt across shops of mixed legacy machine tools and released only after a scripted run in the power pack test cell, with controlled unclassified information at most",
  "source": "chapter 5 of the paper (the object list and kinds in 5.1, the typed links in Table 8 and Figure 4, the status vocabularies in 5.2 and the recorded form of the Power Pack in 5.3), with anchors from Table 8. Properties are read from Figure 4 as far as they are legible (the figure truncates Production Work Order, Maintenance Work Order, Run Report, Power Pack Test Cell and Condition Indicator); Edge Gateway adds clock offset and last sync from 5.1 and 6.3, Operator Role adds sign-off authority from 5.2, and Condition Indicator adds its zone from 9.2.",
  "objects": [
    {
      "id": "power-pack",
      "label": "Power Pack",
      "kind": "asset",
      "anchored_in": "The production control system",
      "properties": [
        "Power pack serial",
        "Engine model",
        "Transmission model",
        "Vehicle series it returns to",
        "Rebuild work order",
        "Current shop",
        "Test history"
      ],
      "status_vocabulary": [
        "Received",
        "Disassembled",
        "In rebuild",
        "Awaiting test",
        "On test",
        "Test failed, returned for rework",
        "Passed, released"
      ],
      "links": [
        {
          "to": "power-pack-test-cell",
          "label": "tested on"
        },
        {
          "to": "vehicle-hull",
          "label": "returns to"
        },
        {
          "to": "test-run",
          "label": "records"
        }
      ]
    },
    {
      "id": "vehicle-hull",
      "label": "Vehicle Hull",
      "kind": "asset",
      "anchored_in": "The production control system",
      "properties": [
        "Hull serial",
        "Vehicle series",
        "Hull condition code"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "machine-tool",
      "label": "Machine Tool",
      "kind": "asset",
      "anchored_in": "The maintenance system",
      "properties": [
        "Machine ID",
        "Shop",
        "Controller type or analogue"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "machine-sensor",
          "label": "instrumented by"
        }
      ]
    },
    {
      "id": "power-pack-test-cell",
      "label": "Power Pack Test Cell",
      "kind": "asset",
      "anchored_in": "The test cell's own software",
      "properties": [
        "Test cell ID",
        "Transducer set"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "machine-sensor",
      "label": "Machine Sensor",
      "kind": "asset",
      "anchored_in": "The maintenance system",
      "properties": [
        "Machine ID",
        "Gateway",
        "Sample rate"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "edge-gateway",
      "label": "Edge Gateway",
      "kind": "system",
      "anchored_in": "The on-site edge box",
      "properties": [
        "Gateway ID",
        "Machine group",
        "Buffered events",
        "Clock offset",
        "Last sync"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "machine-sensor",
          "label": "carries"
        }
      ]
    },
    {
      "id": "production-work-order",
      "label": "Production Work Order",
      "kind": "record",
      "anchored_in": "The production control system",
      "properties": [
        "Order number",
        "Power pack"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "power-pack",
          "label": "rebuilds"
        },
        {
          "to": "part-lot",
          "label": "draws"
        }
      ]
    },
    {
      "id": "maintenance-work-order",
      "label": "Maintenance Work Order",
      "kind": "record",
      "anchored_in": "The maintenance system",
      "properties": [
        "Work order number",
        "Machine"
      ],
      "status_vocabulary": [
        "Proposed",
        "Approved",
        "Scheduled",
        "In work",
        "Complete",
        "Declined"
      ],
      "links": [
        {
          "to": "machine-tool",
          "label": "targets"
        }
      ]
    },
    {
      "id": "schedule-proposal",
      "label": "Schedule Proposal",
      "kind": "record",
      "anchored_in": "The production control system",
      "properties": [
        "Proposal ID",
        "Horizon",
        "Machine availability inputs"
      ],
      "status_vocabulary": [
        "Accepted",
        "Modified",
        "Declined"
      ],
      "links": [
        {
          "to": "production-work-order",
          "label": "reorders"
        }
      ]
    },
    {
      "id": "part-lot",
      "label": "Part Lot",
      "kind": "material",
      "anchored_in": "The inventory system",
      "properties": [
        "Lot number",
        "Part number",
        "Quantity drawn"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "machine-tool",
          "label": "issued to"
        }
      ]
    },
    {
      "id": "test-run",
      "label": "Test Run",
      "kind": "event",
      "anchored_in": "The test cell's own software",
      "properties": [
        "Run ID",
        "Power pack serial",
        "Scripted cycle profile"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "run-report",
          "label": "produces"
        }
      ]
    },
    {
      "id": "run-report",
      "label": "Run Report",
      "kind": "document",
      "anchored_in": "The test cell's own software",
      "properties": [
        "Run ID",
        "Open format file reference",
        "Parameter table"
      ],
      "status_vocabulary": [
        "Draft",
        "Signed"
      ],
      "links": [
        {
          "to": "operator-role",
          "label": "signed by"
        }
      ]
    },
    {
      "id": "operator-role",
      "label": "Operator Role",
      "kind": "actor",
      "anchored_in": "The on-site identity service (Keycloak)",
      "properties": [
        "Role code",
        "Shift",
        "Qualification",
        "Sign-off authority"
      ],
      "status_vocabulary": [],
      "links": []
    },
    {
      "id": "condition-indicator",
      "label": "Condition Indicator",
      "kind": "measure",
      "anchored_in": "Computed in the model from the time series store",
      "properties": [
        "Machine ID",
        "Signal (vibration velocity, spindle load)",
        "Zone"
      ],
      "status_vocabulary": [],
      "links": [
        {
          "to": "machine-tool",
          "label": "trends against"
        }
      ]
    }
  ],
  "write_paths": [
    "the adapter tier (read-only subscriptions to every source over OPC UA and MTConnect, idempotent writes into the model)",
    "work raised in the maintenance system for a planner to approve",
    "the signed run report, published over the site's OPC UA standard"
  ],
  "human_loop": "the test cell operator signs every release or return, a planner approves or declines every maintenance work order, and a planner accepts, modifies or declines every schedule proposal; no machine or site control is ever written to"
}