エンベデッドシステムスペシャリスト 2021年 午前2 問20
問題文
並列に生起する事象間の同期を表現することが可能な、ソフトウェアの要求モデルはどれか。
選択肢
ア:E-Rモデル
イ:データフローモデル
ウ:ペトリネットモデル(正解)
エ:有限状態機械モデル
🔒 解説は解答すると表示されます
ペトリネットモデル【午前2解説】
正解の理由
並行して進む処理や事象の関係を表現し、複数の事象がそろったときに次の処理へ進むといった同期を記述できるのがペトリネットモデルです。そのため、正解はウです。
ペトリネットでは、処理の状態や条件を「プレース」、発生する事象を「トランジション」、状態を示す印を「トークン」で表します。複数の入力プレースに必要なトークンがそろうと、トランジションが発火できます。この仕組みにより、並列処理間の同期を表せます。
解法ステップ
- 設問のキーワードが「並列に生起する事象間の同期」であることを確認します。
- 各モデルが主に表現する対象を整理します。
- E-Rモデル:データとその関連
- データフローモデル:データの流れや処理
- ペトリネットモデル:並行事象や同期
- 有限状態機械モデル:状態と状態遷移
- 並行処理の同期を表現できるモデルとして、ペトリネットモデルを選びます。
選択肢別の誤答解説
-
ア:E-Rモデル
実体(エンティティ)と実体間の関連を表すモデルです。データベース設計などに用いられ、並列事象の同期を表すものではありません。 -
イ:データフローモデル
データがどこからどこへ流れ、どの処理で変換されるかを表します。データの流れを示すモデルであり、並列事象間の同期そのものを表すモデルとしては、ペトリネットが適切です。 -
ウ:ペトリネットモデル
トークンとトランジションによって、並行する事象や、それらが合流・同期する条件を表現できます。 -
エ:有限状態機械モデル
システムが取り得る状態と、入力などに応じた状態遷移を表します。一般的な有限状態機械は、並行する複数の事象の同期を直接表すのには向きません。
よくある誤解
-
「データフローも複数の処理を表せるので、同期モデルだ」と考える
データフローモデルの中心はデータの流れです。並行事象がそろう条件を表すという観点では、ペトリネットが代表的です。 -
「有限状態機械は状態を表すので、あらゆる並行処理も表せる」と考える
拡張した状態機械で表現できる場合はありますが、基本的な有限状態機械が得意なのは状態と遷移の記述です。 -
ペトリネットのトークンを、処理そのものだと考える
トークンはプレースにある状態や条件を示す印です。トランジションが発火することで、トークンの位置が変化します。
補足コラム
ペトリネットでは、複数の処理が同時に進む状態や、複数の条件が満たされるまで処理を開始できない状態を表現できます。たとえば、二つの工程が完了してから次の工程へ進む場合、二つの入力プレースにあるトークンを必要とするトランジションで同期を表せます。
このように、ペトリネットは並行システムやワークフローの動作を分析する際に役立ちます。
FAQ
Q. ペトリネットでは、処理の実行時間も表せますか?
A. 基本的なペトリネットは、主に状態や事象の発生条件、並行性を表します。時間を明示的に扱うには、時間ペトリネットなどの拡張が用いられます。
A. 基本的なペトリネットは、主に状態や事象の発生条件、並行性を表します。時間を明示的に扱うには、時間ペトリネットなどの拡張が用いられます。
Q. 「並列」と「同期」はどう違いますか?
A. 並列は複数の処理が同時期に進むこと、同期は複数の処理の結果や条件がそろうまで次の処理を待つことです。ペトリネットは、両者の関係を表現できます。
A. 並列は複数の処理が同時期に進むこと、同期は複数の処理の結果や条件がそろうまで次の処理を待つことです。ペトリネットは、両者の関係を表現できます。
関連キーワード: ペトリネット、プレース、トランジション、トークン、並行処理、同期

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

