• Aucun résultat trouvé

Repr´ esentation des solutions

4.3 Prise en compte des priorit´ es dans CCSL

4.3.1 Repr´ esentation des solutions

Probl`eme `a r´esoudre Pour un syst`eme contraint par une sp´ecification ccsl, consid´er´e `a un instant logique courant, nous savons caract´eriser l’ensemble des ´evolutions autoris´ees `a cet instant : il s’agit de l’ensemble des valuations qui satisfont la formule propositionnelle φ issue de la traduction des contraintes ccsl. Imposer une relation de priorit´e revient `a ne retenir qu’un sous-ensemble des solutions pr´ec´edentes. Notre objectif est de caract´eriser ce sous-ensemble.

Pour r´esoudre ce probl`eme, nous proposons de construire un graphe de d´ecision. Cette approche n´ecessite un minimum de notations que nous introduisons maintenant.

4.3.1.1 Notations

D´efinition 4.1 Soit V l’ensemble des variables propositionnelles en bijection avec l’ensemble des horloges logiques d´efinies dans une sp´ecification ccsl. Par la suite, nous noterons > (resp. ⊥) la valuation `a “vrai” (resp. “faux”) d’une variable propositionnelle (ou formule portant sur les variables de V).

D´efinition 4.2 Soit φ 6= ⊥ une formule propositionnelle sur V. φ induit une partition de V en trois sous-ensembles VφF +, VφF − et VφU tels que

– VφF + est l’ensemble des variables de V fix´ees `a vrai pour φ, c’est-`a-dire que dans toutes

les solutions qui satisfont φ, v est `a vrai ;

– VφF − est l’ensemble des variables de V fix´ees `a faux pour φ, c’est-`a-dire que dans toutes

les solutions qui satisfont φ, v est `a faux ;

– VφU est l’ensemble des variables de V non fix´ees pour φ, c’est-`a-dire que pour tout

v ∈ VφU, il existe des solutions satisfaisant φ avec v = faux et des solutions avec v = vrai.

Remarque 4.1 Une variable qui n’apparaˆıt pas explicitement dans φ est n´ecessairement dans VφU.

Dans la suite, nous utilisons souvent la notion de co-facteur. Les co-facteurs permettent entre autre de d´eterminer ais´ement si une variable est fix´ee ou non dans une formule propositionnelle (propri´et´es 4.1 et 4.2).

D´efinition 4.3 (Co-facteur) Soit f une fonction bool´eenne sur X = x1, · · · , xn, on appelle ie

co-facteurs de f les fonctions bool´eennes f|xi=faux et f|xi=vrai.

– f|xi=faux est not´e f¬xi et appel´e co-facteur n´egatif de f pour xi;

– f|xi=vrai est not´e fxi et appel´e co-facteur positif de f pour xi;

On peut alors pour tout i de 1 `a n ´ecrire la d´ecomposition de Shannon sous la forme

(4.13) f (x1, · · · , xi, · · · , xn) = (xi∧ fxi) ∨ (¬xi∧ f¬xi)

Proposition 4.1 v appartient `a VφF + si et seulement si (φ 6= ⊥) et (φ¬v= ⊥).

La premi`ere clause ´elimine le cas trivial de la fonction φ = ⊥ qui ne d´epend d’aucune variable. La deuxi`eme clause dit que le co-facteur n´egatif de φ est ⊥. Cela signifie qu’aucune va- luation satisfaisant φ n’affecte faux `a v. Pour toute valuation satisfaisant φ, v est donc forc´ement `

a vrai et appartient `a VφF +.

