diff --git a/courseA/IM_Alloy.html b/courseA/IM_Alloy.html index fff42ac..c39fa49 100644 --- a/courseA/IM_Alloy.html +++ b/courseA/IM_Alloy.html @@ -26,9 +26,9 @@

InventoryManagement の Alloy による仕様記述についての説明

sig:

- Alloy では,商品id の集合を ItemId ,商品名の集合を Name , - 商品全体を保管する倉庫の集合を Inventory ,商品の集合を Item で表します.
- 以下のモデルでは sig を用いて,ItemIdNameInventoryItem の順番にこれらの集合を宣言しています.
+ Alloy では,商品id の集合を ItemId,商品名の集合を Name, + 商品全体を保管する倉庫の集合を Inventory,商品の集合を Item で表します.
+ 以下のモデルでは sig を用いて,ItemIdNameInventoryItem の順番にこれらの集合を宣言しています.
Inventory には,ItemId から Item への対応関係が itemDB フィールドとして定義されています.
ここで,ItemId の右側の lone は1つの Item に対応する ItemId がたかだか1つしかないことを示しています.
Item の宣言では,商品名を表す nameName のインスタンスとして, @@ -134,7 +134,7 @@ まだ何の商品(Item)も登録されていない状態になっています.
次に,1番上の段の左にある Inventory1($execute_its') は変数 its' で参照される Inventory のインスタンスで, its で参照される Inventory のインスタンスに対して,Item のインスタンス Item1(itemRegistration_it) を初期数量100個で登録したインスタンスになっています.
- Inventory1 の右にあるInventory0($execute_its'')は少し複雑です.
+ Inventory1 の右にあるInventory0($execute_its'') は少し複雑です.
まず,Inventory1 において,ItemId で参照される Item のインスタンスは Item1 です.このインスタンスに対して50個出荷した後の Item のインスタンスが Item0 になります.
ここで Item0 の在庫数が50個に減少していることに注意して下さい.
ItemId で参照される Item のインスタンスが Item1 から Item0 に変わるので,Inventory のインスタンスも Inventory1 から Inventory0 に変わります.