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