Skip to main content

Peripheral Device Ontology

Computer Hardware
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — PERIPHERAL DEVICE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/peripheral-device-ontology.html

FLOW PERIPHERAL_DEVICE_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Computer Hardware"
    ONTOLOGY = "Peripheral Device Ontology"
    PURPOSE = "Formalise peripheral hardware devices, their functional classes, interfaces, controllers, drivers, data transfers, operational states, compatibility and failure relationships."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    PERIPHERAL_DEVICE
    INPUT_DEVICE
    OUTPUT_DEVICE
    INPUT_OUTPUT_DEVICE
    STORAGE_PERIPHERAL
    COMMUNICATION_PERIPHERAL
    HUMAN_INTERFACE_DEVICE
    KEYBOARD
    MOUSE
    TOUCHPAD
    GAME_CONTROLLER
    SCANNER
    CAMERA
    WEBCAM
    MICROPHONE
    DISPLAY
    MONITOR
    PROJECTOR
    PRINTER
    SPEAKER
    HEADPHONE
    EXTERNAL_STORAGE_DEVICE
    USB_FLASH_DRIVE
    EXTERNAL_HARD_DRIVE
    EXTERNAL_SSD
    CARD_READER
    NETWORK_ADAPTER
    MODEM
    DOCKING_STATION
    HUB
    CONTROLLER
    DEVICE_CONTROLLER
    HOST_CONTROLLER
    INTERFACE
    PORT
    CONNECTOR
    USB
    THUNDERBOLT
    PCIE
    BLUETOOTH
    WIFI
    ETHERNET
    HDMI
    DISPLAYPORT
    AUDIO_INTERFACE
    SERIAL_INTERFACE
    DEVICE_DRIVER
    FIRMWARE
    DEVICE_CLASS
    DEVICE_IDENTIFIER
    SIGNAL
    DATA
    INPUT_DATA
    OUTPUT_DATA
    COMMAND
    REQUEST
    RESPONSE
    TRANSFER
    BANDWIDTH
    LATENCY
    DATA_RATE
    POWER
    VOLTAGE
    CURRENT
    TEMPERATURE
    STATE
    DEVICE_STATE
    EVENT
    CONNECTION_EVENT
    DISCONNECTION_EVENT
    ERROR
    FAILURE
    CONFIGURATION
    HARDWARE_REVISION
    FIRMWARE_VERSION
    DRIVER_VERSION
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    HAS_CONTROLLER
    HAS_INTERFACE
    HAS_PORT
    HAS_CONNECTOR
    HAS_DRIVER
    HAS_FIRMWARE
    CONNECTED_TO
    INTERFACES_WITH
    ATTACHED_TO
    COMMUNICATES_WITH
    SENDS
    RECEIVES
    READS
    WRITES
    TRANSFERS
    CAPTURES
    OUTPUTS
    STORES
    RETRIEVES
    CONTROLS
    ENUMERATES
    IDENTIFIES
    CONFIGURES
    POWERS
    HAS_DEVICE_CLASS
    HAS_IDENTIFIER
    HAS_BANDWIDTH
    HAS_LATENCY
    HAS_DATA_RATE
    HAS_POWER
    HAS_VOLTAGE
    HAS_CURRENT
    HAS_TEMPERATURE
    HAS_STATE
    TRANSITIONS_TO
    HAS_CONFIGURATION
    HAS_HARDWARE_REVISION
    HAS_FIRMWARE_VERSION
    HAS_DRIVER_VERSION
    FAILS_WITH
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    MAPS_TO
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    DEVICE_SPECIFICATIONS
    MANUFACTURER_DATA
    MODEL_DATA
    DEVICE_CLASS_DATA
    DEVICE_IDENTIFIER_DATA
    INTERFACE_DATA
    PORT_AND_CONNECTOR_DATA
    CONTROLLER_DATA
    TRANSFER_TRACES
    BANDWIDTH_DATA
    LATENCY_DATA
    POWER_DATA
    TEMPERATURE_DATA
    DRIVER_DATA
    FIRMWARE_DATA
    CONFIGURATION_DATA
    HARDWARE_REVISION_DATA
    CONNECTION_EVENTS
    ERROR_LOGS
    FAILURE_RECORDS
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_DEVICE_IDENTIFIERS
    NORMALISE_MANUFACTURER_NAMES
    NORMALISE_MODEL_NAMES
    NORMALISE_DEVICE_CLASSES
    NORMALISE_INTERFACE_NAMES
    NORMALISE_PORT_NAMES
    NORMALISE_CONNECTOR_NAMES
    NORMALISE_PROTOCOL_NAMES
    NORMALISE_BANDWIDTH_UNITS
    NORMALISE_LATENCY_UNITS
    NORMALISE_POWER_UNITS
    NORMALISE_VOLTAGE_UNITS
    NORMALISE_TEMPERATURE_UNITS
    NORMALISE_DRIVER_VERSIONS
    NORMALISE_FIRMWARE_VERSIONS
    NORMALISE_HARDWARE_REVISIONS
    RESOLVE_DEVICE_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS PERIPHERAL_REASONING_PIPELINE {
    DEVICE_CONNECTION
      -> PHYSICAL_INTERFACE_DETECTION
      -> ELECTRICAL_OR_LINK_INITIALISATION
      -> DEVICE_ENUMERATION
      -> DEVICE_IDENTIFICATION
      -> DRIVER_BINDING
      -> DEVICE_CONFIGURATION
      -> DATA_OR_COMMAND_TRANSFER
      -> OPERATIONAL_STATE
  }

  PROCESS DEVICE_ENUMERATION {
    CONNECTION_EVENT
      -> HOST_CONTROLLER_DETECTION

    HOST_CONTROLLER_DETECTION
      -> DEVICE_DESCRIPTOR_OR_IDENTIFIER_REQUEST

    DEVICE_RESPONSE
      -> DEVICE_CLASS_RESOLUTION

    DEVICE_CLASS_RESOLUTION
      -> DRIVER_SELECTION

    DRIVER_SELECTION
      -> DEVICE_INITIALISATION
  }

  PROCESS INTERFACE_REASONING {
    PERIPHERAL_DEVICE + HOST_SYSTEM
      -> CONNECTOR_COMPATIBILITY_CHECK

    CONNECTOR_COMPATIBILITY_CHECK
      -> ELECTRICAL_COMPATIBILITY_CHECK

    ELECTRICAL_COMPATIBILITY_CHECK
      -> PROTOCOL_COMPATIBILITY_CHECK

    PROTOCOL_COMPATIBILITY_CHECK
      -> DRIVER_SUPPORT_CHECK

    DRIVER_SUPPORT_CHECK
      -> FUNCTIONAL_COMPATIBILITY_RESULT
  }

  PROCESS DATA_TRANSFER_REASONING {
    SOURCE
      -> TRANSFER_REQUEST

    TRANSFER_REQUEST
      -> INTERFACE_PROTOCOL

    INTERFACE_PROTOCOL
      -> DATA_TRANSFER

    DATA_TRANSFER
      -> DESTINATION

    DESTINATION
      -> ACKNOWLEDGEMENT_OR_RESPONSE
  }

  PROCESS HOT_PLUG_REASONING {
    CONNECTION_EVENT
      -> DEVICE_DETECTION
      -> ENUMERATION
      -> DRIVER_BINDING
      -> AVAILABLE_STATE

    DISCONNECTION_EVENT
      -> TRANSFER_TERMINATION
      -> RESOURCE_RELEASE
      -> DEVICE_REMOVAL_STATE
  }

  PROCESS POWER_REASONING {
    PERIPHERAL_DEVICE
      -> VOLTAGE_REQUIREMENT
      -> CURRENT_REQUIREMENT
      -> POWER_REQUIREMENT

    HOST_OR_EXTERNAL_POWER_SOURCE
      -> AVAILABLE_POWER

    AVAILABLE_POWER + DEVICE_REQUIREMENT
      -> POWER_FEASIBILITY
  }

  PROCESS PERFORMANCE_REASONING {
    PERIPHERAL_DEVICE + INTERFACE + WORKLOAD
      -> TRANSFER_PROFILE

    TRANSFER_PROFILE
      -> LATENCY
      -> DATA_RATE
      -> EFFECTIVE_BANDWIDTH
      -> QUEUEING_OR_PROTOCOL_OVERHEAD

    TRANSFER_PROFILE
      -> BOTTLENECK_HYPOTHESIS
  }

  PROCESS FAILURE_REASONING {
    EXPECTED_DEVICE_BEHAVIOUR + OBSERVED_STATE
      -> DIFFERENCE_ANALYSIS

    DIFFERENCE_ANALYSIS
      -> CONNECTION_CANDIDATE
      -> POWER_CANDIDATE
      -> DRIVER_CANDIDATE
      -> FIRMWARE_CANDIDATE
      -> HARDWARE_CANDIDATE

    EVIDENCE
      -> ROOT_CAUSE_HYPOTHESIS
      -> CONFIDENCE_SCORE
  }

  RULES {
    IF PERIPHERAL_IS_CONNECTED
    THEN DO_NOT_AUTOMATICALLY_ASSERT_FUNCTIONAL_OPERATION

    IF CONNECTOR_TYPES_MATCH
    THEN REQUIRE ELECTRICAL_PROTOCOL_DRIVER_AND_CONFIGURATION_CHECKS

    IF DEVICE_IS_ENUMERATED
    THEN DO_NOT_AUTOMATICALLY_ASSERT_ALL_DEVICE_FUNCTIONS_ARE_AVAILABLE

    IF DRIVER_IS_BOUND
    THEN PRESERVE DRIVER_VERSION_AND_CONFIGURATION_CONTEXT

    IF BUS_POWERED_DEVICE_IS_USED
    THEN REQUIRE HOST_POWER_BUDGET_COMPATIBILITY

    IF INTERFACE_HAS_HIGHER_THEORETICAL_BANDWIDTH
    THEN DO_NOT_AUTOMATICALLY_INFER_HIGHER_DEVICE_PERFORMANCE

    IF FAILURE_IS_OBSERVED
    THEN DO_NOT_ASSERT_DEVICE_HARDWARE_ROOT_CAUSE_WITHOUT_INTERFACE_POWER_DRIVER_AND_FIRMWARE_CHECKS

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND PERIPHERAL_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        DEVICE_SPECIFICATION_COMPLETENESS,
        DEVICE_IDENTIFICATION_CERTAINTY,
        INTERFACE_CERTAINTY,
        DRIVER_AND_FIRMWARE_CERTAINTY,
        CONFIGURATION_CERTAINTY,
        TRANSFER_TRACE_COMPLETENESS,
        FAILURE_EVIDENCE_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF DEVICE_IDENTIFIER_IS_AMBIGUOUS
    THEN REDUCE_DEVICE_RESOLUTION_CONFIDENCE

    IF DRIVER_OR_FIRMWARE_CONTEXT_IS_UNKNOWN
    THEN REDUCE_FUNCTIONAL_COMPATIBILITY_CONFIDENCE

    IF REPRODUCIBLE_DEVICE_TESTS_CONFIRM_OPERATION
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        MANUFACTURER,
        MODEL,
        DEVICE_IDENTIFIER,
        HARDWARE_REVISION,
        INTERFACE,
        FIRMWARE_VERSION
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    PERIPHERAL_DEVICE != DEVICE_DRIVER
    CONNECTION != FUNCTIONAL_OPERATION
    CONNECTOR_MATCH != PROTOCOL_COMPATIBILITY
    ENUMERATION != FULL_FUNCTIONAL_SUPPORT
    DEVICE_CLASS != SPECIFIC_DEVICE_MODEL
    THEORETICAL_INTERFACE_BANDWIDTH != OBSERVED_DEVICE_THROUGHPUT
    LATENCY != BANDWIDTH
    BUS_POWER_AVAILABILITY != GUARANTEED_SUFFICIENT_POWER
    DRIVER_VERSION_AFFECTS_DEVICE_BEHAVIOUR
    FIRMWARE_VERSION_AFFECTS_DEVICE_BEHAVIOUR
    CONFIGURATION_AFFECTS_DEVICE_BEHAVIOUR
    HOT_PLUG_SUPPORT_IS_INTERFACE_AND_DEVICE_DEPENDENT
    FAILURE_SYMPTOM != ROOT_CAUSE
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_DEVICE_IDENTIFIER
    CHECK_DEVICE_CLASS
    CHECK_INTERFACE
    CHECK_PORT_AND_CONNECTOR
    CHECK_PROTOCOL
    CHECK_DRIVER_SUPPORT
    CHECK_FIRMWARE_VERSION
    CHECK_POWER_REQUIREMENTS
    CHECK_CONNECTION_STATE
    CHECK_TRANSFER_RELATIONS
    CHECK_PERFORMANCE_CONTEXT
    CHECK_CONFIGURATION
    CHECK_HARDWARE_REVISION
    CHECK_FAILURE_RELATIONS
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_PERIPHERAL_ENTITIES
    DEVICE_CLASS_RELATIONS
    INTERFACE_RELATIONS
    PORT_AND_CONNECTOR_RELATIONS
    ENUMERATION_RELATIONS
    DRIVER_BINDING_RELATIONS
    FIRMWARE_RELATIONS
    FUNCTIONAL_COMPATIBILITY_RELATIONS
    DATA_TRANSFER_RELATIONS
    POWER_RELATIONS
    DEVICE_STATE_TRANSITIONS
    PERFORMANCE_PROFILES
    FAILURE_HYPOTHESES
    BOTTLENECK_HYPOTHESES
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON DEVICE_DRIVER_FIRMWARE_OR_CONFIGURATION_CHANGE {
      NORMALISE
      ENTITY_RESOLUTION
      UPDATE_INTERFACE_CONTEXT
      UPDATE_DEVICE_CLASS
      UPDATE_DRIVER_BINDING
      UPDATE_FIRMWARE_CONTEXT
      UPDATE_POWER_CONTEXT
      RECOMPUTE_AFFECTED_RELATIONS
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_CONNECTION_TRANSFER_OR_FAILURE_DATA {
      LINK_EVIDENCE
      UPDATE_DEVICE_STATE
      UPDATE_TRANSFER_PROFILE
      UPDATE_CONNECTION_RELATIONS
      REASSESS_FUNCTIONAL_COMPATIBILITY
      REASSESS_FAILURE_HYPOTHESES
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_PERIPHERAL
      BY_DEVICE_CLASS
      BY_DEVICE_IDENTIFIER
      BY_INTERFACE
      BY_PORT
      BY_CONNECTOR
      BY_DRIVER
      BY_FIRMWARE
      BY_CONNECTION_STATE
      BY_TRANSFER
      BY_POWER
      BY_FAILURE
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_DEVICE_ENUMERATION
      ANALYSE_INTERFACE_COMPATIBILITY
      TRACE_DATA_TRANSFERS
      ANALYSE_HOT_PLUG_EVENTS
      ANALYSE_POWER_REQUIREMENTS
      ANALYSE_PERFORMANCE
      ANALYSE_FAILURES
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_CONNECTION_FROM_FUNCTIONAL_OPERATION
      DISTINGUISH_DEVICE_FROM_DRIVER
      PRESERVE_INTERFACE_DRIVER_FIRMWARE_AND_CONFIGURATION_CONTEXT
      DISTINGUISH_ENUMERATION_FROM_FULL_FUNCTIONAL_SUPPORT
      DISTINGUISH_THEORETICAL_FROM_OBSERVED_PERFORMANCE
      DISTINGUISH_FAILURE_SYMPTOM_FROM_ROOT_CAUSE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_PERIPHERAL_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              PERIPHERAL_DEVICE_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