Proposition 4.2 v appartient `a VφF − si et seulement si (φ 6= ⊥) et (φv = ⊥).

Cette proposition est duale de la pr´ec´edente.

4.3.1.2 Repr´esentation par graphe de d´ecision

Pour une formule propositionnelle φ sur V, nous voulons d´eterminer les valuations de V qui satisfont φ. Ces solutions vont ˆetre trouv´ees par la construction incr´ementale d’un graphe de d´ecision. Cette approche s’apparente aux techniques utilis´ees par les outils SAT. A l’inverse de ces derniers qui tentent de trouver une solution, nous souhaitons consid´erer la totalit´e des solutions d’une formule φ. De plus, nos d´ecisions vont privil´egier les horloges qui tiquent dans une r´eaction car elles ont une influence majeure sur les contraintes de priorit´e et l’´evolution d’un syst`eme d´ecrit en ccsl (un instant logique o`u aucune horloge ne tique ne fait pas ´evoluer la configuration). La construction se fait donc en ajoutant `a un sommet un arc ´etiquet´e par une variable v de l’ensemble des variables non fix´ees `a ce sommet. Cet arc correspond au choix de la valeur vrai pour v.

D´efinition 4.4 (Graphe de d´ecision) Pour une formule propositionnelle φ sur V on d´efinit un graphe orient´e acyclique :

o`u S est l’ensemble des sommets, A ⊂ S × S l’ensemble des arcs, λA: A → V est une fonction

d’´etiquetage des arcs et λS une fonction d’´etiquetage des sommets.

L’´etiquette d’un sommet est un triplet hψ, D, Li qui contient les informations relatives au point de d´ecision repr´esent´e :

– ψ est une formule propositionnelle sur V ;

– D est l’ensemble des variables pour lesquelles on a pris la d´ecision de les fixer `a vrai ; – L est l’ensemble des variables dont la valeur n’est pas encore fix´ee.

Proposition 4.3 Les ensembles S et A de Gφ sont d´efinis inductivement comme les ensembles

minimaux tels que :

1. Le sommet initial s0 ´etiquet´e par hφ, ∅, VφUi est dans S

2. Pour tout sommet s dans S ´etiquet´e hψ, D, Li, pour tout v ∈ V, si les conditions 4.14 sont satisfaites, alors le sommet s0 ´etiquet´e hψ0, D0, L0i est dans S et il existe un arc (s, s0)

dans A ´etiquet´e par v.

Condition d’existence d’un arc Dans le graphe Gφ, on a un arc ´etiquet´e v du sommet s ´etiquet´e

hψ, D, Li au sommet s0 ´etiquet´e hψ0, D0, L0i si et seulement si les conditions 4.14 sont satisfaites.

1) v ∈ L 2) ψ0 = ψv

3) D0= D ∪ {v}

4) L0= L \ {v} \ {x ∈ L | (ψx0 = ⊥) ∨ (ψ¬x0 = ⊥)}

(4.14)

La condition 1 indique que la d´ecision porte sur une variable dont la valeur n’est pas encore fix´ee. La condition 2 exprime le choix de v `a vrai. La formule r´esultante est alors le cofacteur positif de ψ pour v. La condition 3 ajoute v `a l’ensemble des variables qu’on a d´ecid´e de fixer `

a vrai. La derni`ere condition actualise l’ensemble des variables non encore fix´ees. On supprime la variable v et toutes celles dont la valeur se trouve fix´ee `a vrai ({x ∈ L | ψ0¬x= ⊥}) ou a faux

({x ∈ L | (ψx0 = ⊥)}) par la d´ecision de mettre v `a vrai.

Proposition 4.4 Pour un ensemble V fini, Gφ est fini.

C’est une cons´equence de la condition 4 dans l’´equation 4.14 qui implique que l’ensemble des variables non fix´ees est strictement d´ecroissant sur tout chemin du graphe.

D´efinition 4.5 (Sommet acceptant) Pour un sommet s de Gφ´etiquet´e hψ, D, Li, soit f la valua-

tion de V qui affecte vrai `a toutes les variables de D ∪ VψF + et faux aux autres. Le sommet s

Tous les sommets de Gφ ne sont pas n´ecessairement acceptants comme le montre le contre-

exemple suivant :

Soit V = {v1, v2, v3} et φ = (¬v1∨ v2∨ v3) ∧ (¬v2∨ ¬v3). En prenant la d´ecision d’affecter vrai `a

v1, on obtient le sommet ´etiquet´e par h(¬v2∧ v3) ∨ (v2∧ ¬v3), {v1}, {v2, v3}i. Pour ce sommet,

κ = ¬v2∧ ¬v3 et ψκ = ⊥, ce qui correspond `a la valuation f (v1) = vrai et f (v2) = f (v3) = faux

qui ne satisfait pas φ.

Proposition 4.5 (Compl´etude) Gφ accepte toutes les valuations satisfaisant φ.

La preuve donn´ee dans l’annexe D.

Exemple Pour la formule φ = (¬v1∨ ¬v2) ∧ (¬v2∨ ¬v3) d´efinie sur V = {v1, v2, v3}, on obtient

le graphe de la figure 4.17.

s

0

s

4

s

1

s

2

s

3

v

1

v

2

v

3

v

3

v

1

(

¬ ∨ ¬v1 v2

) (

∧ ¬ ∨ ¬v2 v3

)

ψ D L S 0 s

{

v v v1, 2, 3

}

2 v ¬ 1 s

{ }

v1

{ }

v3 2 s ¬ ∧ ¬v1 v3

{ }

v2 ∅ 2 v ¬ 3 s

{ }

v3

{ }

v1 2 v ¬ 4 s

{

v v1, 3

}

Figure 4.17 – Graphe de d´ecision pour φ = (¬v1∨ ¬v2) ∧ (¬v2∨ ¬v3)

Dans ce cas tr`es simple, tous les sommets sauf le sommet initial donnent des solutions : – s1 → {v1} (i.e.,la valuation v1 = vrai, v2 = faux, v3 = faux)

– s2 → {v2} (i.e.,la valuation v1 = faux, v2 = vrai, v3 = faux)

– s3 → {v3} (i.e.,la valuation v1 = faux, v2 = faux, v3 = vrai)