Ejemplo n.º 1
0
 public ReconfigureControlSystem(double failureRate, IReconfigureAlgorithm reconfAlgorithm, System system, int reconfigurationTime)
 {
     this.FailureRate         = failureRate;
     this.reconfAlgorithm     = reconfAlgorithm;
     this.system              = system;
     this.reconfigurationTime = reconfigurationTime;
     IsAlive = true;
 }
Ejemplo n.º 2
0
        public Simulator(SimulatorConfig config)
        {
            switch (config.ReconfMode)
            {
            case ReconfigureMode.MK_OK: { reconfigureAlgorithm = new MK_OK_Algorithm(); break; }

            case ReconfigureMode.OK_MK: { reconfigureAlgorithm = new OK_MK_Algorithm(); break; }

            default: break;
            }
            system          = new System(config.FloorCount, config.ElementFailureRate, config.MajorityElementFailureRate);
            RCS             = new ReconfigureControlSystem(config.RCSFailureRate, reconfigureAlgorithm, system, config.ReconfigureTime);
            failureInjector = new FailureInjector(system, config.ImpactElementsCount, config.SimulationTime, config.ImpactProbability);
        }