EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.tcfmoop.config]

COVERAGE SUMMARY FOR SOURCE FILE [ParetoOptimalSetStabilityConfig.java]

nameclass, %method, %block, %line, %
ParetoOptimalSetStabilityConfig.java0%   (0/2)0%   (0/14)0%   (0/170)0%   (0/32)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ParetoOptimalSetStabilityConfig0%   (0/1)0%   (0/10)0%   (0/110)0%   (0/30)
ParetoOptimalSetStabilityConfig (): void 0%   (0/1)0%   (0/7)0%   (0/3)
getEvaluationMode (): ParetoOptimalSetStabilityConfig$EvaluationMode 0%   (0/1)0%   (0/3)0%   (0/1)
getMinimumIterationsToSurvive (): int 0%   (0/1)0%   (0/4)0%   (0/1)
getMinimumSurvivors (): int 0%   (0/1)0%   (0/4)0%   (0/1)
getMinimumSurvivorsInPercentage (): double 0%   (0/1)0%   (0/4)0%   (0/1)
setEvaluationMode (ParetoOptimalSetStabilityConfig$EvaluationMode): void 0%   (0/1)0%   (0/15)0%   (0/4)
setMinimumIterationsToSurvive (int): void 0%   (0/1)0%   (0/13)0%   (0/4)
setMinimumSurvivors (int): void 0%   (0/1)0%   (0/13)0%   (0/4)
setMinimumSurvivorsInPercentage (double): void 0%   (0/1)0%   (0/18)0%   (0/4)
validateConfiguration (): boolean 0%   (0/1)0%   (0/29)0%   (0/7)
     
class ParetoOptimalSetStabilityConfig$EvaluationMode0%   (0/1)0%   (0/4)0%   (0/60)0%   (0/2)
<static initializer> 0%   (0/1)0%   (0/34)0%   (0/1)
ParetoOptimalSetStabilityConfig$EvaluationMode (String, int): void 0%   (0/1)0%   (0/5)0%   (0/1)
valueOf (String): ParetoOptimalSetStabilityConfig$EvaluationMode 0%   (0/1)0%   (0/5)0%   (0/1)
values (): ParetoOptimalSetStabilityConfig$EvaluationMode [] 0%   (0/1)0%   (0/16)0%   (0/1)

