1use std::{env::args, path::PathBuf};
2
3use process_mining::{
4 core::event_data::object_centric::linked_ocel::SlimLinkedOCEL,
5 discovery::object_centric::oc_declare::{
6 discover_behavior_constraints, OCDeclareDiscoveryOptions,
7 },
8 Importable, OCEL,
9};
10
11pub fn main() {
12 let path_opt = args().nth(1);
13 if let Some(path) = path_opt.map(PathBuf::from) {
14 let ocel = OCEL::import_from_path(&path).expect("Failed to import OCEL.");
15 let locel = SlimLinkedOCEL::from_ocel(ocel);
16 let discovered_constraints = discover_behavior_constraints(
17 &locel,
18 OCDeclareDiscoveryOptions {
19 ..Default::default()
20 },
21 );
22 println!(
23 "Discovered {} OC-DECLARE constraints",
24 discovered_constraints.len()
25 );
26 }
27}