Class GlobalJobInfoList

java.lang.Object
QueueNet.GlobalJobInfoList

public class GlobalJobInfoList extends Object

Title: Global Job Info List

Description: This class provides a global "job info list" to be used during simulation to compute global measures. This is designed to be associated to a simulation object.

Author:
Bertoli Marco Date: 8-mar-2006 Time: 12.27.42 Modified by Ashanka (Feb 2010) Desc: Modified the logic of System Power calculation. Earlier the logic was to capture the response time (rn) of each job when it was entering the sink and to capture the time of throughput (xn) for each job. Then x1/r1 ... x2/r2 ... x3/r3 ... was sent for System Power Simulation Engine. This logic was modified into: x1/r1 .. [x1/r1 + (x1+x2)/(r1+r2)] .. [x1/r1 + (x1+x2)/(r1+r2) + (x1+x2+x3)/(r1+r2+r3)] ..
  • Constructor Details

    • GlobalJobInfoList

      public GlobalJobInfoList(int classNum)
      Creates a new GlobalJobInfoList
      Parameters:
      classNum - number of classes in current network model
  • Method Details

    • addJob

      public void addJob(Job job)
      This method MUST be called each time a new job is added to the network.
      Parameters:
      job - identifier of added job.
    • removeJob

      public void removeJob(Job job)
      This method MUST be called each time a job is removed from the network.
      Parameters:
      job - identifier of removed job.
    • recycleJob

      public void recycleJob(Job job)
      This method MUST be called each time a job cycles in its reference station.
      Parameters:
      job - identifier of cycling job.
    • dropJob

      public void dropJob(Job job)
      This method must be called each time a job is dropped by a queue, a place or a blocking region.
      Parameters:
      job - identifier of dropped job.
    • balkJob

      public void balkJob(Job job)
      This method must be called each time a job is balked by a queue
      Parameters:
      job - identifier of balked job
    • renegeJob

      public void renegeJob(Job job)
      This method MUST be called each time a job is reneged by a queue.
      Parameters:
      job - identifier of reneged job.
    • retryJob

      public void retryJob(Job job)
      This method must be called each time a job is retried by a queue
      Parameters:
      job - identifier of retried job
    • produceJob

      public void produceJob(Job job)
      This method MUST be called each time a job is produced by a transition.
      Parameters:
      job - identifier of produced job.
    • consumeJob

      public void consumeJob(Job job)
      This method MUST be called each time a job is consumed by a transition.
      Parameters:
      job - identifier of consumed job.
    • analyzeJobNumber

      public void analyzeJobNumber(JobClass jobClass, Measure Measure)
      Analyzes System Number of Jobs for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      Measure - reference to a Measure object.
    • analyzeResponseTime

      public void analyzeResponseTime(JobClass jobClass, Measure measure)
      Analyzes System Response Time for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      measure - reference to a Measure object.
    • analyzeThroughput

      public void analyzeThroughput(JobClass jobClass, Measure Measure)
      Analyzes System Throughput for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      Measure - reference to a Measure object.
    • analyzeDropRate

      public void analyzeDropRate(JobClass jobClass, Measure Measure)
      Analyzes System Drop Rate for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      Measure - reference to a Measure object.
    • analyzeBalkingRate

      public void analyzeBalkingRate(JobClass jobClass, Measure Measure)
      Analyzes System Balking Rate for a specific job class or for every class
      Parameters:
      jobClass - specified job class. If null measure will be job independent
      Measure - reference to a Measure object
    • analyzeRenegingRate

      public void analyzeRenegingRate(JobClass jobClass, Measure Measure)
      Analyzes System Reneging Rate for a specific job class or for every class
      Parameters:
      jobClass - specified job class. If null measure will be job independent
      Measure - reference to a Measure object
    • analyzeRetrialAttemptsRate

      public void analyzeRetrialAttemptsRate(JobClass jobClass, Measure Measure)
      Analyzes System Retrial Attempts Rate for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      Measure - reference to a Measure object.
    • analyzeSystemPower

      public void analyzeSystemPower(JobClass jobClass, Measure Measure)
      Analyzes System Power for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      Measure - reference to a Measure object.
    • analyzeTardiness

      public void analyzeTardiness(JobClass jobClass, Measure measure)
      Analyzes System Tardiness for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      measure - reference to a Measure object.
    • analyzeEarliness

      public void analyzeEarliness(JobClass jobClass, Measure measure)
      Analyzes System Earliness for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      measure - reference to a Measure object.
    • analyzeLateness

      public void analyzeLateness(JobClass jobClass, Measure measure)
      Analyzes System Lateness for a specific job class or for every class.
      Parameters:
      jobClass - specified job class. If null measure will be job independent.
      measure - reference to a Measure object.
    • updateChainGraph

      protected void updateChainGraph(org.apache.commons.math3.util.Pair<NetNode,JobClass> sourcePair, org.apache.commons.math3.util.Pair<NetNode,JobClass> targetPair)
      Updates chain graph.
      Parameters:
      sourcePair - source pair.
      targetPair - target pair.
    • performJobClassSwitch

      public void performJobClassSwitch(JobClass oldClass, JobClass newClass)
      It changes the class of a job from @oldClass to @newClass. It also updates the performance indices.
      Parameters:
      oldClass - the old class of the job.
      newClass - the new class of the job.
    • setNetSystem

      public void setNetSystem(NetSystem netSystem)
    • getChainSet

      public Set<Set<org.apache.commons.math3.util.Pair<NetNode,JobClass>>> getChainSet()
      Gets chain set.
      Returns:
      chain set.
    • getPairChainMap

      public Map<org.apache.commons.math3.util.Pair<NetNode,JobClass>, Set<org.apache.commons.math3.util.Pair<NetNode,JobClass>>> getPairChainMap()
      Gets pair chain map.
      Returns:
      pair chain map.
    • getVisitCountPerChain

      public Map<Set<org.apache.commons.math3.util.Pair<NetNode,JobClass>>, Integer> getVisitCountPerChain()
      Gets visit count per chain.
      Returns:
      visit count per chain.
    • getTotalVisitCount

      public Integer getTotalVisitCount()
      Gets total visit count.
      Returns:
      total visit count.