Timed Automata and it's Applications


Timed Automation : 

In automata theory, a timed automaton is a finite automation 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 behaviours 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 behaviour 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, 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 schedulable 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  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 . The timed automaton recognizing this language, pictured nearby, use 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 there was a  which was not followed by a  or not. If it is not the case, it accepts the run, otherwise it rejects it. Furthermore, when there is such a , it has a clock  which recall the time elapsed since the first such  was emitted. In this case, a  can not be emitted if the clock is at least equal to one, and thus the run fails.


Timed automaton accepting the language a* such that a letter is emitted in each open interval of length one.


Formal Definition :

Timed automaton : 

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 power of .
An edge  from  is a transition from locations  to  with action , guard  and clock resets .


A timed automaton accepting timed words over  where each occurrence of  is followed less than one time unit later by an occurrence 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 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.

Run : 

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 Buchi 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 .

Deterministic timed automaton : 

As in the case of finite and Buchi 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 .

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.
  • not closed under complement.

Problems and their complexity : 

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

The emptiness problem for timed automaton can be solved by constructing a region automation and checking whether it accepts the empty language. This problem is PSPACE-complex.

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. This problem consists in deciding whether every words are accepted by a timed-automaton.


Alternating timed automaton :

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

ATAs are more expressive than timed automaton. one clock alternating timed automaton (OCATA) is the restriction of ATA allowing the use of a single clock. OCATAs allow to express timed languages which can not be expressed using timed-automaton.


Formal definition :

  • Σ 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.
  •  is the transitions function of . It is a partial function, defined as explained in the previous section.

Formally, an alternating timed automaton is a tuple  that consists of the following components:

Any Boolean expression can be rewritten into an equivalent expression in disjunctive natural form. In the representation of a ATA, each disjunction is represented by a different arrow. Each conjunct of a disjunction is represented by a set of arrows with the same tail and multiple heads. The tail is labelled by the letter and each head is labelled by the set of clocks it resets.

Closing Thoughts : 

  • Used in Embedded Systems, Mainframe computers etc.
  • Although the decision to abstract away from quantitative time has had many advantages, it is ultimately Counterproductive when reasoning about systems that must interact with physical processes; the correct functioning of the control system of airplanes and toasters depends crucially upon real-time considerations.
  • The types of automata we have studied till now do not have any real-time considerations.
  • In only two decades the theory of timed automata has established itself as an integral part of real-time systems development.
  • Even Sequential logic can applied through Timed automata in UPPAAL.

Authors :

Vishwakarma Institute of Technology, Pune.
Third-Year Students, Computer Department

  1. Kedar Uttarwar.
  2. Danish Tadvi.
  3. Amol Randhir.
  4. Sakshi Shinde





Comments

  1. Concepts very well explained 💯💯

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Nice Info! Very Well explained.

    ReplyDelete
  4. It was a very informative blog. nice work guys.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete

Post a Comment

Popular posts from this blog

Line coding and their types

Data warehouse modelling with Snowflake Schema