Class ProcessTreeModifier


  • public class ProcessTreeModifier
    extends java.lang.Object
    Modifier class for the PtR framework to separate candidates.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.processmining.processtree.ProcessTree apply​(org.processmining.processtree.ProcessTree tree)
      Applies the tree modification to the input tree returning a copy.
      boolean candidateCheck​(org.processmining.processtree.Node node)
      Checks candidates whether they have a candidate property, i.e., if they are a flower or loop structure.
      void combineCandidates​(org.processmining.processtree.ProcessTree tree)
      Combines all candidates identified before.
      void combineCandidatesOnOneLevel​(org.processmining.processtree.ProcessTree tree, org.processmining.processtree.Block father, java.util.HashSet<org.processmining.processtree.Node> children)
      Sets a subset of children in parallel separating it from the remaining structure.
      static java.lang.String getIdentifierName()
      Gets the identifier label for the parallel father.
      void identifyCandidates​(org.processmining.processtree.Node node)
      Identifies all candidates according to the candidate check that occur with a shared parallel node as father.
      boolean identifyFlower​(org.processmining.processtree.Node node)
      Checks if a node is a flower structure.
      boolean identifyLoop​(org.processmining.processtree.Node node)
      Checks if a node is a loop structure.
      void init()
      (Re-)Sets the candidates being parallel for each father.
      void startIdentifyingCandidates​(org.processmining.processtree.ProcessTree tree)
      Starting function for candidate identification.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProcessTreeModifier

        public ProcessTreeModifier()
    • Method Detail

      • getIdentifierName

        public static java.lang.String getIdentifierName()
        Gets the identifier label for the parallel father.
        Returns:
        Identifier label of a parallel father.
      • apply

        public org.processmining.processtree.ProcessTree apply​(org.processmining.processtree.ProcessTree tree)
        Applies the tree modification to the input tree returning a copy.
        Parameters:
        tree - The tree to be modified.
        Returns:
        A tree where candidates are labeled and split.
      • init

        public void init()
        (Re-)Sets the candidates being parallel for each father.
      • combineCandidates

        public void combineCandidates​(org.processmining.processtree.ProcessTree tree)
        Combines all candidates identified before.
        Parameters:
        tree - The tree on which candidates where identified before.
      • combineCandidatesOnOneLevel

        public void combineCandidatesOnOneLevel​(org.processmining.processtree.ProcessTree tree,
                                                org.processmining.processtree.Block father,
                                                java.util.HashSet<org.processmining.processtree.Node> children)
        Sets a subset of children in parallel separating it from the remaining structure.
        Parameters:
        tree - The tree to be modified.
        father - The old father.
        children - The children to be set in parallel with a new father.
      • startIdentifyingCandidates

        public void startIdentifyingCandidates​(org.processmining.processtree.ProcessTree tree)
        Starting function for candidate identification.
        Parameters:
        tree - The tree to be checked.
      • identifyCandidates

        public void identifyCandidates​(org.processmining.processtree.Node node)
        Identifies all candidates according to the candidate check that occur with a shared parallel node as father.
        Parameters:
        node - Node to recurse on.
      • candidateCheck

        public boolean candidateCheck​(org.processmining.processtree.Node node)
        Checks candidates whether they have a candidate property, i.e., if they are a flower or loop structure.
        Parameters:
        node - Node to be checked.
        Returns:
        If the node is a candidate.
      • identifyFlower

        public boolean identifyFlower​(org.processmining.processtree.Node node)
        Checks if a node is a flower structure. Only recognizes structures such as x(τ, ⟲(a,τ)) for an activity.
        Parameters:
        node - Node to be checked, if it is a flower structure.
        Returns:
        Whether the node is a flower structure.
      • identifyLoop

        public boolean identifyLoop​(org.processmining.processtree.Node node)
        Checks if a node is a loop structure. Only recognizes structures such as ⟲(a,τ) for an activity.
        Parameters:
        node - Node to be checked, if it is a loop structure.
        Returns:
        Whether the node is a loop structure.