FLOW ALGEBRA
TITLE: Engineering Relationship Ontology
DOMAIN: Scientific Relationships / Engineering
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/scientific-relationships/engineering-relationship-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "EngineeringRelationshipOntology" v1.0 {
ontology:
id: "engineering-relationship-ontology"
parent: "scientific-relationships"
purpose: "Represent, reason over and validate evidence-backed relationships among engineering components, systems, requirements, processes and measurements."
types:
EngineeringEntity: {id: string, kind: enum[component, subsystem, system, material, process, requirement, interface, failure_mode, other], name: string, version: string?}
EngineeringSystem: {id: string, domain: string, lifecycle_stage: string?, configuration_version: string?}
Requirement: {id: string, statement: string, priority: string?, verification_method: string?}
Interface: {id: string, kind: enum[mechanical, electrical, thermal, hydraulic, pneumatic, software, data, other], specification: string?}
Measurement: {id: string, quantity: string, value: number, unit: string, uncertainty: number?, timestamp: datetime?, provenance: string}
Evidence: {id: string, source: string, method: string?, timestamp: datetime?, provenance: string}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
part_of(component: EngineeringEntity, assembly: EngineeringEntity)
connected_to(a: EngineeringEntity, b: EngineeringEntity, interface: Interface)
depends_on(a: EngineeringEntity, b: EngineeringEntity)
satisfies(entity: EngineeringEntity, requirement: Requirement)
verified_by(requirement: Requirement, evidence: Evidence)
measured_by(entity: EngineeringEntity, measurement: Measurement)
transfers_energy_to(a: EngineeringEntity, b: EngineeringEntity)
controls(controller: EngineeringEntity, target: EngineeringEntity)
constrained_by(entity: EngineeringEntity, requirement: Requirement)
susceptible_to(entity: EngineeringEntity, failure_mode: EngineeringEntity)
constraints:
- "All relationship endpoints must resolve to typed entities."
- "Confidence must lie within [0, 1]."
- "Measurements must carry explicit units and uncertainty where known."
- "Interface compatibility must be verified before declaring an operational connection."
- "Part-of and dependency relations are distinct and must not be conflated."
- "Satisfaction of a requirement requires explicit verification evidence or a declared unverified status."
- "Do not infer physical causation from association or correlation alone."
- "Do not assume that connections, dependencies or control relations are transitive."
- "Retain system configuration, operating conditions and lifecycle context."
inference:
rule assembly_membership:
if part_of(a,b) and part_of(b,c) and compatible_configuration(a,b,c)
then indirect_part_of(a,c)
confidence: "propagate source evidence without increasing certainty"
rule verified_satisfaction:
if satisfies(x,r) and verified_by(r,e) and evidence_applies_to(e,x,r)
then supported_satisfaction(x,r)
confidence: "bounded by verification quality and configuration validity"
rule dependency_impact:
if depends_on(a,b) and unavailable(b) and dependency_is_critical(a,b)
then potential_impact(a)
confidence: "conditional; requires operating context"
rule connection_symmetry:
if connected_to(a,b,i) and symmetric_interface(i)
then connected_to(b,a,i)
confidence: "retain source evidence and interface scope"
SEMANTIC_EQUIVALENCE:
- "Normalise component and requirement identifiers using versioned engineering registries."
- "Distinguish functional equivalence, physical interchangeability, compatibility and identity."
- "Preserve operating conditions, tolerance, units and configuration context."
CONFIDENCE:
range: [0,1]
factors: [measurement_uncertainty, evidence_quality, test_coverage, model_assumptions, configuration_match, independent_replication]
policy: "Never raise confidence merely because multiple inferred links share the same underlying evidence."
VALIDATION:
- "Validate types, relationship direction and referential integrity."
- "Check units, tolerances, operating limits and interface compatibility."
- "Detect cyclic dependencies and distinguish legitimate feedback loops from design defects."
- "Flag conflicting requirements, outdated configurations and missing verification evidence."
- "Record unresolved contradictions and assumptions rather than silently resolving them."
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 engineering knowledge graph with evidence-backed relationships"
outputs: [entity_links, relation_triples, requirement_traceability, uncertainty_annotations, inferred_edges, provenance_records]
safeguards: [no_unverified_safety_claims, no_unqualified_component_substitution, preserve_units_and_configuration, distinguish_hypotheses_from_verified_results]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard