• Aucun résultat trouvé

Expressivite

Dans le document Sur la vérification de systèmes infinis (Page 71-76)

Dans cette section nous etudions l'expressivite de la logique CLTL. Nous considerons d'abord l'expressivite de CLTL par rapport aux proprietes regulieres et ensuite par rapport aux proprietes non-regulieres.

4.2 : Expressivite 71

4.2.1 Proprietes regulieres

Nous montrons que ALTL a le m^eme pouvoir expressif que les !-automates. Pour cela nous montrons entre autre qu'une formule de ALTL peut ^etre traduite vers une formule equivalente (modulo projection) d'une version de ETL [Wol83] (Extended Temporal Logic). Nous donnons d'abord la de nition de ETLl.

De nition 4.13 (formule de ETL

l

)

:

SoitP un ensemble de propositions atomiques. L'ensemble de formules de ETLl

est donne par:

'::= P 2P j:'j'_'jA('1;::: ;'n)

ouA('1;::: ;'n) (appele automate ETLl) est un systeme de transitions etique-tees ni (Q;f'1;::: ;'ng;q0;).

De nition 4.14 (relation de satisfaction de ETL

l

)

:

Soient  2 ! et ' une formule de ETLl. Alors nous de nissons h;ii j= '

inductivement comme suit:

h;iij=P ssi P 2(i)

h;iij=:' ssi h;ii6j='

h;iij='1

_'2 ssi h;iij='1 ouh;iij='2

h;iij=A('1;::: ;'n) ssi A('1;::: ;'n) a un calcull-accepteur sur(i)(i+ 1)

Un calcull-accepteurdeA('1;::: ;'n) surest un calcul2Q!deA('1;::: ;'n) tel que 8i2IN si (qi;'j;qi+1)2 alors h;iij='j.

Cette variante de ETL s'appelle ETLl parce que la de nition d'un calcul accepteur est la looping acceptance, c.-a-d. un calcul est accepteur s'il est in ni. Les notions de satisfaisabilite, semantique d'une formule etc. sont de nies comme pour CLTL. Nous avons le theoreme suivant [VW94]:

Theoreme 4.1

:

Pour chaque formule ' de ETLl il existe un automate de Buchi A tel que [[']] =L(A) et vice versa.

Theoreme 4.2

:

Soit'une formule fermee de ALTL avec un ensemble de propositions atomiques

