Schematex
petri·Murata 1989 + ISO/IEC 15909-1 (place/transition net)·education, research·complexity 2/3·since v0.6.0

The classic Petri net — concurrency with feedback

Murata's canonical place/transition net — one transition forks a token into two concurrent branches that a second transition joins, with a feedback place closing the loop. The engine marks which transitions are enabled in the current marking.

For the systems modeller

Open in Playground →
petri·§
↘ preview
100%
Petri net — Classic 4 places, 2 transitions, 7 arcs. Marking {P1:1, P3:2, P4:1}. Enabled: T1. Classic P1 P2 P3 P4 T1 T2
UTF-8 · LF · 14 lines · 177 chars✓ parsed·1.8 ms·5.1 KB SVG

This is the net you find on the first page of every Petri-net text (Murata's 1989 survey, Wikipedia's figure 1): the smallest diagram that shows concurrency, synchronisation, and feedback at once.

One fork, one join. Firing T1 puts a token into both P2 and P3 — two branches now run concurrently. T2 cannot fire until both branches deposit their tokens, so it is a synchronisation point (an AND-join).

The feedback place closes the loop. P4 -> T1 routes the result back as a back-edge, drawn around the layout so the cycle reads cleanly. In the current marking only T1 is enabled (highlighted) — T2 is dead because P2 is empty until T1 fires.

The render is downstream of the semantics. Schematex isn't drawing shapes you positioned; it validated the bipartite structure, checked each transition's input places against the marking, and coloured the enabled one.

Petri net syntax