3

I am currently looking into timed automata for a project. I am thinking about a timed automaton where a clock only advances when the automaton is in a certain state. However, my little knowledge in the domain makes me wonder whether somebody already defined timed automata like that.

As an example: I.e. I have a timed automaton with two states: L0 and L1.
My clock is c - the total time that the automaton spent in time L1.

The clock c should only advance when the automaton is in state L1.

(see upper part of drawing)

Solution with my existing knowledge (not very elegant):

I can see a way where I could use event-clock automata (1) to achieve this, by triggering an event a and on entering L1 the value of c is set to:
c := c - xa
where xa is the time since event a. (See lower part of the drawing)

However, I'm not convinced of this solution as it is inelegant, further I'm not sure whether timed automata allow for the setting of clocks. So far I only read about reset to zero.

(1) http://pub.ist.ac.at/~tah/Publications/a_determinizable_class_of_timed_automata.pdf

Diagram schema of the automaton I'm looking for

stklik
  • 151
  • 5

1 Answers1

2

So, after looking deeper into the subject I found the solution. Posting in case somebody else needs an answer and is unfamiliar with the subject.

What I was looking for is called a Stopwatch Automaton (SWA) and allows the time to stop or advance (by specifying the derivative of a clock c' = {0, 1}).
Reference: The Impressive Power of Stopwatches. Franck Cassez, Kim Larsen
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.669&rep=rep1&type=pdf

Further I discovered that Hourglass automata also allow time to stop, but additionally also to reverse: c' = {-1, 0, 1}. They however require the specification of a maximum clock value after which "all the sand passed through the hourglass" and the clock does not advance further.
Reference: Hourglass Automata. Yuki Osada, Tim French, Mark Reynolds, Harry Smallbone
https://arxiv.org/abs/1408.5965

stklik
  • 151
  • 5