WeaklyHard.jl Documentation

WeaklyHard is a toolbox for analysing the real-time concept of weakly-hard constraints, in Julia.

Installation

To install the package, simply run

using Pkg; Pkg.add("WeaklyHard")

Introduction

We provide a number of weakly-hard constraint structs, used as input to different analysis functions.

  • AnyHitConstraint(x, k): For any window of k consecutive job activations, at least x jobs hit their corresponding deadline;
  • AnyMissConstraint(x, k): For any window of k consecutive job activations, at most x jobs miss their corresponding deadline;
  • RowHitConstraint(x, k): For any window of k consecutive job activations, at least x consecutive jobs hit their corresponding deadline;
  • RowMissConstraint(x): For any window of k consecutive job activations, at most x consecutive jobs miss their corresponding deadline.

An automaton representation of a weakly-hard constraint is a struct consisting of a record containing X amount of integers as:

Automaton{Int} with X vertices:
{
        WordVertex{Int}(x => y, z)
        ...
} with head: WordVertex{Int}(x => y, z)

Here, WordVertex{Int}(x => y, z) indicates a vertex represented by an Integer type, where x is the word the vertex is representating and y, z are the direct successors corresponding to respectively a deadline miss and a deadline hit.

Guide