Following the NC as defined in "Formal Verification of Real-time Networks", Chapter 3 defines four main sections:
- Algebraic Structures
- Instances
- Properties
- Coq Development
We can take a look at the details of their construction, and make use of their algebraic framework.
The paper defines a dioid, which we can take to just be an idempotent algebra, aka a min(
Def. (Dioid): A set
Theorem 1: Any subset
Def. (Kleene Star): Defines
Theorem 2: Establishes the Kleene star
The intuition behind this Theorem 2 is as follows:
1.1 We imagine starting with
2.1 If we repeat this process, applying
3.1 Kleene star encapsulates the idea of applying
The following theorems are important for our NC because they extend the applicability of our previous dioid structures to more specific sets of functions used in NC (these theorems should be targeted for the specific property we seek to prove). In this case,
$F^+$ and$F^\uparrow$ are complete dioids, and the NC ensures that these sets can be used to model and analyze non-negative and non-decreasing data flows and delays.
Theorem 3: The set of functions
This theorem shows the set of functions with minimum and convolution operations forms a complete dioid.
Def. (Minimum): Defined as the minimum operation
Def. (Convolution): For two functions
Intuitively, we can break down the definition as follows:
1.1
Our goal is to combine these effects to understand the total impact up to time
2.1 The convolution
The dioid has the follow our properties as defined in the previous section, thus we have:
-
$\land$ and$*$ are associative. -
$\land$ is commutative, although$*$ is not necessarily commutative. -
$\land$ 's neutral element is a function that returns$\infty$ for all inputs, representing the maximum element. -
$*$ 's neutral element is the delta function$\delta$ , which acts like an identity element in convolution:
-
$*$ distributes over$\land$ . - The minimum operator
$\land$ is idempotent.
Theorem 4: The sets
This theorem extends the framework to specific subsets of functions, confirming their suitability for modeling realistic network behaviors in real-time systems.
We follow a similar reasoning as the previous theorem to achieve these results.
Here we are exposed to the actual model as the defined in the paper. For our cases, this model might be modified with different definitions depending on our target implementation.
Def. (Cumulative Function): A function
This definition represents the total amount of some quantity accumulated over time. Left continuity means that at any point in time, the function value is the limit of the function values just before that time.
Def. (Server): A server
This definition represents a network component that processes incoming data and produces outgoing data. The arrival function
$A$ is a cumulative function representing the total data that has arrived at the server up to a given time. The departure function$D$ is a cumulative function representing the total data that has been processed and departed from the server up to any given time.$D \leq A$ ensures that the amount of data that has departed by any time$t$ is at most the amount of data that has arrived by that time, capturing the idea that a server can only process that it has received.
Def. (Arrival Curve): A function
This definition represented a bound on the arrival process, describing the maximum amount of data that can arrive over any interval of time. Our condition
$A \leq A^* \alpha$ ensures that the actual arrival function$A$ is bounded by the arrival curve, meaning that for any interval of time, the total data that arrives does not exceed the amount specified by the arrival curve.
Def. (Minimal Service): A server
Our service curve
$\beta$ described the guaranteed processing capability of a server. The condition$A * B \leq D$ ensures that the processed (departed) data$D$ is at least the convolution of the arrival data$A$ and the service curve$\beta$ . This means that the server guarantees to process at least as much data as specified by the service curve over any interval of time.
Properties (Target Difference) more in Static Priority
This section is the most distinct from our project, as the properties they target are specific. But we can still analyze them as follows.
- The delay experienced by the flow from arrival
$A$ to departure$D$ is denoted$d(A, D)$ . - Different server policies such as FIFO and they provide a theorem bounding the delay for each packet in a FIFO server. We will not go into detail because it is out of scope.