●ペトリネットとは
プレース(状態)とトランジション(事象)の2種類のノード(点)を持つ有向2部グラフ。
●出題された回(平成29年度春期以降)
令和元年度秋期
ペトリネットの説明
ペトリネットとは、プレースとトランジションという2種類のノードを持つ有向2部グラフです。プレースは「状態」、トランジションは「事象」を表し、プレースの中にトークンを置くことでそのプレースの状態を表します。
ペトリネットを使った作業工程の表現方法
プレースは「状態」、トランジションは「事象」を表し、プレースの中にトークンを置くことでそのプレースの状態を表します。
下の図ではトランジションの前のプレースにトークンが配置されているので、このトランジションを実行する準備が出来ているということになります。
上の状態からトランジションを実行すると下図になります。トランジションが実行されてトークンが右に移りました。
ペトリネットの具体例
バターを塗ったパンをトースターで焼いて朝食を作る工程をペトリネットで表現してみましょう。
パンと食パンを準備する(初期配置)
バターを表す橙色のトークンと食パンを表す黒色のトークンがそれぞれ左端にあります。
ここで直前のプレースにトークンが置かれているトランジションを確認してみましょう。
「バターを切る」というトランジションの前のプレースにはバタートークンがあります。
「バターをパンに塗る」というトランジションの前には2つプレースがあり、片方には食パントークンがありますが、もう片方にはまだバタートークンがありません。つまり、バターをパンに塗るために食パンは準備出来ているが、バターは準備出来ていません。なので、次は「バターを切る」を完了させます。
「バターを切る」が完了したら、バタートークンを矢印の先のプレースに配置します。
これで「バターをパンに塗る」のトランジションの前にある2つのプレースにそれぞれのトークンが配置されました。なので、次は「バターをパンに塗る」を完了させます。
「バターをパンに塗る」が完了したら、バタートークンと食パントークンを矢印の先のプレースに配置します。
これで「トースターで焼く」のトランジションの前のプレースにそれぞれのトークンが配置されました。なので、次は「トースターで焼く」を完了させます。
「トースターで焼く」が完了したら、バタートークンと食パントークンを矢印の先のプレースに配置します。
これで朝食のトーストが完成しました。これがペトリネットになります。
有向2部グラフとは
まず有向グラフは矢印で点同士を繋げたグラフです。進む方向が決まっているグラフということですね。
そして、2部グラフは交わらない点同士が存在するグラフです。朝食の例で言うと、最初のバターと食パンのプレース間に矢印は絶対に存在しません。これはどんなペトリネットでも言えることです。
過去問
応用情報技術者 午前試験
令和元年度秋期問46
ソフトウェアの要求分析や設計に利用されるモデルに関する記述のうち、ペトリネットの説明として、適切なものはどれか。
ア 外界の事象をデータ構造として表現する、データモデリングのアプローチをとる。その表現は、エンティティ、関連及び属性で構成される。
イ システムの機能を入力データから出力データへの変換とみなすとともに、機能を段階的に詳細化して階層的に分割していく。
ウ 対象となる問題領域に対して、プロセスではなくオブジェクトを用いて解決を図るというアプローチをとる。
エ 並行して進行する事象間の同期を表す。その構造はプレースとトランジションという2種類の節点をもつ有向2部グラフで表される。
正解は”エ”