In model checking, a subfield of computer science, a signal or timed state sequence is an extension of the notion of words in a formal language, in which letters are continuously emitted. While a word is traditionally defined as a function from a set of non-negative integers to letters, a signal is a function from a set of real numbers to letters. This allow the use of formalisms similar to the ones of automata theory to deal with continuous signals.
Example.
Consider an elevator. What is formally called a letter could be in fact information such as "someone is pressing the button on the 2nd floor", or "the doors are currently open on the third floor". In this case, a signal indicates, at each time, which is the current state of the elevator and its buttons. The signal can then be analyzed using formal methods to check whether a property such that "each time the elevator is called, it arrives in less than three minutes, assuming that no one held the door for more than fifteen seconds" holds. A statement such as this one is usually expressed in metric temporal logic, an extension of linear temporal logic that allows the expression of time constraints.
A signal may be passed to a model, such as a signal automaton, which will decide, given the letters or actions that already occurred, what is the next action that should be performed, in our example, to which floor the elevator must go. Then a program may test this signal and check the above-mentioned property. That is, it will try to generate a signal in which the door is never held open for more than fifteen seconds, and in which a user must wait more than three minutes after calling the elevator.
Definition.
Given an alphabet "A", a signal formula_1 is a sequence formula_2, finite or infinite, such that formula_3, each formula_4 are pairwise disjoint intervals, formula_5, and formula_6 is also an interval. Given formula_7 for some formula_8, formula_9 represents formula_10.
Properties.
Some authors restrict the kind of signals they consider. We list here some standard properties that a signal may or may not satisfy.
Finite variability.
Intuitively, a signal is said to be finitely variable, or to have the finite variability property, if during each bounded interval, the letter change a finite number of times. In our previous elevator example, this property would mean that a user may only press a button a finite number of times during a finite time. And similarly, in a finite time, the elevator can only open and close its door a finite number of times.
Formally, a signal is said to have the finite variability property, unless the sequence is infinite and formula_11 is bounded. Intuitively, the finite variability property states that there is not an infinite number of changes in a finite time. Having the finite variability property is similar to the notion of being non-Zeno for a timed word.
Bounded variability.
The notion of bounded variability is a restriction to the notion of finite variability. A signal has the bounded variability property if there exists a lower bound between the beginning of two intervals with the same letter.
Before giving a formal definition, we give an example of signal which
is finitely variable but not boundedly variable. Take the alphabet formula_12. Take the interval formula_1 which sends the reals of the form formula_14 with formula_15 and formula_16 to formula_17 and every other reals to formula_18. During each finite time interval, the letter changes a finite number of times. Thus this signal is finitely variable. However, the distance between two successive occurrences of the letter formula_17 is arbitrarily small. Thus it does not have the bounded variability property.
Let a sequence formula_20. If formula_21 for each integer formula_8, then the sequence is said to have the bounded variability property if there exists a real formula_23 such that, for each formula_24 with formula_25 such that there exists no formula_26 with formula_27 and formula_28 then the difference between the lower bound of formula_29 and of formula_30 is at least formula_31. Note that each sequence formula_1 is equivalent to a sequence formula_33 in which two successive letters are distinct. The sequence formula_1 is said to have the bounded variability property if and only if formula_33 has the bounded variability property.
A set of signal is said to has the bounded variability property if the above-mentioned lower bound formula_31 can be chosen to be the same for each signal of the set.
We know give main reason to consider signals with bounded variabilities. Assume we need to create a system, such as a signal automaton, which need to recall everything which occurred in the last time units. If we know that the signal is boundedly variable, we can compute an upper bound on the number of action which occurred during one time unit. Thus, we can create such a system and ensure that it only requires a finite memory.
For example, for an arbitrary predicate formula_37, the signal stating whether the statement "formula_38 holds sometime in the next time unit" holds has the bounded variability property. Indeed, when this statement becomes true, it remains true for a full time unit. Thus the difference between two occurrences where this statement becomes true is greater than a time unit.
Bipartite signal.
A signal is said to be "bipartite" if the sequence of intervals start with a singular interval – i.e. a closed interval whose lower and upper bound are equal, hence a set which is a singleton. And if the sequence alternate between singular intervals and open intervals.
Each signal is equivalent to a bipartite signal. Indeed, any interval which is closed on the left is the union of a singular interval and of an interval open on the left, in this order. And similarly for intervals closed on the right.
A signal automaton reading a bipartite signal has a special form. Its set of locations can be partitioned into locations for singular interval, and locations for open intervals. Each transition goes from a singular location to an open one and reciprocally.