1package de.uka.ipd.sdq.tcfmoop.config;
2 
3import de.uka.ipd.sdq.tcfmoop.config.exceptions.InvalidConfigException;
4 
5/**
6 * Configuration class for ParetoOptimalSetStability termination criterion.
7 * @author Atanas Dimitrov
8 */
9public class ParetoOptimalSetStabilityConfig extends AbstractConfiguration {
10 
11        /**
12         * The evaluation modes that this criterion supports. If mode is set to EXACT_NUMBER, then the criterion searches every time 
13         * for exactly x candidates who have survived for n iterations. If PERCENTAGE is set as evaluation mode, then the number of
14         * the survived candidates is relative to the current amount of candidates in the archive.
15         * The NOT_SET value will cause a validation error of the criterion configuration object and an InvalidConfigException 
16         * if this value is supplied to the set Method of the Configuration class. This value only exists as indicator 
17         * that the value has not been set.
18         * @author Atanas Dimitrov
19         */
20        public enum EvaluationMode{EXACT_NUMBER, PERCENTAGE, NOT_SET};
21        
22        //The minimum number of individual who must survive
23        private Integer minimumSurvivors;
24        //The minimum number of individual in percentage who must survive
25        private Double minimumSurvivorsInPercentage;
26        //The minimum amount of iterations these individuals have to survive
27        private Integer minimumIterationsToSurvive;
28        /*
29         * The evaluation modes that this criterion supports. If mode is set to EXACT_NUMBER, then the criterion searches every time 
30         * for exactly x candidates who have survived for n iterations. If PERCENTAGE is set as evaluation mode, then the number of
31         * the survived candidates is relative to the current amount of candidates in the archive. 
32         */
33        private EvaluationMode mode = EvaluationMode.NOT_SET;
34 
35        public ParetoOptimalSetStabilityConfig() {
36                super(TerminationCriteriaNames.PARETO_OPTIMAL_SET_STABILITY);
37        }
38 
39        /**
40         * {@inheritDoc}
41         */
42        @Override
43        public boolean validateConfiguration() {
44                if (this.getTerminationCriterionName() != TerminationCriteriaNames.PARETO_OPTIMAL_SET_STABILITY
45                                || this.mode == EvaluationMode.NOT_SET
46                                || this.minimumIterationsToSurvive == null
47                                || (this.mode == EvaluationMode.EXACT_NUMBER && this.minimumSurvivors == null)
48                                || (this.mode == EvaluationMode.PERCENTAGE && this.minimumSurvivorsInPercentage == null)) {
49                        return false;
50                } else {
51                        return true;
52                }
53        }
54        
55        /**
56         * Set the minimum number of iterations the individuals have to survive.
57         * @param minimumIterationsToSurvive the minimum number of iterations the individuals have to survive. Number must be greater than 1
58         * @throws InvalidConfigException if the supplied parameter do not conform to the required conditions.
59         */
60        public void setMinimumIterationsToSurvive(int minimumIterationsToSurvive) throws InvalidConfigException{
61                if(minimumIterationsToSurvive < 2){
62                        throw new InvalidConfigException("ParetoOptimalSetStabilityConfig.setMinNumberOfGenerationsToSurvive: " +
63                                        "The minimum number of generations that the pareto optimal candidates need to survive" +
64                                        " must be at least 2, or there is no set stability.");
65                }else{
66                        this.minimumIterationsToSurvive = minimumIterationsToSurvive;
67                }
68        }
69        
70        /**
71         * Get the minimum number of iterations the individuals have to survive.
72         * @return the minimum number of iterations the individuals have to survive. Is guaranteed to be at least 2.
73         */
74        public int getMinimumIterationsToSurvive(){
75                return this.minimumIterationsToSurvive;
76        }
77        
78        /**
79         * Set the minimum number of individuals to survive.
80         * @param minimumSurvivors the minimum number of individuals to survive. Parameter must be >= 1
81         * @throws InvalidConfigException if the supplied parameter do not conform to the required conditions.
82         */
83        public void setMinimumSurvivors(int minimumSurvivors) throws InvalidConfigException{
84                if(minimumSurvivors < 1){
85                        throw new InvalidConfigException("ParetoOptimalSetStabilityConfig.setMinimumNumberOfSurvivors: " +
86                                        "The minimum number of pareto optimal candidate that need to survive" +
87                                        " must be at least 1.");
88                }else{
89                        this.minimumSurvivors = minimumSurvivors;
90                }
91        }
92        
93        /**
94         * Get the minimum number of individuals to survive.
95         * @return the minimum number of individuals to survive. Number is guaranteed to be >= 1.
96         */
97        public int getMinimumSurvivors(){
98                return minimumSurvivors;
99        }
100        
101        /**
102         * Set the minimum percentage number of individuals to survive.
103         * @param minimumSurvivors the minimum percentage number of individuals to survive. The parameter is a percentage value and is exacted to be in the interval [0, 1].
104         * @throws InvalidConfigException if the supplied parameter do not conform to the required conditions.
105         */
106        public void setMinimumSurvivorsInPercentage(double minimumSurvivorsInPercentage) throws InvalidConfigException{
107                if(minimumSurvivorsInPercentage < 0 || minimumSurvivorsInPercentage > 1){
108                        throw new InvalidConfigException("ParetoOptimalSetStabilityConfig.setMinimumSurvivorsInPercentage: " +
109                                        "The minimum percentage number of pareto optimal candidates that need to survive" +
110                                        " must be at a value in the interval [0, 1].");
111                }else{
112                        this.minimumSurvivorsInPercentage = minimumSurvivorsInPercentage;
113                }
114        }
115        
116        /**
117         * Get the minimum percentage number of individuals to survive.
118         * @return the minimum number of individuals to survive. Number is guaranteed to be in the interval [0, 1].
119         */
120        public double getMinimumSurvivorsInPercentage(){
121                return this.minimumSurvivorsInPercentage;
122        }
123        
124        /**
125         * Set the evaluation mode that this criterion supports. If mode is set to EXACT_NUMBER, then the criterion searches every time 
126         * for exactly x candidates who have survived for n iterations. If PERCENTAGE is set as evaluation mode, then the number of
127         * the survived candidates is relative to the current amount of candidates in the archive.
128         * The NOT_SET value will cause a validation error of the criterion configuration object and an InvalidConfigException 
129         * if this value is supplied to the set Method of the Configuration class. This value only exists as indicator 
130         * that the value has not been set.
131         * @param mode EXACT_NUMBER, then the criterion searches every time for exactly x candidates who have survived for n iterations.
132         *                            PERCENTAGE, then the number of the survived candidates is relative to the current amount of candidates in the archive
133         *                            NOT_SET, will result in a InvalidConfigException.
134         * @throws InvalidConfigException if the supplied parameter do not conform to the required conditions.
135         */
136        public void setEvaluationMode(EvaluationMode mode) throws InvalidConfigException{
137                if(mode != EvaluationMode.EXACT_NUMBER && mode != EvaluationMode.PERCENTAGE){
138                        throw new InvalidConfigException("ParetoOptimalSetStabilityConfig.setEvaluationMode: " +
139                                        "The evaluation mode can be either EXACT_NUMBER or PERCENTAGE.");
140                }else{
141                        this.mode = mode;
142                }
143        }
144        
145        /**
146         * Returns the mode of the evaluation.
147         * @return the mode of the evaluation. The value is guaranteed to be EXACT_NUMBER or PERCENTAGE.
148         */
149        public EvaluationMode getEvaluationMode(){
150                return this.mode;
151        }
152 
153}

[all classes][de.uka.ipd.sdq.tcfmoop.config]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov