Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Presburger Arithmetic and Its Use in Verification
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CHAPTER 5.<br />
DURATION CALCULUS AND PRESBURGER FRAGMENTS<br />
Figure 5.1. Observation <strong>in</strong>tervals [10].<br />
Figure 5.2. AsimpleKripkestructure[15].<br />
where P is <strong>in</strong> the set of state variable names, k, c i ∈ Z <strong>and</strong> ⊲⊳ ∈{}.<br />
The above fragments of DC are undecidable already; if the duration is limited <strong>in</strong><br />
the form ∫ S⊲⊳k,thediscrete-timesatisfiabilityproblemisdecidable[10]. Withthe<br />
decidable fragments of DC, the model-check<strong>in</strong>g problem is described <strong>in</strong> the follow<strong>in</strong>g<br />
manner: models are expressed by means of automata (normally, a labelled automata<br />
like Kripke structures) <strong>and</strong> durations are calculated bas<strong>in</strong>g on traces of execution.<br />
Here the notion of traces is abstracted to the notion of visit<strong>in</strong>g frequencies of nodes.<br />
Therefore, given a DC formula φ <strong>and</strong> a Kripke structure K, K is a model of φ when<br />
every trace of K satisfies φ, writtenK |= φ. We consider an example of Kripke<br />
structures described <strong>in</strong> Figure 5.2 <strong>and</strong> check it aga<strong>in</strong>st the property ∫ P < 2.<br />
Certa<strong>in</strong>ly the answer is false because there exist some traces which visit P at least<br />
twice.<br />
When abstract<strong>in</strong>g from traces, some frequencies are not correspond<strong>in</strong>g to any<br />
real trace, so a count<strong>in</strong>g semantic <strong>in</strong> a multiset m is <strong>in</strong>troduced [10]. The multiset<br />
guarantees the consistency between visit<strong>in</strong>g frequencies <strong>and</strong> traces. The modelcheck<strong>in</strong>g<br />
algorithm does a bottom-up mark<strong>in</strong>g <strong>and</strong> generates side-condition <strong>in</strong> a<br />
form of <strong>Presburger</strong> formulas. The consistency condition C(K, i 0 ,j 0 , m, e) isexpressed<br />
by l<strong>in</strong>ear constra<strong>in</strong>ts of <strong>in</strong>flow <strong>and</strong> outflow equations, <strong>and</strong> there are some<br />
36