Skip to main content

Module composition

Module composition 

Source
Expand description

Capability composition engine

This module provides the composition framework for detecting emergent capabilities and constraints from sets of individual capabilities.

§Composition Patterns

  • Additive: Capabilities that sum (coverage area, lift capacity)
  • Emergent: New capabilities from combinations (ISR chains, mapping)
  • Redundant: Reliability from redundancy (detection, coverage)
  • Constraint: Team limits from individual constraints (speed, range)

§Usage

use peat_protocol::composition::{CompositionEngine, CompositionContext};
use peat_protocol::composition::additive::SensorCoverageRule;
use peat_protocol::models::capability::Capability;
use std::sync::Arc;

let mut engine = CompositionEngine::new();
engine.register_rule(Arc::new(SensorCoverageRule::default()));

let capabilities = vec![/* capabilities */];
let context = CompositionContext::new(vec!["node1".to_string()]);

let results = engine.compose(&capabilities, &context).await?;

Re-exports§

pub use engine::CompositionEngine;
pub use rules::CompositionContext;
pub use rules::CompositionResult;
pub use rules::CompositionRule;

Modules§

additive
Additive composition rules
constraint
Constraint-based composition rules
emergent
Emergent composition rules
engine
Composition engine and rule registry
redundant
Redundant composition rules
rules
Composition rule trait and implementations