Interface IResourceInstance

  • All Superinterfaces:
    de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
    All Known Implementing Classes:
    SimResourceInstance

    public interface IResourceInstance
    extends de.uka.ipd.sdq.simulation.abstractsimengine.IEntity
    This class represents an instance of an active resources. It got a unique ID and knows the process it is currently executing.
    • Method Detail

      • getName

        String getName()
        Unique name of the resource instance.
        Returns:
        The unique name of the resource instance.
      • getRunningProcess

        de.uka.ipd.sdq.scheduler.IRunningProcess getRunningProcess()
        Returns:
        Returns the process currently executing on the resource.
      • processAssigned

        boolean processAssigned()
        Returns:
        True, if there is process executing on this resource instance, false otherwise.
      • assign

        void assign​(de.uka.ipd.sdq.scheduler.IRunningProcess process)
        Assigns a new process to this instance. Note that the resource has to be idle to do so.
        Parameters:
        process - Process to execute on the resource instance.
      • release

        void release()
        Releases the current resource instance.
      • scheduleSchedulingEvent

        void scheduleSchedulingEvent​(double time)
        Schedules the next SchedulingEvent for the instance at the specified time. The event my be deferred or canceled by other actions.
        Parameters:
        time - Time the event shall occur.
      • schedulingInterrupt

        void schedulingInterrupt​(double time)
        Schedules a SchedulingInterrupt. This event cannot be interrupted or moved and will occur at the specified time.
        Parameters:
        time -
        b -
      • cancelSchedulingEvent

        void cancelSchedulingEvent()
        Removes a pending SchedulingEvent.
      • getNextSchedEventTime

        double getNextSchedEventTime()
      • start

        void start()
      • stop

        void stop()
      • setIsScheduling

        void setIsScheduling​(boolean b)
      • isScheduling

        boolean isScheduling()
      • addObserver

        void addObserver​(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer)
      • removeObserver

        void removeObserver​(de.uka.ipd.sdq.scheduler.sensors.IActiveResourceStateSensor observer)
      • isIdle

        boolean isIdle()
      • getLastRunningProcess

        de.uka.ipd.sdq.scheduler.IRunningProcess getLastRunningProcess()