Package jline.lang.nodes
Class Place
- All Implemented Interfaces:
Serializable,Copyable
A place within a stochastic Petri net / queueing Petri net model.
By default a Place is an ordinary place (tokens are immediately available to the
output transitions, modelled by a ServiceTunnel pass-through server). When a service
process is assigned via setService(JobClass, Distribution), the place becomes a
queueing place (QPN semantics): incoming tokens are served in an embedded queue under
the place's scheduling strategy and, on completion, move to a depository from which they become
available to the output transitions according to the departure discipline.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected HashMap<JobClass, DepartureDiscipline> Per-class departure discipline of the depository.protected booleanTrue once a service process has been assigned, i.e.protected HashMap<JobClass, SchedStrategy> protected HashMap<JobClass, Distribution> Per-class service (queue) processes of the embedded queue; empty for ordinary places.Fields inherited from class jline.lang.nodes.Station
balkingStrategies, balkingThresholds, batchRejectProb, cap, classCap, dropRule, impatienceTypes, lcdScaling, lcdScalingPeak, lldScaling, numberOfServers, orbitImpatienceDistributions, patienceDistributions, retrialDelayDistributions, retrialMaxAttempts, switchoverTimesFields inherited from class jline.lang.nodes.ServiceNode
schedPolicy, schedStrategy, schedStrategyParFields inherited from class jline.lang.nodes.Node
dropStrategy, input, model, nodeIndex, output, server, statefulIdx, stationIdx -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetDepartureDiscipline(JobClass jobClass) getService(JobClass jobClass) voidinit()protected voidInstalls the concrete server section matching the place's scheduling strategy, replacing the defaultServiceTunnelpass-through used by ordinary places.booleanvoidsetClassCapacity(JobClass jobclass, int capacity) voidsetDepartureDiscipline(JobClass jobClass, DepartureDiscipline discipline) voidsetMarking(int marking) Alias forStatefulNode.setState(int)using Petri-net terminology: sets the initial token marking of this place.voidsetMarking(Matrix marking) Alias forStatefulNode.setState(jline.util.matrix.Matrix)using Petri-net terminology: sets the initial per-class token marking of this place.voidsetNumberOfServers(int numberOfServers) Sets the number of servers at this station.voidsetSchedStrategy(JobClass jobClass, SchedStrategy strategy) voidsetService(JobClass jobClass, Distribution distribution) Assigns a service process to a token color, turning this ordinary place into a queueing place.Methods inherited from class jline.lang.nodes.Station
getBalkingStrategy, getBalkingStrategyLocal, getBalkingThresholds, getBalkingThresholdsLocal, getBatchRejectProbability, getCap, getClassCap, getDropRule, getImpatienceType, getImpatienceTypeLocal, getLimitedClassDependence, getLimitedClassDependencePeak, getLimitedLoadDependence, getMaxRetrialAttempts, getMaxRetrialAttemptsLocal, getNumberOfServers, getOrbitImpatience, getOrbitImpatienceLocal, getPatience, getPatienceLocal, getRetrialDelayDistribution, getRetrialDelayDistributionLocal, getSchedStrategy, getServiceRates, getSourceRates, getStrategyParam, getSwitchoverTime, hasBalking, hasBalkingLocal, hasFiniteCap, hasOrbitImpatience, hasPatience, hasPatienceLocal, hasRetrial, hasRetrialLocal, hasSwitchoverTime, isReferenceStation, isServiceDefined, isServiceDefined, isServiceDisabled, isServiceDisabled, removeJobClass, setBalking, setBalking, setBatchRejectProbability, setCap, setCapacity, setChainCapacity, setClassCap, setDropRule, setLimitedClassDependence, setLimitedClassDependence, setLimitedLoadDependence, setOrbitImpatience, setPatience, setPatience, setRetrial, setRetrial, setStrategyParam, setSwitchoverTimeMethods inherited from class jline.lang.nodes.ServiceNode
getSchedStrategyPar, getServiceProcess, setServiceMethods inherited from class jline.lang.nodes.StatefulNode
clearState, getState, getStatefulIndex, getStatePrior, getStateSpace, resetStateSpace, setState, setState, setStatePrior, setStateSpaceMethods inherited from class jline.lang.nodes.Node
getAttribute, getDropStrategy, getInput, getModel, getNodeIndex, getOutput, getOutputStrategies, getRoutingStrategy, getSections, getServer, getStatefulIdx, getStationIdx, isStateful, printSummary, reset, resetRouting, setKChoicesRouting, setModel, setNodeIdx, setProbRouting, setRLRouting, setRouting, setRouting, setStationIdx
-
Field Details
-
schedStrategies
-
queueing
protected boolean queueingTrue once a service process has been assigned, i.e. this is a queueing place. -
serviceProcesses
Per-class service (queue) processes of the embedded queue; empty for ordinary places. -
departureDiscipline
Per-class departure discipline of the depository.
-
-
Constructor Details
-
Place
-
Place
-
-
Method Details
-
init
public void init() -
setClassCapacity
-
setSchedStrategy
-
setService
Assigns a service process to a token color, turning this ordinary place into a queueing place. The embedded queue serves tokens under the place's scheduling strategy; the first such call installs the concrete server section for that strategy.- Overrides:
setServicein classServiceNode- Parameters:
jobClass- the token color (job class)distribution- the service-time distribution of the embedded queue for this color
-
installQueueServer
protected void installQueueServer()Installs the concrete server section matching the place's scheduling strategy, replacing the defaultServiceTunnelpass-through used by ordinary places. -
isQueueing
public boolean isQueueing()- Returns:
- true if this place is a queueing place (has an embedded queue).
-
getService
-
setDepartureDiscipline
-
getDepartureDiscipline
-
setNumberOfServers
public void setNumberOfServers(int numberOfServers) Description copied from class:StationSets the number of servers at this station.- Overrides:
setNumberOfServersin classStation- Parameters:
numberOfServers- the number of servers (use Integer.MAX_VALUE for infinite servers)
-
setMarking
public void setMarking(int marking) Alias forStatefulNode.setState(int)using Petri-net terminology: sets the initial token marking of this place.- Parameters:
marking- initial number of tokens
-
setMarking
Alias forStatefulNode.setState(jline.util.matrix.Matrix)using Petri-net terminology: sets the initial per-class token marking of this place.- Parameters:
marking- initial token counts per class
-