Class AbstractLivenessAnalyzer

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.processmining.models.semantics.petrinet.Marking[] finalMarkings  
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESS info  
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveSequences nonLiveSequences  
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveTransitionsSet nonLiveTrans  
      protected org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph  
      protected org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESS analyzeLivenessOnFreeChoiceNet​(org.processmining.models.semantics.petrinet.Marking state, org.processmining.models.graphbased.directed.petrinet.analysis.SiphonSet siphonSet, org.processmining.models.graphbased.directed.petrinet.analysis.TrapSet trapSet)
      Method to analyze Liveness, given that the net is free-choice.
      protected void analyzeLivenessOnNonFreeChoicePetriNet​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.processmining.models.semantics.petrinet.Marking marking, org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph, org.processmining.models.semantics.petrinet.Marking... allowedFinalMarkings)  
      protected void analyzeLivenessPetriNetPrivate​(org.processmining.framework.plugin.PluginContext context, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.processmining.models.semantics.petrinet.Marking state, org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph, org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics, org.processmining.models.semantics.petrinet.Marking... finalMarkings)
      Method to analyze liveness of any kind of petri net given a net, a marking, a semantic, and reachability graph
      protected void colorBackwards​(org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph, org.processmining.models.graphbased.directed.transitionsystem.State state, java.util.Collection<org.processmining.models.graphbased.directed.transitionsystem.State> newCollection, java.util.Collection<org.processmining.models.graphbased.directed.transitionsystem.State> oldCollection, org.processmining.models.graphbased.directed.transitionsystem.State initialState)  
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveSequences getNonLiveSequences​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.processmining.models.semantics.petrinet.Marking marking, org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph, org.processmining.models.semantics.petrinet.Marking... allowedFinalMarkings)  
      protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveTransitionsSet getNonLiveTransitions​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.processmining.models.semantics.petrinet.Marking marking, org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph)  
      • Methods inherited from class java.lang.Object

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

      • semantics

        protected org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics
      • reachabilityGraph

        protected org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph
      • finalMarkings

        protected org.processmining.models.semantics.petrinet.Marking[] finalMarkings
      • info

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESS info
      • nonLiveTrans

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveTransitionsSet nonLiveTrans
      • nonLiveSequences

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveSequences nonLiveSequences
    • Constructor Detail

      • AbstractLivenessAnalyzer

        public AbstractLivenessAnalyzer()
    • Method Detail

      • analyzeLivenessPetriNetPrivate

        protected void analyzeLivenessPetriNetPrivate​(org.processmining.framework.plugin.PluginContext context,
                                                      org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
                                                      org.processmining.models.semantics.petrinet.Marking state,
                                                      org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph,
                                                      org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,​org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics,
                                                      org.processmining.models.semantics.petrinet.Marking... finalMarkings)
                                               throws org.processmining.framework.connections.ConnectionCannotBeObtained
        Method to analyze liveness of any kind of petri net given a net, a marking, a semantic, and reachability graph
        Parameters:
        context - context of the net
        net - net to be analyzed
        state - initial state (initial marking)
        reachabilityGraph - reachability graph of this net and marking
        semantics - semantics of this net
        Throws:
        java.lang.Exception
        org.processmining.framework.connections.ConnectionCannotBeObtained
      • analyzeLivenessOnFreeChoiceNet

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESS analyzeLivenessOnFreeChoiceNet​(org.processmining.models.semantics.petrinet.Marking state,
                                                                                                                                                org.processmining.models.graphbased.directed.petrinet.analysis.SiphonSet siphonSet,
                                                                                                                                                org.processmining.models.graphbased.directed.petrinet.analysis.TrapSet trapSet)
        Method to analyze Liveness, given that the net is free-choice. If all siphon contains marked traps, the net is live
        Parameters:
        state - initial marking
        siphonSet - set of siphon
        trapSet - set of trap
        Returns:
        An array of two objects. The first object is of type NetAnalysisInformation and contains whether the given net (given its siphons and traps) is live. The second object is of type NonLiveTransitionsSet and contains a set which is either empty (if the net is live) or which contains the set of non-live transitions as its only element (if the net is non live).
      • analyzeLivenessOnNonFreeChoicePetriNet

        protected void analyzeLivenessOnNonFreeChoicePetriNet​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
                                                              org.processmining.models.semantics.petrinet.Marking marking,
                                                              org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph,
                                                              org.processmining.models.semantics.petrinet.Marking... allowedFinalMarkings)
      • getNonLiveTransitions

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveTransitionsSet getNonLiveTransitions​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
                                                                                                                             org.processmining.models.semantics.petrinet.Marking marking,
                                                                                                                             org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph)
      • getNonLiveSequences

        protected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveSequences getNonLiveSequences​(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
                                                                                                                      org.processmining.models.semantics.petrinet.Marking marking,
                                                                                                                      org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph,
                                                                                                                      org.processmining.models.semantics.petrinet.Marking... allowedFinalMarkings)
      • colorBackwards

        protected void colorBackwards​(org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph,
                                      org.processmining.models.graphbased.directed.transitionsystem.State state,
                                      java.util.Collection<org.processmining.models.graphbased.directed.transitionsystem.State> newCollection,
                                      java.util.Collection<org.processmining.models.graphbased.directed.transitionsystem.State> oldCollection,
                                      org.processmining.models.graphbased.directed.transitionsystem.State initialState)