ChatDiagram
6 templates · Petri net

並行システムのペトリネット例

ペトリネットは並行性を形式的にモデル化します。プレースがトークンを保持し、入力側のプレースにトークンがあるとトランジションが発火します。その結果、並列・非決定的・同期処理を正確に表現できます。

Standard Murata 1989 + ISO/IEC 15909-1Engine schematex-petriExport SVG · PNG · PDF
How to

How to use a petri net template.

  1. 01プレースと初期トークンを定義する

    各状態(プレース)の名前と、そこに最初から置くトークン数を指定します。これがシステムの初期状態を表します。

  2. 02トランジションを追加する

    状態を変化させる各イベントの名前を指定します。トランジションは入力側のプレース(条件)と出力側のプレース(結果)を接続します。

  3. 03アークを描く

    どのプレースからどのトランジションへトークンが流れ、どのトランジションがどのプレースにトークンを生成するかを説明します。

  4. 04活性と安全性を検証する

    モデルにデッドロック(発火可能なトランジションがない状態)や、安全でないプレース(想定より多くのトークンがある状態)がないかAIに確認させます。

FAQ

Questions about petri net templates

ペトリネットとは何ですか?

並行システムや分散システムを数学的にモデル化するための言語です。円(プレース)は状態、長方形(トランジション)はイベントを表し、矢印で接続します。プレース内のトークンはシステムの状態を表します。

並行性の表現にペトリネットがフローチャートより適している理由は何ですか?

ペトリネットは並列処理、同期、非決定性を形式的にモデル化できます。フローチャートではこれらの概念を正確に表しにくい一方、複数のトークンを同時に扱えるため、デッドロックや競合状態も分析できます。

トランジションが「発火する」とはどういう意味ですか?

入力側のすべてのプレースに必要なトークンがそろうと、トランジションが発火します。発火すると各入力プレースから1つのトークンを消費し、各出力プレースに1つのトークンを生成して、システムの状態を変化させます。