mabi-scenario

Crates.iomabi-scenario
lib.rsmabi-scenario
version1.0.2
created_at2026-01-25 08:03:02.444958+00
updated_at2026-01-25 09:51:11.421479+00
descriptionMabinogion - Scenario engine for time-based simulation orchestration
homepagehttps://github.com/seadonggyun4/mabinogion
repositoryhttps://github.com/seadonggyun4/mabinogion
max_upload_size
id2068353
size211,784
DongGyun Seo (seadonggyun4)

documentation

https://docs.rs/mabi-scenario

README

mabi-scenario

Scenario engine for the Mabinogion industrial protocol simulator.

Overview

Time-based simulation orchestration engine for defining and executing complex test scenarios.

Features

  • YAML-based scenario definition
  • Time-scaled execution (real-time, accelerated, or decelerated)
  • Event scheduling and triggers
  • Variable interpolation
  • Conditional actions
  • Looping and iteration

Usage

use mabi_scenario::prelude::*;

// Load and run a scenario
let scenario = Scenario::from_file("test_scenario.yaml")?;

let engine = ScenarioEngine::new(scenario);
engine.run().await?;

Scenario Format

name: stress_test
duration: 10m
time_scale: 2.0

devices:
  - id: plc-001
    protocol: modbus_tcp

events:
  - at: 1m
    action: inject_latency
    params:
      delay: 100ms

License

Licensed under the Apache License, Version 2.0.

Commit count: 32

cargo fmt