Class SimActiveResource

  • All Implemented Interfaces:
    de.uka.ipd.sdq.scheduler.IActiveResource, de.uka.ipd.sdq.simulation.abstractsimengine.IEntity

    public class SimActiveResource
    extends de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.apache.log4j.Logger logger  
      • Fields inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource

        capacity, factory
      • Fields inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator

        delegate
      • Fields inherited from interface de.uka.ipd.sdq.simulation.abstractsimengine.IEntity

        NULL
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addObserver​(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer)  
      protected void dequeue​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)  
      void doProcessing​(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process, int resourceServiceID, double demand)  
      protected void enqueue​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)  
      IActiveProcess findProcess​(String processName)  
      List<IResourceInstance> getInstanceList()  
      int getQueueLengthFor​(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity, int coreId)  
      double getRemainingDemand​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)  
      IScheduler getScheduler()  
      boolean isIdle​(IResourceInstance instance)  
      IActiveProcess lookUp​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)  
      void notifyTerminated​(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess)  
      void registerProcess​(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess)  
      void setScheduler​(IScheduler scheduler)  
      void start()  
      void stop()  
      void unregisterProcess​(IActiveProcess process)  
      void updateDemand​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process, double demand)  
      • Methods inherited from class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource

        cleanProcesses, doProcessing, fireDemandCompleted, fireStateChange, process, removeObserver
      • Methods inherited from class de.uka.ipd.sdq.scheduler.resources.AbstractSimResource

        equals, getCapacity, getId, getName, hashCode, toString
      • Methods inherited from class de.uka.ipd.sdq.scheduler.entities.SchedulerEntity

        getModel
      • Methods inherited from class de.uka.ipd.sdq.simulation.abstractsimengine.AbstractSimEntityDelegator

        getEncapsulatedEntity, isScheduled, reschedule
      • Methods inherited from interface de.uka.ipd.sdq.scheduler.IActiveResource

        getId, getName
    • Field Detail

      • logger

        public static final org.apache.log4j.Logger logger
    • Method Detail

      • lookUp

        public IActiveProcess lookUp​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
      • doProcessing

        public void doProcessing​(de.uka.ipd.sdq.scheduler.ISchedulableProcess sched_process,
                                 int resourceServiceID,
                                 double demand)
        Specified by:
        doProcessing in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
      • start

        public void start()
      • setScheduler

        public void setScheduler​(IScheduler scheduler)
      • dequeue

        protected void dequeue​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
        Specified by:
        dequeue in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
      • enqueue

        protected void enqueue​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
        Specified by:
        enqueue in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
      • stop

        public void stop()
      • getRemainingDemand

        public double getRemainingDemand​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process)
      • updateDemand

        public void updateDemand​(de.uka.ipd.sdq.scheduler.ISchedulableProcess process,
                                 double demand)
      • registerProcess

        public void registerProcess​(de.uka.ipd.sdq.scheduler.ISchedulableProcess schedulableProcess)
      • unregisterProcess

        public void unregisterProcess​(IActiveProcess process)
      • addObserver

        public void addObserver​(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer)
        Specified by:
        addObserver in interface de.uka.ipd.sdq.scheduler.IActiveResource
        Overrides:
        addObserver in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
      • notifyTerminated

        public void notifyTerminated​(de.uka.ipd.sdq.scheduler.ISchedulableProcess simProcess)
        Specified by:
        notifyTerminated in interface de.uka.ipd.sdq.scheduler.IActiveResource
        Overrides:
        notifyTerminated in class de.uka.ipd.sdq.scheduler.resources.active.AbstractActiveResource
      • getQueueLengthFor

        public int getQueueLengthFor​(de.uka.ipd.sdq.scheduler.entities.SchedulerEntity schedulerEntity,
                                     int coreId)