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 use rustkernel_core::traits::GpuKernel;
66
67 tracing::info!("Registering process intelligence kernels");
68
69 registry.register_metadata(dfg::DFGConstruction::new().metadata().clone())?;
71
72 registry.register_metadata(
74 partial_order::PartialOrderAnalysis::new()
75 .metadata()
76 .clone(),
77 )?;
78
79 registry.register_metadata(conformance::ConformanceChecking::new().metadata().clone())?;
81
82 registry.register_metadata(ocpm::OCPMPatternMatching::new().metadata().clone())?;
84
85 registry.register_metadata(prediction::NextActivityPrediction::new().metadata().clone())?;
87
88 registry.register_metadata(imputation::EventLogImputation::new().metadata().clone())?;
90
91 registry.register_metadata(simulation::DigitalTwin::new().metadata().clone())?;
93
94 tracing::info!("Registered 7 process intelligence kernels");
95 Ok(())
96}
97
98#[cfg(test)]
99mod tests {
100 use super::*;
101 use rustkernel_core::registry::KernelRegistry;
102
103 #[test]
104 fn test_register_all() {
105 let registry = KernelRegistry::new();
106 register_all(®istry).expect("Failed to register procint kernels");
107 assert_eq!(registry.total_count(), 7);
108 }
109}