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 @@
sig
:
- Alloy では,商品id の集合を ItemId
,商品名の集合を Name
,
- 商品全体を保管する倉庫の集合を Inventory
,商品の集合を Item
で表します.
- 以下のモデルでは
を用いて,ItemId
,Name
,Inventory
,Item
の順番にこれらの集合を宣言しています.
+ Alloy では,商品id の集合を ItemId
,商品名の集合を Name
,
+ 商品全体を保管する倉庫の集合を Inventory
,商品の集合を Item
で表します.
+ 以下のモデルでは
を用いて,ItemId
,Name
,Inventory
,Item
の順番にこれらの集合を宣言しています.
Inventory
には,ItemId
から Item
への対応関係が itemDB
フィールドとして定義されています.
ここで,ItemId
の右側の
は1つの Item
に対応する ItemId
がたかだか1つしかないことを示しています.
Item
の宣言では,商品名を表す name
が Name
のインスタンスとして,
@@ -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 に変わります.