コード例 #1
0
        /// <summary>
        ///   Checks the invariant encoded into the model created by <paramref name="createModel" />.
        /// </summary>
        public InvariantAnalysisResult CheckInvariant(int formulaIndex)
        {
            // We have to track the state vector layout here; this will nondeterministically store some model instance of
            // one of the workers; but since all state vectors are the same, we don't care
            ExecutedModel <TExecutableModel> model = null;
            Func <AnalysisModel>             createAnalysisModelFunc = () =>
                                                                       model = new ActivationMinimalExecutedModel <TExecutableModel>(ModelCreator, 0, Configuration);
            var createAnalysisModel = new AnalysisModelCreator(createAnalysisModelFunc);

            using (var checker = new InvariantChecker(createAnalysisModel, Configuration, formulaIndex))
            {
                var result = checker.Check();
                return(result);
            }
        }
コード例 #2
0
        /// <summary>
        ///   Generates a <see cref="StateGraph{TExecutableModel}" /> for the model created by <paramref name="createModel" />.
        /// </summary>
        internal StateGraph <TExecutableModel> GenerateStateGraph()
        {
            // We have to track the state vector layout here; this will nondeterministically store some model instance of
            // one of the workers; but since all state vectors are the same, we don't care
            ExecutedModel <TExecutableModel> model = null;
            Func <AnalysisModel>             createAnalysisModelFunc = () =>
                                                                       model = new ActivationMinimalExecutedModel <TExecutableModel>(ModelCreator, 0, Configuration);
            var createAnalysisModel = new AnalysisModelCreator(createAnalysisModelFunc);

            using (var checker = new StateGraphGenerator <TExecutableModel>(createAnalysisModel, Configuration))
            {
                var stateGraph = checker.GenerateStateGraph();
                return(stateGraph);
            }
        }
コード例 #3
0
        /// <summary>
        ///   Checks the invariant encoded into the model created by <paramref name="createModel" />.
        /// </summary>
        public AnalysisResult <TExecutableModel> CheckInvariant(CoupledExecutableModelCreator <TExecutableModel> createModel, Formula formula)
        {
            // We have to track the state vector layout here; this will nondeterministically store some model instance of
            // one of the workers; but since all state vectors are the same, we don't care
            ExecutedModel <TExecutableModel>         model = null;
            Func <AnalysisModel <TExecutableModel> > createAnalysisModelFunc = () =>
                                                                               model = new ActivationMinimalExecutedModel <TExecutableModel>(createModel, 0, Configuration.SuccessorCapacity);
            var createAnalysisModel = new AnalysisModelCreator <TExecutableModel>(createAnalysisModelFunc);

            using (var checker = new InvariantChecker <TExecutableModel>(createAnalysisModel, OutputWritten, Configuration, formula))
            {
                var result = checker.Check();
                return(result);
            }
        }