Changeset 56 for papers/FDL2012/abstraction_refinement.tex
- Timestamp:
- Mar 8, 2012, 2:00:31 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
papers/FDL2012/abstraction_refinement.tex
r52 r56 1 \subsection{Generalities}2 1 3 2 We suppose that our concrete model is a composition of several components and each component has been previously verified. Hence, we have a set of verified properties for each component of the concrete model. The main idea of this technique is that we would like to make use of these properties to generate a better abstract model. Properties of the components that appear to be related to the global property to be verified, $\phi$ are selected to generate the abstract model $\widehat{M}_i$. This method is particularly interesting as it gives a possibility to converge quicker to an abstract model that is sufficient to satisfy the global property $\phi$. 4 3 5 \subsubsection{Refinement} 6 The model-checker provides a counterexample when a property failed during model-checking. The counterexample can be \emph{spurious} which means that the path is impossible in the concrete model $M$ or the counterexample is real which implies that $M \nvDash \phi $.When a counterexample is found to be spurious, it means that the current abstract model $\widehat{M}_i$ is too coarse and has to be refined. In this section, we will discuss about the refinement technique based on the integration of more verified properties of the concrete model's components in the abstract model to be generated. Moreover, the refinement step from $\widehat{M}_i$ to $\widehat{M}_{i+1}$ has to be conservative and respects the properties below: 4 \subsection{Properties of good refinement} 5 When a counterexample is found to be spurious, it means that the current abstract model $\widehat{M}_i$ is too coarse and has to be refined. 6 In this section, we will discuss about the refinement technique based on the integration of more verified properties of the concrete model's components in the abstract model to be generated. Moreover, the refinement step from $\widehat{M}_i$ to $\widehat{M}_{i+1}$ respects the properties below: 7 7 8 8 %\medskip 9 9 10 10 \begin{property} 11 All $\widehat{M}_i$ generated are upper-approximations of $M$. Furthermore, we guarantee that $\widehat{M}_{i+1} \sqsubseteq \widehat{M}_i$. 11 \begin{enumerate} 12 \item The new refinment is an over-approximation of the concrete model: $\widehat{M}_{i+1} \sqsubseteq \widehat{M}$. 13 \item The new refinment is more concrete than the previous one: 14 $\widehat{M}_{i} \sqsubseteq \widehat{M}_{i+1}$. 15 \item The spurious counter-example in $\widehat{M}_i$ is removed from 16 $\widehat{M_{i+1}}$. 17 \end{enumerate} 12 18 \end{property} 13 %\bigskip 14 \begin{property} 15 $\sigma_i$ is a counterexample of $\widehat{M}_i$ and $\sigma_i$ is not a counterexample of $\widehat{M}_{i+1}$. 16 \end{property} 17 18 %\bigskip 19 %\newpage 20 21 \subsubsection{The Counterexample} 22 23 24 The counterexample at a refinement step $i$, $\sigma_i$ is a path in the abstract model $\widehat{M}_i$ which dissatisfy $\phi$. In the counterexample given by the model-checker, the variables' value in each states are boolean. 25 %\medskip 26 19 20 Moreover, the refinement steps should be easy to compute and ensure a fast 21 convergence by the minimizing the number of iteration of the CEGAR loop. 22 23 24 A possible refinement : concretization of selected abstract variables. How to choose variables and instants of concretization : introduce new CTL properties. The question is : how to select pertinent CTL properties ??? 25 26 \TODO{discussion sur comment garantir les points 1/2/3 et le reste du bon 27 rafinement} 28 \subsection{The Counterexample} 29 30 \TODO{Mettre la def avant} 31 \TODO{Rafinement par négation du contre-exemple} 32 The counterexample at a refinement step $i$, $\sigma$ is a path in the 33 abstract model $\widehat{M}_i$ which dissatisfy $\Phi$. In the counterexample given by the model-checker, the variables' value in each states are boolean. 34 The spurious counter-example $\sigma$ is defined such that : 27 35 \begin{definition} 28 \textbf{\emph{The counterexample $\sigma _i$ :}} \\36 \textbf{\emph{The counterexample $\sigma$ :}} \\ 29 37 \\ 30 Let $\widehat{M}_i =(\widehat{AP}_i, \widehat{S}_i, \widehat{S}_{0i}, \widehat{L}_i, \widehat{R}_i, \widehat{F}_i)$ and let the length of the counterexample, $|\sigma_i| = n$: $ \sigma_i = \langle s_{\bar{a}i,0}, s_{\bar{a}i,1}, s_{\bar{a}i,2}, ... , s_{\bar{a}i,k},$ $s_{\bar{a}i,k+1}, ... , s_{\bar{a}i,n}\rangle $ with $ \forall k \in [0,n-1], ~s_{\bar{a}i,k} \subseteq s_{i,k} \in \widehat{S}_i, ~s_{\bar{a}i,0} \subseteq s_{i,0} \in \widehat{S}_{0i}$ and $(s_{i,k}, s_{i,k+1}) \in \widehat{R}_i$. \\ 31 Furthermore, for each state in $\sigma_i$ we have $s_{\bar{a}i,k} = \langle v_{\bar{a}i,k}^1, v_{\bar{a}i,k}^2, ... , v_{\bar{a}i,k}^p, ... , v_{\bar{a}i,k}^q \rangle$, $\forall p \in [1,q], ~v_{\bar{a}i,k}^p \in \widehat{V}_{i,k}$ with $\widehat{V}_{i,k} \in 2^q$. \\ 32 \\ 33 (\emph{\underline{Note} :} In AKS $\widehat{M}_i$, the variables are actually 3-valued : $\widehat{V}_{i,k} \in 3^q$. We differenciate the 3-valued variables $v_{i,k}^p$ from boolean variables with $v_{\bar{a}i,k}^p$.)\\ 34 35 %\medskip 36 38 Let $\widehat{M}_i =\langle \widehat{AP}_i, \widehat{S}_i, \widehat{S}_{0i}, 39 \widehat{L}_i, \widehat{R}_i, \widehat{F}_i \rangle$ and let the length of the 40 counterexample, $|\sigma| = n$: $ \sigma = s_{0} \rightarrow s_{1} \ldots 41 s_{n}$ with $(s_{k}, s_{k+1}) \in \widehat{R}_i$ $\forall k \in [0..n-1]$. 42 \begin{itemize} 43 \item All its variables are concrete: $\forall s_i$ and $\forall p\in 44 \widehat{AP}_i$, $p$ is either true or false 45 (not {\it unknown}). 46 \item $\sigma$ is a counter-example in $\widehat{M}_i$: $s_0\not\models \Phi$. 47 \item $\sigma$ is not a path of the concrete system $M$: $\exists k$ such 48 that $(s_{k}, s_{k+1}) \not\in R$. 37 49 \end{definition} 38 50 39 51 %\bigskip 40 52 41 \begin{definition}42 \textbf{\emph{Spurious counterexample :}} \\43 \\44 Let $\sigma_c = \langle s_{c,0}, s_{c,1}, s_{c,2}, ... , s_{c,k}, s_{c,k+1}, ... , s_{c,n}\rangle$ a path of length $n$ in the concrete model $M$ and in each state of $\sigma_c$ we have $s_{c,k} = \langle v_{c,k}^1, v_{c,k}^2, ... , v_{c,k}^{p'}, ... , v_{c,k}^{q'} \rangle$ with $\forall p' \in [1,q'], ~v_{i,k}^{p'} \in V_{c,k}$ and $V_{c,k} \in 2^{q'}$.\\45 46 \smallskip47 48 If $\forall k$ we have $\widehat{V}_{i,k} \subseteq V_{c,k}$ and $\forall v_{\bar{a}i,k} \in \widehat{V}_{i,k}, ~s_{i,k}|_{v_{\bar{a}i,k}} = s_{c,k}|_{v_{c,k}} $ then $M \nvDash \phi$ else $\sigma_i$ is \emph{spurious}.49 50 \end{definition}51 52 53 54 \subsection{ Pre-processing and pertinency ordering of properties}53 %\begin{definition} 54 %\textbf{\emph{Spurious counterexample :}} \\ 55 %\\ 56 %Let $\sigma_c = \langle s_{c,0}, s_{c,1}, s_{c,2}, ... , s_{c,k}, s_{c,k+1}, ... , s_{c,n}\rangle$ a path of length $n$ in the concrete model $M$ and in each state of $\sigma_c$ we have $s_{c,k} = \langle v_{c,k}^1, v_{c,k}^2, ... , v_{c,k}^{p'}, ... , v_{c,k}^{q'} \rangle$ with $\forall p' \in [1,q'], ~v_{i,k}^{p'} \in V_{c,k}$ and $V_{c,k} \in 2^{q'}$.\\ 57 % 58 %\smallskip 59 % 60 %If $\forall k$ we have $\widehat{V}_{i,k} \subseteq V_{c,k}$ and $\forall v_{\bar{a}i,k} \in \widehat{V}_{i,k}, ~s_{i,k}|_{v_{\bar{a}i,k}} = s_{c,k}|_{v_{c,k}} $ then $M \nvDash \phi$ else $\sigma_i$ is \emph{spurious}. 61 % 62 %\end{definition} 63 64 65 66 \subsection{Ordering of properties} 55 67 56 68 Before generating an abstract model to verify a global property $\phi$, the verified properties of all the components in the concrete model are ordered according to their pertinency in comparison to a global property $\phi$. In order to do so, the variable dependency of the variables present in global property $\phi$ has to be analysed. After this point, we refer to the variables present in the global property $\phi$ as \emph{primary variables}.
Note: See TracChangeset
for help on using the changeset viewer.