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�
THESE
presentee par
Habermehl
Peterpour 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
La conversation fut innie entre les deux amies. Stendhal
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 eectuee 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.
TABLE DES MATI
ERES 7
Table des matieres
1 Introduction
11
1.1 Systemes innis . . . 12
1.2 Methodes de verication 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 . . . 222.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 Denitions . . . 41
2.7.2 Resultats . . . 41
2.8 L'expressivite . . . 46
2.8.1 Langages de mots nis . . . 46
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 . . . 734.3 Resultats d'indecidabilite pour CLTL . . . 75
4.4 Les fragments de CLTL . . . 77
4.4.1 Denitions . . . 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 verication pour CLTL2 . . . 88
4.6.1 Verication des !-automates a pile . . . 88
4.6.2 Verication de processus PA . . . 88
4.6.3 Verication de reseaux de Petri . . . 95
4.7 Conclusion . . . 96
5 Analyse d'automates communicants
99
5.1 Introduction . . . 995.2 Les automates communicants . . . 103
5.2.1 Denitions . . . 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
TABLE DES MATI
ERES 9
5.3.5 Operations de base et problemes de decision . . . 114
5.4 Representation et manipulation d'ensembles de congurations . . . 128
5.4.1 Representation d'ensemble de congurations . . . 128
5.4.2 Operations de bases sur les ensembles de congurations . . . 129
5.4.3 Calcul de l'eet 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'eet d'un circuit . . . 139A.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
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 innie. La specication decrit le comportement (inni) attendu du systeme. La verication d'un systeme consiste a montrer qu'il satisfait sa specication. Les systemes sont generalement innis, dans le sens qu'ils ont un nombre inni d'etats. Par exemple, le nombre d'etats d'une machine de Turing est inni, 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 verication pour ces systemes sont indecidables. Des systemes qui n'ont pas la puissance des machines de Turing sont utilises largement dans dierents domaines de l'informatique. Pour ces systemes, la verication automatique (c.-a-d. algorithmique) de certaines proprietes est possible. La recherche concernant la verication 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 verication 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 specication d'un systeme est donnee par un autre sys-teme ni, et la verication 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 specication 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 verication 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 dierentes 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
Pour quels systemes innis et quelles proprietes la verication automatique est-elle possible?
Si le probleme de la verication 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 innis
Plusieurs formalismes couramment utilises dans dierents domaines de l'informatique denissent des systemes innis. 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 innis. Il sut par exemple de considerer le non-determinisme (\+"), la composition sequentielle (\") et la
recursion. L'algebre ainsi deni 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
1.2 : Methodes de verication algorithmiques 13 Si nous remplacons dans BPA la composition sequentielle par la composition parallele (asynchrone) et si nous ajoutons l'operation de prexage (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 BPPNous 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 denir des systemes innis 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 specication 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 verication algorithmiques
Pour les systemes innis qui n'ont pas la puissance d'une machine de Turing une veri-cation algorithmique peut ^etre envisagee. Ces dernieres annees un grand eort a ete fait
pour etendre les resultats obtenus pour la verication de systemes nis vers les systemes innis.
Moller donne dans [Mol96] un resume tres detaille des resultats obtenus jusqu'a pre-sent pour la verication automatique avec la methode basee sur la notion d'equivalence comportementale.
Nous nous interessons ici a la methode de model-checking. La specication 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 (innis) et les logiques lineaires ou on raisonne sur des ensembles de sequences (innis). L'utilisa-tion d'une logique temporelle comme langage de specicaL'utilisa-tion a ete introduite par Pnueli [Pnu77], qui a deni 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 verication de systemes. Le probleme de verication 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 verication de dierentes classes de systemes innis 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 verication
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 verication 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 verica-tion de systemes innis 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].
1.3 : Proprietes non-regulieres 15
1.3 Proprietes non-regulieres
Tous les travaux existants mentionnes ci-dessus considerent le probleme de la verica-tion des systemes innis par rapport a des proprietes regulieres, c'est-a-dire les proprietes denies par des automates nis sur les sequences ou des arbres innis [Tho90]. Cependant, il existe des proprietes signicatives de systemes innis 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 signicatives de systemes innis 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 specication 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 denir 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)Un)
Nous etudions le probleme de la verication de plusieurs classes de systemes innis par rapport a la logique CLTL et a plusieurs de ses fragments. Nous obtenons plusieurs resultats de decidabilite du probleme de la verication pour des classes de systemes innis (reseaux de Petri, automates a pile) et pour des fragments de CLTL qui sont plus expressifs que les logiques de specications classiques.
Nous abordons ensuite le probleme de la verication 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 verication automatique est donc en general indecidable. Nous mon-trons dans ce memoire comment analyser ces systemes d'une maniere semi-algorithmique.
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 verier 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 verication. Pour simplier 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 innie 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 innis, les Xi sont en general innis et la sequence (Xi)i0
ne converge pas en un nombre ni de pas. Pour verier les systemes innis nous avons donc besoin de structures nis qui permettent de representer un nombre inni d'etats. Pour pouvoir calculer la sequence (Xi)i0 et tester Xi = Xi+1, ces structures doivent
^etre eectivement 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 denit 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.
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
denir 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 denitions de base et introduisons les sys-temes nis et innis 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 specier des proprietes non-regulieres. Nous montrons des resultats de decidabilite du probleme de la verication de ces logiques pour plusieurs classes de systemes innis. Ensuite nous analysons dans le chapitre 5 le probleme de la verication pour les automates communicants avant de conclure dans le chapitre 6.
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 denitions 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 denissons 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 denissons 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 denitions de base sur les langages et l'arithmetique de Presburger.
2.1.1 Langages
Nous donnons quelques denitions de base sur les langages.
Denition 2.1 (sequences, langages)
:Soit un alphabet ni. Alors est l'ensemble des sequences nies sur .
! est l'ensemble des sequences innies sur . Un langage sur est un
sous-ensemble de et un !-langage L est un sous-ensemble de !. Nous ecrivons
1 pour
[
!.
Denition 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
Denition 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.
Denition 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 deni par une expression reguliere est deni comme habituellement.
Denition 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 innie 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 .
Denition 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 prexes 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 denitions suivantes, soientP un ensemble ni, = 2
P, P 0 un ensemble ni avec P 0 P et 0 = 2P 0 .
Denition 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.
Denition 2.8 (Cylindrication)
:Etant donnee une sequence 2 ()
1, la cylindrication de vers 0,
repre-sentee pare est l'ensemble de sequences 0
2(
0)1 tel que =0 j
2.1 : Preliminaires 21 Les deux denitions precedentes sont generalisees a des ensemble de sequences comme suit:
Denition 2.9
:Soit L0 (
0)1. La projection de L0 sur est denie par:
L0 j = f 0 j : 0 2L 0 g Soit L(
0)1. La cylindrication de L vers 0 est denie 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 jLemme 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 fL1 par denition. 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 denition 2L
1, et parce que L2 =L 0 2
j
, nous avons aussi
2L
2. 2
2.1.2 L'arithmetique de Presburger
Dans cette section nous donnons la denition 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.
Denition 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.
Denition 2.11 (Formule de Presburger)
:L'ensemble des formules de Presburger est denit 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 denie comme d'habitude. Nous ecrivons f(x1;::: ;xn)
pour indiquer quef contientx1;::: ;xncomme variables libres. La semantique des formules
de Presburger est denie de maniere standard.
Denition 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
2.1 : Preliminaires 23
Denition 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.
Denition 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.
Denition 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 denissons ci-dessous.
Denition 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.
Denition 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
:2.2 Systemes de transitions etiquetees
Chaque systeme que nous considerons dans ce memoire peut ^etre decrit comme un systeme de transitions etiquetees.
Denition 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.
Denition 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.
Denition 2.20 (Systeme de transitions etiquetees ni)
:Un systeme de transitions etiquetees (Q;;q0;) est ni si l'ensemble Q est
ni.
Denition 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
2.3 : Automates et !-automates nis 25
2.3 Automates et
!-automates nis
Dans cette section, nous denissons les automates nis et les !-automates nis ainsi que les langages associes a ces automates.
Denition 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
Denition 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.
Denition 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.
Denition 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).
Denition 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).
Denition 2.27 (
!-automate deterministe)
:Un !-automate A= (Q;;q
0;;C) est deterministe si S
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
Denition 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).
Denition 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.
Denition 2.30 (
!-langage regulier)
:Un!-langageL2! est appele!-reguliersi il existe un!-automate de Buchi A avec L(A) =L.
Denition 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.
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.
Denition 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 inni 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 denissons les automates a pile, les !-automates a pile et les grammaires hors-contextes ainsi que les langages denis par eux.
Denition 2.33 (Automate a pile (PDA))
:Un automate a pile est un sextuplet A= (Q;;,;;q
0;Z0), ou
{ 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 conguration d'un automate a pile est un couple (q; ), ou q2Q et 2, .
Denition 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.
Denition 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 innies.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 denissent la m^eme classe de langages de mots nis.
Denition 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,
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.
Denition 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.
Denition 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 innis 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.
Denition 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.
Denition 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.
Denition 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.
Denition 2.42 (Langage
!-hors-contexte)
:Les langages !-hors-contexte ont ete etudies dans [CG77a, CG78, CG77b]. Ils peuvent aussi ^etre denis 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 denissons l'algebre de processus PA [BK88] (Process Algebra). Nous donnons la syntaxe de processus PA et denissons leur semantique operationnelle. PA est une classe de processus denie par un ensemble de processus atomiques en considerant le choix non-deterministe, la composition sequentielle, la composition parallele (sans communication) et la recursion. Nous denissons 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 denition 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.
Denition 2.43 (Termes de PA)
:L'ensemble T des termes de PA construit sur Var et est deni par la
gram-maire suivante:
t::=
0
ja jX jt+tjttj tktPar exemple, (XkY)((Xka) + (Xkb)) est un terme de PA.
Denition 2.44 (Termes de BPA)
:L'ensemble T des termes de BPA construit sur Var et est deni par la
grammaire suivante:
2.5 : Les algebres de processus 31 Par exemple, XaZ+a est un terme de BPA.
Denition 2.45 (Termes de BPP)
:L'ensemble T des termes de BPP construit sur Var et est deni par la
grammaire suivante:
t::=
0
ja jX jt+tjatjtktPar exemple, (XkXkXk(Z+X)) est un terme de BPP.
Denition 2.46 (Termes de RP)
:L'ensemble T des termes de RP construit sur Var et est deni par la
gram-maire suivante:
t::=
0
jX jt+t jatIntuitivement,
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).
Denition 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
Denition 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).
Denition 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 denir une semantique operationnelle qui est a branchement ni.
2.5.2 Semantique operationnelle et langages generes
Nous donnons dans cette section la denition de la semantique operationnelle des pro-cessus ainsi que leur langages associes.
Denition 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 1Denition 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
Denition 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)
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]).
Denition 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 deni par la grammaire suivante:
Denition 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 formeai 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 denie 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 denissent 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 denir 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
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.
Denition 2.55
:Soit S = (V ar;;;X
1) en forme normale. Nous denissons 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 =b0
2gDenition 2.56 (Positions)
:Soit 2T. L'ensemble de toutes les positions de est un sous-ensemble deIN
inductivement deni 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
Denition 2.57 (Position executable)
:L'ensemble de positions executables est deni 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 denir 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.
Denition 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 deni par:NormS = fX 2V ar :9 2 +:X ! S
0
gNous pouvons calculer cet ensemble d'une maniere iterative. Toutes les variables avec
X !a
S
0
sont dans NormS et si pour une variablesX0 avec X0 a !
S , toutes les variables
de sont dans NormS alors X est aussi dansNormS.
Nous considerons au chapitre 4 la verication 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 denissons l'ensemble de toutes
les variables qui peuvent se reduire a
0
en satisfant contin^ument.Denition 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 deni par:Norm S = f 2T :9 2 +: ! S
0
et 8i2f0;::: ;jj,1g; (i)j=gCet ensemble peut ^etre calculer de la m^eme maniere queNormS.
Denition 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 inniment souvent
est denie 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 inni 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).
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 denissons les reseaux de Petri et un modele equivalent: les systemes d'addition de vecteurs avec etats (SAVE). Ces denitions 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
Denition 2.61 (reseau de Petri)
:Un reseau de Petri est un sextuplet N = (;
P
;T
;F
;MN;) ou,
{ est un alphabet ni,
{
P
est un ensemble ni de places, {T
est un ensemble ni de transitions, {P
\T
=;,{ MN :
P
! IN est le marquage initial et :
T
! est la fonctiond'etiquetage des transitions.
Denition 2.62 (Marquage, Tir d'une transition)
:Soit N = (;
P
;T
;F
;MN;). 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 ecrivonsM !a (resp. M
a
!M
0) si
9t 2
T
tel que M[ti (resp.M[tiM0) et (t) = a.
La denition 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 denition 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!).
Denition 2.63 (Ensemble de marquages atteignables)
:SoitN = (;
P
;T
;F
;MN;). L'ensemble de marquages atteignables
R(N) est donne par: R(N) = fM : 9 2
T
: M N[ iMgDenition 2.64 (
!-langage d'un reseau de Petri)
:Soit N = (;
P
;T
;F
;MN;). Le !-langage de
N, represente par L(N), est
donne par: L(N) =f 2 ! :M N !g
Denition 2.65 (
M 1( N;t))
: Soit N = (;P
;T
;F
;M N;). Etant donne unt 2T
, 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 innie de transitions qui contient inniment souvent t.
Nous avons le theoreme suivant prouve independemment par [Kos82] et [May81].
Theoreme 2.5 (Atteignabilite)
:Soit N = (;
P
;T
;F
;MN;) un reseau de Petri et M un marquage. Alors, le
probleme
M 2R(N)?
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
;MN;) 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 eet,
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 denition des systemes d'ad-dition de vecteurs avec etats peut par exemple ^etre trouvee dans [Reu89].
Denition 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.
Denition 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 denies comme d'habitude par composante.~0 denote le
Denition 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 conguration d'un SAVE
est un couple (q;~v), ou q 2 Q et ~v 2 IN
k. La conguration initiale est le couple (q
0;~v0).
Une conguration (q1;~v) peut tirer une transitionq1
b
!(q
2;~a) en donnant la conguration
(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 denition 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 ;.
Denition 2.69 (
!langage d'un SAVE)
:Le!-langage d'un SAVES, appeleL(S), est deni par l'ensemble des sequences
innies 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 denie 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.
Denition 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 denissent la m^eme classe de systeme de transitions etiquetes.
Lemme 2.10
:Les reseaux BPP et les processus BPP denissent la m^eme classe de systeme a transitions etiquetes.
2.7 : Semilinearite 41
2.7 Semilinearite
Dans cette section nous denissons les systemes semilineaires. Les systemes semili-neaires sont des systemes qui generent des !-langages dont l'image de Parikh des prexes 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 Denitions
Dans cette section nous denissons les systemes semilineaires. Ce sont les systemes dont les images de Parikh des prexes de leurs !-mots sont semilineaires. Soient un alphabet ni et 2
. Pour chaque a
2, jja est le nombre d'occurrences de a dans .
Denition 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.
Denition 2.72 (Langage semilineaire)
:Un ensembleS
est un langage semilineaire si [S] est semilineaire.
Denition 2.73 (
!-langage semilineaire)
:Un ensembleS !est un!-langage semilineairesi [Pref(S)] est semilineaire.
Denition 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
: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 prexes
des sequences produite par X. Ensuite nous ajoutons des regles pour ces variables qui permettent de produire les prexes. 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 denie 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
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 denie recursivement comme suit:
{ Str(
0
) = { Str(X) =X { Str(1 2) =Str(1 k 2) =Str(1)Str(2) { S =XfinIl 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