/// <summary> /// If this is true, the current valution can simulate all the valuation in the future /// </summary> /// <param name="valuation"></param> /// <param name="currentState"></param> /// <returns></returns> public static bool AllClockGreaterThanLower(int[] valuation, string[] currentState) { for (int i = 1; i < valuation.Length; i++) { if (valuation[i] <= NewDBM.GetLower(i, true, currentState)) { return(false); } } return(true); }
/// <summary> /// Return true if valution2 simulates valuation1 /// </summary> /// <param name="valuation1"></param> /// <param name="valuation2"></param> /// <param name="currentState">All the clocks in the same process. currentState is the state of this process</param> /// <returns></returns> public static bool IsLUSimulated(int[] valuation1, int[] valuation2, string currentState) { for (int i = 1; i < valuation1.Length; i++) { if (!IsLUSimulated(valuation1[i], valuation2[i], NewDBM.GetLower(i, true, currentState), NewDBM.GetUpper(i, true, currentState))) { return(false); } } return(true); }