<< Chapter < Page | Chapter >> Page > |
Thus a trace is a path through the state space (as we have already seen ). Now that we have logic propositions associated with each state,we can see that during a trace, those propositions will change their truth value over time.We'll illustrate this with diagrams like the following.
In this example, and are propositions from . Since in the trace , we have being true at (for example) index 2, we write . In this diagram, it is also the case that .
Although a bit unintuitive at first, it will be convenient to convert all finite traces into infinite ones.To do the conversion, we simply envision that once the automaton reaches its ostensibly last ( th) state, it languishes furiously in that state over and over:
To ensure this still satisfies the definition of a trace (where successive states must obey the automaton's transition relation),it is often assumed that every state has a transition to itself. Note that this convention precludes assuming that somethingmust change between one state and the next, which is plausible since we are modeling asynchronous systems.This will be reflected in our formal logic below, which will have no built-in primitive for ``the-next-state''.
Now that we have a formal model of what a trace is,
we can start to make formal statements about what happens in a trace.The simplest statements are
state formulas ,
Notification Switch
Would you like to follow the 'Model checking concurrent programs' conversation and receive update notifications?