es.ants.felixgm.trmsim_wsn.outcomes
Class FuzzyOutcome

java.lang.Object
  extended by es.ants.felixgm.trmsim_wsn.outcomes.Outcome
      extended by es.ants.felixgm.trmsim_wsn.outcomes.BasicOutcome
          extended by es.ants.felixgm.trmsim_wsn.outcomes.EnergyConsumptionOutcome
              extended by es.ants.felixgm.trmsim_wsn.outcomes.FuzzyOutcome

public class FuzzyOutcome
extends EnergyConsumptionOutcome

This class models the outcome of a trust and reputation model It includes, besides the elements of a EnergyConsumptionOutcome, the percentage of clients with each type of fuzzy satisfaction (Very high, High, Medium, etc.)

Since:
0.4
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.outcomes.EnergyConsumptionOutcome
avgSensorEnergyConsumption, benevolentServerEnergyConsumption, clientEnergyConsumption, maliciousServerEnergyConsumption, relayServerEnergyConsumption
 
Fields inherited from class es.ants.felixgm.trmsim_wsn.outcomes.BasicOutcome
avgPathLength, avgSatisfaction
 
Fields inherited from class es.ants.felixgm.trmsim_wsn.outcomes.Outcome
satisfaction
 
Constructor Summary
  FuzzyOutcome(SatisfactionFuzzy satisfaction, double avgPathLength)
          Class FuzzyOutcome constructor
protected FuzzyOutcome(SatisfactionFuzzy satisfaction, double avgSatisfaction, double avgPathLength, double clientEnergyConsumption, double maliciousServerEnergyConsumption, double benevolentServerEnergyConsumption, double relayServerEnergyConsumption, java.util.HashMap<java.lang.String,java.lang.Double> satisfactionLinguisticTermsPercentage, java.util.HashMap<java.lang.String,java.lang.Integer> satisfactionLinguisticTermsCount, int totalOutcomesNumber)
          Class FuzzyConsumptionOutcome constructor
 
Method Summary
 Outcome aggregate(java.util.Collection<Outcome> outcomes)
          This method computes the average of all the given outcomes
protected  java.lang.String getOutcomesFileLine()
          This method returns the line of the file where to save this outcome, including all its elements
 java.util.HashMap<java.lang.String,java.lang.Integer> getSatisfactionCount()
          This method returns the number of clients with each type of satisfaction
 double getSatisfactionPercentage(java.lang.String linguisticTerm)
          This method returns the percentage of clients with the given fuzzy satisfaction
 java.lang.String toString()
           
 
Methods inherited from class es.ants.felixgm.trmsim_wsn.outcomes.EnergyConsumptionOutcome
get_avgSensorEnergyConsumption, get_benevolentServerEnergyConsumption, get_clientEnergyConsumption, get_maliciousServerEnergyConsumption, get_relayServerEnergyConsumption, setEnergyConsumption
 
Methods inherited from class es.ants.felixgm.trmsim_wsn.outcomes.BasicOutcome
get_avgPathLength, get_avgSatisfaction
 
Methods inherited from class es.ants.felixgm.trmsim_wsn.outcomes.Outcome
computeOutcomes, computeOutcomes, get_satisfaction, writeToFile, writeToFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FuzzyOutcome

public FuzzyOutcome(SatisfactionFuzzy satisfaction,
                    double avgPathLength)
Class FuzzyOutcome constructor

Parameters:
satisfaction - Clients satisfaction
avgPathLength - Average length of all the paths found

FuzzyOutcome

protected FuzzyOutcome(SatisfactionFuzzy satisfaction,
                       double avgSatisfaction,
                       double avgPathLength,
                       double clientEnergyConsumption,
                       double maliciousServerEnergyConsumption,
                       double benevolentServerEnergyConsumption,
                       double relayServerEnergyConsumption,
                       java.util.HashMap<java.lang.String,java.lang.Double> satisfactionLinguisticTermsPercentage,
                       java.util.HashMap<java.lang.String,java.lang.Integer> satisfactionLinguisticTermsCount,
                       int totalOutcomesNumber)
Class FuzzyConsumptionOutcome constructor

Parameters:
satisfaction - Clients satisfaction
avgSatisfaction - Average satisfaction of the client with the received service
avgPathLength - Average length of all the paths found
clientEnergyConsumption - Energy consumption per client and per each execution of the trust model
maliciousServerEnergyConsumption - Energy consumption per malicious server and per each execution of the trust model
benevolentServerEnergyConsumption - Energy consumption per benevolent server and per each execution of the trust model
relayServerEnergyConsumption - Energy consumption per relay server and per each execution of the trust model
satisfactionLinguisticTermsPercentage - Percentage of clients with each type of satisfaction
satisfactionLinguisticTermsCount - Number of clients with each type of satisfaction
totalOutcomesNumber - Total number of outcomes
Method Detail

aggregate

public Outcome aggregate(java.util.Collection<Outcome> outcomes)
Description copied from class: Outcome
This method computes the average of all the given outcomes

Overrides:
aggregate in class EnergyConsumptionOutcome
Parameters:
outcomes - Outcomes to be aggregated
Returns:
The aggregation of the given outcomes

getSatisfactionCount

public java.util.HashMap<java.lang.String,java.lang.Integer> getSatisfactionCount()
This method returns the number of clients with each type of satisfaction

Returns:
The number of clients with each type of satisfaction

getSatisfactionPercentage

public double getSatisfactionPercentage(java.lang.String linguisticTerm)
This method returns the percentage of clients with the given fuzzy satisfaction

Parameters:
linguisticTerm - The given linguistic term of the fuzzy satisfaction
Returns:
The percentage of clients with the given fuzzy satisfaction

toString

public java.lang.String toString()
Overrides:
toString in class EnergyConsumptionOutcome

getOutcomesFileLine

protected java.lang.String getOutcomesFileLine()
Description copied from class: Outcome
This method returns the line of the file where to save this outcome, including all its elements

Overrides:
getOutcomesFileLine in class EnergyConsumptionOutcome
Returns:
The line of the file where to save this outcome, including all its elements