/// <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]); } }
/// <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); }