The usual way to give the semantics of an automata theoretic structure is to describe the execution of such a structure as a run (cf. figure 5.5).
Figure 5.5:
Timed Automata Semantics as Execution
|
![\includegraphics[width=3.5in]{timed_automata_run1_3.5in.eps}](img474.png) |
Whether we have a deterministic or an indeterministic version of an automaton it does not matter: in every execution cycle only one command line will be executed.
An execution cycle is to be understood as an operation where we have an automaton
at cycle time
(usually '1' for the beginning, can be also '0') and a state counter
. If
is a start state with
then
5.1. The tape starts with position '1' (or '0') with one section for reading and one for writing and can be infinite. In the beginning
all clocks
connected to states have to be set to zero '0'.
- Reading: The content of the actual tape cell will be read at position
as an input string
with
as the cycle number.
- Matching the Input: The actual state
will be matched with regard to the actual input
by looking for a command line
with the unique head
.
- Decision: If the actual state does not match then the automaton stops (here an error message could be foreseen). Otherwise the cycle continues.
- Matching the Clock: It has to be checked whether the actual value of the clock
of state
in command line
-abbreviated as
- satisfies the relation given by the relation
and the constant
. This check is a simple boolean operation which yields true or false.
- true: then the clock
will be set back to '-1', the output
will be written onto the tape at position
and the state counter
will be set to the follow-up state
.
- false: if the clock
does not match, then there are two more options:
- No Satisfaction Possible: The condition
will never become satisfied in the future because the clock
has already a value beyond the constant
. This is a simple boolean operation. The actual state does not match and the automaton stops (here an error message could be foreseen).
- Satisfaction Is Possible: the clock
has a value which actually is below the constant
and can possibly become satisfied in the future. No output is written. The follow-up state is not realized.
stays unchanged.
- Preparing Next Cycle : The system clock
and all clocks
connected to states will be incremented by one. Go to Reading again.
A simple version of a run -or an execution- of an automaton can then be interpreted as a protocol of the cycles described above. The statement of each cycle which does not cause an error contains the following elements:
- An input
with
.
- An actual state
announced by the
.
- The head of one of the command lines
of the state
matching the input.
- The clock condition
of that command line
which at least possibly becomes true or either is satisfied.
- An output
if intended.
- The follow-up state
. The follow-up state can be suppressed under the special condition that a clock has not yet reached the required value. In this situation the
stays unchanged.
Thus we get the following line:
A complete run
of an automaton
based on a sequence of input events
is then a sequence
such that
.
In this version is a timed automaton a different automaton compared to the usual finite automaton! The execution of the automaton not only examines whether a certain state q and a certain input 'in' is given, but additionally whether the clock c has a certain value and that this value satisfies a condition
. If the input 'in' is given but the clock does not satisfy the condition, then the operation will not be executed. This changes the behavior of a timed finite automaton compared to an 'usual' finite automaton.
The set of all possible executions of a finite automaton a
can then be defined as
. A direct transition between two consecutive elements
of a run
can be written as
.
For a run
of an automaton
we can also describe an element, which is reachable at position
in
as
where it holds that
.
The set of all reachable heads can then be defined as
Gerd Doeben-Henisch
2010-03-03