示例#1
0
        public void CalculateHazardWithoutEarlyTermination()
        {
            LustreModelChecker.TraversalConfiguration.EnableEarlyTermination = false;
            var result = LustreModelChecker.CalculateProbabilityToReachStateBounded(Path.Combine(AssemblyDirectory, "pressureTank.lus"), "TANK", _faults, _hazard, 25);

            LustreModelChecker.TraversalConfiguration.EnableEarlyTermination = true;
            Console.Write($"Probability of hazard: {result}");
        }
示例#2
0
        public void CalculateHazardSingleCore()
        {
            LustreModelChecker.TraversalConfiguration.CpuCount = 1;
            LustreModelChecker.TraversalConfiguration.EnableEarlyTermination          = false;
            LustreModelChecker.TraversalConfiguration.EnableStaticPruningOptimization = false;
            var result = LustreModelChecker.CalculateProbabilityToReachStateBounded(Path.Combine(AssemblyDirectory, "pressureTank.lus"), "TANK", _faults, _hazard, 25);

            LustreModelChecker.TraversalConfiguration.CpuCount = Int32.MaxValue;
            LustreModelChecker.TraversalConfiguration.EnableEarlyTermination          = true;
            LustreModelChecker.TraversalConfiguration.EnableStaticPruningOptimization = true;
            Console.Write($"Probability of hazard: {result}");
        }