1

I have three automata (see below), the single global declaration urgent chan u; and the system declaration system UrgentChannel, P1, P2;. My understanding is that by making u an urgent channel, the transition from start to goal has to be taken.

I would like to understand why the property P1.start --> P1.goal is not satisfied. The counter example from the simulator does not seem to help here.

The model for download is here. Thanks for reading!

  • P1: P1
  • P2: P2
  • UrgentChannel: UrgentChannel
Heinrich Ody
  • 289
  • 2
  • 9

2 Answers2

1

The counter example (the diagnostic trace) in simulator has a tail marked in red, which means that it is repeated infinitely (P2 can perform zeno loop). Basically, Uppaal is trying to tell that there exist an infinit loop which may prevent the urgent transition from reaching the goal state.

If you remove the process P2, then the property holds.

If you are concerned with liveness properties, then such zeno loops are not desirable hence Uppaal rightly reports them as a counter example.

mariusm
  • 1,483
  • 1
  • 11
  • 26
  • 1
    I thought that zeno behavior is not considered.. Guess assumptions are dangerous :p Anyway, thanks for the answer and also thanks for the hint with the counter example! – Heinrich Ody May 26 '19 at 18:08
0

The documentation of delay transitions (L,v) -d-> (L,v+d) says that "for all locations l in L and for all locations l' (not necessarily in L), if there is an edge from l to l' then either: - this edge does not synchronise over an urgent channel, or - this edge does synchronise over an urgent channel, but for all 0 ≤ d' ≤ d we have that v+d' does not satisfy the guard of the edge.

So why the edge of P2 can be triggered ?

  • Not sure I got your question but quoting the Uppaal tutoruial: `Urgent synchronisation channels are declared by prefixing the channel declaration with the keyword urgent. Delays must not occur if a synchronisation transition on an urgent channel is enabled.' I guess that means non-zero delays? – Heinrich Ody Jun 18 '19 at 07:36
  • You're right. Perhaps there is a typo in the paragraph 'semantics'. – user2083098 Jun 19 '19 at 09:22