• Aucun résultat trouvé

Sur la vérification de systèmes infinis

N/A
N/A
Protected

Academic year: 2021

Partager "Sur la vérification de systèmes infinis"

Copied!
161
0
0

Texte intégral

(1)

HAL Id: tel-00004890

https://tel.archives-ouvertes.fr/tel-00004890 Submitted on 19 Feb 2004

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

To cite this version:

Peter Habermehl. Sur la vérification de systèmes infinis. Autre [cs.OH]. Université JosephFourier -Grenoble I, 1998. Français. �tel-00004890�

(2)

THESE

presentee par

Habermehl

Peter

pour obtenir le grade de

docteur

de l'

Universite Joseph Fourier - Grenoble I

(arr^etes ministeriels du 5 juillet 1984 et du 30 mars 1992)

(Specialite:

informatique

)

Sur la Verification de Systemes Infinis

Date de soutenance: 27 janvier 1998

Composition du jury: President

Jacques VOIRON

Rapporteurs Alain FINKEL

Pierre WOLPER

Examinateurs Andre ARNOLD

Ahmed BOUAJJANI

Rachid ECHAHED

Daniel KROB

(3)
(4)

La conversation fut in nie entre les deux amies. Stendhal

(5)
(6)

Remerciements

Je tiens a remercier,

Monsieur Jacques Voiron, Professeur a l'Universite Joseph Fourier (Grenoble I), de m'avoir fait l'honneur de presider le jury de cette these.

Messieurs Alain Finkel, Professeur a l'Ecole normale superieur de Cachan, et Pierre Wolper, Professeur a l'Universite de Liege, pour avoir accepte de juger ce travail et d'en ^etre rapporteurs.

Messieurs Andre Arnold, Professeur a l'Universite de Bordeaux I, et Daniel Krob, Charge de Recherche au CNRS de m'avoir fait l'honneur de participer au jury.

Messieurs Ahmed Bouajjani, Ma^tre de Conference a l'Universite Joseph Fourier (Gre-noble I), et Rachid Echahed, Charge de Recherche au CNRS, qui ont dirige cette these et sans lesquels ce travail n'aurait pu aboutir.

Cette these a ete e ectuee dans le laboratoire VERIMAG. Je tiens a remercier Monsieur Joseph Sifakis, Directeur de Recherche au CNRS, de m'avoir accueilli dans cette equipe.

Je tiens a remercier aussi tous ceux qui ont travaille avec moi ces dernieres annees, en particulier Javier Esparza, ainsi que tous les membres de VERIMAG pour leur soutien amical. Je remercie en particulier les autres thesards.

(7)
(8)

TABLE DES MATI 

ERES 7

Table des matieres

1 Introduction

11

1.1 Systemes in nis . . . 12

1.2 Methodes de veri cation algorithmiques . . . 13

1.3 Proprietes non-regulieres . . . 15 1.4 Methodes semi-algorithmiques . . . 15 1.5 Organisation du document . . . 17

2 Systemes

19

2.1 Preliminaires . . . 19 2.1.1 Langages . . . 19 2.1.2 L'arithmetique de Presburger . . . 22

2.2 Systemes de transitions etiquetees . . . 24

2.3 Automates et !-automates nis . . . 25

2.3.1 !-langages simples . . . 27

2.4 Systemes a pile . . . 27

2.5 Les algebres de processus . . . 30

2.5.1 La syntaxe des algebres PA, BPA, BPP, RP . . . 30

2.5.2 Semantique operationnelle et langages generes . . . 32

2.5.3 Forme normale . . . 33

2.5.4 Notations et resultats preliminaires . . . 35

2.6 Les reseaux de Petri . . . 37

2.6.1 Les reseaux de Petri . . . 37

2.6.2 Les systemes d'addition de vecteurs avec etats . . . 39

2.6.3 Reseau BPP et SAVE . . . 40

2.7 Semilinearite . . . 41

2.7.1 De nitions . . . 41

2.7.2 Resultats . . . 41

2.8 L'expressivite . . . 46

2.8.1 Langages de mots nis . . . 46

(9)

3 La complexite du



-calcul lineaire pour les reseaux de Petri

49

3.1 Preliminaires . . . 50

3.1.1 Resultats de complexite sur les !-automates . . . 50

3.1.2 Le -calcul propositionnel lineaire . . . 51

3.1.3 Les classes de complexite . . . 53

3.2 Resultat de complexite pour les SAVE . . . 54

3.2.1 Notation . . . 54

3.2.2 Probleme de repetition d'un etat de contr^ole . . . 55

3.3 La borne superieure . . . 59

3.4 La borne inferieure . . . 61

4 La logique temporelle lineaire contrainte

65

4.1 La logique CLTL . . . 66 4.1.1 Syntaxe . . . 67 4.1.2 Semantique . . . 69 4.2 Expressivite . . . 70 4.2.1 Proprietes regulieres . . . 71 4.2.2 Proprietes non-regulieres . . . 73

4.3 Resultats d'indecidabilite pour CLTL . . . 75

4.4 Les fragments de CLTL . . . 77

4.4.1 De nitions . . . 77

4.4.2 Expressivite . . . 80

4.4.3 Les problemes de satisfaisabilite et validite pour les fragments . . . 81

4.5 La decomposition de formules CLTL3 . . . 81

4.5.1 Forme normale . . . 81

4.5.2 Forme normale mono-contrainte . . . 83

4.5.3 Decomposition . . . 84

4.5.4 Satisfaisabilite et validite relative de CLTL3 et CLTL2 . . . 86

4.6 Le probleme de la veri cation pour CLTL2 . . . 88

4.6.1 Veri cation des !-automates a pile . . . 88

4.6.2 Veri cation de processus PA . . . 88

4.6.3 Veri cation de reseaux de Petri . . . 95

4.7 Conclusion . . . 96

5 Analyse d'automates communicants

99

5.1 Introduction . . . 99

5.2 Les automates communicants . . . 103

5.2.1 De nitions . . . 103

5.3 Diagrammes de decision de contenu de les contraints (CQDD) . . . 105

5.3.1 Les automates sequentiels . . . 106

5.3.2 Formule caracteristique . . . 111

5.3.3 Structures de representation de contenus de les . . . 112

(10)

TABLE DES MATI 

ERES 9

5.3.5 Operations de base et problemes de decision . . . 114

5.4 Representation et manipulation d'ensembles de con gurations . . . 128

5.4.1 Representation d'ensemble de con gurations . . . 128

5.4.2 Operations de bases sur les ensembles de con gurations . . . 129

5.4.3 Calcul de l'e et d'un circuit . . . 130

5.5 Analyse d'atteignabilite en avant et en arriere . . . 134

5.6 Comparaison avec d'autres travaux existants . . . 136

6 Conclusion

137

A Preuve du Theoreme 5.4

139

A.1 Analyse de l'e et d'un circuit . . . 139

A.1.1 Analyse d'un circuit avec taille croissante . . . 139

A.1.2 Analyse d'un circuit avec taille decroissante . . . 142

A.2 Fermeture par post  . . . 145

(11)
(12)

Chapitre 1

Introduction

Les systemes qui interagissent avec leur environnement sont d'une importance capitale en informatique. Le comportement d'un tel systeme reactif est donne par une suite d'etats et d'actions qui peut ^etre in nie. La speci cation decrit le comportement (in ni) attendu du systeme. La veri cation d'un systeme consiste a montrer qu'il satisfait sa speci cation. Les systemes sont generalement in nis, dans le sens qu'ils ont un nombre in ni d'etats. Par exemple, le nombre d'etats d'une machine de Turing est in ni, puisque la taille de son ruban n'est pas bornee. Un des resultats fondamentaux sur les machines de Turing est l'indecidabilite du probleme de l'arr^et. Le probleme de l'arr^et est equivalent au probleme d'atteignabilite, c'est-a-dire le probleme de savoir si un etat donne peut ^etre atteint a partir de l'etat initial. L'indecidabilite du probleme de l'arr^et implique par consequent que la plupart les problemes \interessants" de veri cation pour ces systemes sont indecidables. Des systemes qui n'ont pas la puissance des machines de Turing sont utilises largement dans di erents domaines de l'informatique. Pour ces systemes, la veri cation automatique (c.-a-d. algorithmique) de certaines proprietes est possible. La recherche concernant la veri cation automatique de systemes reactifs a commence dans les annees 70 avec l'etude des systemes a nombre ni d'etats. Il y a deux methodes bien etablies pour la veri cation automatique des systemes nis. D'une part la methode basee sur la notion d'equivalence comportementale et d'autre part le model-checking.

Dans la premiere methode, la speci cation d'un systeme est donnee par un autre sys-teme ni, et la veri cation consiste a montrer que les deux syssys-temes sont equivalents modulo une relation d'equivalence. Un exemple d'une telle relation est la bisimulation [Mil89, Par81].

Dans la methode de model-checking la speci cation est exprimee par des formules de logiques temporelles. Les logiques temporelles permettent de raisonner sur l'evolution d'un systeme dans le temps. Le probleme de la veri cation est de savoir si le systeme satisfait une propriete donnee par une formule de la logique. Pour les systemes nis, beaucoup de resultats ont ete prouves pour di erentes logiques temporelles et des outils performants ont ete developpes [CE81, QS82, CES83, VW86, McM93, Kur94]. Dans ce memoire nous considerons la methode du model-checking.

