Skip to main content

Control Relationship Ontology

System Relationships
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Control Relationship Ontology
DOMAIN: Relationship Ontologies / System Relationships
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/system-relationships/control-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "ControlRelationshipOntology" v1.0 {
  ontology:
    id: "control-relationship-ontology"
    parent: "system-relationships"
    purpose: "Represent evidence-backed control, supervision, feedback and authority relationships between system components."

  types:
    System: {id: string, name: string, version: string?}
    Component: {id: string, system_id: string, role: string}
    Controller: {id: string, component_id: string, strategy: string?, version: string?}
    ControlledProcess: {id: string, component_id: string, state_schema: string}
    ControlSignal: {id: string, source: string, target: string, value: number?, unit: string?, timestamp: datetime?, provenance: string}
    SensorObservation: {id: string, observed_process: string, quantity: number, unit: string, timestamp: datetime, uncertainty: number?, provenance: string}
    Setpoint: {id: string, variable: string, value: number, unit: string, tolerance: number?}
    ControlPolicy: {id: string, controller_id: string, constraints: string[], enabled: bool, version: string}
    Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}

  predicates:
    controls(controller: Controller, process: ControlledProcess)
    supervises(controller: Controller, component: Component)
    sends_signal(controller: Controller, signal: ControlSignal)
    receives_signal(process: ControlledProcess, signal: ControlSignal)
    observes(controller: Controller, observation: SensorObservation)
    targets(controller: Controller, setpoint: Setpoint)
    governed_by(controller: Controller, policy: ControlPolicy)
    depends_on(component: Component, component: Component)
    feeds_back(observation: SensorObservation, controller: Controller)

  constraints:
    - "All relationship endpoints must resolve to declared compatible types."
    - "Confidence must be in [0,1]; claims require evidence and provenance."
    - "Distinguish command authority from observed physical influence."
    - "Control signals and setpoints must use compatible dimensions and units."
    - "A controller's authority must be checked against its active policy and system scope."
    - "A control relationship does not by itself prove stability, safety or successful execution."
    - "Control, supervision and dependency are not automatically symmetric or transitive."
    - "Feedback loops are permitted; flag unsafe or unbounded cycles for review."
    - "Time-dependent control assertions must retain observation and command timestamps."

  inference:
    rule control_path:
      if controls(c,p) and sends_signal(c,s) and receives_signal(p,s)
      then control_path_evidenced(c,p,s)
      confidence: "bounded by supporting observations; not proof of achieved control"
    rule feedback_path:
      if observes(c,o) and feeds_back(o,c) and valid(o)
      then feedback_available(c,o)
      confidence: "dependent on measurement quality and freshness"
    rule policy_scoped_authority:
      if governed_by(c,policy) and policy.enabled and permitted(policy,action)
      then authorised_for(c,action)
      confidence: "valid only within policy scope and version"
    rule dependency_impact:
      if depends_on(a,b) and unavailable(b)
      then potential_impact(a,b)
      confidence: "risk indicator, not a certain failure"

  SEMANTIC_EQUIVALENCE:
    - "Normalise component identifiers within versioned system registries."
    - "Map synonymous control terms only when roles and operating context match."
    - "Do not equate control authority, causal influence and ownership."

  CONFIDENCE:
    range: [0,1]
    factors: [sensor_uncertainty, signal_integrity, provenance_quality, policy_validity, temporal_freshness, independent_verification]
    policy: "Do not increase confidence solely by chaining inferred control edges."

  VALIDATION:
    - "Check entity types, system membership, signal direction and interface compatibility."
    - "Validate units, timestamps, policy scope and safety constraints."
    - "Detect missing feedback, stale measurements, conflicting commands and unsupported claims."
    - "Retain contradictory observations and unresolved uncertainty."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, typed assertions, rules and provenance"
    note: "Compute hash at execution; no hash value is claimed here."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed system-control knowledge graph with evidence-backed edges"
    outputs: [control_edges, command_paths, feedback_links, policy_constraints, uncertainty_annotations, provenance_records]
    safeguards: [no_unverified_safety_claims, no_automatic_authority_escalation, preserve_units_and_timestamps, human_review_for_critical_controls]
}

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