nl.tudelft.simulation.dsol.formalisms
Class Resource

java.lang.Object
  extended by nl.tudelft.simulation.event.EventProducer
      extended by nl.tudelft.simulation.dsol.formalisms.Resource
All Implemented Interfaces:
Serializable, EventProducerInterface

public class Resource
extends EventProducer

A resource defines a shared and limited amount.

(c) copyright 2002-2005 Delft University of Technology , the Netherlands.
See for project information www.simulation.tudelft.nl
License of use: Lesser General Public License (LGPL) , no warranty.

Since:
1.0
Version:
$Revision: 1.1 $ $Date: 2007/01/06 13:21:28 $
Author:
Peter Jacobs
See Also:
Serialized Form

Nested Class Summary
static class Resource.Request
          A Request.
 
Field Summary
protected  double capacity
          capacity defines the maximuum capacity of the resource
protected  double claimedCapacity
          claimedCapacity defines the currently claimed capacity
protected static long counter
          the counter counting the requests
static int DEFAULT_REQUEST_PRIORITY
          the default average priority
protected  String description
          the description of the resource
static int MAX_REQUEST_PRIORITY
          the maximum priority
static int MIN_REQUEST_PRIORITY
          the minimum priority
protected  SortedSet requests
          request defines the list of requestors for this resource
static EventType RESOURCE_REQUESTED_QUEUE_LENGTH
          RESOURCE_REQUESTED_QUEUE_LENGTH fired on changes in queue length
protected  DEVSSimulatorInterface simulator
          simulator defines the simulator on which is scheduled
static EventType UTILIZATION_EVENT
          UTILIZATION_EVENT is fired on activity
 
Fields inherited from class nl.tudelft.simulation.event.EventProducer
listeners
 
Fields inherited from interface nl.tudelft.simulation.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
 
Constructor Summary
Resource(DEVSSimulatorInterface simulator, double capacity)
          Method Resource.
Resource(DEVSSimulatorInterface simulator, String description, double capacity)
          Method Resource.
 
Method Summary
 double getAvailableCapacity()
          returns the currently available capacity on this resource.
 double getCapacity()
          returns the maximum, and thus original capacity of the resource.
 double getClaimedCapacity()
          returns the amount of currently claimed capacity.
 int getQueueLength()
          returns the number of instances currently waiting for this resource
 void releaseCapacity(double amount)
          releases an amount of capacity from the resource.
 void requestCapacity(double amount, ResourceRequestorInterface requestor)
          requests an amount of capacity from the resource \
 void requestCapacity(double amount, ResourceRequestorInterface requestor, int priority)
          requests an amount of capacity from the resource \
 void setCapacity(double capacity)
          sets the capacity of the resource
 String toString()
           
 
Methods inherited from class nl.tudelft.simulation.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, getEventTypes, removeAllListeners, removeAllListeners, removeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

counter

protected static long counter
the counter counting the requests


UTILIZATION_EVENT

public static final EventType UTILIZATION_EVENT
UTILIZATION_EVENT is fired on activity


RESOURCE_REQUESTED_QUEUE_LENGTH

public static final EventType RESOURCE_REQUESTED_QUEUE_LENGTH
RESOURCE_REQUESTED_QUEUE_LENGTH fired on changes in queue length


MIN_REQUEST_PRIORITY

public static final int MIN_REQUEST_PRIORITY
the minimum priority

See Also:
Constant Field Values

MAX_REQUEST_PRIORITY

public static final int MAX_REQUEST_PRIORITY
the maximum priority

See Also:
Constant Field Values

DEFAULT_REQUEST_PRIORITY

public static final int DEFAULT_REQUEST_PRIORITY
the default average priority

See Also:
Constant Field Values

capacity

protected double capacity
capacity defines the maximuum capacity of the resource


claimedCapacity

protected double claimedCapacity
claimedCapacity defines the currently claimed capacity


requests

protected SortedSet requests
request defines the list of requestors for this resource


simulator

protected DEVSSimulatorInterface simulator
simulator defines the simulator on which is scheduled


description

protected String description
the description of the resource

Constructor Detail

Resource

public Resource(DEVSSimulatorInterface simulator,
                String description,
                double capacity)
Method Resource.

Parameters:
simulator - on which is scheduled
description - the description of this resource
capacity - of the resource

Resource

public Resource(DEVSSimulatorInterface simulator,
                double capacity)
Method Resource.

Parameters:
simulator - on which is scheduled
capacity - of the resource
Method Detail

getCapacity

public double getCapacity()
returns the maximum, and thus original capacity of the resource.

Returns:
capacity the maximum, and thus original capacity of the resource.

getClaimedCapacity

public double getClaimedCapacity()
returns the amount of currently claimed capacity.

Returns:
the amount of currently claimed capacity.

getAvailableCapacity

public double getAvailableCapacity()
returns the currently available capacity on this resource. This method is implemented as return this.getCapacity()-this.getClaimedCapacity()

Returns:
the currently available capacity on this resource.

getQueueLength

public int getQueueLength()
returns the number of instances currently waiting for this resource

Returns:
the number of instances currently waiting for this resource

setCapacity

public void setCapacity(double capacity)
sets the capacity of the resource

Parameters:
capacity - the new maximal capacity

requestCapacity

public void requestCapacity(double amount,
                            ResourceRequestorInterface requestor)
                     throws RemoteException,
                            SimRuntimeException
requests an amount of capacity from the resource \

Parameters:
amount - the requested amount
requestor - the RequestorInterface requesting the amount
Throws:
RemoteException - on network failure
SimRuntimeException - on other failures

requestCapacity

public void requestCapacity(double amount,
                            ResourceRequestorInterface requestor,
                            int priority)
                     throws RemoteException,
                            SimRuntimeException
requests an amount of capacity from the resource \

Parameters:
amount - the requested amount
requestor - the RequestorInterface requesting the amount
priority - the priority of the request
Throws:
RemoteException - on network failure
SimRuntimeException - on other failures

releaseCapacity

public void releaseCapacity(double amount)
                     throws RemoteException
releases an amount of capacity from the resource.

Parameters:
amount - the amount to release
Throws:
RemoteException - on network failure

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()


Copyright © 2002-2010 Delft University of Technology, the Netherlands. All Rights Reserved.