In
automata theory, a field of
computer science, a signal automaton is a
finite automaton extended with a finite set of real-valued clocks. During a run of a signal automaton, clock values increase all with the same speed. Along the transitions of the automaton, clock values can be compared to integers. These comparisons form guards that may enable or disable transitions and by doing so constrain the possible behaviors of the automaton. Further, clocks can be reset.
Example
Before formally defining what a signal automaton is, an example will be given. Let one consider the language
of signals, over a binary alphabet
, which contains signals
such that:
*
appears in singular intervals. That is, the set of times
is discrete, and
*
appears at least once during each interval of length one.
This language can be accepted by the automaton pictured nearby.

As for finite automaton, incoming arrows represents initial locations and double circle represents accepting locations. However, contrary to finite automata, letters occurs in locations and not in transition. This is because letters are emitted continuously and transitions are taken discretely. The symbol
represents a
clock. This clock allow to measure the time since the last time where
was emitted. Thus
ensures that
is emitted discretely. And
ensures that no more than a unit of time can pass without
occurring.
Formal definition
Signal automaton
Formally, a signal automaton is a tuple
that consists of the following components:
*
is a finite set called the alphabet or actions of
.
*
is a
finite set. The elements of
are called the locations or states of
.
*
is a finite set called the ''
clocks of
.
*
is the set of start locations.
*
is the set of accepting locations.
*
which associates a letter to each location.
*
which associate a
clock constraints to each location, and
*
is a set of edges, called transitions of
, where
**
is the
powerset
In mathematics, the power set (or powerset) of a set is the set of all subsets of , including the empty set and itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is postu ...
of
.
An edge
from
is a transition from locations
to
which reset the clocks of
.
Extended state
A pair with a location
and a
clock valuation is called either an ''extended state'' or a ''state''.
Note that the word state is thus ambiguous, since, depending on the author, it may means either a pair or an element of
. For the sake of the clarity, this article will use the term location for element of
and the term extended location for pairs.
Here lies one of the biggest difference between signal-automata and
finite automata. In a finite automaton, at some point of the execution, the state is entirely described by the number of letter read and by a finite number of possible values, which are actually called "states". That means that, given a state and a suffix of the word to read, the remaining of the run is totally determined. Thus, the word "finite" in the name "finite automata". However, as it is explained in the section "run" below, in order to resume clocks are used to determine which transitions can be taken. Thus, in order to know the state of the automaton, you must both now in which location you are, and the clock valuation.
Run
As for finite automata, a run is essentially a sequence of locations, such that there exists a transition between two locations. However, two differences must be emphasized. The letter is not determined by the transition but by the locations; this is due to the fact that the letters are emitted continuously while transitions are taken discretely. Some time elapses while in a location; the clock constraints labelling a location or its successor may constraint the time spent in a single location.
A ''run'' is a sequence of the form
satisfying some constraints. Before stating those constraints, some notations are introduced. The sequences are discrete but represents continuous events. A continuous version of the sequences
,
,
are now introduced. Let
integral and
, then
* let
be equal to
,
* let
be
with
being the lower bound of the interval
,
* let
.
The constraints satisfied by run are, for each
integral and
real:
*
,
*
,
*