示例#1
0
        public IList <QueryResponse> FindModels()
        {
            Stack <ModelState> stack = new Stack <ModelState>();
            var initialFluentValues  = FluentsHelper.InitializeFluents(_extractionResult.Fluents.Count).ToList();

            initialFluentValues.RemoveAll(
                x => !ObservationHelper.ValidateModelWithObservation(x, 0, _extractionResult, _scenarioId));

            _queryExecutors = QueriesHelper.CreateQueryExecutors(_queries, initialFluentValues, _scenarioId);

            foreach (var fluents in initialFluentValues)
            {
                ProcessModel(new ModelState
                {
                    Time              = 0,
                    Fluents           = fluents,
                    Action            = null,
                    OcclussionFluents = null
                }, stack);
                stack.Clear();
            }
            return(_queryExecutors.Select(x => x.GetResponse()).ToList());
        }