7.7 モード順序関数 modeOrder
モード順序関数modeOrderはActivityを引数に取り,Activityのモード順序が同一である,という制約を表現します.
次の例は,作業aがモード1を取った場合には作業bはモード2を取る事.また,作業aがモード3を取った場合は,作業bはモード1を取ることを記述しています.
Set A = "a b"; Element i(set = A); Set M(index = i); M["a"] = "1 3"; M["b"] = "2 1"; Activity x(index = i, mode = M[i]); modeOrder(x["a"]) == modeOrder(x["b"]);
次の例は,作業aと作業bのモードが同じであることを記述しています.但し,この記述は作業a, bに対するモード集合が同一でなければできません.
Set A = "a b c d"; Element i(set = A); Activity x(index = i, mode = M); modeOrder(x["a"]) == modeOrder(x["b"]);
Activityの添字には,条件式を付与することもできます.次の例は,作業b以外の全ての作業のモードが作業aのモードと同じであることを記述しています.
Set A = "a b c d"; Element i(set = A); Activity x(index = i, mode = M); modeOrder(x[i]) == modeOrder(x["a"]), i!="a", i!="b";
上に戻る
