To understand the types, we first explain what we are trying to represent: Ultimately Pseudo-Periodic piecewise affine (henceforth, UPP) functions [Dnc18], meaning that
Ok, let's unpack this.
Ultimately means that this property applies for , rather than all . Pseudo-Periodic means that the function repeats with the same behavior after a period , but with a static gain that is accumulated at each repetition. Piecewise affine means that the graph of the function is a series of points and segments.
We focus on these functions because they can be fully described with a finite representation, thus a finite data structure. For example, for the curve below we only need to store the points and segments in : the point and segments in are repeated indefinetely (, ) thus the rest can be derived on-demand.
Nancy's main types are:
- Point, a single time-value pair, and Segment, defined in open interval
- Sequence, which is piecewise affine function defined in a limited interval (can be opened, closed, a mix of both), constructed as a series of Points and Segments.
- Curve, which is the representation of a UPP function, constructed as a Sequence defined in and the three parameters PseudoPeriodStart , PseudoPeriodLength and PseudoPeriodHeight .
For example, here is the code for the curve in Figure 1:
var c = new Curve(
baseSequence: new Sequence(new Element
new Point(time: 0, value: 0),
new Segment(startTime: 0, endTime: 2, rightLimitAtStartTime: 0, slope: 1),
new Point(2, 2),
new Segment(2, 3, 2, 0),
new Point(3, 2),
new Segment(3, 4, 2, 1)
pseudoPeriodStart: 2, // T
pseudoPeriodLength: 2, // d
pseudoPeriodHeight: 1 // c
-  Deterministic Network Calculus: From Theory to Practical Implementation, A. Bouillard and M. Boyer and E. Le Corronc, 2018