You asked to treat each distinct marking (state) or firing sequence as a potential schedule option, and convert those sequences into elementary WBS paths (tasks + subtasks). Below is a small, explicit Petri net for a mountain-shed build and three distinct schedule/WBS paths derived from it.
This Petri net is deliberately “elementary”: it encodes *physical* precedence and key design choices (foundation type, wall method, interior scope), leaving durations/resources as a second layer. In Petri-net terms, a schedule option is a firing sequence from the initial marking to a completed marking; reachability is exactly “can we get from one marking to another by firing tasks?”. fileciteturn1file14
Background: Petri nets can be treated compositionally and are closely tied to (strict) symmetric/commutative monoidal categories; places/transitions present generators and morphisms, and reachability is about morphisms between markings. fileciteturn1file14 fileciteturn1file10
Click a schedule option to (a) highlight the chosen branches in the Petri net, (b) see the firing sequence and markings, and (c) see the derived elementary WBS path. The three options differ by foundation type, wall method, and/or interior scope + ordering.
| Step | Firing event (transition = task) | Resulting marking (tokens = state) |
|---|---|---|
| 0 | Initial marking M0 | Start |
| 1 | Fire tA_design: Design & scope | Design complete → permit package ready Design complete → procurement package ready |
| 2 | Fire tB_permit: Permits/approvals | Design complete → procurement package ready Permits/approvals complete |
| 3 | Fire tC_procure: Procure & logistics | Permits/approvals complete Materials/logistics ready to mobilize Prefabrication option token |
| 4 | Fire tH0_skip_panels: Skip prefab option | Permits/approvals complete Materials/logistics ready to mobilize |
| 5 | Fire tD_mobilize: Mobilize to site | Permits/approvals complete Crew/tools/materials mobilized to mountain site |
| 6 | Fire tE_siteprep: Site prep & layout | Site prepped & layout staked |
| 7 | Fire tF1_concrete: Foundation: concrete piers | Foundation complete |
| 8 | Fire tG_floor: Build floor system | Floor system/deck complete |
| 9 | Fire tH1_stick_frame: Frame walls (stick-built) | Walls erected & braced |
| 10 | Fire tI_roof: Frame & install roof (dry-in) | Roof dried-in (weather-tight roof) |
| 11 | Fire tJ1_shell: Wrap shell & temp close | Shell weatherproof → interior can start Shell weatherproof → exterior finish can start |
| 12 | Fire tJ2_exterior: Final exterior (windows/doors/siding) | Shell weatherproof → interior can start Exterior complete (windows/doors/siding) |
| 13 | Fire tK1_interior_std: Interior fit-out (standard) | Exterior complete (windows/doors/siding) Interior fit-out complete |
| 14 | Fire tJoin_ready: Integrate & ready for closeout | Ready for closeout/inspection |
| 15 | Fire tM_close: Final inspection & cleanup | Project complete |
| Step | Firing event (transition = task) | Resulting marking (tokens = state) |
|---|---|---|
| 0 | Initial marking M0 | Start |
| 1 | Fire tA_design: Design & scope | Design complete → permit package ready Design complete → procurement package ready |
| 2 | Fire tC_procure: Procure & logistics | Design complete → permit package ready Materials/logistics ready to mobilize Prefabrication option token |
| 3 | Fire tH0_panel_fab: Offsite fab wall panels | Design complete → permit package ready Materials/logistics ready to mobilize Prefab wall panels fabricated |
| 4 | Fire tB_permit: Permits/approvals | Materials/logistics ready to mobilize Prefab wall panels fabricated Permits/approvals complete |
| 5 | Fire tD_mobilize: Mobilize to site | Prefab wall panels fabricated Permits/approvals complete Crew/tools/materials mobilized to mountain site |
| 6 | Fire tE_siteprep: Site prep & layout | Prefab wall panels fabricated Site prepped & layout staked |
| 7 | Fire tF2_skid: Foundation: skid/gravel | Prefab wall panels fabricated Foundation complete |
| 8 | Fire tG_floor: Build floor system | Prefab wall panels fabricated Floor system/deck complete |
| 9 | Fire tH2_install_panels: Install prefab wall panels | Walls erected & braced |
| 10 | Fire tI_roof: Frame & install roof (dry-in) | Roof dried-in (weather-tight roof) |
| 11 | Fire tJ1_shell: Wrap shell & temp close | Shell weatherproof → interior can start Shell weatherproof → exterior finish can start |
| 12 | Fire tK1_interior_std: Interior fit-out (standard) | Shell weatherproof → exterior finish can start Interior fit-out complete |
| 13 | Fire tJ2_exterior: Final exterior (windows/doors/siding) | Interior fit-out complete Exterior complete (windows/doors/siding) |
| 14 | Fire tJoin_ready: Integrate & ready for closeout | Ready for closeout/inspection |
| 15 | Fire tM_close: Final inspection & cleanup | Project complete |
| Step | Firing event (transition = task) | Resulting marking (tokens = state) |
|---|---|---|
| 0 | Initial marking M0 | Start |
| 1 | Fire tA_design: Design & scope | Design complete → permit package ready Design complete → procurement package ready |
| 2 | Fire tB_permit: Permits/approvals | Design complete → procurement package ready Permits/approvals complete |
| 3 | Fire tC_procure: Procure & logistics | Permits/approvals complete Materials/logistics ready to mobilize Prefabrication option token |
| 4 | Fire tH0_skip_panels: Skip prefab option | Permits/approvals complete Materials/logistics ready to mobilize |
| 5 | Fire tD_mobilize: Mobilize to site | Permits/approvals complete Crew/tools/materials mobilized to mountain site |
| 6 | Fire tE_siteprep: Site prep & layout | Site prepped & layout staked |
| 7 | Fire tF3_helical: Foundation: helical piers | Foundation complete |
| 8 | Fire tG_floor: Build floor system | Floor system/deck complete |
| 9 | Fire tH1_stick_frame: Frame walls (stick-built) | Walls erected & braced |
| 10 | Fire tI_roof: Frame & install roof (dry-in) | Roof dried-in (weather-tight roof) |
| 11 | Fire tJ1_shell: Wrap shell & temp close | Shell weatherproof → interior can start Shell weatherproof → exterior finish can start |
| 12 | Fire tK2_interior_min: Interior fit-out (minimal) | Shell weatherproof → exterior finish can start Interior fit-out complete |
| 13 | Fire tJ2_exterior: Final exterior (windows/doors/siding) | Interior fit-out complete Exterior complete (windows/doors/siding) |
| 14 | Fire tJoin_ready: Integrate & ready for closeout | Ready for closeout/inspection |
| 15 | Fire tM_close: Final inspection & cleanup | Project complete |
Note: The Petri net defines the allowed task orderings (what can happen when). Start times/durations/resources can be added as a separate “timing” layer—e.g., PERT-style constraints. fileciteturn1file1
Your project rationale is that a Petri net can be treated as a generative specification for (a strict/commutative) symmetric monoidal category, and that schedule/WBS variants come from different reachable markings and firing sequences.
If you want to go further into executable/compositional tooling, wiring-diagram semantics and graph rewriting provide an operational way to “run” these structures. fileciteturn0file20 And if you need to transfer plans across domains, functorial data migration gives a principled way to map plans between ontologies. fileciteturn0file21
Related compositional “open systems” ideas also appear for stock–flow diagrams (useful when you later add resource/consumption dynamics). fileciteturn1file0 fileciteturn0file18