public class PetriNetEngine
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
java.util.Set<PetriNetEngineListener> |
listeners
The set of listeners for this engine
|
static java.lang.String |
PROP_TOKEN_LAST_TICK
Token property for storing the latest update (time-tick) for a token
|
static java.lang.String |
PROP_TOKEN_TIME
Token property for storing the actual working time for a token
|
static java.lang.String |
PROP_TOKEN_WAIT_TIME
Token property for storing the waiting time for a token
|
Constructor and Description |
---|
PetriNetEngine(PetriNetModel m)
Creates a new Petri net engine.
|
Modifier and Type | Method and Description |
---|---|
void |
addListener(PetriNetEngineListener listener)
Adds a PetriNetEngineListener to this engine.
|
protected void |
addTicks(int tickCounts)
Adds a given number of ticks.
|
java.util.Set<Transition> |
calculateEnabledTransitions(int processInstance)
Calculates and highlights the enabled Transitions for a given
process instance.
|
void |
clearEnabledTransitionHighlights() |
static int |
convertTimeToTicks(java.lang.String time)
Converts a time stamp to ticks
|
void |
fireTransition(Transition t,
int processInstance)
Fire a transition for a certain process instance.
|
java.util.Map<java.lang.String,java.lang.String> |
getAllInstancesCosts()
Returns the current instance costs of all instances.
|
Token |
getCurrentLongestWaitingToken(Place p) |
java.util.Set<Token> |
getCurrentTokens(int processInstance)
Returns the current tokens of a specific process instance.
|
boolean |
getHighlightEnabledTransitions() |
double |
getInstanceCost(int processInstance) |
Token |
getLongestWaitingToken(Place p) |
java.util.List<Place> |
getPostSet(Transition t)
Returns the postset of a transition.
|
java.util.List<Predecessor> |
getPredecessors(Transition t) |
java.util.List<Place> |
getPreSet(Transition t,
java.lang.Class<?> edgeType)
Returns the preset of a transition.
|
Token |
getShortestWaitingToken(Place p) |
int |
getTicks()
Returns the current tick count of the engine.
|
static int |
getTicksOfDay(int ticks)
Returns the tick count for the current day; i.e. substracting all
ticks from prior days
|
boolean |
isTimingEnabled() |
boolean |
isTurboMode() |
boolean |
isWaitingEmpty()
Returns true if the waiting list is empty (for time-ticks)
|
void |
removeListener(PetriNetEngineListener listener)
Removes a PetriNetEngineListener from this engine.
|
void |
resetEngine()
Resets the current instance costs for all instances.
|
void |
setHighlightEnabledTransitions(boolean b) |
void |
setTimingEnabled(boolean timingEnabled) |
void |
setTurboMode(boolean turbo) |
void |
tick()
Processes the waiting list and adds Tokens to the postsets
|
public static final java.lang.String PROP_TOKEN_TIME
public static final java.lang.String PROP_TOKEN_WAIT_TIME
public static final java.lang.String PROP_TOKEN_LAST_TICK
public java.util.Set<PetriNetEngineListener> listeners
public PetriNetEngine(PetriNetModel m)
m
- public boolean isTurboMode()
public void setTurboMode(boolean turbo)
public boolean isTimingEnabled()
public void setTimingEnabled(boolean timingEnabled)
public java.util.Set<Transition> calculateEnabledTransitions(int processInstance)
processInstance
- The process instance id.public void clearEnabledTransitionHighlights()
public java.util.Set<Token> getCurrentTokens(int processInstance)
processInstance
- public java.util.List<Place> getPreSet(Transition t, java.lang.Class<?> edgeType)
t
- public java.util.List<Place> getPostSet(Transition t)
t
- public void fireTransition(Transition t, int processInstance)
t
- processInstance
- public void tick()
public boolean isWaitingEmpty()
public boolean getHighlightEnabledTransitions()
public void setHighlightEnabledTransitions(boolean b)
public java.util.Map<java.lang.String,java.lang.String> getAllInstancesCosts()
public double getInstanceCost(int processInstance)
public int getTicks()
protected void addTicks(int tickCounts)
public void addListener(PetriNetEngineListener listener)
listener
- public void removeListener(PetriNetEngineListener listener)
listener
- public void resetEngine()
public static int convertTimeToTicks(java.lang.String time)
time
- - HHMMpublic static int getTicksOfDay(int ticks)
ticks
- public java.util.List<Predecessor> getPredecessors(Transition t)