<< Chapter < Page Chapter >> Page >

For example, given a trace , we might ask about what is happening at 957 , and whether 957 Proc1_is_printing , or whether 957 ( ( ctr 3 ) philosopher_2_has_fork ) . The answer would be found by taking the automaton'sfunction P , and seeing what values the truth assignment P 957 assigns to our formula's individual propositions such as ( ctr 3 ) .

Consider the trace we saw previously and is repeated here.

A timing diagram for a trace , and propositions p and q .

For which i does i ( p q ) ? For which i does i ( p q ) ? How about i ( p q ) ?

However it doesn't make sense a priori to ask whether an entire trace satisfies some particular state formula;unlike regular propositional logic, the truth of state formulas changes over time, as the trace progresses.

Introducing temporal connectives

So, how do we talk about formulas holding (or not) over time?In addition to making formulas out of , , and propositions from the set Prop , we'll allow the use of temporal connectives .

  • always , or henceforth : We say that is true at a moment i , iff is true from moment i onwards.
  • eventually : We say that is true at moment i , iff will eventually be true at moment i or later.
  • U strong until : We say that ( U ) is true at moment i , iff eventually becomes true, and until then is true.
  • W weak until : Like Strong Until, but without the requirementthat eventually becomes true.

As a mnemonic for the symbols `` '' and `` '', we can imagine a square block of wood sitting on a table.Orienting it like , it will always sit there; orienting it like , it will eventually teeter.

More formally, we define these connectives as follows.

Always
i iff j i . j

Decide whether each is true or false for following trace (the same one seen earlier ).

A timing diagram for a trace , and propositions p and q
  • 9 q
  • 9 p
  • 0 q
  • 0 ( p q )
  • True; from 9 onwards, q stays true.
  • True. Even stronger, 7 p .
  • False, since 3 q .
  • True, since at each individual index i (from 0 on up), i ( p q ) .
Eventually
i iff k i . k

Decide whether each is true or false for the trace seen earlier .

  • 9 p
  • 9 p
  • 0 q
  • 0 q
  • 9 ( q p )
  • 0 ( p q )
  • False; from 9 onwards, p stays false.
  • True. This is a much weaker statement than 9 p , which we already saw was true.
  • Extremely true, since q is already true in 0 (and elsewhere, too).
  • True, since q is true in 3 (and elsewhere too).
  • False.
  • False. We already mentioned that 0 ( p q ) ; if you think about it, this means that 0 ( p q ) . (While we won't spend time discussing algebraic equivalences for LTL formulas, this is certainly reminiscent of DeMorgan's Law .)

Before continuing on with our two other connectives (strong- and weak-until),let's pull back a bit and look at our notation.

The nit-pickyer, the careful reader will have noticed that although we write i , really, the truth value of the formuladepends not on just a single state, but rather that state and the entire suffix of the trace after that.So writing i would be more accurate. Moreover, we are using not just the trace but also thetiming diagrams, which are just the graph of an automaton A 's mapping function (`` P ''). Thus the correct formulation really needs to be written A i (and it is required that be a legal trace with respect to the transitions of A ). However, now that we realize our abuse of notation,we'll revert and just write i .
In practice, we are often considering an entire trace, and wondering whether some property holds always or eventually.It's extremely natural to extend our notation from particular indices to the trace itself:
Trace models formula (`` '')iff 0 .
For example, from the above exercises, since 0 ( p q ) , we say simply ( p q ) .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Model checking concurrent programs. OpenStax CNX. Oct 27, 2005 Download for free at http://cnx.org/content/col10294/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Model checking concurrent programs' conversation and receive update notifications?

Ask