Skip to main content

Edge Computing Ontology

Distributed Computing
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Edge Computing Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/distributed-computing/edge-computing-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "EdgeComputingOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := DistributedComputing
ONTOLOGY := EdgeComputingOntology

# ---------- PRIMARY ENTITY ----------
ENTITY EdgeComputing {
    definition:
        "A distributed computing model in which computation, storage and
         service execution are placed close to data sources, users, devices
         or operational environments rather than relying exclusively on
         distant centralised computing infrastructure.";

    objectives: [
        LowLatency,
        LocalProcessing,
        ReducedNetworkTransfer,
        Responsiveness,
        Resilience,
        ContextAwareness,
        DistributedServiceDelivery
    ];
}

# ---------- CORE ENTITIES ----------
EdgeEntity := {
    EdgeDevice,
    EdgeNode,
    EdgeServer,
    EdgeGateway,
    Sensor,
    Actuator,
    UserDevice,
    CloudService
};

EdgeResource := {
    Compute,
    Memory,
    Storage,
    NetworkBandwidth,
    Accelerator
};

EdgeWorkload := {
    Application,
    Service,
    Function,
    AnalyticsTask,
    InferenceTask,
    DataProcessingTask
};

EdgeLocation := {
    DeviceEdge,
    LocalEdge,
    NetworkEdge,
    RegionalEdge,
    Cloud
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
EdgeDevice GENERATES Data;
EdgeNode PROCESSES Data;
EdgeGateway CONNECTS EdgeDevice TO NetworkOrCloud;
EdgeNode HOSTS EdgeWorkload;
EdgeWorkload USES EdgeResource;
CloudService MAY_COORDINATE EdgeNode;
EdgeNode LOCATED_NEAR DataSourceOrConsumer;
EdgeComputing DISTRIBUTES ComputationAcross EdgeLocation;

# ---------- EDGE PROCESSING FLOW ----------
DataSource ->
    GenerateData ->
    EdgeIngestion ->
    LocalProcessing ->
    LocalDecisionOrAggregation ->
    OptionalCloudTransfer ->
    PersistOrRespond;

IF LocalProcessingSufficient
THEN CloudTransfer MAY_BE Reduced;

# ---------- DATA LOCALITY ----------
DataLocality :=
    Proximity(Data, Compute);

IF ComputeCloserToData
THEN {
    NetworkTransfer MAY_DECREASE;
    ResponseLatency MAY_DECREASE;
};

LocalDataProcessing MAY_SUPPORT {
    Privacy,
    BandwidthReduction,
    OfflineOperation
};

# ---------- LATENCY ----------
EndToEndLatency :=
    ProcessingLatency
    + NetworkLatency
    + QueueLatency
    + StorageLatency;

EdgePlacementGoal :=
    minimise(EndToEndLatency)
    subject_to ResourceAndPolicyConstraints;

IF LatencyRequirementStrict
THEN NearbyEdgeExecution MAY_BE Preferred;

# ---------- EDGE DEVICE ----------
EdgeDevice :=
    DeviceWith(
        DataGenerationOrConsumption,
        LocalComputeCapability
    );

EdgeDevice MAY_BE {
    SensorDevice,
    MobileDevice,
    IndustrialDevice,
    VehicleSystem,
    EmbeddedSystem
};

# ---------- EDGE GATEWAY ----------
EdgeGateway :=
    IntermediaryBetween(
        LocalDevices,
        WiderNetwork
    );

EdgeGateway MAY_PERFORM {
    ProtocolTranslation,
    Aggregation,
    Filtering,
    SecurityEnforcement,
    LocalProcessing
};

# ---------- EDGE NODE ----------
EdgeNode :=
    ComputeNodeNearOperationalEdge;

EdgeNode HAS {
    ComputeCapacity,
    MemoryCapacity,
    StorageCapacity,
    NetworkConnectivity,
    AvailabilityState
};

NodeState := {
    Available,
    Busy,
    Disconnected,
    Degraded,
    Failed
};

# ---------- WORKLOAD PLACEMENT ----------
PlacementDecision :=
    f(
        LatencyRequirement,
        ResourceRequirement,
        DataLocation,
        NetworkState,
        PrivacyPolicy,
        EnergyConstraint,
        Availability
    );

WorkloadPlacement :=
    Workload
    -> EvaluateRequirements
    -> DiscoverCandidateNodes
    -> ScoreCandidates
    -> SelectLocation
    -> Deploy;

IF EdgeNodeResources >= WorkloadRequirements
AND LatencyBenefitPositive
THEN EdgeNode := Candidate;

# ---------- COMPUTATION OFFLOADING ----------
Offloading :=
    MoveComputation(
        SourceDevice,
        EdgeNodeOrCloud
    );

OffloadingDecision :=
    f(
        LocalComputeCost,
        NetworkCost,
        RemoteComputeCost,
        Latency,
        Energy,
        Availability
    );

IF LocalDeviceResourceConstrained
AND EdgeNodeAvailable
THEN EdgeOffload MAY_BE Beneficial;

# ---------- EDGE-CLOUD CONTINUUM ----------
ComputeContinuum :=
    Device
    -> Edge
    -> RegionalInfrastructure
    -> Cloud;

Workload MAY_MOVE_ACROSS ComputeContinuum;

EdgeAndCloud ARE_COMPLEMENTARY ComputingLayers;

Cloud MAY_PROVIDE {
    CentralCoordination,
    LongTermStorage,
    LargeScaleAnalytics,
    ModelTraining
};

Edge MAY_PROVIDE {
    LowLatencyProcessing,
    LocalDecisionMaking,
    DataFiltering,
    ImmediateControl
};

# ---------- DISTRIBUTED DATA ----------
EdgeData :=
    DataGeneratedOrProcessedAtEdge;

DataHandlingPolicy MAY_DEFINE {
    LocalRetention,
    Aggregation,
    CloudUpload,
    Deletion,
    Replication
};

IF RawDataNotRequiredCentrally
THEN AggregateBeforeTransfer MAY_REDUCE Bandwidth;

# ---------- STREAM PROCESSING ----------
DataStream ->
    Ingest ->
    Filter ->
    Transform ->
    Analyse ->
    Act;

EdgeStreamProcessing SUPPORTS RealTimeOrNearRealTimeResponse;

# ---------- EDGE AI ----------
EdgeInference :=
    Model
    + LocalInput
    -> Inference
    -> PredictionOrDecision;

EdgeAI MAY_REDUCE DependenceOnRemoteInference;

Model MAY_BE TrainedInCloud;
Model MAY_BE DeployedToEdge;

# ---------- CONNECTIVITY ----------
ConnectivityState := {
    Connected,
    Intermittent,
    Disconnected
};

EdgeApplication MAY_REQUIRE OperationDuringIntermittentConnectivity;

IF CloudConnectionUnavailable
AND LocalCapabilitySufficient
THEN EdgeService MAY_CONTINUE;

# ---------- CACHING ----------
EdgeCache STORES FrequentlyUsedDataNearConsumer;

CacheHit ->
    ServeLocally;

CacheMiss ->
    RetrieveRemoteData
    -> StoreLocally
    -> Serve;

EdgeCaching MAY_REDUCE LatencyAndNetworkTraffic;

# ---------- RESOURCE CONSTRAINT ----------
EdgeResources MAY_BE MoreConstrainedThan CentralCloudResources;

ResourceConstraint := {
    LimitedCPU,
    LimitedMemory,
    LimitedStorage,
    LimitedEnergy,
    LimitedBandwidth
};

EdgeScheduler MUST_CONSIDER ResourceConstraint;

# ---------- ORCHESTRATION ----------
EdgeOrchestration :=
    DiscoverNodes
    -> PlaceWorkloads
    -> MonitorResources
    -> ScaleOrMoveWorkloads
    -> RecoverFromFailure;

Orchestrator MANAGES EdgeNodeSet;

IF NodeUnavailable
THEN Workload MAY_BE MigratedOrRestartedElsewhere;

# ---------- FAILURE MODEL ----------
EdgeFailure := {
    DeviceFailure,
    NodeFailure,
    GatewayFailure,
    NetworkFailure,
    CloudConnectivityFailure,
    PowerFailure
};

EdgeResilience MAY_USE {
    LocalAutonomy,
    Replication,
    Failover,
    OfflineMode,
    WorkloadMigration
};

# ---------- SECURITY ----------
EdgeSecurity MAY_REQUIRE {
    DeviceAuthentication,
    NodeAuthentication,
    Authorisation,
    Encryption,
    SecureBoot,
    WorkloadIsolation,
    DataProtection,
    PhysicalSecurity
};

EdgeNode MAY_EXIST_IN LessControlledPhysicalEnvironment;

IF EdgeNodePhysicallyExposed
THEN PhysicalThreatRisk := INCREASE;

# ---------- PRIVACY ----------
LocalProcessing MAY_LIMIT ExternalDataTransfer;

PrivacyPolicy MAY_REQUIRE DataRemainWithin LocalBoundary;

IF PolicyForbidsRemoteTransfer
THEN WorkloadPlacement MUST_PRESERVE DataLocality;

# ---------- SEMANTIC REASONING ----------
IF ComputationOccursNearDataSource
AND ReducesDependenceOnRemoteCentralInfrastructure
THEN EdgeComputingClassification := supported;

IF StrictLatencyRequirement
AND NearbyComputeAvailable
THEN EdgePlacementPreference := increase;

IF NetworkBandwidthLimited
THEN LocalFilteringOrAggregationPreference := increase;

IF CloudConnectivityUnavailable
AND EdgeNodeCanOperateLocally
THEN ServiceResilienceEvidence := increase;

IF DeviceComputeInsufficient
AND EdgeResourcesAvailable
THEN ComputationOffloadingCandidate := true;

IF DataPrivacyRequiresLocalProcessing
THEN RemoteCloudPlacement := restricted;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "edge computing" ~= "computing at the edge";
    "edge node" ~= "edge compute node";
    "edge gateway" ~= "edge computing gateway";
    "local edge processing" ~= "local edge computation";
    "computation offloading" ~= "compute offload";
    "edge-cloud continuum" ~= "cloud-edge continuum";
    "edge AI" ~= "AI at the edge";
    "edge inference" ~= "local AI inference" WHEN context == edge_computing;
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_EDGE_ENTITIES(q) ->
    IDENTIFY_DATA_SOURCE(q) ->
    IDENTIFY_WORKLOAD(q) ->
    IDENTIFY_LATENCY_REQUIREMENT(q) ->
    IDENTIFY_RESOURCE_CONSTRAINTS(q) ->
    IDENTIFY_PLACEMENT_RELATIONSHIP(q) ->
    MAP_TO_ONTOLOGY(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        edge_system_consistency,
        semantic_consistency,
        evidence_strength,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: EdgeComputing;
    ontology: EdgeComputingOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_edge_node:
        validate
        -> classify
        -> identify_resources
        -> identify_location
        -> integrate;

    new_workload:
        classify
        -> identify_resource_requirements
        -> identify_latency_requirements
        -> identify_data_location
        -> evaluate_placement
        -> integrate;

    connectivity_change:
        update_network_state
        -> identify_affected_workloads
        -> evaluate_local_operation
        -> evaluate_migration
        -> integrate;

    resource_change:
        update_capacity
        -> recompute_candidate_nodes
        -> reevaluate_workload_placement
        -> integrate;

    conflict:
        preserve_provenance
        -> compare_evidence
        -> adjust_confidence
        -> flag_review;

    revision:
        recompute_relationships
        -> recompute_placement_logic
        -> recompute_confidence
        -> regenerate_flow_hash;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + EdgeEntity
    + EdgeResource
    + EdgeWorkload
    + EdgeLocation
    + PlacementDecision
    + ComputeContinuum
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
EdgeComputingOntology
    -> IdentifyDataSource
    -> IdentifyEdgeResources
    -> DetermineWorkloadRequirements
    -> EvaluateLatency
    -> EvaluateDataLocality
    -> SelectExecutionLocation
    -> DeployEdgeWorkload
    -> ProcessDataLocally
    -> CoordinateWithCloudWhenRequired
    -> MonitorConnectivity
    -> AdaptWorkloadPlacement
    -> MaintainLowLatencyDistributedService;

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