diff --git a/courseA/IM_Alloy.html b/courseA/IM_Alloy.html index 92d6e41..c70978b 100644 --- a/courseA/IM_Alloy.html +++ b/courseA/IM_Alloy.html @@ -23,31 +23,31 @@


-

InventoryManagementについての詳細説明

+

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

sig:

- 以下のソースコードでは始めに,内部構造を持たない集合として商品を識別するためのIDを表すItemIdと 商品名を表すNameを宣言しています.
+ 以下のソースコードでは始めに,商品を識別するためのIDを表すItemIdと 商品名を表すNameを構造のない集合として宣言しています.
次に,商品全体を管理する倉庫を表しているInventoryは,itemDBフィールドを持っています. - そして,このフィールドを定義している行では,itemDBフィールドがItemIdから, - 具体的な商品の情報を表すItemという集合への対応関係を参照していることを表しています.
+ このフィールドを定義している行では,itemDBフィールドがItemIdから, + 商品の情報を表すItemとの対応関係を参照していることを表しています.
最後のItemでは始めに,商品名を表すnameItemの要素と,Nameの要素の間の関係として定義しています. - 次の,在庫数を表すcountでは在庫数をInt型で表すようにと定義しています.
+ 次にある,在庫数を表すcountでは在庫数をInt型で表すように定義を行っています.

pred:

以下のソースコードで最初に記述されているinitは,Inventoryの - 内部構造を持ったits初期化するという操作になっています.
+ 構造を持ったits初期化するという操作になっています.
次の,itemRegistractionでは初めて取り扱う商品を入荷する際に, 商品名と入荷数量をInventoryに登録するという操作になっています.
その次にある,receivingOrShippingでは登録されている商品に対して 入荷か出荷を行った際に起こる数量の変化の操作を表しています.
最後のexecuteでは上記にて説明を行った, inititemRegistractionreceivingOrShippingを - 上から順番に実行が進むという操作になっています.
+ 上から順番に実行を進めるという操作になっています.
そして,最後にあるrunでは,executeを呼び出して実行を行っています. この実行の際に100や-50の数字を扱うため,末尾に8 Intという - 8bitの数字を扱うことができるようにするための記述を行っています. + Alloyで8bitの数字を扱うことができるようにするための記述を行っています.

@@ -104,21 +104,21 @@

- Inventoryが,商品名を表すnameと在庫数を表すcountの情報を持った, + Inventoryが,商品名を表すnameと在庫数を表すcountの2つのフィールドを持っている, Itemを管理するというモデルになっています.


InventoryManagementの例題仕様について

- ここでは,InventoryManagementの,例題仕様について説明します.InventoryManagementの例題仕様は次の通りです.
+ ここでは,InventoryManagementの例題仕様について説明します.InventoryManagementの例題仕様は次の通りです.

  1. Inventoryに新しく取り扱う商品を100個入荷します.
  2. お客様が商品を50個購入してくれたので,在庫数が50個に減少しました.

-

InventoryManagementの実行時の可視化:

+

例題仕様の可視化:

先ほどの例題仕様で,実行時の状態を可視化したものを以下に示します.