• Aucun résultat trouvé

Illustration des quatre diff ´erentes modalit ´es des transitions abstraites

On parle demay-transition,must−-transition,must+-transitionetmust#-transitionet on note

q→ q−e 0, q e

−−→ q0, q−−e→ q+ 0et q e

#

−→ q0lorsqu’une transition a la modalit ´e may, must−, must+ou

must# respectivement.

Soient q→ q−e 0une transition abstraite et a la substitution appliqu ´ee par l’ ´ev ´enement e. La

modalit ´e de q→ q−e 0 est calcul ´ee par des appels `a un solveur SMT. Elle a la modalit ´e :

• maysi et seulement siSAT(q ∧ prdX(a) ∧ q0[X

0

/X])= sat.

• must−si et seulement siSAT(¬∃(X).(q ∧ prd

X(a)) ∧ q0[X

0

/X])= unsat.

• must+si et seulement siSAT(q ∧ ¬∃(X0).(prd

X(a) ∧ q0[X

0

/X]))= unsat.

La d ´efinition 14 pr ´esente les syst `emes de transitions tri-modaux qui s’apparentent aux syst `emes abstraits et attribuent des modalit ´es `a chaque transition qui les composent.

D ´efinition 14 : Syst `eme de Transitions Tri-Modal (3MTS) associ ´e `a un ES et un ensemble de pr ´edicats d’abstraction

Soient un syst `eme ´ev ´enementiel ESde f= hX, Inv, Init, Evi `a abstraire, P un ensemble de pr ´edicats d’abstraction sur X et A l’ensemble des ´etats abstraits issus de P.

Le syst `eme de transitions tri-modal (not ´e 3MTS) associ ´e `a ES et P est un 5-uplet hQ0, Q, ∆, ∆−, ∆+io `u :

• Q0 de f= {q | q ∈ Q ∧ SAT(q[X0

/X] ∧ prdX(Init))} est un ensemble fini d’´etats initiaux du syst `eme abstrait

• Qde f= {q | q ∈ A ∧ ∃(q0).(q→ q−e 0∈∆)} est un ensemble fini d’´etats abstraits • ∆ ⊆ Q × {e | ede f= a ∈ Ev} × Q est la relation de may-transitions.

Puisque les must−-transitions, must+-transitions et must#-transitions sont ´egalement des may-transitions, elles sont ´egalement dans∆.

• ∆−∆ est l’ensemble des must-transitions. • ∆+⊆∆ est l’ensemble des must+-transitions.

L’ensemble des must#-transitions peut ˆetre construit par l’intersection entre∆− et+, rai-

son pour laquelle il n’apparaˆıt pas dans un 3MTS. De plus, l’ensemble des may-transitions

n’ ´etant ni des must−-transitions ni des must+-transitions peut ˆetre obtenu en retirant les

´el ´ements de∆ ´etant ´egalement contenus dans ∆−et/ou+.

Dans le cas d’une ´etude o `u on ne s’int ´eresse qu’ `a la modalit ´e may, les ensembles ∆−et

∆+sont supprim ´es. On parle alors de syst `eme de may-transitions (not ´e MTS pourMay-

Transitions System) pr ´esent ´e par la d ´efinition 15.

D ´efinition 15 : Syst `eme de May-Transitions (MTS) associ ´e `a un syst `eme ´ev ´enementiel et un ensemble de pr ´edicats d’abstraction

Un syst `eme de may-transitions correspond au triplet hQ0, Q, ∆i d’un 3MTS hQ0, Q, ∆, ∆−, ∆+i.

La notion de may-atteignabilit ´e fait l’objet de la d ´efinition 16.

D ´efinition 16 : May-atteignabilit ´e

Un ´etat may-atteignable d’un MTS hQ0, Q, ∆i est un ´etat atteignable depuis un ´etat de Q0 par la relation de transitions∆. Par extension, une transition d’un MTS est dite may- atteignable si son ´etat source est may-atteignable.

On note qu’une transition peut- ˆetre may-atteignable mais ne pas ˆetre atteignable de mani `ere concr `ete au sens de la d ´efinition 8. En effet, l’atteignabilit ´e concr `ete d’une tran-

