DY-WCET Pro · Early access

Three commands.
Every deadline answered.

Write your tasks down. DY-WCET Pro says whether every deadline holds, by how much, and what to change when one does not — then writes the report your design review files.

~/flight-controllerreal output, DY-WCET Pro 1.0.0
  1. dywcet new
      ✓  Wrote tasks.toml — an example: a motor controller with four tasks.
  2. # tasks.toml now lists the flight controller, by importance
    dywcet check
      ✗  Not schedulable
         2 of 4 tasks miss their deadlines. The worst, radio link, is 1,600 µs late.
    
          #  Task             WCET  Period  Deadline  Response   Slack
      ✓   1  health monitor  2,000  20,000    20,000     2,000  18,000
      ✗   2  attitude loop     300   1,000     1,000     2,300  −1,300
      ✗   3  radio link        400   5,000     2,000     3,600  −1,600
      ✓   4  flight log      3,000  50,000    50,000     8,500  41,500
    
         Every deadline is met with the shortest deadline first:
           attitude loop → radio link → health monitor → flight log
  3. dywcet report
         Report  tasks.report.html
The report

A report that proves
what it reports.

One self-contained page that prints to A4. It carries the exact input it was made from, under its SHA-256, and the same file always gives the same report, byte for byte. A reviewer can reproduce it without asking you anything.

The report for the flight controller: Not schedulable. Each task's worst-case response is drawn against its own deadline; attitude loop and radio link run past it.

Every deadline stands on one line, so the margin reads at a glance. Open the full sample

What it does

Built so nobody has to
read the manual first.

The fix, not only the failure.

When the priority order is the problem, it names an order that meets every deadline — the textbook one, shortest deadline first, whenever that works.

Headroom, per task.

For a set that passes: how much each task's execution time can still grow. The number that decides whether the next feature fits.

Errors at the line.

tasks.toml:4: error: `peroid` is not a task key; did you mean `period`? Nothing in a task file is skipped silently.

Units, never guessed.

200 us, 1.5 ms, 42000 cycles at 168 MHz. A value off the microsecond grid is rounded toward the pessimistic side, and listed.

Your spreadsheet, as it is.

Export the timing budget you already keep. Units in the header, a notes column, semicolons and decimal commas are all read.

CI in one line.

The exit code is the verdict, and --md puts the table on the pull request. One binary under a megabyte; nothing is sent anywhere.

The engine

The arithmetic stays open.

Every number comes from dy-wcet, open source under Apache-2.0 or MIT, checked against an independent oracle, an exhaustive search and a simulated scheduler, with bounded Kani proofs on every change. Anyone can check the arithmetic. DY-WCET Pro is the instrument built around it, and it is not open source.

Early access

Opening to a few teams
at a time.

Tell us the processor, the RTOS, how many tasks, and where your execution times come from today. Each team in early access works with the author directly.