#cyber #effect #simulation-modeling

cyberdem

Rust implementation of the Cyber DEM (SISO-REF-072-2024)

3 releases (stable)

1.0.1 Sep 16, 2025
1.0.0 Sep 15, 2025
0.1.0 Sep 4, 2025

#147 in Simulation

Download history 127/week @ 2025-09-03 192/week @ 2025-09-10 98/week @ 2025-09-17 8/week @ 2025-09-24 22/week @ 2025-10-01

323 downloads per month

MIT license

17KB
475 lines

cyberdem-rs

Rust implementation of the Cyber DEM (SISO-REF-072-2024).

This Data Exchange Model or DEM can be used to model cyber-physical systems.

Installation

To install, type the following command:

cargo add cyberdem

Objects & Events

The library is divided into 2 base items:

  • CyberObject
  • CyberEvent
pub struct CyberObject {
    pub object_id: Uuid,
    pub object: CyberObjectEnum,
    pub name: Option<String>,
    pub description: Option<String>,
    pub related_objects: Vec<RelatedObjectStruct>,
}
pub struct CyberEvent {
    pub event_id: Uuid,
    pub description: Option<String>,
    pub event_time: TimeStruct,
    pub target_ids: Vec<Uuid>,
    pub target_modifiers: HashMap<String, Option<Vec<u8>>>,
    pub phase: CyberEventPhaseEnum,
    pub duration: f64,
    pub actor_ids: Vec<Uuid>,
    pub source_ids: Vec<Uuid>,
    pub payload: Option<Vec<u8>>,
    pub request_acknowledgement: bool,
    pub cyber_event_type: CyberEventType,
}

Dependencies

~1.8–3MB
~56K SLoC