Class Source
-
- All Implemented Interfaces:
-
java.io.Serializable,jline.lang.Copyable
public class Source extends Station implements Serializable
An abstraction of the external world jobs in open classes come from
-
-
Field Summary
Fields Modifier and Type Field Description protected List<ServiceBinding>arrivalProcessprotected SchedStrategyschedStrategyprotected intnumberOfServersprotected intcapprotected Map<JobClass, Integer>classCapprotected Map<JobClass, DropStrategy>dropRuleprotected MatrixlldScalingprotected SerializableFunction<Matrix, Double>lcdScalingprotected Map<JobClass, Map<JobClass, Distribution>>switchoverTimesprotected List<ServiceBinding>serviceProcessesprotected SchedStrategyschedStrategyprotected SchedStrategyTypeschedPolicyprotected HashMap<JobClass, Double>schedStrategyParpublic Matrixstatepublic MatrixstatePriorpublic final NodeAttributeattributepublic Networkmodelprotected InputSectioninputprotected OutputSectionoutputprotected ServiceSectionserverprotected DropStrategydropStrategyprotected intstatefulIdxprotected intnodeIndexprotected intstationIdxprotected Stringname
-
Method Summary
Modifier and Type Method Description booleancontainsJobClass(JobClass jobClass)Checks if this source has an arrival process configured for the specified job class. DistributiongetArrivalDistribution(JobClass jobClass)Gets the arrival distribution for a specific job class. final DistributiongetArrivalProcess(JobClass jobClass)Gets the arrival process distribution for a specific job class. SchedStrategygetSchedStrategy()Gets the scheduling strategy for this source node. voidprintSummary()Prints a summary of this node's configuration to the console. voidremoveArrivalProcess(JobClass jobClass)Removes the arrival process for a specific job class. voidsetArrival(JobClass jobClass, Distribution distribution)Sets the arrival distribution for a specific job class. voidsetArrivalProcess(ServiceBinding arrivalProcess)Sets the arrival process using a service binding. -
Methods inherited from class jline.lang.nodes.StatefulNode
clearState, getState, getStatePrior, getStateSpace, getStatefulIndex, resetStateSpace, setState, setState, setStatePrior, setStateSpace -
Methods inherited from class jline.lang.nodes.Node
getAttribute, getDropStrategy, getInput, getModel, getNodeIndex, getOutput, getOutputStrategies, getRoutingStrategy, getSections, getServer, getStatefulIdx, getStationIdx, isStateful, reset, resetRouting, setModel, setNodeIdx, setProbRouting, setRouting, setRouting, setStationIdx -
Methods inherited from class jline.lang.nodes.Station
getCap, getClassCap, getDropRule, getLimitedClassDependence, getLimitedLoadDependence, getNumberOfServers, getServiceRates, getSourceRates, getSwitchoverTime, hasSwitchoverTime, isReferenceStation, isServiceDefined, isServiceDefined, isServiceDisabled, isServiceDisabled, setCap, setChainCapacity, setClassCap, setDropRule, setLimitedClassDependence, setLimitedLoadDependence, setNumberOfServers, setSwitchoverTime -
Methods inherited from class jline.lang.nodes.ServiceNode
getServiceProcess, setService, setService -
Methods inherited from class jline.lang.Element
getName, setName -
Methods inherited from class jline.lang.Copyable
copy -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
containsJobClass
boolean containsJobClass(JobClass jobClass)
Checks if this source has an arrival process configured for the specified job class.
- Parameters:
jobClass- the job class to check- Returns:
true if an arrival process exists for this job class, false otherwise
-
getArrivalDistribution
Distribution getArrivalDistribution(JobClass jobClass)
Gets the arrival distribution for a specific job class.
- Parameters:
jobClass- the job class to query- Returns:
the arrival distribution, or Disabled if none configured
-
getArrivalProcess
final Distribution getArrivalProcess(JobClass jobClass)
Gets the arrival process distribution for a specific job class. This is an alias for getArrivalDistribution.
- Parameters:
jobClass- the job class to query- Returns:
the arrival distribution, or Disabled if none configured
-
getSchedStrategy
SchedStrategy getSchedStrategy()
Gets the scheduling strategy for this source node. Sources always use EXT (external) scheduling strategy.
- Returns:
the scheduling strategy (always SchedStrategy.EXT)
-
printSummary
void printSummary()
Prints a summary of this node's configuration to the console.
-
removeArrivalProcess
void removeArrivalProcess(JobClass jobClass)
Removes the arrival process for a specific job class.
- Parameters:
jobClass- the job class whose arrival process should be removed
-
setArrival
void setArrival(JobClass jobClass, Distribution distribution)
Sets the arrival distribution for a specific job class. If distribution is null or Disabled, sets class capacity to 0.
- Parameters:
jobClass- the job class to configuredistribution- the arrival distribution to set
-
setArrivalProcess
void setArrivalProcess(ServiceBinding arrivalProcess)
Sets the arrival process using a service binding. Removes any existing arrival process for the same job class.
- Parameters:
arrivalProcess- the service binding defining the arrival process
-
-
-
-