FLOW ALGEBRA
Ontology: Experimental Protocol Ontology
Domain: Metadata Ontologies > Scientific Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/scientific-metadata/experimental-protocol-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "ExperimentalProtocolOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: ScientificMetadata
subject: ExperimentalProtocol
purpose:
- represent formal procedures used to conduct scientific experiments
- preserve ordered steps, materials, instruments, conditions, and parameters
- support reproducibility, validation, comparison, and protocol execution
- represent protocol versions, deviations, dependencies, and provenance
- enable machine-readable reasoning over experimental procedures
# ---------- CORE ENTITY ----------
entity ExperimentalProtocol:
type: ScientificMethod
defines: ExperimentalProcedure
may_include:
- protocol_identifier
- protocol_name
- objective
- scope
- protocol_version
- author
- creation_date
- procedure_step
- material
- reagent
- sample_requirement
- instrument
- equipment
- parameter
- environmental_condition
- duration
- safety_requirement
- quality_control
- acceptance_criteria
- deviation_policy
- provenance
entity ProtocolIdentifier:
type: Identifier
identifies: ExperimentalProtocol
entity ExperimentalProcedure:
type: OrderedScientificProcess
composed_of: ProtocolStep
entity ProtocolStep:
type: ProceduralAction
may_include:
- step_identifier
- action
- input
- output
- parameter
- duration
- condition
- instrument
- dependency
entity ProtocolParameter:
type: MethodParameter
may_include:
- parameter_name
- value
- unit
- allowed_range
- tolerance
# ---------- RELATIONSHIPS ----------
relationships:
ExperimentalProtocol -> IDENTIFIED_BY -> ProtocolIdentifier
ExperimentalProtocol -> DEFINES -> ExperimentalProcedure
ExperimentalProcedure -> CONTAINS -> ProtocolStep
ProtocolStep -> PRECEDES -> ProtocolStep
ProtocolStep -> MAY_DEPEND_ON -> ProtocolStep
ProtocolStep -> MAY_USE -> Material
ProtocolStep -> MAY_USE -> Reagent
ProtocolStep -> MAY_USE -> Sample
ProtocolStep -> MAY_USE -> ScientificInstrument
ProtocolStep -> MAY_USE -> Equipment
ProtocolStep -> HAS_PARAMETER -> ProtocolParameter
ProtocolStep -> MAY_REQUIRE -> EnvironmentalCondition
ExperimentalProtocol -> MAY_HAVE -> QualityControl
ExperimentalProtocol -> MAY_HAVE -> AcceptanceCriteria
ExperimentalProtocol -> MAY_HAVE_VERSION -> ProtocolVersion
ExperimentalProtocol -> MAY_REFERENCE -> Provenance
# ---------- PROTOCOL IDENTITY ----------
rule protocol_identity:
ExperimentalProtocol SHOULD have stable ProtocolIdentifier
where reuse, citation, or execution traceability is required
rule name_not_identity:
protocol_name MUST NOT be assumed globally unique
rule protocol_scope:
protocol SHOULD define intended experimental scope
where applicability is constrained
# ---------- STEP ORDER ----------
rule step_order:
IF procedure sequence affects experimental outcome
THEN ProtocolStep order MUST be preserved
rule acyclic_dependency:
step dependency graph SHOULD NOT contain unsupported cycles
rule predecessor:
IF step B depends_on completion of step A
THEN A MUST precede B
unless dependency semantics explicitly permit concurrency
rule optional_step:
optional ProtocolStep MUST be explicitly identified
with condition governing execution where applicable
# ---------- INPUT / OUTPUT ----------
rule step_input:
ProtocolStep SHOULD identify required input
where input state affects execution
rule step_output:
ProtocolStep SHOULD identify produced or transformed output
where output feeds subsequent steps
rule material_lineage:
transformed sample or material SHOULD preserve source relationship
# ---------- PARAMETERS ----------
rule parameter_value:
quantitative ProtocolParameter SHOULD have Unit
where dimensional
rule parameter_range:
IF allowed_range exists
THEN execution value SHOULD be validated against range
rule parameter_tolerance:
tolerance SHOULD be distinguished from MeasurementUncertainty
rule fixed_parameter:
IF parameter is fixed
THEN execution SHOULD use declared value
unless authorised deviation exists
# ---------- MATERIALS / REAGENTS ----------
entity ProtocolMaterial:
type: LaboratoryMaterial
may_include:
- material_identifier
- quantity
- unit
- specification
entity ProtocolReagent:
subtype_of: ProtocolMaterial
may_include:
- chemical_identity
- concentration
- purity
- supplier
- lot_requirement
- storage_condition
rule reagent_requirement:
reagent properties affecting outcome SHOULD be explicitly specified
rule quantity:
required material quantity SHOULD use interpretable unit
# ---------- SAMPLE REQUIREMENTS ----------
entity SampleRequirement:
type: ProtocolConstraint
may_include:
- sample_type
- minimum_quantity
- preparation_state
- storage_condition
- inclusion_criteria
- exclusion_criteria
rule sample_conformance:
experimental sample SHOULD be checked against SampleRequirement
where protocol applicability depends on sample properties
# ---------- INSTRUMENT / EQUIPMENT ----------
rule instrument_requirement:
IF protocol requires ScientificInstrument
THEN required capability SHOULD be specified
where instrument type alone is insufficient
rule calibration_requirement:
IF measurement step requires calibrated instrument
THEN calibration validity SHOULD be checked at execution time
rule configuration:
instrument settings required by protocol SHOULD be preserved as parameters
# ---------- CONDITIONS ----------
entity ProtocolCondition:
type: ExperimentalCondition
may_include:
- temperature
- pressure
- humidity
- atmosphere
- light
- duration
- agitation
- concentration
rule condition_units:
quantitative conditions SHOULD declare Unit
rule condition_range:
conditions SHOULD be validated against protocol tolerances where defined
# ---------- DURATION / TIMING ----------
rule duration:
ProtocolStep MAY define:
- minimum_duration
- target_duration
- maximum_duration
rule timing_constraint:
IF timing affects outcome
THEN timing constraint MUST be preserved
rule wait_condition:
step MAY proceed based_on:
- elapsed_time
- measured_threshold
- observed_state
- manual_confirmation
# ---------- QUALITY CONTROL ----------
entity ProtocolQualityControl:
type: QualityMetadata
may_include:
- control_sample
- blank
- reference_material
- checkpoint
- acceptance_criteria
rule quality_checkpoint:
IF quality checkpoint fails
THEN protocol SHOULD define:
- repeat
- stop
- corrective_action
- authorised_override
where applicable
# ---------- DEVIATIONS ----------
entity ProtocolDeviation:
type: ProceduralException
may_include:
- affected_step
- expected_action
- actual_action
- reason
- authorising_agent
- timestamp
- impact_assessment
rule deviation:
protocol execution deviation MUST NOT silently overwrite prescribed procedure
rule deviation_trace:
deviation SHOULD remain linked to protocol version and experiment execution
# ---------- VERSION ----------
entity ProtocolVersion:
type: VersionMetadata
may_include:
- version_identifier
- creation_time
- predecessor
- successor
- change_description
- status
rule protocol_version:
material procedural change SHOULD create distinguishable ProtocolVersion
rule historical_protocol:
superseded protocol versions SHOULD remain traceable
for historical experiment reproducibility
# ---------- EXECUTION ----------
entity ProtocolExecution:
type: ScientificProcess
instantiates: ExperimentalProtocol
may_include:
- execution_identifier
- protocol_version
- experiment
- operator
- execution_time
- step_execution
- deviations
- results
rule execution_trace:
ProtocolExecution SHOULD preserve actual step sequence and parameter values
rule prescribed_vs_actual:
prescribed_protocol != actual_execution
and differences SHOULD be explicitly represented
# ---------- VALIDATION ----------
validation:
require:
- identifiable_protocol
- interpretable_procedure
validate_if_present:
- steps
- step_order
- parameters
- units
- materials
- reagents
- sample_requirements
- instruments
- conditions
- timing
- quality_control
- version
- provenance
reject:
- unresolved_required_step
- invalid_step_dependency
- dimensional_parameter_without_unit
- parameter_outside_mandatory_range_without deviation
- missing_required_material
- incompatible_sample_requirement
- invalid_protocol_version_chain
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"experimental protocol" ~= "experiment protocol"
"protocol step" ~= "procedure step"
"protocol parameter" ~= "experimental procedure parameter"
"protocol execution" ~= "procedure execution" WHEN executing ExperimentalProtocol
"protocol deviation" ~= "procedure deviation"
"protocol version" ~= "method version" WHEN method is represented by protocol
PRESERVE distinctions:
protocol != experiment
protocol != protocol_execution
prescribed_step != executed_step
parameter_tolerance != measurement_uncertainty
material != reagent
sample_requirement != sample
protocol_version != experiment_version
deviation != protocol_revision
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_protocol_definition:
score: 1.00
explicit_ordered_steps:
score: 1.00
explicit_parameter_constraints:
score: 1.00
traceable_protocol_execution:
score: 0.95
inferred_step_order:
score: 0.80
inferred_parameter_semantics:
score: 0.75
incomplete_protocol_context:
score: <= 0.60
action: preserve uncertainty
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_protocol_revision:
- preserve previous ProtocolVersion
- create new version
- record changed steps and parameters
- revalidate dependencies
- update provenance
on_step_change:
- preserve previous step definition
- update ordering and dependencies
- validate downstream steps
- update protocol version
on_parameter_change:
- preserve previous parameter
- validate value, unit, range, and tolerance
- update affected step
- record provenance
on_execution_deviation:
- preserve prescribed action
- record actual action
- record reason and authorisation
- assess impact
- preserve execution provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- protocol_entities
- relationships
- step_rules
- parameter_rules
- material_rules
- quality_rules
- deviation_rules
- validation
- semantic_equivalence
- confidence
- update_model
canonicalisation:
- normalise_whitespace
- preserve_case_sensitive_identifiers
- sort_unordered_property_sets
- preserve_rule_order
output:
deterministic_semantic_hash
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
interpret_as:
- scientific metadata ontology
- experimental procedure model
- protocol execution model
- reproducibility and validation structure
operations:
- identify protocols
- resolve protocol versions
- traverse ordered steps
- resolve step dependencies
- validate parameters
- resolve materials and reagents
- validate sample requirements
- resolve instrument requirements
- evaluate experimental conditions
- inspect quality checkpoints
- compare prescribed and actual execution
- trace deviations
- preserve provenance
constraints:
- do_not_invent_missing_protocol_steps
- do_not_ignore_step_order
- do_not_overwrite_prescribed_values_with execution values
- do_not_hide protocol deviations
- do_not_equate_protocol_with experiment
- preserve protocol versions and execution provenance
# ---------- QUERY MODEL ----------
query:
input:
- protocol_identifier
- protocol_version
- procedure_step
- parameter
- material
- reagent
- sample_requirement
- instrument
- condition
- execution
resolve:
1. identify ExperimentalProtocol
2. resolve ProtocolVersion
3. retrieve ordered ProtocolSteps
4. resolve dependencies
5. validate parameters
6. resolve materials, reagents, and samples
7. resolve instrument requirements
8. evaluate conditions and timing
9. inspect quality controls
10. compare execution and deviations
11. trace provenance
output:
- protocol
- version
- ordered_steps
- parameters
- materials
- instruments
- conditions
- quality_controls
- deviations
- execution_state
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF ProtocolStep B depends_on ProtocolStep A
THEN infer A precedes B
WITH confidence = 0.95
IF execution parameter falls outside allowed range
THEN infer ProtocolDeviation candidate
unless authorised exception semantics already exist
IF required calibrated instrument is used
AND calibration valid at execution time
THEN infer instrument_requirement_satisfied
WITH confidence = 0.95
IF actual execution matches all required protocol steps and constraints
THEN infer protocol_conformance = true
WITH confidence = 0.95
IF protocol definition is incomplete
THEN reduce reproducibility confidence
AND preserve missing metadata requirements
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: ExperimentalProtocol
protocol_structure: machine_interpretable
steps: ordered
dependencies: explicit
parameters: unit_aware
materials: traceable
instrument_requirements: explicit
quality_controls: reportable
deviations: preserved
versions: traceable
execution_history: preserved
provenance: preserved
uncertainty: explicit
semantic_retrieval: enabled
end flow
Download Code
Copy to Clipboard