平成28年度 秋期 システムアーキテクト試験 午前Ⅱ 問4

並列に動作する事象間の同期を表現することが可能な,ソフトウェアの要求モデルはどれか。

解答・解説

正解: ウ. ペトリネットモデル

正解は ウ です。

ペトリネットモデルは、システムの状態を表す「プレース(丸)」、事象や状態遷移を表す「トランジション(棒や四角)」、それらを結ぶ「アーク(矢印)」、およびプレース内に配置される「トークン(黒丸)」を用いてシステムをモデル化する手法です。
複数のトランジションが発火する条件をトークンの移動によって定義できるため、並列に動作する事象間の同期や非同期処理、競合(デッドロックなど)を表現・解析するのに適しています。

各選択肢の解説

  • ア:E-Rモデル
    実体(Entity)と関連(Relationship)を用いて、データの構造や関係を表現する静的なデータモデルです。事象間の同期や動的な振る舞いは表現できません。
  • イ:データフローモデル
    システム内のデータの流れ(フロー)と、データを変換する処理(プロセス)に着目して機能を表現するモデル(DFDなど)です。処理の並列性や事象間の同期の表現には適していません。
  • ウ:ペトリネットモデル(正解)
    プレースとトランジション、トークンを用いて、並列処理や事象間の同期・排他制御などを視覚的かつ数学的に表現できるモデルです。
  • エ:有限状態機械モデル
    有限個の状態と、イベント(入力)による状態間の遷移によってシステムの振る舞いを表現するモデル(状態遷移図など)です。単一の順序的な状態遷移を表すのが基本であり、並列に動作する複数の事象間の同期を表現するのには適していません。

Spineチーム