public void Simulate() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<FastObserverController>(); model.Faults.SuppressActivations(); var simulator = new Simulator(model); PrintTrace(simulator, steps: 120); }
public void DepthFirstSearch() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<MiniZincObserverController>(); model.SetAnalysisMode(AnalysisMode.TolerableFaults); var modelChecker = new SSharpChecker { Configuration = { CpuCount = 1, StateCapacity = 1 << 20 } }; var result = modelChecker.CheckInvariant(model, true); Console.WriteLine(result); }
public void Simulate() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <FastObserverController>(); model.Faults.SuppressActivations(); var simulator = new SafetySharpSimulator(model); PrintTrace(simulator, steps: 120); }
public void AllWorkpiecesCompleteEventually() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SSharpChecker { Configuration = { StateCapacity = 1 << 22 } }; var result = modelChecker.CheckInvariant(model, !model.Workpieces.All(w => w.IsComplete)); Assert.IsFalse(result.FormulaHolds); }
public void NoDamagedWorkpieces() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SSharpChecker { Configuration = { StateCapacity = 1 << 22 } }; var result = modelChecker.CheckInvariant(model, !model.Workpieces.Any(w => w.IsDamaged)); Assert.IsTrue(result.FormulaHolds); }
public void EnumerateStateSpace() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SSharpChecker { Configuration = { StateCapacity = 1 << 22 } }; var result = modelChecker.CheckInvariant(model, true); Assert.IsTrue(result.FormulaHolds); }
public void HasResourceAndHasWorkpieceMatch() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController<FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SSharpChecker { Configuration = { StateCapacity = 1 << 22 } }; var result = modelChecker.CheckInvariant(model, model.RobotAgents.All(a => a.HasResource == a.Robot.HasWorkpiece) && model.CartAgents.All(a => a.HasResource == a.Cart.HasWorkpiece)); Assert.IsTrue(result.FormulaHolds); }
public void DepthFirstSearch() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <MiniZincObserverController>(); model.SetAnalysisMode(AnalysisMode.TolerableFaults); var modelChecker = new SafetySharpQualitativeChecker { Configuration = { CpuCount = 1, ModelCapacity = new ModelCapacityByModelDensity(1 << 20, ModelDensityLimit.Medium) } }; var result = modelChecker.CheckInvariant(model, true); Console.WriteLine(result); }
public void AllWorkpiecesCompleteEventually() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SafetySharpQualitativeChecker { Configuration = { ModelCapacity = new ModelCapacityByModelDensity(1 << 22, ModelDensityLimit.Medium) } }; var result = modelChecker.CheckInvariant(model, !model.Workpieces.All(w => w.IsComplete)); Assert.IsFalse(result.FormulaHolds); }
public void EnumerateStateSpace() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SafetySharpQualitativeChecker { Configuration = { ModelCapacity = new ModelCapacityByModelDensity(1 << 22, ModelDensityLimit.Medium) } }; var result = modelChecker.CheckInvariant(model, true); Assert.IsTrue(result.FormulaHolds); }
public void NoDamagedWorkpieces() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SafetySharpQualitativeChecker(model) { Configuration = { ModelCapacity = new ModelCapacityByModelDensity(1 << 22, ModelDensityLimit.Medium) } }; var result = modelChecker.CheckInvariant(!model.Workpieces.Any(w => w.IsDamaged)); Assert.IsTrue(result.FormulaHolds); }
public void HasResourceAndHasWorkpieceMatch() { var model = new Model(); model.InitializeDefaultInstance(); model.CreateObserverController <FastObserverController>(); model.Faults.SuppressActivations(); var modelChecker = new SafetySharpQualitativeChecker { Configuration = { ModelCapacity = new ModelCapacityByModelDensity(1 << 22, ModelDensityLimit.Medium) } }; var result = modelChecker.CheckInvariant(model, model.RobotAgents.All(a => a.HasResource == a.Robot.HasWorkpiece) && model.CartAgents.All(a => a.HasResource == a.Cart.HasWorkpiece)); Assert.IsTrue(result.FormulaHolds); }