Les deux questions principales que nous nous posons dans cette these sont 11

(13)

Pour quels systemes in nis et quelles proprietes la veri cation automatique est-elle possible?

Si le probleme de la veri cation est indecidable en general, est-ce qu'il existe des methodes de semi-decision puissantes qui permettent dans certains cas d'ana-lyser automatiquement un systeme?

1.1 Systemes in nis

Plusieurs formalismes couramment utilises dans di erents domaines de l'informatique de nissent des systemes in nis. Nous considerons en particulier les algebres de processus et les automates d'etats nis munis de structures de donnees non-bornees.

Considerons d'abord les algebres de processus [BW90]. Un processus est decrit par un ensemble ni de regles sur un ensemble ni de variables de processus. Un processus decrit un systeme de transitions, ou les etats sont des termes de l'algebre et les transitions sont etiquetees par des actions. Les operations autorisees pour composer des termes dont les regles determinent le pouvoir expressif de l'algebre. L'algebre de processus CCS [Mil89] par exemple a le pouvoir expressif des machines de Turing. Un petit nombre d'operations tres simples peut donner un formalisme qui permet de decrire des systemes in nis. Il sut par exemple de considerer le non-determinisme (\+"), la composition sequentielle (\") et la

recursion. L'algebre ainsi de ni s'appelle BPA (Basic Process Algebra) [BW90]. Considerons par exemple un processus BPA qui modelise un compteur:

Z = debXZ

X = incYX+fin

Y = incYY +dec

Le systeme de transitions etiquetes genere par ce processus est donne gure 1.1. Intui-tivement, le nombre de Y dans les termes indiquent la valeur du compteur.

Z X:Z Y:X:Z Y:Y:X:Z ::: deb inc dec fin inc dec

(14)

1.2 : Methodes de veri cation algorithmiques 13 Si nous remplacons dans BPA la composition sequentielle par la composition parallele (asynchrone) et si nous ajoutons l'operation de pre xage (a:t), nous obtenons l'algebre de processus BPP (Basic Parallel Processes) [Chr93]. Un processus BPP simple est par exemple donne par:

X = a(XkY) +c

Y = b

Le systeme de transitions etiquetes genere par ce processus est donne gure 1.2.

X XkY XkYkY :::

0