P. Soit  = 2P. Alors, il existe une formule '0 de ETLl telle que [[']] = [['0]]j 

Preuve:

Soit ' une formule de ALTL. Soit fA1;::: ;Ang l'ensemble d'automates nis qui sont utilises dans'. Nous supposons que les automatesAisont complets (voir le Lemme 2.6). En plus nous supposons que pour chaque variable de positionuil y a exactement un automate

Ai associe tel que Aui appara^t dans la formule. D'abord nous observons que les operateurs

U et peuvent facilement ^etre traduit vers des formules de ETLl(voir [VW94]). Ils restent les constructionu:'etAu a traduire. Nous donnons d'abord l'idee intuitive: Nous ajoutons des proposition atomiques a P qui indiquent quand un des automates entre dans un etat nal. Nous transformons les automates Ai ainsi. Ensuite pour chaque u:' nous \lancons" l'automate qui fait reference a u. Les propositionsAu dans ' sont remplacees par une des nouvelles propositions correspondantes. Formellement:

Soient P

0 = P [ ffin(A1);::: ;fin(An)g et 0 = 2P 0

. Pour chaque automate Ai = (Qi;;qi

0;i;Fi) nous construisons un automate ETLl A0

i(0) = (Qi;0;qi

0;0

i) ou 0

i est le plus petit ensemble qui satisfait:

{ Si (q1;a;q2)2i et q2 62Fi, alors 8a0 2~a:(q1;a0 nffin(Ai)g;q2)20 i { Si (q1;a;q2)2i et q2 2Fi, alors 8a0 2~a:(q1;a0 [ffin(Ai)g;q2)20 i

Maintenant, pour obtenir une formule de ETLl nous remplacons chaque u:'1 dans ' par

A0

i(0)^'1, ou A0

i est l'automate ETLl construit a partir de l'automate Ai associe a u. Ensuite, chaque formule de la forme Aui dans ' est remplace par la proposition fin(Ai). Nous appelons '0 la formule ETLl ainsi obtenu. Il est facile de voir que [[']] = [['0]]j

. En e et, les nouvelles propositions fin(Ai) imposent qu'a chaque point ou la proposition Aui

appara^t, la sequence entre le point u et ce point doit ^etre dans le langage de Ai. Puisque les automates Ai sont complets et gr^ace a la construction des A0

i, il n'y a pas d'autres contraintes imposees dans '0 pour les sequences a partir du point u. 2

Theoreme 4.3

:

Pour chaque formule fermee de ALTL'il existe un automate de BuchiA avec [[']] =L(A) et vice versa.

Preuve:

Nous montrons d'abord que pour chaque automate de Buchi il existe une formule de ALTL equivalente. D'apres le theoreme de McNaughton [Tho90] chaque langage !-regulier peut ^etre de ni par une formule de ALTL de la forme

u: _n

i=1

(23Aui^32Bui)

Nous montrons ensuite que chaque formule de ALTL peut ^etre decrite par un automate de Buchi. Pour chaque formule fermee de ALTL', nous pouvons construire un !-automate de

4.2 : Expressivite 73 Buchi qui reconna^t [[']] en construisant d'abord la formule de ETLl '0 avec [[']] = [['0]]j

 en utilisant le Theoreme 4.2. Ensuite nous construisons l'automate de BuchiA

0equivalent a'0

par le Theoreme 4.1. Finalement nous obtenons un automate de BuchiA avec L(A) = [[']] en projetantA

0 sur . 2

La logique ALTL peut donc exprimer toutes les proprietes!-regulieres comme la logique ETL [Wol83] (extended temporal logic) ou le -calcul lineaire TL [Var88].

4.2.2 Proprietes non-regulieres

En utilisant les contraintes de comptages nous pouvons exprimer dans CLTL des pro-prietes non-regulieres, i.e. des propro-prietes qui ne peuvent pas ^etre exprimees par les auto-mates !-reguliers.

Par exemple, considerons la propriete suivante:

Propriete 4.1

:

Etant donne une sequence in nie de transitions (evenements), chaque a est suivi par un b, et a chaque position entre un a et le prochain b le nombre de c

et plus grand ou egal au nombre de d et en plus, a b le nombre de c et de d est egal.

Formellement, la propriete impose que les sequences entre deux a etb successifs soient dans le langage

f2 : jjc=jjd et8ijj; j(0;i)jcj(0;i)jdg

Cette propriete peut ^etre exprimee par la formule PLTL:

2(a)[x;y;z :c;d;b]:((xyUb)^2((b^z = 1))x=y))) (4.1) L'introduction des contraintes de comptage permet de caracteriser des langages non-reguliers qui peuvent ^etre hors-contextes comme dans (4.1) mais aussi dependant du contexte si nous considerons des contraintes qui lient plus que 2 variables de comptages.

L'introduction des contraintes de motifs permet de contraindre l'ordre d'apparence d'evenements. Supposons par exemple que nous voulons renforcer la propriete 4.1 en im-posant qu'entre deux a etb successifs, tous les capparaissent avant les d.

Propriete 4.2

:

Etant donnee une sequence in nie de transitions (evenements), chaque a est suivi par un b, et a chaque position entre un a et le prochain b, le nombre de c

est plus grand ou egal au nombre de d et, a b le nombre de c et de d est egal. Entre deux a et b successifs, tous les c apparaissent avant les d.

Cette nouvelle propriete peut ^etre exprimee par la conjonction de la formule de LTL

2(a)3b) (chaque a est suivi d'un b) avec la formule de CLTL:

u:[x;y :c;d]:2(Au

)(Bu

^x=y)) (4.2)

ouA et B sont des automates d'etats nis, tels que

L(A) = a(,fa;bg)b

et

L(B) = a(,fdg)(,fcg)b

La propriete 4.2 peut ^etre exprimee sans contrainte de motif puisque la contrainte de motif utilisee peut ^etre exprimee en LTL. En fait, cette propriete correspond a la conjonc-tion de la formule de LTL

2(a) (:dU:cUb))

avec la formule (4.1). Puisque LTL peut seulement exprimer les !-proprietes sans hauteur d'etoile [Tho79, Wol83] et puisque les contraintes de comptages ne peuvent pas contraindre l'ordre entre evenements, l'utilisation de contraintes de motifs enrichit l'expressivite de PLTL.

Finalement, nous donnons un exemple de l'utilisation de la quanti cation e

8. Cette quanti cation permet d'une part de mettre en relation des contraintes de comptage a des positions di erentes de la sequence et permet d'autre part d'exprimer des contraintes de comptages sur le nombre d'occurrences d'evenements dans des sous-sequences di erentes. Par exemple, considerons la propriete suivante:

Propriete 4.3

:

Chaque a est suivi d'un b, et entre deux a et b successif les sous-sequences sont dans le langage

fs0 : ;0

2(,fa;b;sg);jjc=j0 jdg

La Propriete 4.3 peut ^etre exprimee par la conjonction de la formule de LTL:

2(a) (:sU(s^ (:sUb)))) avec la formule de PLTL:

e

8n:2(a )[x;y;z :c;d;b]:2((s^x=n))2((b^z = 1))y =n))) (4.3) La variable n dans (4.3) est utilisee pour memoriser le nombre de c entre a et s et ce nombre est compare ensuite avec le nombre de d entre s et b.

Dans le document Sur la vérification de systèmes infinis (Page 71-76)