SkillStack
テクノロジ系20 / 25問

エンベデッドシステムスペシャリスト試験 令和3年度 秋期 午前II 問20

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

ペトリネットモデルは、場所を表すプレース、事象を表すトランジション、状態を示すトークンを用いて、システムの動作を表現するモデルです。複数のトランジションが独立に発火する並列動作だけでなく、必要な全てのプレースにトークンがそろったときだけ発火する同期も表現できます。このため、並列に発生する事象間の同期を扱う要求モデルとして、ウが適切です。

例えば、二つの並行処理の完了を示す各プレースにトークンが到着した後、一つのトランジションを発火させれば、「両方の処理が完了するまで次へ進まない」という同期条件を表せます。排他制御や資源の競合、デッドロックの分析にも利用できます。

アのE-Rモデルは誤りです。これは、実体、属性、実体間の関連を表し、主にデータベースの概念設計に用いるモデルです。

イのデータフローモデルは誤りです。これは、データの流れ、処理、データストア、外部実体を表すモデルであり、並列事象の発火条件や同期を直接表すものではありません。

エの有限状態機械モデルは誤りです。これは、システムを有限個の状態と入力による状態遷移で表すモデルです。基本的にはある時点の一つの状態を中心に扱うため、複数事象の並列性や同期の表現にはペトリネットが適しています。

【ポイント】 ペトリネットでは、トークンの配置をマーキングと呼び、それがシステム全体の状態を示します。 「並列動作、同期、競合、デッドロック」という語が現れたら、ペトリネットを有力候補として考えます。

出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問20
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める