fix: fix issue causing alignments to be log-only #24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Current Situation
paper_example.jsonocel(OCEL 1.0) provided from original "Object-Centric Alignments" papaer implementation.Desired Alignment output

Actual output

Every transition has been classified as log move.
Reasons Found
No initial and final places are set for
external_ocpn.The
name(uuid) of activities in dejure net (from OCPN) is compared to thename(activity label) of activities in process execution net (from OCEL), which occurs in-consistency.Change Log
1. Update
__deepcopy__method forPlace,Transition,Arcinside ofObjectCentricPetriNetPlace.__deepcopy__copy and set
initialandfinalattribute for new placeBefore
After
Transition.__deepcopy__copy and set
silentflag attribute for new transitionBefore
After
Arc.__deepcopy__Add current arc to source and target object (Place or Transition)
After
2. Let
TransitionSignaturegetstransition.labelas a first argument instead oftransition.nameBefore
After
Since, OCPN discovery uses
new_inductive.pyinstead of oldinductive.py, thenamefield of discoverdObjectCentricPetriNetobject'sTransition, is no longer activity label (e.g.Pick Item) but uuid (e.g.9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d). The activity label is stored on thelabelattribute ofTransitionobject.This prohibits alignment calculation function not comparing activity label properly, which cannot match any synchronous moves.
Fixed Result
Now the alignment result calculated as expected.