Y YkY ::: a a b b b b c c c  Fig. 1.2 { Un processus BPP

Nous obtenons l'algebre PA (Process Algebra) [BK88] en autorisant le non-determinisme, les compositions sequentielles et paralleles ainsi que la recursion. Il est possible de conside-rer des classes de processus encore plus generales: par exemple les Process Rewrite Systems [May98].

Un autre formalisme largement utilise pour de nir des systemes in nis est donne par les automates nis munis de structures de donnees non-bornees. Les structures de donnees peuvent ^etre sequentielles (piles ou les) ou des variables entieres ou reelles. Une machine de Turing par exemple consiste en un automate ni avec un ruban non-borne. Les au-tomates communicants (Communicating Finite-State Machines ou CFSM) introduits par Bochmann [Boc78] sont des automates nis qui communiquent d'une maniere asynchrone via des les non-bornees. Ce modele a la puissance d'une machine de Turing et est a la base des langages de speci cation ESTELLE [ISO89] et SDL [CCI88]. Des exemples de systemes qui n'ont pas la puissance d'une machine de Turing sont: les automates a pile, les reseaux de Petri [Pet62] (Systeme d'addition de vecteurs) qui peuvent ^etre vus comme un automate ni avec des variables entieres (avec des tests restreints sur les variables) et les automates temporises [AD94] qui sont des automates qui manipulent des variables reelles.

1.2 Methodes de veri cation algorithmiques

Pour les systemes in nis qui n'ont pas la puissance d'une machine de Turing une veri- cation algorithmique peut ^etre envisagee. Ces dernieres annees un grand e ort a ete fait

(15)

pour etendre les resultats obtenus pour la veri cation de systemes nis vers les systemes in nis.

Moller donne dans [Mol96] un resume tres detaille des resultats obtenus jusqu'a pre-sent pour la veri cation automatique avec la methode basee sur la notion d'equivalence comportementale.

Nous nous interessons ici a la methode de model-checking. La speci cation d'un systeme est donnee par une formule de logique temporelle. On distingue deux familles de logiques temporelles: Les logiques arborescentes qui permettent de raisonner sur les arbres (in nis) et les logiques lineaires ou on raisonne sur des ensembles de sequences (in nis). L'utilisa-tion d'une logique temporelle comme langage de speci caL'utilisa-tion a ete introduite par Pnueli [Pnu77], qui a de ni la logique LTL (Linear temporal logic). Plusieurs logiques temporelles lineaires et arborescentes ont ete proposees ensuite. Dans le cadre lineaire la logique clas-sique la plus expressive est le -calcul propositionnel lineaire [Koz83, Var88] (LTL en est une sous-classe) et dans le cadre arborescent le-calcul arborescent [Koz83].

Le -calcul lineaire a une caracterisation par les automates nis de Buchi, c'est-a-dire qu'etant donne une formule, l'ensemble des modeles est donne par le langage d'un

!-automate de Buchi. Cette relation forte entre logique et automate permet d'utiliser les resultats de la theorie des !-automates pour la veri cation de systemes. Le probleme de veri cation est transforme vers un probleme d'inclusion de !-langage [Var96, VW86].

Le tableau 1.1 resume les resultats de decidabilite et de complexite obtenus jusqu`a present pour le probleme de la veri cation de di erentes classes de systemes in nis par rapport aux -calculs.

j= -calcul arborescent -calcul lineaire,LTL

PA indecidable[Esp97] indecidable [Hab98] automates a pile DEXPTIME-complet[Wal96] DEXPTIME-complet [BEM97]

BPA DEXPTIME [BS97] DEXPTIME-complet [May98] reseaux de Petri EXPSPACE-complet (systeme)[Hab98]

et BPP indecidable [Esp97] PSPACE-complet (formule)[Hab98]

Tab. 1.1 { Le probleme de la veri cation

Dans ce memoire nous montrons notre contribution a ce tableau. Nous montrons l'inde-cidabilite du probleme de model-checking de LTL (et par consequent du -calcul lineaire) par rapport a PA (voir section 4.6.2). Nous analysons aussi la complexite de la veri cation du -calcul lineaire pour les reseaux de Petri et les BPP (voir chapitre 3). Nous montrons que ce probleme est EXPSPACE-complet dans la taille du systeme et PSPACE-complet dans la taille de la formule.

Une etude tres complete de la decidabilite et de la complexite du probleme de veri ca-tion de systemes in nis par rapport a plusieurs logiques temporelles lineaires et arbores-centes a recemment ete faite par Mayr [May98]. Deux autres resumes peuvent ^etre trouves dans [Esp96, BE97].

(16)

1.3 : Proprietes non-regulieres 15

1.3 Proprietes non-regulieres

Tous les travaux existants mentionnes ci-dessus considerent le probleme de la veri ca-tion des systemes in nis par rapport a des proprietes regulieres, c'est-a-dire les proprietes de nies par des automates nis sur les sequences ou des arbres in nis [Tho90]. Cependant, il existe des proprietes signi catives de systemes in nis qui ne sont pas regulieres. Par exemple, deux proprietes importantes du processus de la gure 1.1 sont donnees par:

1. Entre deb et fin il y a le m^eme nombre de inc que de dec. 2. Le nombre de dec n'est jamais plus grand que le nombre de inc.

Ces exemples montrent que des proprietes signi catives de systemes in nis sont essen-tiellement des proprietes temporelles imposant des contraintes sur le nombre d'occurrences d'evenements. Il est evident que ces proprietes ne peuvent pas ^etre exprimees par les lo-giques de speci cation regulieres (lolo-giques temporelles et -calculs propositionnels). Nous introduisons dans le chapitre 4 la logique temporelle lineaire CLTL (Constraint Linear Tem-poral Logic) qui permet d'exprimer des contraintes lineaires sur le nombre d'occurrences d'evenements. Le pouvoir expressif \regulier" de CLTL est maximal dans le sens qu'elle peut exprimer toutes les proprietes !-regulieres sur les sequences. CLTL permet en plus de de nir des proprietes non-regulieres gr^ace a l'utilisation de contraintes arithmetiques exprimees en arithmetique de Presburger [Pre29].

Par exemple, la propriete 1 ci-dessus peut ^etre exprimee dans CLTL avec la formule

2(deb) [x;y : inc;dec]:2 ( n)(x=y)))

Intuitivement, la construction [x;y : inc;dec] permet d'initialiser deux compteurs qui compte le nombre d'occurrences de inc respectivement dec. La formule x = y permet de tester si le nombre d'occurrences de inc et egal au nombre d'occurrences de dec a partir du point ou les compteurs ont ete initialises. De la m^eme maniere nous pouvons exprimer la propriete 2 avec

2(deb) [x;y : inc;dec]:(xy)U n)

Nous etudions le probleme de la veri cation de plusieurs classes de systemes in nis par rapport a la logique CLTL et a plusieurs de ses fragments. Nous obtenons plusieurs resultats de decidabilite du probleme de la veri cation pour des classes de systemes in nis (reseaux de Petri, automates a pile) et pour des fragments de CLTL qui sont plus expressifs que les logiques de speci cations classiques.

Nous abordons ensuite le probleme de la veri cation des automates communicants.

1.4 Methodes semi-algorithmiques

Les automates communicants (CFSM) ont le m^eme pouvoir expressif que les machines de Turing [BZ83]. La veri cation automatique est donc en general indecidable. Nous mon-trons dans ce memoire comment analyser ces systemes d'une maniere semi-algorithmique.

(17)

C'est-a-dire nous obtenons des algorithmes qui, s'ils s'arr^etent, permettent d'analyser cer-tains aspects du systeme. Nous appliquons le principe de l'analyse symbolique.

Le calcul des etats atteignables est souvent a la base de l'analyse d'un systeme. Si on veut veri er que tous ses comportements sont s^urs, il sut de tester que l'intersection de l'espace des etats atteignables a partir des etats initiaux avec l'ensemble des etats mauvais est vide. Ce probleme peut aussi ^etre resolu en testant que l'intersection des etats initiaux avec tous les predecesseurs des mauvais etats est vide. Le calcul des predecesseurs ou des successeurs d'un ensemble d'etatsS donne est donc a la base de beaucoup de techniques de veri cation. Pour simpli er la presentation nous ne considerons dans la suite que le calcul des successeurs (le calcul des predecesseurs est symetrique).

L'ensemble de tous les successeurs d'un ensemble d'etatsSpeut ^etre vu comme la limite de la sequence in nie croissante (Xi)i0 avec Xi+1 = Xi

[post(Xi), Xi = S et post(Xi)

est l'ensemble des successeurs immediats de Xi. La limite de la sequence est atteinte si

Xi =Xi+1.

Dans les systemes nis on atteint toujours la limite puisque tous les ensembles sont nis. Par contre pour les systemes in nis, les Xi sont en general in nis et la sequence (Xi)i0

ne converge pas en un nombre ni de pas. Pour veri er les systemes in nis nous avons donc besoin de structures nis qui permettent de representer un nombre in ni d'etats. Pour pouvoir calculer la sequence (Xi)i0 et tester Xi = Xi+1, ces structures doivent

^etre e ectivement fermees par union, intersection et la fonction post et leur problemes d'inclusions et du vide doivent ^etre decidables. Un autre probleme est la convergence de la sequence (Xi)i0. Pour faire face a ce probleme nous considerons l'acceleration exacte

du calcul de la limite. Cette technique de nit une autre sequence qui a la m^eme limite que (Xi)i0 mais dont le calcul termine dans des cas ou (Xi)i0 ne termine pas.

Pour l'analyse des CFSM Boigelot et Godefroid [BG96] (voir aussi [BGWW97]) pro-posent des structures, appelees Diagrammes de decision de contenu de le (QDD). Un ensemble de contenus de plusieurs les est represente par un automate d'etats nis. Ils adaptent une technique d'acceleration introduite dans [BW94] pour des systemes avec variables entieres. Elle est basee sur la notion de meta-transition. Une meta-transition cor-respond a un circuit  dans le graphe de contr^ole du systeme et le calcul de la limite est accelere en ajoutant a chaque pas tous les successeurs apres un nombre quelconque de repetitions du circuit. Cette operation est appelepost

.

Le probleme est de determiner pour quels circuits la classe des structures de represen-tation est fermee parpost

. Cet ensemble de circuits est caracterise dans [BGWW97] pour

les QDD. Il est assez restreint pour pouvoir garantir que l'image d'un ensemble regulier par

post

 est aussi un ensemble regulier. Par exemple un circuit qui envoie le m^eme message a

deux les n'est pas dans cet ensemble.

Dans ce memoire nous proposons dans le chapitre 5 une generalisation de l'approche de [BG96] et [BGWW97] en considerant l'acceleration exacte pour chaque circuit dans le graphe de transitions du systeme. Le probleme principal de cette nouvelle approche vient du fait que l'ensemble des etats atteignables par un circuit general peut ^etre non-regulier. Par consequent, nous avons besoin de structures de representation qui sont plus expressives que les automates nis.

(18)

1.5 : Organisation du document 17 Nous proposons une structure, appelee diagrammes de decision de contenu de les contraints (CQDD). Cette structure combine une sous-classe des automates nis avec des contraintes lineaires sur le nombre de fois que les transitions dans leurs calculs accepteurs sont prises. Nous montrons que les CQDD's satisfont toutes les proprietes d'une \bonne" structure de representation (fermeture par union, intersection, etc.) Le resultat principal est que les CQDD's sont fermes par post

 pour chaque circuit . Ce resultat permet de

de nir un semi-algorithme general d'analyse d'atteignabilite parametre par l'ensemble de circuits consideres pour l'acceleration.

1.5 Organisation du document

Dans le chapitre 2 nous donnons quelques de nitions de base et introduisons les sys-temes nis et in nis que nous considerons dans ce memoire. Dans le chapitre 3 nous etudions la complexite du probleme de model-checking des reseaux de Petri par rapport au-calcul propositionelle lineaire. Le chapitre 4 introduit plusieurs logiques temporelles lineaires avec contraintes qui permettent de speci er des proprietes non-regulieres. Nous montrons des resultats de decidabilite du probleme de la veri cation de ces logiques pour plusieurs classes de systemes in nis. Ensuite nous analysons dans le chapitre 5 le probleme de la veri cation pour les automates communicants avant de conclure dans le chapitre 6.

(19)
(20)

Chapitre 2

Systemes

Dans ce chapitre nous presentons les systemes que nous considerons dans ce memoire, et nous etablissons quelques resultats preliminaires les concernant. Nous commencons par donner les notations et de nitions de base sur les langages et l'arithmetique de Presbur-ger. Ensuite nous introduisons les systemes de transitions etiquetees. Nous introduisons les automates et !-automates nis et les automates et !-automates a pile. Ensuite, nous de nissons les algebres de processus que nous considerons et nous donnons des resultats pre-liminaires les concernant. Ensuite, nous introduisons les reseaux de Petri et pour conclure ce chapitre nous de nissons les systemes semilineaires et nous analysons l'expressivite de toutes les classes de systemes introduits dans ce chapitre.

2.1 Preliminaires

Dans cette section nous donnons les de nitions de base sur les langages et l'arithmetique de Presburger.

2.1.1 Langages

Nous donnons quelques de nitions de base sur les langages.

De nition 2.1 (sequences, langages)

:

Soit  un alphabet ni. Alors  est l'ensemble des sequences nies sur .

! est l'ensemble des sequences in nies sur . Un langage sur  est un

sous-ensemble de  et un !-langage L est un sous-ensemble de !. Nous ecrivons

1 pour 

[

!.

De nition 2.2 (Concatenation)

:

Etant donnes deux langages L1;L2

2  , la concatenation de L 1 et L2 est L1:L2 := fw 1:w2 : w1 2L 1 etw2 2L 2 g 19

(21)

De nition 2.3 (Derivation a gauche)

:

Etant donnes deux langages L1;L2

2 , la derivee a gauche de L 1 par L2 est L,1 2 :L 1 := fw2  : 9w 0 2L 2: w 0:w 2L 1 g.

De nition 2.4 (Expressions regulieres)

:

Etant donne un alphabet ni , les expressions regulieres sont les expressions formees par les regles suivants:

{ ;,  et chaque a2 sont des expressions regulieres

{ si et sont des expressions regulieres, alors + , et  sont aussi

des expressions regulieres.

Le langage de ni par une expression reguliere est de ni comme habituellement.

De nition 2.5 (Langage sans hauteur d'etoile)

:

Un langageL2

 est sans hauteur d'etoile s'il peut ^etre genere par les

opera-tions booleennes et la concatenation a partir d'ensembles nis.

Une sequence in nie 2! peut ^etre vue comme une fonction deIN vers .est donc

egal a (0)(1). Une sequence ni  2 ! peut ^etre vue de la m^eme maniere comme

une fonction partielle de IN vers .

De nition 2.6 (

(i;j);Pref()

)

:

Soit  2 

1. Etant donnes i et j avec i;j

2 IN et i  j  jj, nous ecrivons

(i;j) pour la sequence nie (i)(j) (avec (i;i) = (i)). Etant donnee

une sequence  2 !, nous ecrivons Pref() pour l'ensemble des sequences

nies qui sont des pre xes nis de , i.e.,

Pref() = f(0;i) : 0i <jj+ 1g

Nous avons besoin des notions et Lemmes suivants pour les resultats du chapitre 4. Pour les trois de nitions suivantes, soientP un ensemble ni,  = 2

P, P 0 un ensemble ni avec P 0 P et  0 = 2P 0 .

De nition 2.7 (Projection)

:

Etant donnee une sequence 0 2 (

0)1, la projection de  sur , representee

par 0 j

, est la sequence 

2

1 telle que pour chaquei

0,(i) = 0(i)

\P.

De nition 2.8 (Cylindri cation)

:

Etant donnee une sequence  2 ()

1, la cylindri cation de  vers 0,

repre-sentee pare est l'ensemble de sequences  0

2(

0)1 tel que  =0 j

(22)

2.1 : Preliminaires 21 Les deux de nitions precedentes sont generalisees a des ensemble de sequences comme suit:

De nition 2.9

:

Soit L0 (

0)1. La projection de L0 sur  est de nie par:

L0 j  = f 0 j  :  0 2L 0 g Soit L(

0)1. La cylindri cation de L vers 0 est de nie par: e

L= [

2L e



Nous avons les resultats suivants pour la projection. Les preuves des trois lemmes suivants sont triviales.

Lemme 2.1

:

SoitL(

0)! tel que pour tout 

2Lnous avons 8i2IN: (i)\6=;. Alors

L=; si et seulement si Lj  = ;.

Lemme 2.2

: Soit L1;L2 ( 0)!. Alors (L 1 [L 2) j  =L1 j  [L 2 j 

Lemme 2.3

: Soit L1;L2 ( 0)!. Alors (L 1 \L 2) j  L 1 j  \L 2 j

. L'inverse n'est

generale-ment pas vrai.

Lemme 2.4

: SoientL1;L2 !etL 0 2 ( 0)!tel queL 2 =L 0 2 j . Alors,L1 \L 2 = ( f L1 \L 0 2) j .

Preuve:

{ Soit 2L 1 \L 2. Alors, puisqueL2 =L 0 2 j , 2L 2 implique 9 0 2L 0 2 avec  0 j =. En plus 0 2 f

L1 par de nition. Donc  0 2 f L1 [L 2 et  0 j

 = . Il s'en suit que

 2( f L1 \L 0 2) j . { Soit 2( f L1 \L 0 2) j

. En utilisant le Lemme 2.3 il s'en suit que 2 f L1 j  et 2L 0 2 j .

Alors par de nition 2L

1, et parce que L2 =L 0 2

j

, nous avons aussi 

2L

2. 2

(23)

2.1.2 L'arithmetique de Presburger

Dans cette section nous donnons la de nition de l'arithmetique de Presburger [Pre29] et les ensembles semilineaires.

Soit V un ensemble de variables. Nous utilisons x;y;::: pour des elements de V.

De nition 2.10 (Terme de l'arithmetique de Presburger)

:

Les termes de l'arithmetique de Presburger sont donnes par

t::= 0j1jxjt,tjt+t

Nous utilisons des abreviations pour les constantes k 2 IN et pour la multiplication avec

constante kt.

De nition 2.11 (Formule de Presburger)

:

L'ensemble des formules de Presburger est de nit par

f ::= ttj:f jf_f j9x: f

Notation 2.1

:

Nous utilisons les abreviations usuelles suivantes:

f1 ^f 2 = :(f 1 _f 2) f1 )f 2 = :f 1 _f 2 f1 ,f 2 = (f1 )f 2) ^(f 2 )f 1) 8x: f = :9x::f

La notion de variable libre est de nie comme d'habitude. Nous ecrivons f(x1;::: ;xn)

pour indiquer quef contientx1;::: ;xncomme variables libres. La semantique des formules

de Presburger est de nie de maniere standard.

De nition 2.12 (Valuation)

:

Etant donne un ensemble de variablesV =fx

1;::: ;xn

gV, une valuation E

est une fonction E : V ! IN (aussi representee par un vecteur (k

1;::: ;kn) 2

(24)

2.1 : Preliminaires 23

De nition 2.13 (Relation de satisfaction)

:

Soitf(x1;::: ;xn) une formule de Presburger etE une valuation.E satisfaitf,

represente par E `f, si f(E) est vraie.

De nition 2.14 (ensemble caracteristique)

:

Soit f une formule de Presburger avec n variables libres. hjfji  IN

n est

l'en-semble des valuations qui satisfont f.

De nition 2.15 (Formule valide, satisfaisable)

:

Une formule de Presburger f avec n variables libres est satisfaisable (resp. valide), ssi hjfji6=; (resp. hjfji=IN

n).

Theoreme 2.1 (Presburger[Pre29])

:

Les problemes de satisfaisabilite et de validite d'une formule de Presburger sont decidables.

L'ensemble hjfji des valuations qui satisfont une formule de Presburger f peut ^etre

caracterise par un ensemble semilineaire, que nous de nissons ci-dessous.

De nition 2.16 (Ensemble lineaire)

:

Un ensemble lineaire est un sous-ensemble de INn de la forme

f~v+k 1~u1+ +km~um : k 1;::: ;km 2INg oun;m > 0 et~v;~u1; ;~um 2IN n.

De nition 2.17 (Ensemble semilineaire)

:

Un ensemble semilineaire est une union nie d'ensembles lineaires.

Nous avons la relation suivante entre les formules de Presburger et les ensembles semi-lineaire (pour une preuve voir par exemple [Har78]).

Lemme 2.5 ([Har78])

:

Pour chaque formule de Presburger f, l'ensemble caracteristiquehjfjiest

semi-lineaire. Et chaque sous-ensemble semilineaire L de IN

n peut ^etre caracterise

par une formule de Presburger g avec n variables libres, hjgji=L.

Corollaire 2.1

:

(25)

2.2 Systemes de transitions etiquetees

Chaque systeme que nous considerons dans ce memoire peut ^etre decrit comme un systeme de transitions etiquetees.

De nition 2.18 (Systeme de transitions etiquetees)

:

Un systeme de transitions etiquetees est un quadruplet S = (Q;;q

0;) ou:

{ Q est un ensemble d'etats,

{  est un ensemble ni d'etiquettes, l'alphabet { q0 est l'etat initial,

{ et QQ est la relation de transition.

Pour (q1;a;q2)

2  nous ecrivons aussi q 1 a ! q 2 ou q1 a !q

2, si  est clairement donne

par le contexte.

De nition 2.19 (Systeme de transitions etiquetees deterministe)

:

Un systeme de transitions etiquetees est deterministe si

8q2Q8a2: il existe au plus un q 0

2Q avec (q;a;q 0)

2.

De nition 2.20 (Systeme de transitions etiquetees ni)

:

Un systeme de transitions etiquetees (Q;;q0;) est ni si l'ensemble Q est

ni.

De nition 2.21 (calcul)

:

Etant donnes un systeme de transitions etiquetees S = (Q;;q

0;) et une

sequence 2

1, un calcul de

S sur  est une sequence 2Q

1 avec

{ (0) = q0

{ 8i0:((i);(i);(i+ 1))2 sijj=1, sinon

{ 8i2f0;::: ;jj,1g:((i);(i);(i+ 1))2.

A chaque calcul  2Q! est associe la sequence  0

2 ! des transitions

corres-pondantes. Un calculsur un 2

 est terminant si pour toutq

2Qeta2

(26)

2.3 : Automates et !-automates nis 25

2.3 Automates et

!

-automates nis

Dans cette section, nous de nissons les automates nis et les !-automates nis ainsi que les langages associes a ces automates.

De nition 2.22 (Automate ni)

:

Un automate ni sur  est un quintuplet A= (Q;;q

0;;F), ou

{ (Q;;q0;) est un systeme de transitions etiquetees ni, note par S

A

{ F Q est l'ensemble d'etats terminaux

De nition 2.23 (Langage d'un automate ni)

:

Etant donne un automate niA = (Q;;q

0;;F), le langage de

A, noteL(A),

est donne par l'ensemble de sequences  telles qu'il existe un calculdeS A sur

 tel que (jj)2F. Ce calcul est appele calcul accepteur.

De nition 2.24 (Circuit, Boucle)

:

SoitA= (Q;;q

0;;F) un automate ni. Un circuit de taillen

1 est une suite

d'etats q1;::: ;qn de Q tel que q1 = qn et

8i 2 f1;::: ;ng 9a 2  qi

a

! qi +1.

Une boucle est un circuit de taille 1.

De nition 2.25 (Automate ni deterministe, complet)

:

Un automate ni A = (Q;;q

0;;F) est deterministe si S

A est deterministe. A est complet ssi 8q2Q8a29q

0

2Q(q;a;q 0)

2.

Nous avons le lemme bien connu suivant:

Lemme 2.6

:

Pour chaque automate niA, il existe un automate niA

0complet avecL( A) =

L(A 0).

De nition 2.26 (

!

-automate)

:

Un !-automate d'etats nis est un quintuplet A= (Q;;q

0;;C) ou

{ (Q;;q0;) est un systeme de transitions etiquetees ni, represente par S

A et

{ C est une condition d'acceptation (voir tableau 2.1).

De nition 2.27 (

!

-automate deterministe)

:

Un !-automate A= (Q;;q

0;;C) est deterministe si S

(27)

Type Syntaxe Semantique Buchi F Q Inf()\F 6=; Rabin W iLi ^:Ui 9i:Inf()\Li 6=;^Inf()\Ui =; Streett V iLi !Ui 8i:Inf()\Li =;_Inf()\Ui 6=;

ouLi et Ui (le couple accepteur) sont des sous-ensembles de Q.

Tab. 2.1 { Les conditions d'acceptation

De nition 2.28 (calcul accepteur)

:

Soit A = (Q;;q

0;;C) un !-automate. Soit 

2 Q! un calcul de S

A. Nous

ecrivons Inf() pour l'ensemble d'etats tel que 9 1i

2 IN avec (i) = q. Un

chemin  est accepteur s'il satisfait une des conditions d'acceptation donnees dans le tableau 2.1.

Nous appelons !-automate de Buchi (resp. Rabin, Streett) un !-automate avec une condition d'acceptation de Buchi (resp. Rabin, Streett).

De nition 2.29 (

!

-langage d'un

!

-automate)

:

Le !-langage d'un !-automates A, note L(A), est l'ensemble des sequences

 2! tel que S

A a un calcul accepteur sur .

Nous avons le theoreme suivant pour les !-automates non-deterministes.

Theoreme 2.2 ([Tho90])

:

Les automates (non-deterministes) de Buchi, Rabin et Streett reconnaissent la m^eme classe de langages.

De nition 2.30 (

!

-langage regulier)

:

Un!-langageL2! est appele!-reguliersi il existe un!-automate de Buchi A avec L(A) =L.

De nition 2.31 (

!

-langage sans hauteur d'etoile)

:

Un !-langage est sans hauteur d'etoile siL est une union nie d'ensembles de la forme L1L

!

2, ou L 1;L2

2

 sont sans hauteur d'etoile, et L 2L2

L

2.

Le lemme suivant est de [Tho90]:

Lemme 2.7

:

La classe des langages !-reguliers (resp. !-langages sans hauteur d'etoile) est fermee par toutes les operations booleennes.

(28)

2.4 : Systemes a pile 27

2.3.1

!

-langages simples

Nous introduisons une classe de !-langages qui est moins expressive que les !-langages sans hauteur d'etoile. Nous appelons cette classe !-regulier simple.

De nition 2.32 (

!

-langage regulier simple)

:

Un !-langage L  ! est appele !-regulier simple s'il existe un automate de

Buchi A = (Q;;q

0;;F) tel que tous les circuits de

A sont des boucles et

L(A) =L.

Lemme 2.8

:

La classe des langages !-reguliers simples est fermee par intersection et union mais pas par complementation.

Preuve:

{ La fermeture par union est triviale (Les automates sont non-deterministes). { La fermeture par intersection: Soit A

1 (avec condition d'acceptation F1) et A

2 (avec

condition d'acceptationF2) deux automates de Buchi tels que chaque circuit dans ces

automates est une boucle. En utilisant la construction standard (voir par exemple [Var96]) pour construire l'intersection de deux !-automates de Buchi, l'automate construit peut contenir un circuit qui n'est pas une boucle. Mais nous pouvons uti-liser la construction standard pour l'intersection des automates nis. La condition d'acceptation de l'automate produit est donne par F1

F

2. La propriete essentielle

pour montrer que l'automate produit accepte exactement L(A 1) \L(A 2) est: si un calcul de A 1 ou A

2 quitte un etat accepteur, il n'y peut jamais revenir (tous les

circuits sont des boucles). Cela n'est pas vrai en general pour tous les !-automates de Buchi.

{ Non-fermeture par complementation: Soit  = fa;bg, et L = 

:b!. Alors  nL

est l'ensemble de sequences avec un nombre in ni dea. Pour decrire ce langage nous avons besoin d'un automate avec un circuit avec deux etats.

2

2.4 Systemes a pile

Dans cette section nous de nissons les automates a pile, les !-automates a pile et les grammaires hors-contextes ainsi que les langages de nis par eux.

De nition 2.33 (Automate a pile (PDA))

:

Un automate a pile est un sextuplet A= (Q;;,;;q

0;Z0), ou

(29)

{  est un alphabet ni, { , est un alphabet de pile {  ((Q



,)(Q,

)) est la relation de transition,

{ q0 est l'etat initial,

{ Z0 est le symbole initiale de la pile,

Une con guration d'un automate a pile est un couple (q; ), ou q2Q et 2, .

De nition 2.34

:

Soit A = (Q;;,;;q

0;Z0) un automate a pile. Le systeme de transition

eti-quetees S

A = (Q 0;0;q0

0;

0) associe a

A, est donne par

{ Q0 =Q , , { 0 = , { q0 0 = (q 0;Z0),

{ 0 est le plus petit ensemble inclus dans Q0



0

Q

0 tel que: pour tout

; 2, , w 2 , Z 2, et p;q 2Q: Si ((p;w;Z);(q; ))2 alors ((p;Z );w;(q; ))2 0.

De nition 2.35 (Langage ni et

!

-langage d'un automate a pile)

:

Soit A = (Q;;,;;q 0;Z0) un automate a pile et S A = (Q 0;0;q0 0; 0) le

sys-teme de transitions etiquetees associe. Le langage de mots nis de A, note

Lfin(A) est l'ensemble des sequences  2 

 tel qu'il existe 0 2 ( ) avec (0)(1):::(jj,1) =  0(0)0(1):::( j 0 j,1) et  a un calcul terminant dans S A.

Le !-langage, note L(A) est l'ensemble de sequences  2 ! tel qu'il existe

0 2(

)! avec (0)(1):::=0(0)0(1)::: et a un calcul dans S

A.

Remarque:

Le langage de mots nis d'un automate a pile est le langage accepte par pile vide. Le !-langage est donne par toutes les sequences in nies.

Une autre facon de produire des langages de mots nis des automates a pile est donnee par les grammaires hors-contextes. Les grammaires hors-contextes et les automates a pile de nissent la m^eme classe de langages de mots nis.

De nition 2.36 (Grammaire hors-contexte)

:

Une grammaire hors-contexte est un quadrupletG = (V ar;;R;S), ou

{ V ar est un alphabet ni constituant les symboles non-terminaux, {  est un alphabet ni disjoint de V ar, les symboles terminaux,

(30)

2.4 : Systemes a pile 29 { R  (V ar(V ar [ )

) est un ensemble de regles, appelees aussi

pro-ductions. Nous ecrivons aussi V !

G pour (V; )

2R

{ S 2V ar est le symbole de depart.

De nition 2.37

:

Soient G = (V ar;;R;S) une grammaire et u2 (V ar[) +, v

2(V ar[) .

Alors, nous ecrivonsu )

Gv, siu=xu

0y,v =xv0y et (u0;v0)

2R. La fermeture

re exive et transitive de la relation )

G est representee par )

 G.

De nition 2.38 (Langage d'une grammaire)

:

Soit G = (V ar;;R;S) une grammaire. Le langage ni de G, denote L(G), est

donne par: L(G) =fv 2  : S )  G v g

Si nous mettons des conditions d'acceptation sur les calculs in nis du systeme de transi-tions etiquetees associe a un automate a pile, nous obtenons un!-automate a pile [CG77a]. Nous utilisons la condition d'acceptation la plus generale.

De nition 2.39 (

!

-automate a pile)

:

Un !-automate a pile est un septuplet A= (Q;;,;;q

0;Z0;F), ou

{ (Q;;,;;q0;Z0) est un automate a pile,

{ F 2Q.

De nition 2.40 (calcul accepteur)

:

SoientA = (Q;;,;;q

0;Z0;F) un!-automate a pile et

2(Q;,

)! un calcul

de S

A. Nous ecrivons Inf() pour l'ensemble d'etats tel que 9

1i

2 IN avec 9 2,

(i) = (q; ). est accepteur si Inf() 2F.

De nition 2.41 (

!

-langage d'un

!

-automate a pile)

:

Le !-langage d'un automate a pile A, note L(A), est l'ensemble des sequences

 2 ! tel que il existe  0

2 (

)! avec (0)(1)::: = 0(0)0(1)::: et S

A a

un calcul accepteur sur 0.

De nition 2.42 (Langage

!

-hors-contexte)

:

(31)

Les langages !-hors-contexte ont ete etudies dans [CG77a, CG78, CG77b]. Ils peuvent aussi ^etre de nis par les grammaires !-hors-contextes. Nous utilisons les resultats suivants de [CG77a, CG77b]:

Theoreme 2.3

:

La classe des langages!-hors-contexte est fermee par intersection avec les lan-gages !-reguliers.

Theoreme 2.4

:

Soit L un langage!-hors-contexte. Alors Pref(L) est hors-contexte.

2.5 Les algebres de processus

Nous de nissons l'algebre de processus PA [BK88] (Process Algebra). Nous donnons la syntaxe de processus PA et de nissons leur semantique operationnelle. PA est une classe de processus de nie par un ensemble de processus atomiques en considerant le choix non-deterministe, la composition sequentielle, la composition parallele (sans communication) et la recursion. Nous de nissons des sous-classes de PA: BPA (Basic Process Algebra) qui correspondent aux processus hors-contexte et BPP (Basic Parallel Processes). BPA ne permet pas la composition parallele et BPP ne permet pas la composition sequentielle. La classe RP correspond aux processus reguliers qui ont le m^eme pouvoir expressif que les automates nis.

2.5.1 La syntaxe des algebres PA, BPA, BPP, RP

Nous donnons la de nition des algebres de processus PA (Process Algebra), BPA (Basic Process Algebra), BPP (Basic Parallel Processes) et RP (Regular Processes). Soit  un alphabet ni et Var un ensemble de variables. Nous utilisons les lettres a;b;::: pour les elements de  et X;Y;::: pour les elements de Var.

De nition 2.43 (Termes de PA)

:

L'ensemble T des termes de PA construit sur Var et  est de ni par la

gram-maire suivante:

t::=

0

ja jX jt+tjttj tkt

Par exemple, (XkY)((Xka) + (Xkb)) est un terme de PA.

De nition 2.44 (Termes de BPA)

:

L'ensemble T des termes de BPA construit sur Var et  est de ni par la

grammaire suivante:

(32)

2.5 : Les algebres de processus 31 Par exemple, XaZ+a est un terme de BPA.

De nition 2.45 (Termes de BPP)

:

L'ensemble T des termes de BPP construit sur Var et  est de ni par la

grammaire suivante:

t::=

0

ja jX jt+tjatjtkt

Par exemple, (XkXkXk(Z+X)) est un terme de BPP.

De nition 2.46 (Termes de RP)

:

L'ensemble T des termes de RP construit sur Var et  est de ni par la

gram-maire suivante:

t::=

0

jX jt+t jat

Intuitivement,

0

represente le processus inactif, a est une action atomique, l'operateur \+" designe le choix non-deterministe, l'operateur \" est la composition sequentielle, \k"

est la composition parallele (sans synchronisation).

De nition 2.47 (Processus PA)

:

Soit  un alphabet ni. Un processus PA S = (Var;;;X

1) est donne par:

{ un ensemble ni de variables de processus Var =fX

1;::: ;Xn g,

{ un ensemble ni  d'actions atomiques,

{ un ensemble d'equations recursives  =fXi =b ti : 1ingou chaque

terme ti est un terme de PA sur Var et .

{ une variable X1

2V ar, appelee la racine

De nition 2.48 (Processus BPA,BPP,RP)

:

Soit  un alphabet ni. Un processus BPA (resp. BPP, RP)S = (Var;;;X 1)

est un processus PA tel que tous les termes dans les equations sont des termes de BPA (resp. BPP, RP).

De nition 2.49 (Processus garde)

:

Une occurrence d'une variableX dans un termetde PA est gardee sitcomprend un sous-terme a:t0, oua est une action atomique ett0 contient l'occurrence de

X. Un termetde PA est gardee si toutes les occurrences de variables danstsont gardees. Un processus S = (Var;;;X

1) avec  =

fXi =b ti : 1  i  ng

est garde si tous les termes ti sont gardes.

La notion de processus garde nous permet de de nir une semantique operationnelle qui est a branchement ni.

(33)

2.5.2 Semantique operationnelle et langages generes

Nous donnons dans cette section la de nition de la semantique operationnelle des pro-cessus ainsi que leur langages associes.

De nition 2.50 (Semantique operationnelle d'un processus PA)

:

La semantique operationnelle d'un processus garde de PA S = (Var;;;X 1)

est donnee par le systeme de transitions etiquetees S 0 = (

T;;X

1;) ou est

la plus petite relation telle que: { a !a

0

{ X =t2 et t a !t 0 implique X a !t 0, { t1 a !t 0 1 implique t 1+t2 a !t 0 1, { t1 a !t 0 1 implique t 2+t1 a !t 0 1, { t1 a !t 0 1 implique t 1 t 2 a !t 0 1 t 2, { t1 a !t 0 1 implique t 1 kt 2 a !t 0 1 kt 2, { t1 a !t 0 1 implique t 2 kt 1 a !t 2 kt 0 1

De nition 2.51 (langage de PA,BPA,BPP,RP)

:

SoitS = (Var;;;X

1) un processus PA (resp. BPA,BPP,RP) et S

0 = (

T;;X 1;)

le systeme de transitions correspondant. Le langage ni de S est donne par:

Lfin(S) =f 2

 : il existe un calcul terminantdans S

0 sur g

De nition 2.52 (

!

-langage de PA,BPA,BPP,RP)

:

SoitS = (Var;;;X

1) un processus PA (resp. BPA,BPP,RP) et S

0 = (

T;;X 1;)

le systeme de transitions correspondant. Le !-langage de S est donne par:

L(S) =f 2

! : il existe un calcul sur de

S 0

g

Exemple 2.1

:

Soit S = (Var;;;X

1) un processus PA donne par

{ Var =fX

1;X2;X3 g

{  =fa;b;c;dg

{  comporte les regles: { X1 b =b(X 2 kX 3)

(34)

2.5 : Les algebres de processus 33 { X2 b =aX 2 b { X3 b =cX 3 d

Alors, le \debut" du systeme de transitions etiquetees associe a S est donne

par l'image suivante:

(X 2 b)kX 3 (X 2 bb)kX 3 ) (X 2 b)k(X 3 d) X 2 k(X 3 d) X 2 k(X 3 dd)     a a a a a a c c c c c c X 2 kX 3 b X 1

Le langage de S est ; et le !-langage de ce processus est fa;cg!

2.5.3 Forme normale

Nous introduisons une forme speciale syntaxique de processus PA, qui est une genera-lisation de la forme normale de Greibach utilisee dans la theorie des langages formels (voir [Har78]).

De nition 2.53 (Termes de la forme normale)

:

Soit Var un ensemble de variables de processus. L'ensemble Tn des termes de

forme normale construit sur Var est de ni par la grammaire suivante:

(35)

De nition 2.54 (Forme normale de PA)

:

Un processus PA (Var;;;X1) avec  =

fXi =b ti : 1ing est en forme

normale, si chaque terme ti est soit

0

soit de la forme

ai 1  i 1+ +aim i im i ou ai 1;::: ;aimi 2  et i 1;::: ;imi

2 Tn et telle qu'aucune variableXk dans un

ij est de nie comme un processus inactif, c.-a-d.. Xk =b

0

2.

Proposition 2.1 (Forme normale de processus PA)

:

Soit (Var;;;X1) avec  =

fXi =b ti : 1  i ng un processus PA garde.

Alors il existe un processus PA S

1 en forme normale, tel que les systemes de

transitions de nissent les m^emes !-langages, i.e.L(S) =L(S 1)

Preuve:

Par induction sur la structure des termes et en transformant les termes par rapport aux equations suivantes (t1+t2) t 3 = t1 t 3+t2 t 3 (2.1) t3 (t 1+t2) = t3 t 1+t3 t 2 (2.2) (t1+t2) kt 3 = (t1 kt 3) + (t2 kt 3) (2.3) t3 k(t 1+t2) = (t3 kt 1) + (t3 kt 2) (2.4)

qui sont valides modulo equivalences des langages, c'est-a-dire deux termes lies par ces equations generent les m^emes langages. Avec ces equations les termes peuvent ^etre trans-formes de sorte que les operateurs + sont au premier niveau. Puisque le processus est garde

nous pouvons obtenir la forme exigee. 2

De la m^eme maniere nous pouvons de nir des formes normales pour les processus BPA et BPP.

Exemple 2.2

:

La forme normale du processus de l'exemple 2.1 est donnee par les equations: { X1 b =b(X 2 kX 3) { X2 b =aX 2 X 4 { X3 b =cX 3 X 5 { X4 b =b { X5 b =d

(36)

2.5 : Les algebres de processus 35

2.5.4 Notations et resultats preliminaires

Nous introduisons dans cette section quelques notations et des resultats preliminaires concernant les algebres de processus.

De nition 2.55

:

Soit S = (V ar;;;X

1) en forme normale. Nous de nissons l'ensemble de

regles de transitions suivant:

S = fXi !aij:ij :Xi =b ai 1 i 1+ +aijij++aim i im i 2g [fXi !

0

: Xi =b

0

2g

De nition 2.56 (Positions)

:

Soit 2T. L'ensemble de toutes les positions de est un sous-ensemble deIN 

inductivement de ni comme suit:

Pos(

0

) = ;;

Pos(X) = fg; ou  est la suite vide;

Pos(1 op 2) = f1p:p2Pos( 1) g [f2p:p2Pos( 2) g ouopest kou 

De nition 2.57 (Position executable)

:

L'ensemble de positions executables est de ni inductivement sur les termes comme suit: Exec(

0

) = ;; Exec(X) = fg; Exec(1  2) = f1p:p2Exec( 1) g; Exec(1 k 2) = f1p:p2Exec( 1) g [f2p:p2Exec( 2) g:

Nous disons qu'une variable X est executable dans le terme  s'il y a une position

p 2 Exec() telle que le sous-terme de  a la position p est X. Nous notons V arExec()

l'ensemble de toutes les variables executables dans .

La notion de variable executable nous permet de de nir une relation de transition entre termes de T en utilisant des regles de transition dans 

S. Ces regles peuvent ^etre

interpretees comme des regles de reecriture.

Soient  2 T, X une variable avec X 2 V arExec(), p une position executable de

 et une regle r = X ! a: 2 

S. Alors nous ecrivons 

a

!r 

0, ou 0 est le terme

ou la variable X a la position p a ete remplace par le terme . Nous generalisons cette notation a des sequences de transitions en ecrivant  !

S  0, ou  = a 1 an 2  + si  a1 !r 1  1  an !rn n = 0 et fr 1;  ;rng S. Une sequence  a1 ! S 1  an ! S n correspond

exactement a la m^eme sequence dans le systeme de transition associe a S.

De nition 2.58 (variables normees)

:

Soit S = (V ar;;;X

1) un processus PA. L'ensemble de variables normees

qui peuvent se reduire a

0

est de ni par:

NormS = fX 2V ar :9 2 +:X  ! S

0

g

(37)

Nous pouvons calculer cet ensemble d'une maniere iterative. Toutes les variables avec

X !a

S

0

sont dans NormS et si pour une variablesX

0 avec X0 a !

S , toutes les variables

de  sont dans NormS alors X est aussi dansNormS.

Nous considerons au chapitre 4 la veri cation de processus PA par rapport a des lo-giques. Pour cela nous supposons que  = 2P ou

P est un ensemble ni de propositions

atomiques. Soitune formule propositionnelle surP. Nous de nissons l'ensemble de toutes

les variables qui peuvent se reduire a

0

en satisfant contin^ument.

De nition 2.59

:

Soit S = (V ar;;;X

1) un processus PA. L'ensemble de variables normees

qui peuvent se reduire a

0

en satisfaisant contin^ument  est de ni par:

Norm S = f 2T :9 2 +:  ! S

0

et 8i2f0;::: ;jj,1g; (i)j=g

Cet ensemble peut ^etre calculer de la m^eme maniere queNormS.

De nition 2.60

:

Soient S = (V ar;;;X

1) un processus PA et  une formule d'etats, alors

l'ensemble de variable de processus qui peuvent repeter in niment souvent 

est de nie comme suit:

Boucle S = fX 2Var  : 92 +; et 9;tel que X  ! S ; X 2V arExec(); et8i 2f0;::: ;jj,1g; (i)j=g Intuitivement, si X 2 Boucle

S alors il existe une sequence in ni a partir de X qui

satisfait contin^ument .

Nous pouvons calculer l'ensemble Boucle

S comme l'ensemble de nonterminaux

recur-sives dans une grammaire hors-contexte en utilisant l'ensembleNorm

S.

Nous terminons cette section avec un resultat preliminaire sur les langages de PA.

Lemme 2.9

:

Soit S = (Var;;;X

1) un processus PA en forme normale. Alors il existe un

processus S

0 = (Var 0;;

0;X0

1) tel queLfin( S

0) =

; etL(S) =L(S 0).

(38)

2.6 : Les reseaux de Petri 37

Preuve:

La construction du processusS

0 est tres simple. Nous devons assurer que dans chaque terme

dans le systeme de transition decrit par S

0 il y a exactement une variable qui ne peut pas

terminer (n'est pas inclus dans NormS

0). Pour chaque variable X nous introduisons une

copieXtqui ne peut pas terminer et nous changeons les regles de sorte que dans le systemes

de transitions associe a S

0 chaque terme contient exactement une variable de la formeXt.

Formellement, S

0 = (Var 0;;

0;X0

1) est donne par:

{ Si Var =fX 1;::: ;Xn g alors Var 0 = Var[fXt 1;::: ;Xtn g

{ 0 est l'ensemble plus petit qui satisfait:

{  0, { Si X =b Pn i=1ai i 2 alors Xt =b P i6=0( P 2T(i)ai )2  0 ou T(

i) est l'ensemble de termes ou

exacte-ment une des variables X de i a ete remplace par Xt

{ X0

1 =X

t

1

Il est evident que Lfin(S 0) =

; et L(S) =L(S 0).

2

2.6 Les reseaux de Petri

Dans cette section nous de nissons les reseaux de Petri et un modele equivalent: les systemes d'addition de vecteurs avec etats (SAVE). Ces de nitions peuvent ^etre trouvees par exemple dans [Reu89]. Nous mentionnons ensuite un resultat de Christensen qui a montre dans [Chr93] que l'algebre de processus BPP est une sous-classe des reseaux de Petri.

2.6.1 Les reseaux de Petri

De nition 2.61 (reseau de Petri)

:

Un reseau de Petri est un sextuplet N = (;

P

;

T

;

F

;M

N;) ou,

{  est un alphabet ni,

{

P

est un ensemble ni de places, {

T

est un ensemble ni de transitions, {

P

\

T

=;,

(39)

{ MN :

P

! IN est le marquage initial et  :

T

!  est la fonction

d'etiquetage des transitions.

De nition 2.62 (Marquage, Tir d'une transition)

:

Soit N = (;

P

;

T

;

F

;M

N;). Un marquage M est une fonction qui associe a

chaque place un entier (nombre de jeton). Nous representons un marquage aussi comme un vecteur dans INjPj

. Nous ecrivons M[ti si, 8p2 P,M(p)

F

(p;t),

et nous ecrivons M[tiM

0 (t est tire a partir de M et donne M0), si M[t i et 8p2P,M

0(p) =M(p)

,

F

(p;t)+

F

(t;p). Etant donne una2, nous ecrivons

M !a (resp. M

a

!M

0) si

9t 2

T

tel que M[ti (resp.M[tiM

0) et (t) = a.

La de nition de M[tiM

0 (resp. M a

! M

0) est etendue d'une maniere evidente vers

des sequences de transitions dans  2

T

 (respectivement des sequences d'etiquettes de

transition  2 

). La de nition M[t

i (respectivement M

a

!) est etendue d'une maniere

evidente vers des sequences de transitions dans  2

T

! (resp. des sequences d'etiquettes

de transition 2!).

De nition 2.63 (Ensemble de marquages atteignables)

:

SoitN = (;

P

;

T

;

F

;M

N;). L'ensemble de marquages atteignables

R(N) est donne par: R(N) = fM : 9 2

T

: M N[ iMg

De nition 2.64 (

!

-langage d'un reseau de Petri)

:

Soit N = (;

P

;

T

;

F

;M

N;). Le !-langage de

N, represente par L(N), est

donne par: L(N) =f 2 ! :M N  !g

De nition 2.65 (

M 1( N;t)

)

: Soit N = (;

P

;

T

;

F

;M N;). Etant donne unt 2

T

, nous ecrivonsM 1( N;t)

pour l'ensemble de marquageM telle que9 2

T

! avec M[

i et9 1i

2IN avec

(i) = t, i.e. l'ensemble de tous les marquages a partir desquels il existe une sequence in nie de transitions qui contient in niment souvent t.

Nous avons le theoreme suivant prouve independemment par [Kos82] et [May81].

Theoreme 2.5 (Atteignabilite)

:

Soit N = (;

P

;

T

;

F

;M

N;) un reseau de Petri et M un marquage. Alors, le

probleme

M 2R(N)?

(40)

2.6 : Les reseaux de Petri 39 Nous terminons cette section avec un resultat sur les ensembles semilineaires de mar-quages.

Theoreme 2.6

:

Soit N = (;

P

;

T

;

F

;M

N;) et

M un ensemble semilineaire de marquage.

Alors, le probleme R(N)\M6=; est decidable.

Preuve:

{ D'abord nous pouvons montrer que le probleme si R(N 1) \R(N 2) 6 = ; pour deux reseaux de Petri N 1 et N

2 avec le m^eme nombre de places est decidable. En e et,

ce probleme peut ^etre reduit au probleme d'atteignabilite dans les reseaux de Petri (qui est decidable, voir Theoreme 2.5): D'abord nous pouvons ajouter a N

1 et N

2

des transitions qui enlevent simultanement un par un les jetons des places avec le m^eme indice. Alors,R(N

1)

\R(N 2)

6

=;ssi le marquage vide est atteignable dans le

reseau ainsi construit: Si R(N 1)

\R(N 2)

6

=;, alors on peut atteindre le marquage

vide trivialement. Si le marquage vide est atteignable dans le reseau construit, alors il existe une sequence de transitions qui l'atteint. Cette sequence peut toujours ^etre rearrangee telle que les nouvelles transitions qui vident les places sont executees a la n. Il s'en suit qu'il y a un marquage dans R(N

1)

\R(N 2).

{ Soit L un ensemble lineaire. Nous pouvons facilement construire un reseau de Petri N

L avec R(N

L) = L.

Le problemeR(N)\L6=;pour un ensemble lineaireL peut donc ^etre reduit vers le

pro-bleme d'atteignabilite. Puisque un ensemble semilineaire est une union nie d'ensembles lineaires ce raisonnement peut facilement ^etre generalise. 2

2.6.2 Les systemes d'addition de vecteurs avec etats

Nous utilisons un modele equivalent aux reseaux Petri. La de nition des systemes d'ad-dition de vecteurs avec etats peut par exemple ^etre trouvee dans [Reu89].

De nition 2.66 (Vecteurs)

:

Pour un vecteur ~u 2 ZZ

k et un i avec 1

 i  k, nous ecrivons ~u(i) pour la

i-eme composante de ~u.~u(i) est aussi appelei-eme place.

De nition 2.67 (Operations sur les vecteurs)

:

Soient~u,~v 2ZZ

k. L'addition~u+~v, la soustraction~u

,~v et les predicats ~u=~v,

~u  ~v et ~u < ~v sont de nies comme d'habitude par composante.~0 denote le

(41)

De nition 2.68 (SAVE)

:

Un systeme d'addition de vecteurs avec etats a k dimensions etiquete est un 6-uplet (;~v0;A;Q;q0;), ou

{  est un alphabet ni, { ~v0

2IN

k est le vecteur de debut,

{ A est un ensemble de vecteur deZZk (l'ensemble d'addition),

{ Q est un ensemble d'etats de contr^ole, { q0

2Q est l'etat initial,

{  QQA est la relation de transition.

Une transition (q1;b;q2;~a)

2  est normalement ecrit dans la forme q 1

b

! (q

2;~a) (si

le b nous n'interesse pas nous ecrivons aussi q1 ! (q

2;~a)). Une con guration d'un SAVE

est un couple (q;~v), ou q 2 Q et ~v 2 IN

k. La con guration initiale est le couple (q

0;~v0).

Une con guration (q1;~v) peut tirer une transitionq1

b

!(q

2;~a) en donnant la con guration

(q2;~v+~a) si ~v+~a

~0. Nous notons cela (q 1;~v) b ; (q 2;~v +~a) (ou (q1;~v) ; (q 2;~v +~a)).

Cette de nition peut ^etre generalise d'une maniere evidente pour des sequences de 1.

Nous ecrivons ;

+ (respectivement ;

), pour la fermeture transitive (resp. transitive et

re exive) de ;.

De nition 2.69 (

!

langage d'un SAVE)

:

Le!-langage d'un SAVES, appeleL(S), est de ni par l'ensemble des sequences

in nies 2! tel que (q 0;~v0)



;.

Il est clair que pour chaque SAVE a k dimension et n etats, il y a un reseau de Petri equivalent (equivalent dans le sens qu'il decrit le m^eme systeme a transitions etiquete) a

k+ndimensions (chaque etat correspond a une nouvelle place). Et chaque reseau de Petri peut ^etre de nie par un SAVE. Nous utilisons les SAVE dans le chapitre 3 pour avoir une representation adequate pour le produit d'un automate de Buchi et d'un reseau de Petri.

2.6.3 Reseau BPP et SAVE

Les processus BPP peuvent ^etre vus comme une sous-classe des reseaux de Petri.

De nition 2.70

:

Un reseau BPP est un SAVE (;~v0;A;Q;q0;) tel queQ= fq

0

getAne contient

que de vecteurs qui ont une seule composante negative. Cette composante doit avoir la valeur ,1.

Christensen a montre dans [Chr93] que les reseaux BPP et les processus BPP de nissent la m^eme classe de systeme de transitions etiquetes.

Lemme 2.10

:

Les reseaux BPP et les processus BPP de nissent la m^eme classe de systeme a transitions etiquetes.

(42)

2.7 : Semilinearite 41

2.7 Semilinearite

Dans cette section nous de nissons les systemes semilineaires. Les systemes semili-neaires sont des systemes qui generent des !-langages dont l'image de Parikh des pre xes est semilineaire. Cette propriete nous permet de raisonner facilement sur les nombres d'oc-currences de symboles dans ces systemes (voir chapitre 4). Nous donnons des exemples de systemes semilineaires et montrons des resultats les concernant.

2.7.1 De nitions

Dans cette section nous de nissons les systemes semilineaires. Ce sont les systemes dont les images de Parikh des pre xes de leurs !-mots sont semilineaires. Soient  un alphabet ni et 2

. Pour chaque a

2, jja est le nombre d'occurrences de a dans .

De nition 2.71 (Image de Parikh)

:

Soit  =fa

1;::: ;an

g. L' image de Parikh de  2 

, representee par [], est

le vecteur (jja 1;  ;jjan) de IN n. Soit S  , alors [S] = f[] : 2Sg.

De nition 2.72 (Langage semilineaire)

:

Un ensembleS 

 est un langage semilineaire si [S] est semilineaire.

De nition 2.73 (

!

-langage semilineaire)

:

Un ensembleS !est un!-langage semilineairesi [Pref(S)] est semilineaire.

De nition 2.74 (Systeme semilineaire)

:

Un systeme est semilineaire si son !-langage S est semilineaire et tel qu'une representation de [Pref(S)] peut ^etre construite a partir d'une representation de S.

2.7.2 Resultats

Dans cette section nous presentons quelques resultats concernant les systemes semi-lineaires. Nous montrons que les langages hors-contextes et !-hors-contextes sont semi-lineaires. Par consequent les processus BPA et les automates a pile sont des systemes semilineaires. Nous montrons aussi que les processus PA sont semilineaires. Ensuite nous montrons que la classe des systemes semilineaires n'est pas fermee par intersection.

Le theoreme suivant est du a Parikh [Par66].

Theoreme 2.7

:

(43)

En utilisant le Theoreme 2.4 on deduit:

Theoreme 2.8

:

Les langages !-hors-contextes sont semilineaires.

Du fait que BPA et les automates a pile generent des langages !-hors-contextes nous obtenons:

Corollaire 2.2

:

Les processus BPA et les automates a pile sont semilineaires. Nous prouvons maintenant que les processus PA sont semilineaires

Theoreme 2.9

:

Les!-langages de PA sont semilineaires.

Preuve:

Soit S = (Var;;;X

1) un processus PA. Puisque nous considerons ici le langage produit

par S nous pouvons supposer que S est en forme normale. Nous supposons aussi que le

langage ni de S est vide (Lemme 2.9). La construction de [Pref(L(S))] se fait en deux

partie:

{ Construction d'un processus PA Sfin avec Lfin(Sfin) =Pref(L(S)),

{ Construction d'une grammaire hors-contexte G avec [L(G)] = [Lfin(Sfin)].

D'abord nous construisons le processus Sfin = (Varfin;;fin;Xfin). Pour chaque

va-riable X nous introduisons une copie Xp de cette variable qui peut produire les pre xes

des sequences produite par X. Ensuite nous ajoutons des regles pour ces variables qui permettent de produire les pre xes. Par exemple pour X =b a  Y  Z nous ajoutons

Xp =a+aYp+aY Zp. Formellement:

{ Si Var =fX

1;::: ;Xn

g alors Varfin = Var[fX

p

1;::: ;Xpn g,

{ fin est le plus petit ensemble qui satisfait:

{ fin { Si X =b Pn i=1ai i 2 alors Xp =b Pn i=1(ai+ P 2Pr(i)ai

)2fin ouPr est recursivement de nie comme

suit: Pr(X) = fX p g Pr(1  2) = f 0 1 :  0 1 2Pr( 1) g[f 1  0 2 :  0 2 2Pr( 2) g Pr(1 k 2) = f 0 1 :  0 1 2Pr( 1) g [f 0 2 :  0 2 2Pr( 1) g [f 0 1 k 2 :  0 1 2Pr( 1) g [f 1 k 0 2 :  0 2 2Pr( 2) g [f 0 1 k 0 2 :  0 1 2Pr( 1) ^ 0 2 2Pr( 2) g

(44)

2.7 : Semilinearite 43 { Xfin =X1P

La grammaire hors-contexte G = (Var

G;;R;S) est construite en remplacant toutes les

compositions paralleles dans le processus Sfin par des compositions sequentielles. Cela ne

change pas l'image de Parikh d'un mot genere. Formellement: { VarG = Varfin

{ R est le plus petit ensemble qui satisfait: { Si X =b

Pn

i=1ai

i 2fin alors 8i 2f1;:::;ng: X )

G aiStr(i) ou Str est de nie recursivement comme suit:

{ Str(

0

) = { Str(X) =X { Str(1  2) =Str(1 k 2) =Str(1)Str(2) { S =Xfin

Il est evident que [L(G)] = [Lfin(Sfin)]. D'apres le Theoreme 2.7 [L(G)] est semilineaire. 2

Pour les!-langages de processus BPP nous pouvons montrer que leur intersection avec un !-langage sans hauteur d'etoile peut donner un langage qui n'est pas semilineaire. Cela montre que la classe des systemes semilineaires n'est pas fermee par intersection bien que les ensembles semilineaires le sont.

Proposition 2.2

:

Il existe un processus BPP S avec 4 variables et un !-langage sans hauteur

d'etoileRdescriptible par un automate avec 2 etats, tels que [Pref(L(S)\R)]

n'est pas semilineaire.

Preuve:

La preuve est inspire d'un exemple dans [HP79] d'un systeme d'addition de vecteurs avec etats a 3 dimensions qui a un ensemble d'etats atteignables qui est non-semilineaire.

Soit S = (V ar;;;X 1) un processus BPP avec: { V ar =fX 1;X2;X3;X4 g, {  =ft 1;t2;t3;t4;init g,

{  est l'ensemble des cinq equations suivantes: { X1 b =initX 2 kX 3 { X2 b =t1 X 4 { X3 b =t2 X 3

Figure

Fig. 1.1 { Un processus BPA
Fig. 2.1 { Un SAVE qui produit un langage non-semilineaire
Fig. 2.2 { Les systemes
Fig. 4.1 { Les fragments de CLTL
+4

Références

Documents relatifs

– Il ne peut y avoir plus d’un processus dans sa section critique en mˆeme temps – Un processus en dehors de sa section critique ne peut bloquer un autre

Jacques Gangloff (ENSPS) Syst `emes temps r ´eel et syst `emes embarqu ´es Ann ´ee scolaire 2007-2008 1 /

Linux n’est pas temps r ´eel Architecture de

I ´ ex´ ecution : permet de lancer le prg contenu ds le fichier ss forme de code binaire ex´ ecutable ou de script shell ; pour un r´ ep, permet de traverser le r´ ep

but it is not sure all the social network is small... R´ eseaux homog` enes R´ eseaux petit monde R´ eseaux sans ´ echelle caract´ eristique. The small world

Lorsqu’une personne se rend compte qu’elle n’est pas de la mˆ eme opinion qu’une personne voisine, elle peut d´ ecider soit de changer d’opinion et donc adopter l’opinion de

Lorsqu’une personne se rend compte qu’elle n’est pas de la mˆ eme opinion qu’une personne voisine, elle peut d´ ecider soit de changer d’opinion et donc adopter l’opinion de

Pour chacune des valeurs propres, d´ eterminer un vecteur propre associ´ e.. b) D´ eterminer une matrice P et une matrice diagonale D telles que C = P