Constructs the synchronous product net of two given Petri nets.
petrinet_synchronous_product( pn1, im1, fm1, pn2, im2, fm2, skip = ">>", convert = TRUE )
pn1 | First Petri net |
---|---|
im1 | Initial marking of the first Petri net |
fm1 | Final marking of the first Petri net |
pn2 | Second Petri net |
im2 | Initial marking of the second Petri net |
fm2 | Final marking of the second Petri net |
skip | Symbol to be used as skip |
convert |
|
A Petri net.
if (pm4py_available()) { library(eventdataR) data(patients) # As Inductive Miner of PM4PY is not life-cycle aware, keep only `complete` events: patients_completes <- patients[patients$registration_type == "complete", ] net <- discovery_inductive(patients_completes) petrinet_synchronous_product(net$petrinet, net$initial_marking, net$final_marking, net$petrinet, net$initial_marking, net$final_marking) }#> $petrinet #> Marking: [source, >>] [>>, source] #> Enabled transition #> id #> 1 [1d53ea88-e2b9-47c0-85cc-a7c2ca102a3c, 1d53ea88-e2b9-47c0-85cc-a7c2ca102a3c] #> 2 [1d53ea88-e2b9-47c0-85cc-a7c2ca102a3c, >>] #> 3 [>>, 1d53ea88-e2b9-47c0-85cc-a7c2ca102a3c] #> label enabled #> 1 [Registration, Registration] TRUE #> 2 [Registration, >>] TRUE #> 3 [>>, Registration] TRUE #> #> $initial_marking #> [1] "[source, >>]" "[>>, source]" #> #> $final_marking #> [1] "[sink, >>]" "[>>, sink]" #>