rustkernel_procint/
lib.rs1#![warn(missing_docs)]
23
24pub mod conformance;
25pub mod dfg;
26pub mod imputation;
27pub mod ocpm;
28pub mod partial_order;
29pub mod prediction;
30pub mod simulation;
31pub mod types;
32
33pub mod prelude {
35 pub use crate::conformance::*;
36 pub use crate::dfg::*;
37 pub use crate::imputation::*;
38 pub use crate::ocpm::*;
39 pub use crate::partial_order::*;
40 pub use crate::prediction::*;
41 pub use crate::simulation::*;
42 pub use crate::types::*;
43}
44
45pub use conformance::ConformanceChecking;
47pub use dfg::DFGConstruction;
48pub use imputation::EventLogImputation;
49pub use ocpm::OCPMPatternMatching;
50pub use partial_order::PartialOrderAnalysis;
51pub use prediction::NextActivityPrediction;
52pub use simulation::DigitalTwin;
53
54pub use types::{
56 AlignmentStep, Arc, ConformanceResult, ConformanceStats, DFGEdge, DFGResult, Deviation,
57 DeviationType, DirectlyFollowsGraph, EventLog, OCPMEvent, OCPMEventLog, OCPMObject,
58 OCPMPatternResult, PartialOrderResult, PetriNet, Place, ProcessEvent, Trace, Transition,
59};
60
61pub fn register_all(
63 registry: &rustkernel_core::registry::KernelRegistry,
64) -> rustkernel_core::error::Result<()> {
65 tracing::info!("Registering process intelligence kernels");
66
67 registry.register_batch_metadata_from(dfg::DFGConstruction::new)?;
69
70 registry.register_batch_metadata_from(partial_order::PartialOrderAnalysis::new)?;
72
73 registry.register_ring_metadata_from(conformance::ConformanceChecking::new)?;
75
76 registry.register_batch_metadata_from(ocpm::OCPMPatternMatching::new)?;
78
79 registry.register_batch_metadata_from(prediction::NextActivityPrediction::new)?;
81
82 registry.register_batch_metadata_from(imputation::EventLogImputation::new)?;
84
85 registry.register_batch_metadata_from(simulation::DigitalTwin::new)?;
87
88 tracing::info!("Registered 7 process intelligence kernels");
89 Ok(())
90}
91
92#[cfg(test)]
93mod tests {
94 use super::*;
95 use rustkernel_core::registry::KernelRegistry;
96
97 #[test]
98 fn test_register_all() {
99 let registry = KernelRegistry::new();
100 register_all(®istry).expect("Failed to register procint kernels");
101 assert_eq!(registry.total_count(), 7);
102 }
103}