## Performance Analysis

The sdf3analyze-sadf tool is capable of computing exact results for performance metrics expressible as extrema, as reachability properties, or as long-run properties. All these performance metrics are computed using state-space based performance analysis techniques. This apprach is only feasible in case sufficient computer resources are available to store the relevant part of the timed probabilistic system implied by the considered SADF graph. When storing the timed probabilistic system is infeasible, one may use simulation-based performance estmation as an alternative. The sdf3analyze-sadf tool evaluates the performance metrics listed below under the assumption of using a self-timed scheduling policy, which indicates that firing a process is never postponed whenever such firing is enabled. The sdf3analyze-sadf tool also verifies whether the considered SADF graph is deadlock-free and for long-run properties, it additionally checks whether the SADF graph is ergodic (see formal verification for detailed information on these properties).

### Extrema

Tools | sdf3analyze-sadf --compute 'buffer_occupancy(maximum)' sdf3analyze-sadf --compute 'inter_firing_latency(minimum)' sdf3analyze-sadf --compute 'inter_firing_latency(maximum)' sdf3analyze-sadf --compute 'response_delay(minimum)' sdf3analyze-sadf --compute 'response_delay(maximum)' |
---|---|

APIs | SADF_Analyse_MaximumBufferOccupancy() SADF_Analyse_ExtreemInterFiringLatency() SADF_Analyse_ResponseDelay() |

The extrema metrics are defined as follows:

Metric | Metric Type | Definition |
---|---|---|

Maximum Buffer Occupancy | Worst-Case | Maximum occupancy of a channel that could occur (for any self-timed bounded execution) |

Minimum Inter-Firing Latency | Best-Case | Minimum time between two successive firing completions of a process |

Maximum Inter-Firing Latency | Worst-Case | Maximum time between two successive firing completions of a process (for any self-timed bounded execution) |

Minimum Response Delay | Best-Case | Minimum time until first firing completion of a process |

Maximum Response Delay | Worst-Case | Maximum time until first firing completion of a process (for any self-timed bounded execution) |

### Reachability Properties

Tools | sdf3analyze-sadf --compute 'deadline_miss(response,process(<process>),deadline(<value>))' sdf3analyze-sadf --compute 'response_delay(expected)' |
---|---|

APIs | SADF_Analyse_ResponseDeadlineMissProbability() SADF_Analyse_ResponseDelay() |

The reachability properties are defined as follows:

Metric | Metric Type | Definition |
---|---|---|

Response Delay Deadline Miss Probability | Probabilistic Reachability | Probability that time until first firing completion of a process exceeds deadline |

Expected Response Delay | Expected Reachability | Expected time until first firing completion of a process |

### Long-Run Properties

Tools | sdf3analyze-sadf --compute 'throughput' sdf3analyze-sadf --compute 'deadline_miss(periodic,process(<process>),deadline(<value>))' sdf3analyze-sadf --compute 'inter_firing_latency(average)' sdf3analyze-sadf --compute 'inter_firing_latency(variance)' sdf3analyze-sadf --compute 'buffer_occupancy(average)' sdf3analyze-sadf --compute 'buffer_occupancy(variance)' |
---|---|

APIs | SADF_Analyse_LongRunInterFiringLatency() SADF_Analyse_PeriodicDeadlineMissProbability() SADF_Analyse_LongRunBufferOccupancy() |

The long-run performance metrics are defined as follows:

Metric | Metric Type | Definition |
---|---|---|

Throughput | Event Rate | Average number of firing completions of a process per time unit. This is equivalent to the reciprocal of the average inter-firing latencyfor the cosidered process |

Periodic Deadline Miss Probability | Sample Average | Probability that time between two successive firing completions of a process exceeds deadline |

Average Inter-Firing Latency | Sample Average | Average time between two successive firing completions of a process |

Variance in Inter-Firing Latency | Sample Variance | Variance in time between two successive firing completions of a process |

Average Buffer Occupancy | Time Average | Average occupancy of a channel |

Variance in Buffer Occupancy | Time Variance | Variance in occupancy of a channel |