Skip to content

Tasks and processes

A task is a piece of work with a duration that occupies one or more resources. The tasks of a job are described once in a process (a template) and instantiated for each order or unit.

Field What it is
Name and task type Task types can inherit properties from another type
Resource requirements Which resources it occupies at once and how many of each
Duration Fixed, different depending on the chosen resource, or a formula
Precedences Which tasks must finish first, with minimum and maximum waits
Earliest start It cannot start before this moment (for example, when a material arrives)
Repetitions How many identical units are made
Properties Specific values: length, number of parts, service type

Each resource requirement can have alternatives. The engine chooses the one that best fits the objectives.

Form Example
A resource type Any Welder
A specific resource Booth 1
A condition Resources whose maximum load ≥ part weight
Several resources at once An overhead crane and two technicians

The duration can depend on the chosen alternative: the same phase takes 5 hours on one machine and 6 on another.

A precedence says that one task goes after another. It can include:

  • Minimum wait: time that must pass between the end of one and the start of the next (curing, drying, cooling).
  • Maximum wait: time that must not pass (a material that cannot wait longer than a certain time).

With repetitions, the precedence can be one to one (each cutting unit feeds one welding unit, in a chain) or all to all (assembly waits for all the previous units).

  • Repetitions: a task done k times, for example once for each part in a batch.
  • Splitting: a large job divided into k parts that can go to different resources.

Some processes have mutually exclusive branches: either path A or path B is done, not both. The engine chooses the branch.

The tasks of the same order do not overlap with each other unless stated otherwise.