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";
上に戻る