nl.tudelft.simulation.examples.dsol.timesharedcomputer
Class CPU

java.lang.Object
  extended by nl.tudelft.simulation.event.EventProducer
      extended by nl.tudelft.simulation.dsol.formalisms.flow.Station
          extended by nl.tudelft.simulation.examples.dsol.timesharedcomputer.CPU
All Implemented Interfaces:
Serializable, LocatableInterface, StationInterface, EventProducerInterface

public class CPU
extends Station
implements LocatableInterface

The CPU example as published in Simulation Modeling and Analysis by A.M. Law & W.D. Kelton section 1.4 and 2.4.
(c) copyright 2003 Delft University of Technology , the Netherlands.
See for project information www.simulation.tudelft.nl
License of use: General Public License (GPL) , no warranty

Version:
2.0 21.09.2003
Author:
Peter Jacobs
See Also:
Serialized Form

Field Summary
static boolean BUSY
          BUSY defines the BUSY state
static boolean IDLE
          IDLE defines the IDLE state
static double QUANTUM
          QUANTUM is the QUANTUM of the CPU
static EventType QUEUE_LENGTH_EVENT
          QUEUE_LENGTH_EVENT is fired on changes in the Queue length
static double SWAP
          SWAP is the swap of this cpu
static EventType UTILIZATION_EVENT
          UTILIZATION_EVENT are fired on utilization
 
Fields inherited from class nl.tudelft.simulation.dsol.formalisms.flow.Station
destination, simulator
 
Fields inherited from class nl.tudelft.simulation.event.EventProducer
listeners
 
Fields inherited from interface nl.tudelft.simulation.dsol.formalisms.flow.StationInterface
RECEIVE_EVENT, RELEASE_EVENT
 
Fields inherited from interface nl.tudelft.simulation.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
 
Constructor Summary
CPU(DEVSSimulatorInterface simulator)
          constructs a new CPU
 
Method Summary
 Bounds getBounds()
           
 DirectedPoint getLocation()
           
 List getQueue()
          returns the queue
 void receiveObject(Object object)
           
protected  void releaseObject(Object object)
           
 
Methods inherited from class nl.tudelft.simulation.dsol.formalisms.flow.Station
getDestination, setDestination
 
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, toString, wait, wait, wait
 
Methods inherited from interface nl.tudelft.simulation.event.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypes, removeListener
 

Field Detail

UTILIZATION_EVENT

public static final EventType UTILIZATION_EVENT
UTILIZATION_EVENT are fired on utilization


QUEUE_LENGTH_EVENT

public static final EventType QUEUE_LENGTH_EVENT
QUEUE_LENGTH_EVENT is fired on changes in the Queue length


QUANTUM

public static final double QUANTUM
QUANTUM is the QUANTUM of the CPU

See Also:
Constant Field Values

SWAP

public static final double SWAP
SWAP is the swap of this cpu

See Also:
Constant Field Values

IDLE

public static final boolean IDLE
IDLE defines the IDLE state

See Also:
Constant Field Values

BUSY

public static final boolean BUSY
BUSY defines the BUSY state

See Also:
Constant Field Values
Constructor Detail

CPU

public CPU(DEVSSimulatorInterface simulator)
    throws RemoteException
constructs a new CPU

Parameters:
simulator - a devs simulator
Throws:
RemoteException - on network failure
Method Detail

getQueue

public List getQueue()
returns the queue

Returns:
List the queue

receiveObject

public void receiveObject(Object object)
Specified by:
receiveObject in interface StationInterface
Overrides:
receiveObject in class Station
See Also:
StationInterface.receiveObject(java.lang.Object)

releaseObject

protected void releaseObject(Object object)
                      throws RemoteException
Overrides:
releaseObject in class Station
Throws:
RemoteException
See Also:
Station.releaseObject(java.lang.Object)

getLocation

public DirectedPoint getLocation()
Specified by:
getLocation in interface LocatableInterface
See Also:
#getLocation()

getBounds

public Bounds getBounds()
Specified by:
getBounds in interface LocatableInterface
See Also:
LocatableInterface.getBounds()


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