public SingleValueCriticalObstacles(KAOSModel model, Goal root) : base(model, root) { _propagator = new BDDBasedPropagator(model); _propagator.PreBuildObstructionSet(root); rsr = root.RDS; }
public void ModelChanged() { foreach (var root in _roots) { _propagator.PreBuildObstructionSet(root); } }
public void Setup() { var options = new RandomModelOptions { NbGoals = NbGoals, NbObstructions = NbObstructions, NbObstacles = NbObstacles }; var generator = new RandomModelGenerator(options); model = generator.Generate(); root = model.RootGoals().Single(); p3 = new BDDBasedPropagator(model); p3.PreBuildObstructionSet(root); }
void Initialize() { RootSatisfactionRates = new Dictionary <string, DoubleSatisfactionRate>(); TimeSpan monitoringDelay = TimeSpan.FromMinutes(1); // Create the new obstacle monitors foreach (var obstacle in _model_running.LeafObstacles() .Where(x => x.CustomData.ContainsKey("monitored") && x.CustomData["monitored"].Equals("true"))) { IStateInformationStorage storage = new FiniteStateInformationStorage(100); var monitor = new ObstacleMonitor(obstacle, _model_running, storage, monitoringDelay); obstacleMonitors.Add(obstacle.Identifier, monitor); } // Initialize the propagator _propagator = new BDDBasedPropagator(_model_running); foreach (var root in _roots) { _propagator.PreBuildObstructionSet(root); RootSatisfactionRates.Add(root.Identifier, null); } }