Class AbstractLivenessAnalyzer
- java.lang.Object
-
- org.processmining.plugins.petrinet.behavioralanalysis.AbstractLivenessAnalyzer
-
- Direct Known Subclasses:
LivenessAnalyzer,LivenessAnalyzerWithSequence
public class AbstractLivenessAnalyzer extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected org.processmining.models.semantics.petrinet.Marking[]finalMarkingsprotected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESSinfoprotected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveSequencesnonLiveSequencesprotected org.processmining.models.graphbased.directed.petrinet.analysis.NonLiveTransitionsSetnonLiveTransprotected org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraphreachabilityGraphprotected org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition>semantics
-
Constructor Summary
Constructors Constructor Description AbstractLivenessAnalyzer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.processmining.models.graphbased.directed.petrinet.analysis.NetAnalysisInformation.LIVENESSanalyzeLivenessOnFreeChoiceNet(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 voidanalyzeLivenessOnNonFreeChoicePetriNet(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 voidanalyzeLivenessPetriNetPrivate(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 graphprotected voidcolorBackwards(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.NonLiveSequencesgetNonLiveSequences(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.NonLiveTransitionsSetgetNonLiveTransitions(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.processmining.models.semantics.petrinet.Marking marking, org.processmining.models.graphbased.directed.transitionsystem.ReachabilityGraph reachabilityGraph)
-
-
-
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
-
-
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.ConnectionCannotBeObtainedMethod to analyze liveness of any kind of petri net given a net, a marking, a semantic, and reachability graph- Parameters:
context- context of the netnet- net to be analyzedstate- initial state (initial marking)reachabilityGraph- reachability graph of this net and markingsemantics- semantics of this net- Throws:
java.lang.Exceptionorg.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 markingsiphonSet- set of siphontrapSet- 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)
-
-