In automata theory, a **timed automaton** is a finite automaton 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.

- Example
- Formal definition
- Timed automaton
- Extended state
- Run
- Deterministic timed automaton
- Closure property
- Problems and their complexity
- See also
- Notes

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 for timed automata is decidable,^{ [1] } 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.

Before formally defining what a timed automaton is, some examples are given.

Consider the language of timed words over the unary alphabet such that there is an during the first time unit, and there is less than one time unit between two successive . A timed automaton recognizing this language, pictured nearby, uses a single clock , which should never be equal to one. This clock counts the time since the start of the run if no were emitted, or from the last emitted otherwise. This means that each time an is emitted, this clock is reset to zero.

Consider the language of timed words over the binary alphabet such that each is followed by a in the next time unit. The timed automaton recognizing this language, pictured nearby, recalls whether or not there was an that was not yet followed by a . If it is not the case, it accepts the run, otherwise it rejects it. Furthermore, when there is such a , it has a clock that records the time elapsed since the first such was emitted. In this case, a cannot be emitted if the clock is at least equal to one, and thus the run fails.

Formally, a **timed 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 the set of start locations.
- is a finite set called the
*clocks of .* - is the set of accepting locations.
- is a set of edges, called
**transitions**of , where- is the set of clock constraints involving clocks from , and
- is the powerset of .

An edge from is a transition from locations to with action , guard and clock resets .

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 mean 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 timed 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 know in which location you are, and the clock valuation.

Given a timed word with , an increasing sequence of non-negative number, and a timed automaton as above, a *run* is a sequence of the form satisfying the following constraint:

- (initialization)
- (consecution), for all , there exists an edge in of the form such that:
- we assume that time units passed, and at this time, the guard is satisfied. I.e. satisfies ,
- the new clock valuation corresponds to , in which time units passed and in which the clocks of where reset. Formally, .

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 is finite of length , then the run is accepting if . If the word is infinite, then the run is accepting if and only if there exists an infinite number of position such that .

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 , and a letter , there is only one possible state which can be reached from by reading . However, in the case of timed automaton the formal definition is slightly more complex. Formally, a timed automaton is deterministic if:

- is a singleton
- for each pair of transitions and , the set of clocks valuations satisfying is disjoint from the set of clocks valuations satisfying .

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.
^{ [2] } - not closed under complement.
^{ [3] }

The computational complexity of some problems related to timed automata are now given.

The emptiness problem for timed automata can be solved by constructing a region automaton and checking whether it accepts the empty language. This problem is PSPACE-complete.^{ [1] }^{: 207 }

The universality problem of non-deterministic timed automaton is undecidable, and more precisely Π^{1}_{1}. However, when the automaton contains a single clock, the property is decidable; however, it is not primitive recursive.^{ [3] } This problem consists of deciding whether every word is accepted by a timed automaton.

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

- 1 2 Rajeev Alur, David L. Dill. 1994 A Theory of Timed Automata. In Theoretical Computer Science, vol. 126, 183–235, pp. 194–1955
- ↑ Modern Applications Of Automata, page 118
- 1 2 Lasota, SƗawomir; Walukiewicz, Igor (2008). "Alternating Timed Automata".
*ACM Transactions on Computational Logic*.**9**(2): 1–26. arXiv: cs/0512031 . doi:10.1145/1342991.1342994. S2CID 12319.

In the theory of computation, a branch of theoretical computer science, a **pushdown automaton** (**PDA**) is a type of automaton that employs a stack.

**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 αὐτόματος, which means "self-acting, self-willed, self-moving". An automaton is an abstract self-propelled computing device which follows a predetermined sequence of operations automatically. An automaton with a finite number of states is called a Finite Automaton (FA) or Finite-State Machine (FSM). The figure on the right illustrates a finite-state machine, which is a well-known type of automaton. This automaton consists of states and transitions. As the automaton sees a symbol of input, it makes a transition to another state, according to its transition function, which takes the previous state and current input symbol as its arguments.

In probability theory and statistics, a **Gaussian process** is a stochastic process, such that every finite collection of those random variables has a multivariate normal distribution, i.e. every finite linear combination of them is normally distributed. The distribution of a Gaussian process is the joint distribution of all those random variables, and as such, it is a distribution over functions with a continuous domain, e.g. time or space.

In computer science and automata theory, a **deterministic Büchi automaton** is a theoretical machine which either accepts or rejects infinite inputs. Such a machine has a set of states and a transition function, which determines which state the machine should move to from its current state when it reads the next input character. Some states are accepting states and one state is the start state. The machine accepts an input if and only if it will pass through an accepting state infinitely many times as it reads the input.

In the theory of computation, a branch of theoretical computer science, a **deterministic finite automaton** (**DFA**)—also known as **deterministic finite acceptor** (**DFA**), **deterministic finite-state machine** (**DFSM**), or **deterministic finite-state automaton** (**DFSA**)—is a finite-state machine that accepts or rejects a given string of symbols, by running through a state sequence uniquely determined by the string. *Deterministic* refers to the uniqueness of the computation run. In search of the simplest models to capture finite-state machines, Warren McCulloch and Walter Pitts were among the first researchers to introduce a concept similar to finite automata in 1943.

