Exemplo n.º 1
0
        /// <summary>
        /// Add global variables and environment variables
        /// </summary>
        public BDDEncoder()
        {
            model = new Model();

            //4 more events for Tau, Terminate, and tock
            Model.NUMBER_OF_EVENT += 3;
            //each event with global update, add Model.NUMBER_OF_EVENT to its index
            model.AddSingleCopyVar(Model.EVENT_NAME, 0, Model.NUMBER_OF_EVENT - 1);

            this.allEventIndex.Add(new EventChannelInfo(Constants.TAU, 0, EventChannelInfo.EventType.EVENT));
            this.allEventIndex.Add(new EventChannelInfo(Constants.TERMINATION, 0, EventChannelInfo.EventType.EVENT));
            this.allEventIndex.Add(new EventChannelInfo(Constants.TOCK, 0, EventChannelInfo.EventType.EVENT));

            for (int i = 0; i < Model.MAX_NUMBER_EVENT_PARAMETERS; i++)
            {
                string varName = Model.EVENT_NAME + Model.NAME_SEPERATOR + i;
                model.eventParameterVariables.Add(varName);
                model.AddSingleCopyVar(varName, Model.MIN_EVENT_INDEX[i], Model.MAX_EVENT_INDEX[i]);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Add global variables and environment variables
        /// </summary>
        /// <param name="valuation"></param>
        /// <param name="assertion"></param>
        public BDDEncoder(Valuation valuation)
        {
            model = new Model();

            //4 more events for Tau, Terminate, and temp, and tock
            Model.NUMBER_OF_EVENT += 4;
            //each event with global update, add Model.NUMBER_OF_EVENT to its index
            model.AddSingleCopyVar(Model.EVENT_NAME, 0, Model.NUMBER_OF_EVENT - 1);

            this.allEventIndex.Add(new EventChannelInfo(Constants.TAU, 0, EventChannelInfo.EventType.EVENT));
            this.allEventIndex.Add(new EventChannelInfo(Constants.TERMINATION, 0, EventChannelInfo.EventType.EVENT));
            this.allEventIndex.Add(new EventChannelInfo(Constants.TOCK, 0, EventChannelInfo.EventType.EVENT));

            for (int i = 0; i < Model.MAX_NUMBER_EVENT_PARAMETERS; i++)
            {
                string varName = Model.EVENT_NAME + Model.NAME_SEPERATOR + i;
                model.eventParameterVariables.Add(varName);
                model.AddSingleCopyVar(varName, Model.MIN_EVENT_INDEX[i], Model.MAX_EVENT_INDEX[i]);
            }

            //
            AddGlobalVars(valuation);
            AddGlobalChannel(valuation);
        }