Class EfficientDiscreteStochasticNetSemanticsImpl
- java.lang.Object
-
- org.processmining.models.semantics.petrinet.impl.EfficientStochasticNetSemanticsImpl
-
- org.processmining.models.semantics.petrinet.impl.EfficientDiscreteStochasticNetSemanticsImpl
-
- All Implemented Interfaces:
java.io.Serializable,StochasticNetSemantics,org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition>
public class EfficientDiscreteStochasticNetSemanticsImpl extends EfficientStochasticNetSemanticsImpl
Stores a marking encoding temporal states in a discrete domain. An array of sorted multisets stores the current marking/state of the net.- Author:
- Andreas Rogge-Solti
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected EfficientTimedMarkingcurrentTimedMarking-
Fields inherited from class org.processmining.models.semantics.petrinet.impl.EfficientStochasticNetSemanticsImpl
currentMarking, dependentTransitions, placePositionInArray, places, transitionInputs, transitionMatrix, transitionOutputs, transitionPositionInArray, transitions
-
-
Constructor Summary
Constructors Constructor Description EfficientDiscreteStochasticNetSemanticsImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.processmining.models.semantics.petrinet.PetrinetExecutionInformationexecuteExecutableTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute)intexecuteExecutableTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, int transitionDuration)intexecuteExecutableTransitionAtTime(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, java.lang.Integer timeOfFiring)intgetDurationOfTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, java.lang.Short[] modelPlaceIds, int timeOfFiring)EfficientTimedMarkinggetInternalState()short[][]getTransitionMatrix()voidinitialize(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, org.processmining.models.semantics.petrinet.Marking state)Initializes this semantics.voidinitialize(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, org.processmining.models.semantics.petrinet.Marking state, int time)voidsetCurrentState(short[] currentState)voidsetCurrentState(org.processmining.models.semantics.petrinet.Marking currentState)voidsetInternalState(EfficientTimedMarking state)-
Methods inherited from class org.processmining.models.semantics.petrinet.impl.EfficientStochasticNetSemanticsImpl
clone, getCurrentInternalState, getCurrentState, getEnabledTransitions, getEnabledTransitionsByOnlyLookingAtPossibleCandidates, getEnabledTransitionsBySearchingThroughHashMaps, getEnabledTransitionsBySearchingThroughMatrix, getExecutableTransitions, getPlaceId, getTransition, getTransitionCandidates, getTransitionId, getTransitions, getTransitionsOfHighestPriority
-
-
-
-
Field Detail
-
currentTimedMarking
protected EfficientTimedMarking currentTimedMarking
-
-
Method Detail
-
initialize
public void initialize(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, org.processmining.models.semantics.petrinet.Marking state)Description copied from interface:org.processmining.models.semantics.SemanticsInitializes this semantics. Note that the set of transitions is considered read only, i.e. no changes can be made to it by a Semanticsimplementation. However, the initial state is not read only.- Specified by:
initializein interfaceorg.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition>- Overrides:
initializein classEfficientStochasticNetSemanticsImpl
-
initialize
public void initialize(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, org.processmining.models.semantics.petrinet.Marking state, int time)
-
executeExecutableTransition
public org.processmining.models.semantics.petrinet.PetrinetExecutionInformation executeExecutableTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute)
- Specified by:
executeExecutableTransitionin interfaceorg.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition>- Overrides:
executeExecutableTransitionin classEfficientStochasticNetSemanticsImpl
-
executeExecutableTransition
public int executeExecutableTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, int transitionDuration) throws org.processmining.models.semantics.IllegalTransitionException- Returns:
- the time of firing
- Throws:
org.processmining.models.semantics.IllegalTransitionException
-
executeExecutableTransitionAtTime
public int executeExecutableTransitionAtTime(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, java.lang.Integer timeOfFiring) throws org.processmining.models.semantics.IllegalTransitionException- Returns:
- the duration of the transition
- Throws:
org.processmining.models.semantics.IllegalTransitionException
-
getDurationOfTransition
public int getDurationOfTransition(org.processmining.models.graphbased.directed.petrinet.elements.Transition toExecute, java.lang.Short[] modelPlaceIds, int timeOfFiring)
-
getInternalState
public EfficientTimedMarking getInternalState()
-
setCurrentState
public void setCurrentState(org.processmining.models.semantics.petrinet.Marking currentState)
- Specified by:
setCurrentStatein interfaceorg.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition>- Overrides:
setCurrentStatein classEfficientStochasticNetSemanticsImpl
-
setCurrentState
public void setCurrentState(short[] currentState)
- Overrides:
setCurrentStatein classEfficientStochasticNetSemanticsImpl
-
setInternalState
public void setInternalState(EfficientTimedMarking state)
-
getTransitionMatrix
public short[][] getTransitionMatrix()
-
-