sition may-atteignable impose qu’au moins un ´etat concret atteignable soit source d’une

instance de cette transition. La relation de transition∆ ne garantit pas que ce soit le cas.

Ind ´ecidabilit ´e du calcul du MTS atteignable : Le MTS atteignable `a partir d’un syst `eme d’ ´ev ´enements et d’un ensemble de pr ´edicats d’abstraction est le MTS qui contient toutes les may-transitions atteignables concr `etement et seulement celles-l `a. Il

s’agit de la m ˆeme notion que celle detrue FSMdans le contexte des machines `a ´etats

abstraits (FSM, Finite State Machine, voir section 2.1.2 dans [Grieskamp et al., 2002]). En cons ´equence, et comme il est prouv ´e dans [Grieskamp et al., 2002] (section 3.3), le calcul du MTS atteignable `a partir d’un syst `eme d’ ´ev ´enements et d’un ensemble de pr ´edicats d’abstraction est un probl `eme ind ´ecidable dans le cas g ´en ´eral.

Soient ES un syst `eme ´ev ´enementiel, AS son syst `eme abstrait correspondant et α la

fonction d’abstraction. On dit d’une transition concr `ete c→ c−e 0 qu’elle instancie (ou qu’elle

correspond `a) une transition abstraite q→ q−e 0 de AS lorsque α(c)= q, α(c0) = q0et c→ ce 0

appartient au LTS s ´emantique de ES. De m ˆeme, on dit d’un ´etat concret c qu’il est une

instance d’un ´etat abstrait q de AS si α(c)= q et c appartient au LTS s´emantique de ES.

Les instances concr `etes correspondant aux ´etats abstraits et aux transitions abstraites

d’un MTS constituent un syst `eme concret de transitions, not ´e CTS pour Concrete

Transitions System et pr ´esent ´e par la d ´efinition 17. On dit alors qu’un CTS est la

concr ´etisation du MTS.

D ´efinition 17 :Syst `eme Concret de Transitions (CTS) associ ´e `a un MTS SoitMde f= hQ0, Q, ∆i un syst`eme de may-transitions.

Unsyst `eme concret de transitionsassoci ´e `aM est un 3-uplet hC0, C, ∆cio `u : • Cest un ensemble d’instances des ´etats de Q

• C0⊆ Cest un ensemble d’instances des ´etats de Q0 • ∆cest un ensemble d’instances des transitions de∆

Les notions de sous-approximation et de sur-approximations sont primordiales dans le cadre de la v ´erification de syst `emes et de la g ´en ´eration de tests. Ces concepts sont introduits par la d ´efinition 18.

D ´efinition 18 :Sous-approximation et sur-approximation d’un mod `ele

Un MTS est unesur-approximation d’un mod `elelorsque toute s ´equence de transitions concr `etes constituant une ex ´ecution du mod `ele instancie une s ´equence de transitions may-atteignables du MTS.

Un MTS est une sous-approximation d’un mod `ele lorsque toute s ´equence de transi- tions may-atteignables du MTS peut ˆetre instanci ´ee par une s ´equence de transitions concr `etes constituant une ex ´ecution du mod `ele.

Par extension, un CTS hC0, C, ∆ci issu d’un MTS est une sous-approximation d’un mod `ele si l’ensemble des ´etats et des transitions qui le composent sont atteignables sur le mod `ele.

Dans le cadre de la v ´erification de propri ´et ´es sur un mod `ele, on cherchera g ´en ´eralement `a calculer efficacement une sur-approximation du mod `ele et `a d ´emontrer que la pro- pri ´et ´e n’est pas viol ´ee dans cette sur-approximation. Cela permet de garantir que l’impl ´ementation, si elle est conforme au mod `ele, ne violera pas non plus cette pro- pri ´et ´e. Dans le cadre du test en revanche, on cherche `a g ´en ´erer des tests instanciables