source: papers/FDL2012/framework.tex @ 90

Last change on this file since 90 was 89, checked in by cecile, 13 years ago

corrections typos and co

File size: 13.1 KB
RevLine 
[58]1The model-checking technique we propose is based on the Counterexample-guided
2Abstraction Refinement (CEGAR) methodology \cite{clarke00cegar}. The overall
[76]3description of our methodology is shown in figure \ref{cegar}.
[68]4We take into account the structure of the system as a set of synchronous components,
[82]5each of which has been previously verified and a set of CTL properties is
6attached to each component. This set refers to the specification of the
7component. We would like to verify whether a concrete model, $M$ presumably
[86]8big sized and composed of several components, satisfies a global ACTL property $\Phi$.
[81]9%Due to state space combinatorial explosion phenomenon that occurs when verifying huge and complex systems, an abstraction or approximation of the concrete model has to be done in order to be able to verify the system with model-checking techniques.
10Instead of building the product of the concrete components, we replace each concrete component by an abstraction of its behavior derived from a subset of the CTL properties it satisfies. Each abstract component represents an over-approximation of the set of behaviors of its related concrete component \cite{braunstein07ctl_abstraction}.
[52]11
[58]12%\subsection{Overall Description of our methodology}
[81]13%In CEGAR loop methodology, in order to verify a global property $\Phi$ on a
14%concrete model $M$, an abstraction of the concrete model $\widehat{M}$ is
15%generated and tested in the model-checker. As the abstract model is an
16%over-approximation of the concrete model and the global property $\Phi$ is in the ACTL fragment,
17As show in \cite{clarke94model} for over-approximation abstraction, if $\Phi$
18holds on the the abstract model then it holds in the concrete model as well.
19However, if $\Phi$ does not hold in the abstract model then one cannot conclude anything regarding the concrete model until the counterexample has been analyzed.
20The test of spurious counter-example is then translated into a
[77]21SAT problem as in \cite{clarke00cegar}. When a counterexample is proven to be spurious, the refinement phase occurs, injecting more preciseness into the (abstract) model to be analyzed.
[58]22
[52]23%\bigskip
24%\begin{definition}
[68]25%The property to be verified, $\Phi$ is an ACTL formula. ACTL formulas
[52]26%are CTL formulas with only universal path quantifiers: AX, AF, AG and AU.
27%\end{definition}
[56]28
[58]29%\begin{definition}
30%Given $\widehat{M} = (\widehat{AP}, \widehat{S}, \widehat{S}_0, \widehat{L}, \widehat{R}, \widehat{F})$ an abstract model of a concrete model, $M$ and $\Phi$, a global property to be verified on $M$, the model-checking result can be interpreted as follows:
31%
32%\begin{itemize}
33%\item{$\widehat{M} \vDash \Phi \Rightarrow M \vDash \Phi$ : verification completed }
34%\item{$\widehat{M} \nvDash \Phi$  and  $\exists \sigma$ : counterexample analysis required in order to determine whether $M \nvDash \Phi$ or $\widehat{M}$ is too coarse. }
35%\end{itemize}
36%\end{definition}
[52]37
38%\bigskip
[58]39%We can conclude that the property $\Phi$ doesn't hold in the concrete model $M$ if the counterexample path is possible in M. Otherwise the abstract model at step $i : \widehat{M}_i$, has to be refined if $\widehat{M}_i \nvDash \Phi$ and the counterexample obtained during model-checking was proven to be \emph{spurious}.
[52]40
41\begin{figure}[h!]
42%   \centering
43%   \includegraphics[width=1.2\textwidth]{our_CEGAR_Loop_Enhanced_2S_PNG}
44%     \hspace*{-5mm}
[84]45     \includegraphics{our_framework_cegar_png}
[52]46   \caption{\label{cegar} Verification Process }
47\end{figure}
48
[58]49\subsection{Concrete system definition}
[89]50As mentioned earlier, our concrete model consists of several components and each
[81]51component comes with its specification.
[76]52The concrete system is a synchronous composition of components, each of which
[56]53described as a Moore machine.
54\begin{definition}
55A \emph{Moore machine} $C$ is defined by a tuple $\langle I, O, R,$ $\delta, \lambda, \mathbf{R}_0 \rangle$, where,
56\begin{itemize}
[81]57\item $I$ is a finite set of Boolean inputs signals.
58\item $O$ is a finite set of Boolean outputs signals.
59\item $R$ is a finite set of Boolean sequential elements (registers).
[56]60\item $\delta : 2^I \times 2^R \rightarrow 2^R$ is the transition function.
61\item $\lambda : 2^R \rightarrow 2^O$ is the output function.
62\item $\mathbf{R}_0 \subseteq 2^R$ is the set of initial states.
63\end{itemize}
64\end{definition}
[52]65
[81]66\emph{States} (or configurations) of the circuit correspond to Boolean configurations of all the sequential elements.
[52]67
[56]68\begin{definition}
69A \emph{Concrete system} $M$ is obtained by synchronous composition of the
70component.\\
71$M = C_1 \parallel C_2 \parallel \ldots \parallel C_n$,where each $C_i$ is a
72Moore machine with a specification associated $\varphi_i = \{\varphi_i^1 \ldots
[58]73\varphi_i^k\}$ Each $\varphi_i^j$ is a CTL$\setminus$X formula whose
[76]74propositions $AP$ belong to $\{I_i\cup O_i\cup R_i\}$ .
[56]75\end{definition}
76
77\subsection{Abstraction definition}
78
[81]79Our abstraction reduces the size of the representation model by
[76]80letting free some of its variables. The point is to determine the good set of variable
[56]81to be freed and when to free them. We take advantage of the CTL specification
82of each component: a CTL property may be seen as a partial view of the tree of
83behaviors of its variables. All the variables not specified by the property
84can be freed. We introduced the Abstract Kripke Structure (AKS for short) which exactly
[76]85specifies when the variable of the property can be freed.
[68]86The abstraction of a component is represented by an AKS,
[56]87derived from a subset of the CTL properties the component satisfies.
88Roughly speaking, AKS($\varphi$), the AKS derived from a CTL property
89$\varphi$, simulates all execution trees whose initial state satisfies
90$\varphi$. In AKS($\varphi$), states are tagged with the truth values of
[76]91$\varphi$'s atomic propositions, among the four truth values of Belnap's logic \cite{belnap77}: inconsistent ($\bot$),
92false ($\mathbf{f}$), true ($\mathbf{t}$) and unknown ($\top$)).
[56]93States with inconsistent truth values are not represented since they refer to non possible
[82]94assignments of the atomic propositions. A set of fairness constraints
95eliminates non-progress cycles. The transformation algorithm of a
96CTL$\setminus$X property into an AKS is described in
97\cite{braunstein07ctl_abstraction,braunstein_phd07}.
[56]98
[52]99
[68]100%Assume that we have an abstract Kripke structure (AKS) representing the abstract model $\widehat{M}$ of the concrete model of the system M with regard to the property to be verified, $\Phi$. The abstraction method is based on the work described in \cite{ braunstein07ctl_abstraction}.
101
102\begin{definition}{\label{def-aks}}
[61]103Given a CTL$\setminus$X property $\varphi$ whose set of atomic propositions is
104$AP$, An \emph{Abstract Kripke Structure}, $AKS(\varphi) =(AP, \widehat{S}, \widehat{S}_0, \widehat{L}, \widehat{R}, \widehat{F})$ is a 6-tuple consisting of:
[52]105
106\begin{itemize}
[58]107\item { $AP$ : The finite set of atomic propositions of property $\varphi$ }   
[52]108\item { $\widehat{S}$ : a finite set of states}
109\item { $\widehat{S}_0 \subseteq \widehat{S}$ : a set of initial states}
[76]110\item { $\widehat{L} : \widehat{S} \rightarrow \cal{B}^{\mid AP \mid}$ with $\cal{B} = \{\bot, \mathbf{f}, \mathbf{t},\top\}$: a labeling function which labels each state with configuration of current value of each atomic proposition.}
[52]111\item { $\widehat{R} \subseteq \widehat{S} \times \widehat{S}$ : a transition relation where $ \forall s \in \widehat{S}, \exists s' \in \widehat{S}$ such that $(s,s') \in \widehat{R}$ }
112\item { $\widehat{F}$ : a set of fairness constraints (generalized B\"uchi
113acceptance condition)}
114\end{itemize}
115\end{definition}
116%\bigskip
117
[76]118We denote by $\widehat{L}(s)$ the configuration of atomic propositions in state $s$ and by $\widehat{L}(s)[p]$ the projection of configuration $\widehat{L}(s)$ according to atomic proposition $p$.
[52]119
[79]120
[52]121As the abstract model $\widehat{M}$ is generated from the conjunction of verified properties of the components in the concrete model $M$, it can be seen as the composition of the AKS of each property.
[57]122The AKS composition has been defined in \cite{braunstein_phd07}; it extends
[76]123the classical synchronous composition of Moore machine to deal with
[56]124four-valued variables.
[52]125%\bigskip
126
[79]127\begin{definition} An \emph{Abstract model} $\widehat{M}$ is obtained by
[86]128synchronous composition of components abstractions. Let $n$ be the number of components in the model and $m$ be the number of selected verified properties of a component;
[76]129let $C_j$ be a component of the concrete model $M$ and $\varphi_{j}^k$ is a CTL formula describing a satisfied property of component $C_j$. Let $AKS (\varphi_{C_j^k})$ the AKS generated from $\varphi_j^k$. We have $\forall j \in [1,n]$ and $\forall k \in [1,m]$:
[52]130
131\begin{itemize}
132\item{$ \widehat{C}_j = AKS (\varphi_{C_j^1}) ~||~ AKS (\varphi_{C_j^2} ) ~||~...~||~ AKS (\varphi_{C_j^k}) ~||$\\ $ ...~||~ AKS (\varphi_{C_j^m}) $}
133\item{$ \widehat{M} = \widehat{C}_1 ~||~ \widehat{C}_2 ~||~ ... ~||~ \widehat{C}_j ~||~... ~||~ \widehat{C}_n $}
134\end{itemize}
135
136\end{definition}
137
138
[76]139The generation of an abstract model in the form of AKS from CTL formulas is described in \cite{braunstein07ctl_abstraction} and has been implemented (\cite{bara08abs_composant}).
[52]140
141
[58]142%\subsection{Characterization of AKS}
[52]143
[81]144In an AKS a state where a variable $p$ is {\it unknown}
[58]145can simulate all states in which $p$ is either true or false. It
[76]146is a concise representation of the set of more concrete states in which $p$
[58]147is either true or false.  A state $s$ is said to be an \emph{abstract state}
148if one its variable $p$ is {\it unknown}.
[52]149
[58]150%\begin{definition}
[68]151%A state $s$ is an {\emph abstract state} if one its variable $p$ is {\it unknown}.
[58]152%\end{definition}
153
154\begin{definition}[]
155The \emph {concretization} of an abstract state $s$ with respect to the variable $p$
[56]156({\it unknown} in that state), assigns either true or false to $p$.
[52]157
[58]158The \emph {abstraction} of a state $s$ with respect to the variable $p$
[56]159(either true or false in that state), assigns  {\it unknown} to $p$.
160\end{definition}
[52]161
[79]162\begin{property}[Concretization]
[81]163\label{prop:concrete}
[79]164Let $A_i$ and $A_j$ two abstractions such that $A_j$ is obtained by
[81]165concretizing one abstract variable of $A_i$ (resp. $A_i$ is obtained by
[82]166abstracting one variable in $A_j$). Then $A_i$ simulates $A_j$, denoted by
[81]167$A_j \sqsubseteq A_i$.
[56]168\end{property}
169\begin{proof}
170As the concretization of state reduces the set of concrete configuration the
171abstract state represents but does not affect the transition relation of the
[81]172AKS. The unroll execution tree of $A_j$ is a sub-tree of the one of $A_i$. Then
173$A_i$ simulates $A_j$.
[56]174\end{proof}
[52]175
[81]176\begin{property}[Composition and Concretization]
[79]177\label{prop:concrete_compose}
178Let $\widehat{M_i}$ be an abstract model of $M$ and $\varphi_j^k$ be a property
179of a component $C_j$ of M,  $\widehat{M}_{i+1} = \widehat{M_i}\parallel
[89]180AKS(\varphi_j^k) $ is more concrete that $ \widehat{M_i}$, $\widehat{M}_{i+1}
[81]181\sqsubseteq \widehat{M}_i$.
[79]182\end{property}
[52]183
[79]184\begin{proof}
[86]185Let $s = (s_i,s_{\varphi_j^k})$ be a state in $S_{i+1}$, such that $s_i\in S_i$
[81]186and $s_{\varphi_j^k} \in S_{\varphi_j^k}$.
[89]187The label of $s_{i+1}$ is obtained by applying the Belnap's logic operators
188{\it and} to the  four-valued values of variables in $s_i$ and $s_{\varphi_j^k}$. For all $p \in
[81]189AP_i \cup AP_{\varphi_j^k}$ we have the following label~:
190\begin{itemize}
191\topsep -.5em
192\itemsep -0.5em
193\item  $\widehat{L}_{i+1}[p] = \top$ iff  p is {\it unknown} in both states or
194does not belong to the set of atomic proposition.
195\item  $\widehat{L}_{i+1}[p] = \mathbf{t}$ (or $\mathbf{f}$) iff $p$ is true
196(or false) in $s_{\varphi_j^k}$ (resp. $s_i$)  and {\it unknown} in $s_i$
197(resp. $s_{\varphi_j^k}$).
198\end{itemize}
[89]199By property \ref{prop:concrete}, $\widehat{M}_{i+1}$ is more concrete than
200$\widehat{M}_i$ and by
[86]201the property of parallel composition,
[81]202$\widehat{M_i} \sqsubseteq \widehat{M}_{i} \parallel AKS(\varphi_j^k$).
[79]203\end{proof}
204
[58]205\subsection{Initial abstraction}
[81]206Given a global property $\Phi$, the property to be verified by the composition of the concrete components model, an abstract model is generated by selecting some of the properties of the components which are relevant to $\Phi$.
207%We suppose that our concrete model is a composition of several components and
208%each component has been previously verified. Hence, we have a set of verified
209%properties for each component of the concrete model. The main idea of this
210%technique is that we would like to make use of these properties to generate a
211%better abstract model. Properties of the components that appear to be related
212%to the global property to be verified, $\Phi$ are selected to generate the
213%abstract model $\widehat{M}_i$. This method is particularly interesting as it
214%gives a possibility to converge quicker to an abstract model that is
215%sufficient to satisfy the global property $\Phi$.
216%In the following, we will name primary variables the set of variable that
217%appears in the global property.
[82]218In the initial abstraction generation, all variables that appear in $\Phi$ have to be
[58]219represented. Therefore the properties in the specification of each component
[81]220where these variables are present will be used to generate the initial
[58]221abstraction, $\widehat{M}_0$ and we will verify the satisfiability of the
222global property $\Phi$ on this abstract model. If the model-checking failed and the counterexample given is found to be spurious, we will then proceed with the refinement process.
[52]223
224
Note: See TracBrowser for help on using the repository browser.