Class SimulatedLinkingResource

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

    public class SimulatedLinkingResource
    extends AbstractScheduledResource
    Realizes a LinkingResource. Adds the latency time to the passed demand in #consumeResource(SimuComSimProcess, double), and they is loaded by latency + demand / throughput.
    • Constructor Detail

      • SimulatedLinkingResource

        public SimulatedLinkingResource​(org.palladiosimulator.pcm.resourceenvironment.LinkingResource linkingResource,
                                        SimuComModel simuComModel,
                                        String resourceContainerID)
    • Method Detail

      • getId

        public String getId()
      • createActiveResource

        protected de.uka.ipd.sdq.scheduler.IActiveResource createActiveResource​(SimuComModel simuComModel)
        Description copied from class: AbstractScheduledResource
        Subclasses are responsible for creating the IActiveResource to use internally. Is called in the constructor.
        Specified by:
        createActiveResource in class AbstractScheduledResource
        Returns:
        the IActiveResource resource to use as determined by the subclasses.
      • calculateDemand

        protected double calculateDemand​(double demand)
        Description copied from class: AbstractScheduledResource
        Template method. Implementers have to use the given demand and return the time span needed to process the demand on this resource.
        Specified by:
        calculateDemand in class AbstractScheduledResource
        Parameters:
        demand - The demand issued to this resource in units understood by the resource
        Returns:
        The service time, given in seconds
      • consumeResource

        public void consumeResource​(SimuComSimProcess process,
                                    int resourceServiceID,
                                    Map<String,​Serializable> parameterMap,
                                    double abstractDemand)
        Description copied from class: AbstractScheduledResource
        Called by client of this resource to make the resource simulate resource processing. This is the queueing network service center part of our simulation. Allows passing of additional parameters.
        Specified by:
        consumeResource in class AbstractScheduledResource
        Parameters:
        abstractDemand - : may be zero, in that case only the latency is considered.
        process - The thread or job requesting the processing of its demand
        resourceServiceID - The id of the resource service to be called for resource consumption
        parameterMap - Additional parameters which can be used by the resource. Map can be empty.
      • getNextResourceId

        public static String getNextResourceId()
      • getLinkingResource

        public org.palladiosimulator.pcm.resourceenvironment.LinkingResource getLinkingResource()
      • setThroughput

        public void setThroughput​(String throughput)
        Change the linking resource throughput after its creation.
        Parameters:
        throughput - the new throughput specification
      • setLatency

        public void setLatency​(String latency)
        Change the linking resource latency after its creation.
        Parameters:
        latency - the new latency specification