<< Chapter < Page | Chapter >> Page > |
As a more complicated variation, we generally want to match requests and their servicing. For example, what if there are tworequests, and , arriving in that order?In a particular context, do we expect that there are also exactly two servicings, and ? If so, do we also expect them in that order?
As a partial solution, how can we express ``whenever , will happen before ''?
If we are also requiring that indeed actually happen, then we can use the following: .
Note that since LTL does not have quantifiers (like and) we cannot use variable indexing in our formulas.In other words, we can't talk about and , but instead, must always refer to specific variables like and .
From these examples and the ones following, we can see that English is typically too ambiguous. To get the appropriatelogic formula, we need to go back to the original problem and determine what was truly meant.Formalizing your specifications into temporal logic gives you the opportunity to closely examine what those specificationsreally should be.
Given a formula, try to understand it by translating it into English. Providing sample timelines that satisfy the formulais also quite helpful.
Describe the meaning of in words and a timeline.
Literally, we can simply say ``always, eventually ''. While that phrase is fairly common among logicians, it's not very natural ormeaningful to most people. A clearer, but more long-winded, equivalent is``at any point in time, will happen in the future''.
More concise, though, is `` happens infinitely often''. To understand that, consider a timeline. In words, at any time , will happen sometime in the future; call that time . And at moment +1, will happen sometime in the future; call that . Repeat forever.
Describe the meaning of in words and a timeline.
Again, a literal translation is ``always, if q then always not p''.Correct, but a bit more idiomatic-English would be ``whenever q, then forever not p'' or``Once q, p is forever false''.
A railroad wants to make a new controller for single-track railroad crossings.Naturally, they don't want any accidents with cars at the crossing, so they want to verify their controller.Their propositions include , , , and .
Brainstorming: Using natural English, what are some propertieswe'd like to have true? Feel free to use words like ``always'', ``eventually'',``while'', and ``until''. You may add new propositions to , if you think it's appropriate.
For each, feel free to demonstrate that the one property is not sufficient:give a trace which satisfies the property but is either unacceptable or unrealistic.(For instance, ``the gate is always down'' is safe but unacceptable;``a train is always crossing'' is unrealistic since there aren't infinite trains.)
We can think of lots of examples, such as these.
Notification Switch
Would you like to follow the 'Model checking concurrent programs' conversation and receive update notifications?