Gimmer · a comparison of process rules

Why one plan can hide
different process rules.

You’re asked to finish a mountain refuge sooner. Two teams show the same 36-day plan. Would extra resources help them equally?

Three short comparisons · a fictional build · no setup

Choose a step in the comparison

A Shared resources

Walls and roof can overlap when crew, tools and lift are available.

Project finish

B Required order

The method also requires walls to finish before roof work can start.

Project finish

Wall and roof excerpt · same day 18–27 scale in both views. The comparison below checks all 14 tasks.

Try the editable model ↗

Fixed toy durations. Each step sets its own resources and priority. Temporary results; reload returns to step 1. Nothing is saved or approved.

Inspect both complete plans and the hidden rule

Each model runs separately. Equality checks every task ID, label, start, finish and duration; resources, priority, units and makespan; and the full stage/WBS and same-start expression. The process arcs and their rationale are deliberately outside this plan projection.

Plan A

Plan B

Actual roof-transition difference


        
Exact computed plan data

        

This demonstrates information loss in a chosen-execution projection. It does not prove a mathematical functor or validate real construction sequencing, resource estimates or safety.

Schedule workbench Set assumptions and generate plans Resources · durations · schedules · WBS · manual Petri net

Choose your process assumptions

This model allows walls and roof to overlap when resources permit. Change resources, durations and priority, generate schedules, then inspect a candidate’s Gantt, task list and WBS. The SMC-style expression and WBS group tasks by start time: they are illustrative views, not a proof of equivalent process behaviour. Results are temporary; changing settings clears earlier candidates and reload resets the page.

Timed schedule generator
Different tokens/durations/priority ⇒ different schedules, same logic.

Resources




View manual model

Priority policy


Change task durations · 14 tasks

Generate schedules



Generate a starting plan, then change an assumption.
Each candidate is a timed execution of the same Petri net. A completed schedule follows the encoded toy rules. Those rules do not establish real-world physical or safety compliance.

Candidate list

Selected schedule → Gantt + SMC term + WBS
Pick a candidate on the left.

Gantt (simple)

SMC expression (one view)

Parallel blocks are joined with ⊗, sequential blocks with “;”.

Elementary WBS (schedule-derived)

A simple hierarchical packaging of the same tasks.

Task table

TaskStartFinishDuration

Translation contract

A compact trace from the process fragment to the selected execution, its SMC/WBS views, and the information the projection deliberately forgets.
Explore which work is allowed · manual Petri net

Explore which work is allowed

This is the untimed token view of model A. Fire enabled work, reset it, or follow the example route. Schedule generation above starts from the configured initial state, independently of this manual walk.

Interactive Petri net
Click an enabled transition to fire it (instant / untimed).
Tip: The untimed firing view is about reachability (what markings are possible). The schedule generator above adds durations + resource tokens.
Marking + enabled work
The Petri net tells you what’s allowed right now.

Enabled transitions

What this encodes

  • Permitting/logistics/access work can proceed in parallel after kickoff.
  • Foundation requires: permits + materials at site + site prepared + crew + tools.
  • Walls & roof can be parallel if you have enough crew/tools/lift tokens.
How the method works · process, execution and WBS
How to use this affordance in your project
Encode a set of process assumptions; generate WBS and schedule views from it.

Step A — Write the project’s assumed logic as a Petri net

Places represent “states/resources”; transitions represent “work”. Tokens are your marking (what’s currently true / available).

  • Inputs to a transition = prerequisites/resources it needs.
  • Outputs = what becomes true when that work finishes.
  • Parallelism is not an extra feature—it’s just “multiple enabled transitions”.

Step B — Treat schedules as “executions” of that net

A schedule is a particular way of firing transitions over time: different priorities, different resource tokens, different durations ⇒ different schedules, all still subject to the same encoded toy rules.

In the theory view, a Petri net presents a (commutative) symmetric monoidal category: markings behave like objects, firing sequences like morphisms. That’s why “schedule alternatives” naturally show up as different composites / string diagrams.

Step C — Export and share as a runnable artifact

Two practical routes:

  1. Julia route: author the net in AlgebraicPetri.jl, explore/compose/simulate, export a self-contained HTML from a notebook.
  2. Browser route: keep a tiny JSON net spec + a tiny JS viewer (like this file), publish on GitHub Pages or attach to tickets.

Step D — Make WBS a view, not the source

WBS becomes one projection of the same underlying process: group the same transitions into phases/work packages, and let each schedule produce a “time-respecting” WBS instance.

Copy model JSON & reuse notes

Copy the model and explore the method

A concrete workflow that stays “tiny”
Net spec → analysis → publishable demo. Repeat as the project evolves.

Version-controlled net as your explicit assumptions

  • Keep a JSON net spec in the repo (places, transitions, arcs, default marking).
  • Review changes like code: “Did we add a dependency? a resource? a rework loop?”
  • Compose subnets when useful (foundation module, framing module, etc.).
Open Petri nets (nets with explicit input/output interfaces) are designed to be glued compositionally, which is a clean way to model “WBS modules” as composable components.

Many WBS + schedules as projections

  • Different markings correspond to different “what’s done / what’s available” states.
  • Different executions (choices + timing) correspond to different schedules.
  • Different groupings of the same transitions correspond to different WBS views.

The key benefit is organizational: you stop arguing about precedence rules inside the Gantt chart, because the assumed precedence is explicit and open to challenge in the Petri net.

Exportable net spec used by this page

You can open this file locally (double click) or host it anywhere static. Replace the JSON with your real project net and keep the rest of the UI.