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. [1]
Before formally defining what a signal automaton is, an example will be given. Let one consider the language
lL
\{A,B\}
\gamma
A
\{t\mid\gamma(t)=A\}
A
x
A
x=0
A
1>x
A
Formally, a signal automaton is a tuple
lA=\langle\Sigma,L,L0,C,F,\alpha,\beta,E\rangle
\Sigma
lA
L
L
lA
C
lA
L0\subseteqL
F\subseteqL
\alpha:L\to\Sigma
\beta:L\tolB(C)
E\subseteqL x lP(C) x L
lA
lP(C)
C
An edge
(\ell,r,\ell')
E
\ell
\ell'
r
A pair with a location
\ell
\nu
Note that the word state is thus ambiguous, since, depending on the author, it may means either a pair or an element of
L
L
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.
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
\xrightarrow[\nu0]{C}(\ell0,I0)\xrightarrow[\nu1]{r1}(\ell1,I1)...
(\sigmai)
(\nui)
(\elli)
i\ge0
t\inIi
\sigma't
\sigmai
\nu't
\nui+t-\lceilIi\rceil
\lceilIi\rceil
Ii
\ell't=\elli
The constraints satisfied by run are, for each
i\ge0
t\ge0
\ell0\inL0
(\elli,ri,\elli+1)\inE
\nui+1=(\nui+\midIi\mid)[ri → 0]
\nu't\models\beta(\ell't)
The signal defined by this run is the function
\sigma'
\sigma'
The notion of accepting run is defined as in finite automata for finite words and as in Büchi automata for infinite words. That is, if
w
n
\elln\inF
i
\elli\inF
A signal
\gamma
lA
lA
\gamma
lA
lA
l{S(A)}
As in the case of finite and Büchi automaton, a signal-automaton may be deterministic or non-deterministic. Intuitively, being deterministic as the same meaning in each of those case. It means that the set of start locations is a singleton, and that, given an extended state
s
a
s
a
Formally, this can be defined as follows:
L0
\ell\inL
(\ell,r,\ell')\inE
\beta(\ell)
\beta(\ell')
r
(\ell,r',\ell')\inE
(\ell,r'',\ell'')\inE
\beta(\ell')
r'
\beta(\ell'')
r''
Depending on the authors, the exact definition of signal automata may be slightly different. Two such definitions are now given.
In order to simplify the definition of a run, some authors requires that each interval of a run is right-closed and left-open. This restrict automata to accept only signals whose underlying partition satisfies the same property. However, it ensures that at each time
t\ge0
\lim | |
t\leftarrowx+ |
f(x)=f(t)
f
\sigma'
\nu'
\ell'
A bipartite signal automaton is a signal automaton in which the run alternates between open intervals and singular intervals (i.e. intervals which are singletons). It ensures that the graph underlying the automaton is a bipartite graph, and thus that the set of locations can be partitioned into
\{Lo,Ls\}
L0\subseteqLs
\ell
x\ell
\ell
\ell
x=0
Any signal automaton can be transformed into an equivalent bipartite signal automaton. It suffices to replace each location
\ell
(\ello,\ells)
x
\ell
x | |
\ells |
=x
Nearby is pictured a bipartite automaton equivalent to the signal automaton from the example section. Rectangle states represents singular locations.
The notion of product of finite automaton is extended to signal automaton. However, such a product is called a synchronization of automaton to emphasize the fact that the time should pass similarly in both automata considered. The main difference between synchronization and product is that, when two finite automata read the same word, they take transition simultaneously. This is not the case anymore for signal automata, since they can take transition at arbitrary time. Thus, the transition relation of a signal automaton may allow transition to be taken in one or two automata.
Let
lA1=\langle\Sigma,L1,L
1,F | |
0,C |
1,\alpha1,\beta1,E1\rangle
lA2=\langle\Sigma,L2,L
2,F | |
0,C |
2,\alpha2,\beta2,E2\rangle
lA1 ⊗ lA2=\langle\Sigma,\{(\ell1,\ell2)\inL1 ⊗ L2\mid\alpha1(\ell1)=\alpha2(\ell2)\},L
1 | |
0 ⊗ |
1\cup | |
L | |
0,C |
C2,F1 ⊗ F2,(\ell1,\ell2)\mapsto\alpha1(\ell1),(\ell1,\ell2)\mapsto\beta1(\ell1)\land\beta2(\ell2),E\rangle
E
((\ell1,\ell2),r1,(\ell\prime1,\ell2)
(\ell1,r,\ell\prime1)\inE1
E2
((\ell1,\ell2),r1\cupr2,(\ell\prime1,\ell\prime2)
(\ell1,r,\ell\prime1)\inE1
(\ell2,r,\ell\prime2)\inE2
Timed automata is another extension of finite automata, which adds a notion of time to words. We now state some of the main differences between timed automata and signal automata.
In timed automata, letters are emitted on the transitions and not in the locations. As explained above when comparing signal automata to finite automata, letters are emitted on transitions when the words are emitted discretely, as for words and timed-words while they are emitted on locations when letters are emitted continuously, as for signals.
In timed automata, guards are only checked on transitions. This simplifies the definition of deterministic automaton, since it means that the constraint must be satisfied before the clocks are restarted.