示例#1
0
 public FailureInjector(TargetSystem system, ControlReconfigurationSystem controlReconfigurationSystem, int impactElementsCount, double simulationTime, double impactProbability)
 {
     ControlReconfigurationSystem = controlReconfigurationSystem;
     TargetSystem        = system;
     ImpactElementsCount = impactElementsCount;
     SimulationTime      = simulationTime;
     ImpactProbability   = impactProbability;
 }
示例#2
0
        public Simulator(SimulationConfig config)
        {
            _probabilityBasket = new ProbabilityBasket();

            TargetSystem = new TargetSystem(config.NTiersCount, config.LambdaElement, config.LambdaMajorityElement);

            ControlReconfigurationSystem             = new ControlReconfigurationSystem(TargetSystem, config.TAcceptableReconfigurationTime);
            ControlReconfigurationSystem.FailureRate = config.LambdaControlReconfigurationSystem;
            ControlReconfigurationSystem.ReconfigurationAlgorithm = ReconfigureAlgorithm;

            FailureInjector = new FailureInjector(TargetSystem, ControlReconfigurationSystem, config.RImpactElementsAffected, SimulationTime, config.ImpactProbability);
        }
示例#3
0
 public ControlReconfigurationSystem(TargetSystem targetSystem, int maximumReconfigurationTime) : this()
 {
     MaximumReconfigurationTime = maximumReconfigurationTime;
     TargetSystem = targetSystem;
 }