In automata theory, a finite-state machine is called a deterministic finite automaton (DFA), if

In automata theory, a **deterministic pushdown automaton** is a variation of the pushdown automaton. The class of deterministic pushdown automata accepts the deterministic context-free languages, a proper subset of context-free languages.

In computer science, in particular in automata theory, a **two-way finite automaton** is a finite automaton that is allowed to re-read its input.

In formal language theory, an **alphabet** is a non-empty set of symbols/glyphs, typically thought of as representing letters, characters, or digits but among other possibilities the "symbols" could also be a set of phonemes. Alphabets in this technical sense of a set are used in a diverse range of fields including logic, mathematics, computer science, and linguistics. An alphabet may have any cardinality ("size") and depending on its purpose maybe be finite, countable, or even uncountable.

In quantum computing, **quantum finite automata** (**QFA**) or **quantum state machines** are a quantum analog of probabilistic automata or a Markov decision process. They provide a mathematical abstraction of real-world quantum computers. Several types of automata may be defined, including *measure-once* and *measure-many* automata. Quantum finite automata can also be understood as the quantization of subshifts of finite type, or as a quantization of Markov chains. QFAs are, in turn, special cases of **geometric finite automata** or **topological finite automata**.

In computer science, more specifically in automata and formal language theory, **nested words** are a concept proposed by Alur and Madhusudan as a joint generalization of words, as traditionally used for modelling linearly ordered structures, and of ordered unranked trees, as traditionally used for modelling hierarchical structures. Finite-state acceptors for nested words, so-called **nested word automata**, then give a more expressive generalization of finite automata on words. The linear encodings of languages accepted by finite nested word automata gives the class of **visibly pushdown languages**. The latter language class lies properly between the regular languages and the deterministic context-free languages. Since their introduction in 2004, these concepts have triggered much research in that area.

In computer science and mathematical logic, an **infinite-tree automaton** is a state machine that deals with infinite tree structures. It can be seen as an extension of top-down finite-tree automata to infinite trees or as an extension of infinite-word automata to infinite trees.

In mathematics, **lifting theory** was first introduced by John von Neumann in a pioneering paper from 1931, in which he answered a question raised by Alfréd Haar. The theory was further developed by Dorothy Maharam (1958) and by Alexandra Ionescu Tulcea and Cassius Ionescu Tulcea (1961). Lifting theory was motivated to a large extent by its striking applications. Its development up to 1969 was described in a monograph of the Ionescu Tulceas. Lifting theory continued to develop since then, yielding new results and applications.

In automata theory, a **co-Büchi automaton** is a variant of Büchi automaton. The only difference is the accepting condition: a Co-Büchi automaton accepts an infinite word if there exists a run, such that all the states occurring infinitely often in the run are in the final state set . In contrast, a Büchi automaton accepts a word if there exists a run, such that at least one state occurring infinitely often in the final state set .

In theoretical computer science and formal language theory, a **weighted automaton** or **weighted finite-state machine** is a generalization of a finite-state machine in which the edges have weights, for example real numbers or integers. Finite-state machines are only capable of answering decision problems; they take as input a string and produce a Boolean output, i.e. either "accept" or "reject". In contrast, weighted automata produce a quantitative output, for example a count of *how many* answers are possible on a given input string, or a probability of *how likely* the input string is according to a probability distribution. They are one of the simplest studied models of **quantitative automata.**

In representation theory of mathematics, the **Waldspurger formula** relates the special values of two *L*-functions of two related admissible irreducible representations. Let k be the base field, f be an automorphic form over k, π be the representation associated via the Jacquet–Langlands correspondence with `f`. Goro Shimura (1976) proved this formula, when and f is a cusp form; Günter Harder made the same discovery at the same time in an unpublished paper. Marie-France Vignéras (1980) proved this formula, when and f is a newform. Jean-Loup Waldspurger, for whom the formula is named, reproved and generalized the result of Vignéras in 1985 via a totally different method which was widely used thereafter by mathematicians to prove similar formulas.

In model checking, a subfield of computer science, a **clock** is a mathematical object used to model time. More precisely, a clock measures how much time passed since a particular event occurs, in this sense, a clock is more precisely an abstraction of a stopwatch. In a model of some particular program, the value of the clock may either be the time since the program was started, or the time since a particular event occurred in the program. Those clocks are used in the definition of timed automaton, signal automaton, timed propositional temporal logic and clock temporal logic. They are also used in programs such as UPPAAL which implement timed automata.

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.

In automata theory, an **alternating timed automaton** (ATA) is a mix of both timed automaton and alternating finite automaton. That is, it is a sort of automata which can measure time and in which there exists universal and existential transition.

In model checking, a field of computer science, a **region** is a convex polytope in for some dimension , and more precisely a zone, satisfying some minimality property. The regions partition .

This page is based on this Wikipedia article

Text is available under the CC BY-SA 4.0 license; additional terms may apply.

Images, videos and audio are available under their respective licenses.

Text is available under the CC BY-SA 4.0 license; additional terms may apply.

Images, videos and audio are available under their respective licenses.