public abstract class AbstractNetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>> extends AbstractPetriNet<F,N,P,T> implements INetSystem<F,N,P,T,M>
| Modifier and Type | Field and Description |
|---|---|
protected M |
marking |
edges, vertices| Constructor and Description |
|---|
AbstractNetSystem() |
| Modifier and Type | Method and Description |
|---|---|
INetSystem<F,N,P,T,M> |
clone()
Clone this Petri net.
|
INetSystem<F,N,P,T,M> |
clone(Map<N,N> map)
Clone this Petri net.
|
IMarking<F,N,P,T> |
createMarking()
Create a marking of this net system.
|
boolean |
fire(T transition)
Fire a transition in this net system.
|
Set<T> |
getEnabledTransitions()
Get enabled transitions of this net system.
|
Set<T> |
getEnabledTransitions(Set<T> lastEnabled,
T lastFired)
Get enabled transitions of this net system more efficiently by providing
details on last step in terms of previously enabled transitions and the one
last fired.
|
Set<T> |
getEnabledTransitionsAtMarking(M marking)
Get enabled transitions of this net system at a given marking
|
Set<P> |
getMarkedPlaces()
Get marked places of this net system.
|
M |
getMarking()
Get marking of this net system.
|
Integer |
getTokens(P p)
Get number of tokens at a place.
|
boolean |
isEnabled(T t)
Check if a given transition is enabled.
|
boolean |
isMarked(P p)
Check if a given place is marked, i.e., contains at least one token.
|
void |
loadMarking(M newMarking)
Changes marking of this net system to the given one.
|
void |
loadNaturalMarking()
Changes marking of the net system to its natural initial marking, i.e.,
the marking which put one token at each source place of the net system and no tokens elsewhere.
|
Integer |
putTokens(P p,
Integer tokens)
Put tokens at a given place.
|
N |
removeNode(N n)
Remove node from this net.
|
Collection<N> |
removeNodes(Collection<N> ns)
Remove nodes from this net.
|
P |
removePlace(P p)
Remove place from this net.
|
Collection<P> |
removePlaces(Collection<P> ps)
Remove places from this net.
|
String |
toDOT() |
addFlow, addFlow, addNode, addNodes, addPlace, addPlaces, addTransition, addTransitions, clear, createPlace, createTransition, getFlow, getMax, getMin, getNodes, getObservableTransitions, getPlaces, getPostset, getPostset, getPostset, getPostset, getPostsetPlaces, getPostsetTransitions, getPreset, getPreset, getPreset, getPreset, getPresetPlaces, getPresetTransitions, getSilentTransitions, getSinkNodes, getSinkPlaces, getSinkTransitions, getSourceNodes, getSourcePlaces, getSourceTransitions, getTransitions, removeFlow, removeFlow, removeTransition, removeTransitionsaddEdge, isMultiGraphaddEdge, areAdjacent, getDirectedEdge, getEdge, getEdges, getEdgesWithSources, getEdgesWithSourcesAndTargets, getEdgesWithTargets, removeVertex, removeVerticesaddEdge, addEdge, checkEdge, getDirectPredecessors, getDirectPredecessors, getDirectSuccessors, getDirectSuccessors, getEdgesWithSource, getEdgesWithSourceAndTarget, getEdgesWithTarget, getFirstDirectPredecessor, getFirstDirectSuccessor, getFirstIncomingEdge, getFirstOutgoingEdge, getIncomingEdges, getOutgoingEdgesaddVertex, addVertices, areAdjacent, checkEdge, contains, contains, contains, countEdges, countVertices, getAdjacent, getConnectedVertices, getDisconnectedVertices, getEdges, getEdges, getEdges, getEntities, getFreshVertex, getVertices, removeEdge, removeEdges, toStringaddIndex, addIndex, clearMembers, removeIndex, removeIndexcompareTo, equals, getDescription, getId, getLabel, getName, getTag, hashCode, setDescription, setId, setName, setTagfinalize, getClass, notify, notifyAll, wait, wait, waitaddFlow, addFlow, addFlow, addNode, addNodes, addPlace, addPlaces, addTransition, addTransitions, clear, createPlace, createTransition, getFlow, getMax, getMin, getNodes, getObservableTransitions, getPlaces, getPostset, getPostset, getPostset, getPostset, getPostsetPlaces, getPostsetTransitions, getPreset, getPreset, getPreset, getPreset, getPresetPlaces, getPresetTransitions, getSilentTransitions, getSinkNodes, getSinkPlaces, getSinkTransitions, getSourceNodes, getSourcePlaces, getSourceTransitions, getTransitions, removeFlow, removeFlow, removeTransition, removeTransitionsgetDirectedEdgeaddEdge, addEdge, getDirectPredecessors, getDirectPredecessors, getDirectSuccessors, getDirectSuccessors, getEdgesWithSource, getEdgesWithSourceAndTarget, getEdgesWithSources, getEdgesWithSourcesAndTargets, getEdgesWithTarget, getEdgesWithTargets, getFirstDirectPredecessor, getFirstDirectSuccessor, getFirstIncomingEdge, getFirstOutgoingEdge, getIncomingEdges, getOutgoingEdgesareAdjacent, getEdge, getEdgesaddEdge, addEdge, addVertex, addVertices, areAdjacent, contains, contains, countEdges, countVertices, getAdjacent, getConnectedVertices, getDisconnectedVertices, getEdges, getEdges, getEdges, getFreshVertex, getVertices, isMultiGraph, removeEdge, removeEdges, removeVertex, removeVerticesgetDescription, getId, getName, getTag, setDescription, setId, setName, setTagcompareTogetEntitiespublic N removeNode(N n)
IPetriNetremoveNode in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>removeNode in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>n - Node to remove.public Collection<N> removeNodes(Collection<N> ns)
IPetriNetremoveNodes in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>removeNodes in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>ns - Nodes to remove.public P removePlace(P p)
IPetriNetremovePlace in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>removePlace in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>p - Place to remove.public Collection<P> removePlaces(Collection<P> ps)
IPetriNetremovePlaces in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>removePlaces in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>ps - Places to remove.public M getMarking()
INetSystempublic Set<P> getMarkedPlaces()
INetSystempublic Set<T> getEnabledTransitions()
INetSystempublic Set<T> getEnabledTransitions(Set<T> lastEnabled, T lastFired)
INetSystempublic Set<T> getEnabledTransitionsAtMarking(M marking)
INetSystempublic boolean isEnabled(T t)
INetSystempublic boolean isMarked(P p)
INetSystempublic boolean fire(T transition)
INetSystempublic String toDOT()
public INetSystem<F,N,P,T,M> clone()
IPetriNetclone in interface IEntityclone in interface INetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>clone in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>clone in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>public INetSystem<F,N,P,T,M> clone(Map<N,N> map)
IPetriNetmap is a map from nodes of the original net to nodes of the cloned net.clone in interface INetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>clone in interface IPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>clone in class AbstractPetriNet<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition>public Integer putTokens(P p, Integer tokens)
INetSystemputTokens in interface INetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>p - Place.tokens - Number of tokens to put.public Integer getTokens(P p)
INetSystempublic void loadNaturalMarking()
INetSystempublic void loadMarking(M newMarking)
INetSystemCopyright © 2017. All rights reserved.