システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

カレーの作り方をSysMLでモデリングする(振る舞い図)

こんばんは!Otepipiです。本日は前回に続いてカレーの作り方をSysMLでモデリングしていきます。前回は構造図を作成しましたので今回は振る舞い図の作成となります。

 

前回の記事は↓

otepipi.hatenablog.com

カレーの作り方(再掲)

材料(4人分)

材料 分量
ハウス こくまろカレー<中辛>140g 1/2箱 70g
鶏肉(もも)   150g
玉ねぎ   中1個
じゃがいも   中1個
にんじん   中1/2本
サラダ油   大さじ1
  600ml

 

作り方

  1. 鶏肉、じゃがいも、玉ねぎ、にんじんは一口大に切る。
  2. 厚手の鍋にサラダ油を熱し、(1)の鶏肉、じゃがいも、玉ねぎ、にんじんをよく炒める。
  3. 水を加え、沸騰したらあくを取り、弱火~中火で材料が柔らかくなるまで約15分煮込む。
  4. いったん火を止め、ルウを割り入れて溶かし、再び弱火でとろみがつくまで約10分煮込む。

 

 アクティビティ図の作成

振る舞いを表現する図としてアクティビティ図を作成します。他SysMLの振る舞い図にはシーケンス図と状態機械図もありますが、食材の流れ(オブジェクトフロー)が重要な料理の工程ではアクティビティ図を使用するのが良いと思います。

f:id:Otepipi:20180201205724p:plain

ちょっとバランスの悪い図になってしまいましたが、上記カレーの作り方をアクティビティ図にすると上記のようになります。基本的にアクティビティ図は「左→右」もしくは「上→下」に流れるように作成します。またアクティビティ図の矢印は基本的に「物の流れを示す実線の矢印(オブジェクトフロー)」と「制御を示す破線の矢印(コントロールフロー)」の2種類がありますが、今回は食材という物の流れを示す工程なのでオブジェクトフローしか用いていません。また、図の枠線にかかっている四角(「鶏肉」「灰汁」など)は系外からの流入・流出を示します。

最後に前回掲載した構造図も示します。

 

f:id:Otepipi:20180128160906p:plain

料理では、構造図は「料理の材料」、振る舞い図は「調理方法」を示していると考えることができます。

このように普段何気なく使用している「レシピ」もモデリングすることができます。