SODM+T includes several algorithms for computing local performance requirements from a global requirement and an optional set of local annotations. This page will give a brief illustration of how they work: for more details, please consult the publications or the Github repository.

Throughput inference

This computes how many requests each node will need to handle, if the whole process/composition needs to handle a certain number of requests per second.

Time limit inference (exhaustive)

This computes the time limit for each executable node in the model, by distributing fairly (according to relative weights) the available slack after considering the minimum times requested by each node.

The algorithm is relatively straightforward, but it can struggle once we have many possible paths (e.g. in the case we have multiple branching paths that merge later).

Time limit inference (incremental)

This is a more efficient form of the previous approach, by taking into account the fact that many subpaths can be discarded early as they will never be as strict as others.