es.ants.felixgm.trmsim_wsn.trm.powertrust
Class PowerTrust_Network

java.lang.Object
  extended by es.ants.felixgm.trmsim_wsn.network.Network
      extended by es.ants.felixgm.trmsim_wsn.trm.powertrust.PowerTrust_Network

public class PowerTrust_Network
extends Network

This class models a network composed by sensors implementing PowerTrust

Since:
0.3
Version:
0.4
Author:
Félix Gómez Mármol, Gregorio Martínez Pérez

Field Summary
 
Fields inherited from class es.ants.felixgm.trmsim_wsn.network.Network
clients, maxDistance, sensors, servers, services
 
Constructor Summary
PowerTrust_Network(int numSensors, double probClients, double rangeFactor, java.util.Collection<java.lang.Double> probServices, java.util.Collection<java.lang.Double> probGoodness, java.util.Collection<Service> services)
          This constructor creates a new random PowerTrust Network using the given parameters
PowerTrust_Network(java.lang.String xmlFilePath)
          This method loads a network from a XML file and creates the specific corresponding PowerTrust Network
 
Method Summary
 long get_sensorsTransmittedDistance(ISearchCondition searchCondition, Service requiredService)
          Average transmitted distance per sensor of this network
 Sensor newSensor()
          This method creates a new sensor.
 Sensor newSensor(int id, double x, double y)
          This method creates a new sensor.
 void oscillate(Service service)
          This method turns every benevolent server in the network into malicious and counts the number of swapped servers.
 void reset()
          This method resets this network to its initial state
 
Methods inherited from class es.ants.felixgm.trmsim_wsn.network.Network
get_clients, get_maxDistance, get_numClients, get_numSensors, get_numServers, get_sensors, get_servers, get_services, getSensor, reachesQualifiedService, set_collusion, set_dynamic, setNewNeighbors, toString, writeToXMLFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PowerTrust_Network

public PowerTrust_Network(int numSensors,
                          double probClients,
                          double rangeFactor,
                          java.util.Collection<java.lang.Double> probServices,
                          java.util.Collection<java.lang.Double> probGoodness,
                          java.util.Collection<Service> services)
This constructor creates a new random PowerTrust Network using the given parameters

Parameters:
numSensors - Number of sensors composing the network
probClients - Probability of a sensor to act as a client requesting services
rangeFactor - Maximum wireless range of every sensor. It determines the neighborhood of every sensor
probServices - A collection of probabilities of offering a certain service, one per service
probGoodness - A collection of goodnesses about offering a certain service, one per service
services - All the services offered by the generated Network

PowerTrust_Network

public PowerTrust_Network(java.lang.String xmlFilePath)
                   throws java.lang.Exception
This method loads a network from a XML file and creates the specific corresponding PowerTrust Network

Parameters:
xmlFilePath - Path of the XML to load the network from
Throws:
java.lang.Exception - If the XML file given does not have the appropriate structure, or if a sensor links to an undefined sensor, or if a sensor links to itself
Method Detail

reset

public void reset()
Description copied from class: Network
This method resets this network to its initial state

Overrides:
reset in class Network

oscillate

public void oscillate(Service service)
Description copied from class: Network
This method turns every benevolent server in the network into malicious and counts the number of swapped servers. Then (when every server is malicious) it randomly selects malicious servers and converts them into benevolent until the number of benevolent servers is equal to the one before calling this method

Overrides:
oscillate in class Network
Parameters:
service - Service over what the oscillation is to be carried out

newSensor

public Sensor newSensor()
Description copied from class: Network
This method creates a new sensor. It must be redefined in each subclass according to the requirements of each particular trust and reputation model

Specified by:
newSensor in class Network
Returns:
New created sensor

newSensor

public Sensor newSensor(int id,
                        double x,
                        double y)
Description copied from class: Network
This method creates a new sensor. It must be redefined in each subclass according to the requirements of each particular trust and reputation model

Specified by:
newSensor in class Network
Parameters:
id - Sensor's identifier
x - X coordinate of the new sensor
y - Y coordinate of the new sensor
Returns:
New created sensor

get_sensorsTransmittedDistance

public long get_sensorsTransmittedDistance(ISearchCondition searchCondition,
                                           Service requiredService)
Description copied from class: Network
Average transmitted distance per sensor of this network

Overrides:
get_sensorsTransmittedDistance in class Network
Parameters:
searchCondition - Condition to be accomplished by the querying sensors
requiredService - Service requested by the clients
Returns:
Average transmitted distance per sensor of this network