Timed Automaton
   HOME

TheInfoList



OR:

In
automata theory Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word ''automata'' comes from the Greek word αὐτόματο ...
, a timed automaton is a
finite automaton A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
extended with a finite set of real-valued clocks. During a run of a timed 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. Timed automata are a sub-class of a type hybrid automata. Timed automata can be used to model and analyse the timing behavior of computer systems, e.g., real-time systems or networks. Methods for checking both safety and liveness properties have been developed and intensively studied over the last 20 years. It has been shown that the state
reachability problem Reachability is a fundamental problem that appears in several different contexts: finite- and infinite-state concurrent systems, computational models like cellular automata and Petri nets, program analysis, discrete and continuous systems, time c ...
for timed automata is decidable,Rajeev Alur, David L. Dill. 199
A Theory of Timed Automata
In Theoretical Computer Science, vol. 126, 183–235, pp. 194–1955
which makes this an interesting sub-class of hybrid automata. Extensions have been extensively studied, among them stopwatches, real-time tasks, cost functions, and timed games. There exists a variety of tools to input and analyse timed automata and extensions, including the model checkers UPPAAL, Kronos, and the schedulability analyser TIMES. These tools are becoming more and more mature, but are still all academic research tools.


Example

Before formally defining what a timed automaton is, some examples are given. Consider the language \mathcal L of timed-words w over the unary alphabet \ such that there is an a during the first time unit, and there is less than one time unit between two successive a. The timed automaton recognizing this language, pictured nearby, use a single
clock A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
x, which should never be equal to one. This clock counts the time since the start of the run if no a were emitted, or from the last a emitted otherwise. This means that each time an a is emitted, this clock is reset to zero. Consider the language \mathcal L of timed-words w over the binary alphabet \ such that each a is followed by a b in the next time unit. The timed automaton recognizing this language, pictured nearby, recalls whether there was a a which was not followed by a b or not. If it is not the case, it accepts the run, otherwise it rejects it. Furthermore, when there is such a a, it has a clock x which recall the time elapsed since the first such a was emitted. In this case, a b can not be emitted if the clock is at least equal to one, and thus the run fails.


Formal definition


Timed automaton

Formally, a timed automaton is a tuple \mathcal A=\langle \Sigma,L,L_0,C,F,E\rangle that consists of the following components: * \Sigma is a finite set called the alphabet or actions of \mathcal A. * L is a
finite set In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example, :\ is a finite set with five elements. Th ...
. The elements of L are called the locations or states' of \mathcal A. * L_0\subseteq L is the set of start locations. * C is a finite set called the ''
clocks A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
of \mathcal A. * F\subseteq L is the set of accepting locations. * E\subseteq L\times \Sigma\times\mathcal B(C)\times\mathcal P(C)\times L is a set of edges, called transitions of \mathcal A, where ** \mathcal B(C) is the set of clock constraints involving clocks from C, and ** \mathcal P(C) 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 C. An edge (\ell,\sigma,g,r,\ell') from E is a transition from locations \ell to \ell' with action \sigma, guard g and clock resets r.


Extended state

A pair with a location \ell and a clock valuation \nu is called either an ''extended state'' or a ''state''. Note that the word state is thus ambiguous, since, depending on the author, it may mean either a pair or an element of L. For the sake of the clarity, this article will use the term location for element of L and the term extended location for pairs. Here lies one of the biggest difference between timed-automata and
finite automata A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
. 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 know in which location you are, and the clock valuation.


Run

Given a
timed word In model checking, a subfield of computer science, a timed word is an extension of the notion of words, in a formal language, in which each letter is associated with a positive time tag. The sequence of time tag must be non-decreasing, which intui ...
w=(\sigma_1,t_1),(\sigma_2,t_2),\dots, with \sigma_i\in\Sigma, (t_i)_ an increasing sequence of non-negative number, and a timed-automaton \mathcal A as above, a ''run'' is a sequence of the form (\ell_0,\nu_0)\xrightarrow _1\ell_1,\nu_1)\dots satisfying the following constraint: * (initialization) \ell_0\in L_0 * (consecution), for all i\ge1, there exists an edge in E of the form \langle\ell_,\sigma_i,g_i,r_i,\ell_i\rangle such that: ** we assume that t_i-t_ time units passed, and at this time, the guard is satisfied. I.e. \nu_+t_i-t_ satisfies g_i, ** the new clock valuation \nu_i corresponds to \nu_, in which t_i-t_ time units passed and in which the clocks of r_i where reset. Formally, \nu_i=(\nu_+t_i-t_) _i\rightarrow 0/math>. The notion of accepting run is defined as in
finite automata A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
for finite words and as in
Büchi automata Buchi can mean: __NOTOC__ Items *Bachi, special Japanese drumsticks *Butsi, the Hispanised term for jin deui (pastry made from glutinous rice) in the Philippines *Büchi automaton, finite state automata extended to infinite inputs * Büchi arithmet ...
for infinite words. That is, if w is finite of length n, then the run is accepting if \ell_\in F. If the word is infinite, then the run is accepting if and only if there exists an infinite number of position i such that \ell_i\in F.


Deterministic timed automaton

As in the case of finite and Büchi automaton, a timed-automaton may be deterministic or non-deterministic. Intuitively, being deterministic has the same meaning in each of those case. It means that the set of start locations is a singleton, and that, given a state s, and a letter a, there is only one possible state which can be reached from s by reading a. However, in the case of timed-automaton the formal definition is slightly more complex. Formally, a timed-automaton is deterministic if: * L_0 is a singleton * for each pair of transitions (\ell,\sigma,g,r,\ell') and (\ell,\sigma,g',r',\ell''), the set of clocks valuations satisfying g is disjoint from the set of clocks valuations satisfying g'.


Closure property

The class of languages recognized by non-deterministic timed automata is: * closed under union, indeed, the disjoint union of two timed automata recognize the union of the language recognized by those automata. * closed under intersection.Modern Applications Of Automata, page 118
/ref> * not closed under complement.


Problems and their complexity

The
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
of some problems related to timed automata are now given. The emptiness problem for timed automaton can be solved by constructing a region automaton and checking whether it accepts the empty language. This problem is
PSPACE-complete In computational complexity theory, a decision problem is PSPACE-complete if it can be solved using an amount of memory that is polynomial in the input length (polynomial space) and if every other problem that can be solved in polynomial space can b ...
. The universality problem of non-deterministic timed automaton is undecidable, and more precisely Π. However, when the automaton contains a single clock, the property is decidable, however it is not
primitive recursive In computability theory, a primitive recursive function is roughly speaking a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop can be determined ...
.{{cite journal , last1=Lasota , first1=SƗawomir , last2=Walukiewicz , first2=Igor , title=Alternating Timed Automata , journal=ACM Transactions on Computational Logic , date=2008 , volume=9 , issue=2 , pages=1–26 , doi=10.1145/1342991.1342994, arxiv=cs/0512031 , s2cid=12319 This problem consists in deciding whether every words are accepted by a timed-automaton.


See also

* Alternating timed automaton: an extension of timed automaton with universal transitions.


Notes

Automata (computation)