AI SEARCH
FLOW ALGEBRA — INPUT DEVICE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-hardware/input-device-ontology.html
FLOW INPUT_DEVICE_ONTOLOGY {
META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Computer Hardware"
ONTOLOGY = "Input Device Ontology"
PURPOSE = "Formalise hardware devices that capture user, environmental or machine input and transform physical actions or signals into data consumable by computing systems."
LOCALE = "en-GB"
}
ENTITY_TYPES {
INPUT_DEVICE
HUMAN_INPUT_DEVICE
SENSOR_INPUT_DEVICE
POINTING_DEVICE
KEYBOARD
KEYPAD
MOUSE
TRACKBALL
TOUCHPAD
TOUCHSCREEN
STYLUS
GRAPHICS_TABLET
JOYSTICK
GAME_CONTROLLER
MICROPHONE
CAMERA
WEBCAM
SCANNER
BARCODE_SCANNER
CARD_READER
BIOMETRIC_READER
FINGERPRINT_SENSOR
MOTION_SENSOR
POSITION_SENSOR
TEMPERATURE_SENSOR
PRESSURE_SENSOR
LIGHT_SENSOR
ACCELEROMETER
GYROSCOPE
GPS_RECEIVER
BUTTON
SWITCH
KEY
SENSOR
TRANSDUCER
CONTROLLER
MICROCONTROLLER
INTERFACE
USB
BLUETOOTH
WIRELESS_INTERFACE
SERIAL_INTERFACE
INPUT_PORT
DEVICE_DRIVER
FIRMWARE
SIGNAL
ANALOG_SIGNAL
DIGITAL_SIGNAL
EVENT
INPUT_EVENT
USER_ACTION
PHYSICAL_QUANTITY
SAMPLE
DATA
INPUT_DATA
COORDINATE
KEY_CODE
SCAN_CODE
BUTTON_STATE
AXIS_VALUE
IMAGE_DATA
AUDIO_DATA
SAMPLE_RATE
RESOLUTION
SENSITIVITY
ACCURACY
PRECISION
LATENCY
POLLING_RATE
DEBOUNCE
CALIBRATION
STATE
ERROR
FAILURE
CONFIGURATION
HARDWARE_REVISION
FIRMWARE_VERSION
DRIVER_VERSION
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}
RELATIONSHIPS {
IS_A
INSTANCE_OF
PART_OF
CONTAINS
HAS_SENSOR
HAS_CONTROLLER
HAS_INTERFACE
HAS_DRIVER
HAS_FIRMWARE
CONNECTED_TO
INTERFACES_WITH
DETECTS
SENSES
MEASURES
CAPTURES
SAMPLES
CONVERTS_TO
GENERATES
SENDS
RECEIVES
REPORTS
MAPS_TO
CALIBRATES
HAS_SAMPLE_RATE
HAS_RESOLUTION
HAS_SENSITIVITY
HAS_ACCURACY
HAS_PRECISION
HAS_LATENCY
HAS_POLLING_RATE
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
SEMANTICALLY_EQUIVALENT_TO
}
INPUTS {
DEVICE_SPECIFICATIONS
MANUFACTURER_DATA
MODEL_DATA
DEVICE_TYPE_DATA
INTERFACE_DATA
SENSOR_SPECIFICATIONS
SIGNAL_DATA
INPUT_EVENT_TRACES
SAMPLE_DATA
CALIBRATION_DATA
RESOLUTION_DATA
SAMPLE_RATE_DATA
POLLING_RATE_DATA
LATENCY_DATA
ACCURACY_DATA
DRIVER_DATA
FIRMWARE_DATA
CONFIGURATION_DATA
HARDWARE_REVISION_DATA
ERROR_LOGS
ONTOLOGY_TERMS
}
NORMALISE {
STANDARDISE_DEVICE_IDENTIFIERS
NORMALISE_MANUFACTURER_NAMES
NORMALISE_MODEL_NAMES
NORMALISE_DEVICE_TYPES
NORMALISE_INTERFACE_NAMES
NORMALISE_SIGNAL_TYPES
NORMALISE_EVENT_TYPES
NORMALISE_SAMPLE_RATES
NORMALISE_RESOLUTION
NORMALISE_POLLING_RATES
NORMALISE_LATENCY_UNITS
NORMALISE_ACCURACY_AND_PRECISION_UNITS
NORMALISE_DRIVER_VERSIONS
NORMALISE_FIRMWARE_VERSIONS
NORMALISE_HARDWARE_REVISIONS
RESOLVE_DEVICE_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}
PROCESS INPUT_PIPELINE {
PHYSICAL_ACTION_OR_SIGNAL
-> DETECTION_OR_SENSING
-> SIGNAL_CONVERSION
-> SAMPLING_OR_EVENT_GENERATION
-> DEVICE_PROCESSING
-> ENCODING
-> INTERFACE_TRANSFER
-> DRIVER_INTERPRETATION
-> SYSTEM_INPUT_EVENT_OR_DATA
}
PROCESS KEYBOARD_REASONING {
KEY_PRESS_OR_RELEASE
-> SWITCH_STATE_CHANGE
SWITCH_STATE_CHANGE
-> KEY_MATRIX_SCAN
KEY_MATRIX_SCAN
-> SCAN_CODE
SCAN_CODE
-> DEVICE_REPORT
DEVICE_REPORT
-> DRIVER_MAPPING
-> KEY_EVENT
}
PROCESS POINTING_DEVICE_REASONING {
PHYSICAL_MOVEMENT_OR_POSITION
-> SENSOR_MEASUREMENT
SENSOR_MEASUREMENT
-> COORDINATE_OR_DELTA
COORDINATE_OR_DELTA
-> DEVICE_REPORT
DEVICE_REPORT
-> POINTER_EVENT
}
PROCESS SENSOR_REASONING {
PHYSICAL_QUANTITY
-> TRANSDUCER_RESPONSE
TRANSDUCER_RESPONSE
-> ANALOG_OR_DIGITAL_SIGNAL
ANALOG_SIGNAL
-> ANALOG_TO_DIGITAL_CONVERSION_IF_REQUIRED
DIGITAL_SAMPLE
-> CALIBRATION_TRANSFORM
CALIBRATION_TRANSFORM
-> MEASURED_VALUE
}
PROCESS CAMERA_REASONING {
INCIDENT_LIGHT
-> IMAGE_SENSOR
IMAGE_SENSOR
-> PIXEL_SIGNAL
PIXEL_SIGNAL
-> DIGITAL_IMAGE_DATA
DIGITAL_IMAGE_DATA
-> DEVICE_PROCESSING
-> FRAME_OUTPUT
}
PROCESS MICROPHONE_REASONING {
SOUND_PRESSURE
-> TRANSDUCER
TRANSDUCER
-> ELECTRICAL_SIGNAL
ELECTRICAL_SIGNAL
-> SAMPLING
SAMPLING
-> DIGITAL_AUDIO_DATA
}
PROCESS CALIBRATION_REASONING {
REFERENCE_INPUT
-> OBSERVED_DEVICE_OUTPUT
OBSERVED_DEVICE_OUTPUT + EXPECTED_OUTPUT
-> CALIBRATION_ERROR
CALIBRATION_ERROR
-> CALIBRATION_PARAMETERS
CALIBRATION_PARAMETERS
-> CORRECTED_INPUT_MAPPING
}
PROCESS FAILURE_REASONING {
EXPECTED_INPUT + OBSERVED_OUTPUT
-> DIFFERENCE_ANALYSIS
DIFFERENCE_ANALYSIS
-> DEVICE_OR_INTERFACE_ERROR_CANDIDATES
ERROR_CANDIDATES
-> DRIVER_CHECK
-> FIRMWARE_CHECK
-> CALIBRATION_CHECK
-> HARDWARE_CHECK
EVIDENCE
-> ROOT_CAUSE_HYPOTHESIS
-> CONFIDENCE_SCORE
}
RULES {
IF INPUT_DEVICE_GENERATES_EVENT
THEN LINK {
DEVICE
SOURCE_ACTION_OR_SIGNAL
EVENT
TIME_CONTEXT
INTERFACE_CONTEXT
}
IF SENSOR_VALUE_IS_INTERPRETED
THEN PRESERVE UNIT_CALIBRATION_AND_RESOLUTION_CONTEXT
IF DEVICE_IS_CONNECTED
THEN DO_NOT_AUTOMATICALLY_ASSERT_DRIVER_OR_PROTOCOL_COMPATIBILITY
IF POLLING_RATE_IS_HIGHER
THEN DO_NOT_AUTOMATICALLY_ASSERT_LOWER_END_TO_END_INPUT_LATENCY
IF RESOLUTION_IS_HIGHER
THEN DO_NOT_AUTOMATICALLY_ASSERT_HIGHER_ACCURACY
IF SAME_PHYSICAL_ACTION_GENERATES_DIFFERENT_CODES
THEN PRESERVE_DEVICE_LAYOUT_DRIVER_AND_CONFIGURATION_CONTEXT
IF FAILURE_IS_OBSERVED
THEN DO_NOT_ASSERT_HARDWARE_ROOT_CAUSE_WITHOUT_DRIVER_FIRMWARE_AND_INTERFACE_CHECKS
IF SEMANTIC_IDENTIFIERS_DIFFER
AND INPUT_DEVICE_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}
CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
DEVICE_SPECIFICATION_COMPLETENESS,
MODEL_IDENTIFICATION_CERTAINTY,
INTERFACE_CERTAINTY,
DRIVER_AND_FIRMWARE_CERTAINTY,
CALIBRATION_QUALITY,
SIGNAL_QUALITY,
EVENT_TRACE_COMPLETENESS,
PROVENANCE_COMPLETENESS
)
LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}
IF CALIBRATION_IS_UNKNOWN
THEN REDUCE_MEASUREMENT_INTERPRETATION_CONFIDENCE
IF DRIVER_OR_FIRMWARE_CONTEXT_IS_UNKNOWN
THEN REDUCE_EVENT_MAPPING_CONFIDENCE
IF REPRODUCIBLE_INPUT_TESTS_CONFIRM_BEHAVIOUR
THEN INCREASE CONFIDENCE_SCORE
}
SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
MANUFACTURER,
MODEL,
HARDWARE_REVISION,
INTERFACE,
FIRMWARE_VERSION,
DRIVER_VERSION
)
IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}
REASONING_CONSTRAINTS {
INPUT_DEVICE != INPUT_EVENT
PHYSICAL_ACTION != DIGITAL_EVENT
SENSOR_SIGNAL != INTERPRETED_MEASUREMENT
RESOLUTION != ACCURACY
PRECISION != ACCURACY
POLLING_RATE != END_TO_END_LATENCY
SAMPLE_RATE != SIGNAL_BANDWIDTH_WITHOUT_CONTEXT
CONNECTION != FUNCTIONAL_COMPATIBILITY
DEVICE_DRIVER != HARDWARE_DEVICE
RAW_INPUT != INTERPRETED_USER_INTENT
CALIBRATION_AFFECTS_MEASUREMENT
DRIVER_AND_CONFIGURATION_AFFECT_EVENT_MAPPING
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_TYPE
CHECK_INTERFACE
CHECK_SIGNAL_TYPE
CHECK_EVENT_MAPPING
CHECK_SAMPLE_RATE
CHECK_RESOLUTION
CHECK_ACCURACY_AND_PRECISION
CHECK_POLLING_RATE
CHECK_LATENCY_CONTEXT
CHECK_CALIBRATION
CHECK_DRIVER_VERSION
CHECK_FIRMWARE_VERSION
CHECK_HARDWARE_REVISION
CHECK_CONFIGURATION
CHECK_FAILURE_RELATIONS
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}
OUTPUTS {
NORMALISED_INPUT_DEVICE_ENTITIES
DEVICE_TYPE_RELATIONS
SENSOR_RELATIONS
INTERFACE_RELATIONS
PHYSICAL_TO_DIGITAL_MAPPINGS
INPUT_EVENT_RELATIONS
SAMPLE_RELATIONS
CALIBRATION_RELATIONS
DRIVER_AND_FIRMWARE_RELATIONS
INPUT_STATE_TRANSITIONS
ERROR_RELATIONS
FAILURE_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_EVENT_MAPPING
UPDATE_CALIBRATION
UPDATE_DRIVER_AND_FIRMWARE_CONTEXT
RECOMPUTE_AFFECTED_RELATIONS
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}
ON NEW_INPUT_EVENT_SENSOR_OR_ERROR_DATA {
LINK_EVIDENCE
UPDATE_INPUT_TRACE
UPDATE_DEVICE_STATE
REASSESS_CALIBRATION
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_INPUT_DEVICE
BY_DEVICE_TYPE
BY_SENSOR
BY_INTERFACE
BY_EVENT
BY_SIGNAL
BY_SAMPLE
BY_CALIBRATION
BY_DRIVER
BY_FIRMWARE
BY_ERROR
BY_CONFIDENCE
}
REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
TRACE_INPUT_PIPELINE
ANALYSE_KEYBOARD_INPUT
ANALYSE_POINTING_INPUT
ANALYSE_SENSOR_INPUT
ANALYSE_CAMERA_INPUT
ANALYSE_AUDIO_INPUT
ANALYSE_CALIBRATION
ANALYSE_FAILURES
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}
RESPONSE_POLICY {
DISTINGUISH_PHYSICAL_INPUT_FROM_DIGITAL_EVENT
DISTINGUISH_RESOLUTION_FROM_ACCURACY
PRESERVE_CALIBRATION_INTERFACE_DRIVER_AND_FIRMWARE_CONTEXT
DISTINGUISH_RAW_INPUT_FROM_INTERPRETED_INTENT
DISTINGUISH_FAILURE_SYMPTOM_FROM_ROOT_CAUSE
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_INPUT_DEVICE_INFERENCE
}
}
TERMINAL {
RESULT =
VALIDATED(
SEMANTICALLY_NORMALISED(
EVIDENCE_LINKED(
CONFIDENCE_AWARE(
INPUT_DEVICE_KNOWLEDGE
)
)
)
)
}
}
END FLOW
Download Code
Copy to Clipboard