令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問2

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

解答・解説

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

正解は ウ です。

ペトリネットモデルは、システムの状態を表す「プレース(丸)」、事象の生起を表す「トランジション(棒または四角)」、それらを結ぶ「アーク(矢印)」、およびプレース内に配置される「トークン(黒丸)」を用いてシステムを記述するグラフモデルです。複数のプレースにトークンが存在することで、並列(並行)して生起する事象や非同期な処理、事象間の同期・競合(排他制御)などを視覚的かつ数学的に表現することが可能です。

各選択肢の解説

  • ア:E-Rモデル
    実体(Entity)と関連(Relationship)を用いて、データの構造や関係を静的に表現するデータモデルです。事象の生起や同期といった動的な振る舞いは表現できません。
  • イ:データフローモデル
    システム内のデータの流れ(Data Flow)と処理(Process)に着目して要求を表現するモデル(DFDなど)です。データの受け渡しは表現できますが、事象が生起するタイミングや並列処理の同期条件は表現できません。
  • ウ:ペトリネットモデル
    正しいです。トークンの移動規則により、並列処理や事象間の同期を厳密に表現できます。
  • エ:有限状態機械モデル
    システムが取り得る有限個の「状態」と、イベントによる「状態遷移」で振る舞いを表現するモデル(状態遷移図など)です。単一の制御の流れを表現するのには適していますが、複数の事象が並列に生起する場合の同期を表現するのには適していません。

Spineチーム