gnutant
Class InsantScenario

java.lang.Object
  |
  +--gnutant.InsantScenario
All Implemented Interfaces:
Clearable, Scenario

public class InsantScenario
extends java.lang.Object
implements Scenario

Class ScenarioImpl is a simple implementation of interface Scenario in which a predefined set of resources is inserted in the network and then a certain number of requests are performed and simulate. A ScenarioImpl is composed of a Peernet and a ResourceSet object. Each resource included in the ResourceSet is inserted before starting the simulation in the Peernet. Then, the ResourceSet is used to generate a certain number of requests to be presented to the nests composing the network.

Version:
$Revision$
Author:
Hein Meling, Alberto Montresor

Field Summary
protected  Factory factory
          Factory used to instantiate objects
protected  java.util.ArrayList fileList
          List of files to select randomly to compose fake URLs
protected  java.io.LineNumberReader lr
          Reader for obtaining keywords
protected  Peernet net
          Peernet on which the genetic code will be evaluated
protected  int netVersion
          Version identifier of the peer network; when init params change, the version increase
protected  ResourceSet resources
          Set of resources stored in the Anthill network
protected  int rounds
          Number of rounds to be performed
protected  int rsetVersion
          Version identifier of the resource set; when init params change, the version increase
static java.lang.String SCENARIO_ROUNDS
          String name of the parameter used to determine the number of rounds which will be performed in this scenario.
protected  Stats stats
          Stats
 
Constructor Summary
InsantScenario(Factory factory, int rounds, java.lang.String kwFile, java.lang.String rootDir)
          Instantiates a new ScenarioImpl.
 
Method Summary
 void clear()
          Restores the object to its initial state.
 void evaluate()
          Perform the evaluation of this scenario object by simulating it.
 void setStats(Stats stats)
          Set the statistics object which will be used throughout the scenario evaluation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SCENARIO_ROUNDS

public static final java.lang.String SCENARIO_ROUNDS
String name of the parameter used to determine the number of rounds which will be performed in this scenario.

factory

protected Factory factory
Factory used to instantiate objects

rounds

protected int rounds
Number of rounds to be performed

stats

protected Stats stats
Stats

net

protected Peernet net
Peernet on which the genetic code will be evaluated

netVersion

protected int netVersion
Version identifier of the peer network; when init params change, the version increase

resources

protected ResourceSet resources
Set of resources stored in the Anthill network

rsetVersion

protected int rsetVersion
Version identifier of the resource set; when init params change, the version increase

lr

protected java.io.LineNumberReader lr
Reader for obtaining keywords

fileList

protected java.util.ArrayList fileList
List of files to select randomly to compose fake URLs
Constructor Detail

InsantScenario

public InsantScenario(Factory factory,
                      int rounds,
                      java.lang.String kwFile,
                      java.lang.String rootDir)
               throws java.io.FileNotFoundException,
                      java.io.StreamCorruptedException,
                      java.io.IOException,
                      java.lang.ClassNotFoundException
Instantiates a new ScenarioImpl.
Parameters:
factory - the factory object used to generate the peernet and the resource set contained in a scenario
rounds - the number of rounds of the run
Method Detail

clear

public void clear()
Restores the object to its initial state. The network is re-initialized as an empty network.
Specified by:
clear in interface Clearable

setStats

public void setStats(Stats stats)
Set the statistics object which will be used throughout the scenario evaluation.
Specified by:
setStats in interface Scenario
Following copied from interface: anthill.antsim.Scenario
Parameters:
stats - the object used to collect statistics

evaluate

public void evaluate()
Perform the evaluation of this scenario object by simulating it. The simulation is subdivided in rounds. At each iteration, a new request is generated and assigned to one of the nest included in the simulated peer network, which generates an ant for it. Furthermore, for each nest, an ant included in the manager queue is selected and its run() method is executed. Statistics about the simulated execution of the code are collected in the Stats object specified through method setStats().
Specified by:
evaluate in interface Scenario