Précédent : Présentation générale et
objectifs Remonter : Projet PARAGRAPHE, Parallélisme et graphes
Suivant : Grands domaines d'application
Résumé : Le projet étudie les propriétés structurelles des graphes ayant pour ensemble de noeuds les configurations d'un automate (machine à mémoire finie ou infinie, centralisée ou répartie), et pour ensemble d'arcs étiquetés les transitions entre ces configurations. Parmi ces graphes, nous étudions plus particulièrement les graphes de marquages accessibles des réseaux de Petri, les graphes de transitions des automates à pile, les graphes de récritures préfixes (sur les mots ou sur les termes), et les dépliages d'automates enrichis par des relations de concurrence. Notre but est d'établir pour ces familles de graphes des théorèmes de représentation porteurs d'applications en génie logiciel. Les graphes sont pris comme des spécifications de comportements de systèmes à construire. Nous cherchons à identifier les propriétés des graphes qui permettent de construire ces systèmes par synthèse algorithmique. Autrement dit, partant d'un graphe, on cherche à obtenir par des moyens automatisés une représentation exécutable de ces graphes. Nous cherchons des représentations canoniques finies des graphes sur lesquelles on puisse décider de propriétés comme l'absence de blocage ou la vivacité. Nous comparons l'expressivité des diverses représentations (exécutables ou non exécutables) de graphes. Pour cela, nous établissons des traductions entre ces représentations, si possible effectives.
Résumé : On trouvera ci-dessous une brève introduction aux réseaux de Petri, avec quelques renvois à la littérature, puis une présentation de la théorie des régions due à Ehrenfeucht et Rozenberg, étendue ici à des types arbitraires de réseaux.
On consultera Murata [Mur89] pour une présentation d'ensemble du domaine. Les réseaux de Petri servent à la spécification, à la simulation, à l'analyse, et à la mise en oeuvre de systèmes, destinés à la conduite de dispositifs plus ou moins complexes (ateliers de production, trafic aérien, ...) ou à la coordination d'agents qui communiquent selon des schémas formels (protocoles de communication) ou informels (processus coopératifs). Les réseaux sont à l'origine des graphes bipartis reliant par des arcs dirigés, places à valeurs booléennes et transitions, la dynamique étant définie par un jeu de jetons, représentant les conditions valides: les places en entrée (resp. en sortie) d'une transition sont ses pre-conditions (resp. post-conditions). Il s'est par la suite avéré utile de permettre l'accumulation des jetons dans les places, vues dès lors comme de simples réservoirs de ressources banalisées. Afin de faciliter la notation de ces réseaux étendus, des poids entiers ont alors été inscrits sur les arcs, mesurant les flots de ressources correspondants. Le modèle obtenu est le modèle classique des réseaux de Petri, dans lesquels les places prennent des valeurs entières.
Les travaux sur les réseaux de Petri classiques ont été surtout consacrés à l'étude de leurs graphes de marquages. Ces travaux reposent sur l'algèbre linéaire (calculs d'invariants [MR80] [STC97]), sur la théorie des graphes (études sur les symètries [Jen92] [HITZ95], ou sur les deux (synthèse de réseaux de Petri). Un problème central est l'obtention de méthodes de vérification capables de contourner les obstacles posés par la taille des graphes de marquages. Entre autres problèmes de décision célèbres résolus pour les réseaux de Petri, citons la finitude du graphe des marquages accessibles [KM69], l'accessibilité des marquages [May84], la vivacité (en corollaire de l'accessibilité), et la semi-linéarité de l'ensemble des marquages accessibles [Hau90].
La théorie des réseaux de Petri est liée à la théorie classique des domaines par les travaux sur les structures d'événements [NPW81] [HKT96]. Ces travaux donnent aux réseaux un éclairage complémentaire en leur associant des graphes acycliques ou des langages partiels comme les langages de traces [HKT92]. L'un des problèmes qui se posent dans ce cadre est de caractériser les familles de graphes ou de langages correspondant à une classe de réseaux donnée. La théorie des régions, présentée de façon assez détaillée dans [17], est l'un des éléments de réponse à ce problème.
Une présentation uniforme de toutes les familles existantes de
réseaux de Petri peut être obtenue en posant les définitions
suivantes. Un type de réseaux est un système de
transitions dans lequel
et
sont deux ensembles finis ou infinis,
et
est
un ensemble de transitions
satisfaisant la
condition de déterminisme:
.
Intuitivement, les ensembles
et
définissent respectivement les états locaux des agents
atomiques d'un système et les changements d'états de ces agents
sous l'effet d'événements locaux issus de la décomposition des
interactions globales. Un réseau marqué de type
est une structure
, où
est un ensemble de
places figurant les agents d'un système dans des états
locaux donnés par la fonction de marquage
, et
est un ensemble d'
événements représentant des interactions globales qui se
décomposent en événements locaux conformément aux colonnes de la
matrice
(matrice des poids). Un événement
est tirable dans le marquage
,
et sa mise à feu conduit à un marquage
si et
seulement si, pour toute place
,
dans
. Les transitions d'un réseau
s'obtiennent ainsi en synchronisant les transitions locales de
ses sous-réseaux atomiques.
Fixons un type de réseaux .
Soit
un automate fini ou infini
dont l'ensemble des transitions
satisfait la condition de
déterminisme, et dont les états sont tous accessibles à partir de
(l'état initial). Une région
[ER90a] dans
vis à vis du type
est un morphisme de
systèmes de transitions
, c'est à dire
une paire de fonctions
et
envoyant toute
transition
de
sur une transition
de
.Si
est le graphe de
marquages d'un réseau
(notation:
), on voit que chaque place
détermine une région associée, donnée par
et
(pour tout marquage
et pour tout événement
). Réciproquement, on peut associer à
l'automate
le réseau
défini de la façon suivante: l'ensemble
des places du réseau est l'ensemble des
régions du système de transitions
, et
pour toute région
on pose
et
. On peut montrer que le graphe des
marquages
du réseau
est
isomorphe à l'automate
si et seulement si les deux
conditions de séparation suivantes sont vérifiées
[ER90b]:
i) pour toute paire d'états distincts , il existe dans
une région
séparatrice
telle que
ii) pour tout état et pour tout
événement
non tirable en
,
il existe dans
une région inhibitrice
telle qu'aucune transition de
la forme
ne soit tirable dans
.
Lorsque est un automate fini, le nombre des
instances des deux conditions de séparation à vérifier dans
pour assurer l'isomorphisme de
et du graphe des marquages accessibles
de son réseau dual
a une borne
quadratique en la taille de cet automate [DR96]. On en tire pour tout type
fini une procédure de décision du
problème
,mais la décision demande
en général un temps exponentiel en la taille de l'automate: pour
le type des réseaux élémentaires, qui est un type fini, chaque
instance de l'une des deux conditions de séparation peut poser un
problème NP-complet, et le problème
est NP-complet. Par contre, lorsque
est
isomorphe au graphe des marquages de
, il est
toujours isomorphe au graphe des marquages d'un sous-réseau de
dont l'ensemble de places, obtenu en
restreignant l'ensemble des régions de
à un
sous ensemble irredondant vis à vis des conditions de séparation,
est de taille polynomiale en la taille de
. Pour
le type des réseaux de Petri purs, donné par le graphe de Cayley
des entiers restreint à ses noeuds positifs, soit
avec
, la décision du problème
prend un temps polynomial en
la taille de
. La synthèse d'un réseau
tel que
est
possible si et seulement si
. Le
calcul d'un réseau
irredondant prend alors un
temps polynomial. Le principe de cette synthèse est la résolution
de systèmes d'inéquations linéaires homogènes en nombres
entiers dans des modules sur
de dimensions finies, représentant
toutes les composantes
des régions entières de
, ou morphismes de
dans
.
Résumé : Le modèle des réseaux de Petri a reçu vers la fin des années 70 les aménagements nécessaires à son utilisation dans des applications complexes. L'aménagement le plus important a été la distinction de couleurs de jetons, représentant des données [Jen92] [Vau86]. Les réseaux colorés ne sont qu'une forme comprimée de réseaux de Petri ordinaires, dans lesquels on peut toujours les traduire, mais ils combinent utilement flots de données et contrôle de ressources (le contenu d'une place est un multi-ensemble de données). Les réseaux algébriques sont une classe très générale de réseaux colorés dans lesquels les places sont typées par des types algébriques, définissant des ensembles de données (ou de couleurs) et les fonctions sur ces ensembles par lesquels opèrent les transitions afin de transformer leurs jetons d'entrée en jetons de sortie [Vau87] [Rei91]. Plus loin dans la même voie ont été proposés divers modèles de réseaux orientés objets, faisant intervenir la création dynamique de sous réseaux. Citons par exemple les réseaux de Sibertin-Blanc [SB94], dont la structure évolue au cours de l'exécution par création dynamique de sous-réseaux mobiles figurés par des jetons. Un dynamisme plus limité apparait dans les réseaux automodifiants de Valk [Val78]. Dans ces réseaux, les ensembles de places et de transitions sont fixes, mais les relations de flot liant les unes aux autres varient en fonction des marquages, car les arcs sont pondérés par des combinaisons linéaires entières de variables, associées aux places et représentant leur contenu dans le marquage courant. Les propriétés des réseaux colorés sont semblables à celles des réseaux de Petri lorsque les ensembles de couleurs sont finies, mais doivent être réétudiées dans le cas contraire, ce qui reste en partie un objet d'étude. Les propriétés des réseaux à objets et des réseaux automodifiants sont assez mal connues. Ces formalismes ont en général la puissance des machines de Turing, et le problème est d'en déterminer des sous-ensembles bien taillés ayant au moins quelques propriétés décidables. La finitude du graphe des marquages est ainsi décidable pour les réseaux automodifiants dans lesquels les poids qui figurent sur les arcs en entrée des transitions sont des poids ordinaires, c'est à dire des constantes, indécidable dans le cas général.
Résumé : Selon la définition classique, un langage est reconnaissable en tant que partie d'un monoïde s'il est l'image inverse d'une partie d'un monoïde fini par un morphisme de monoïdes. Dans le cas d'un monoïde libre, les langages reconnaissables coïncident avec les langages réguliers et aussi avec les langages engendrés par les grammaires linéaires droites. En s'inspirant de ces notions classiques, on essaie de définir une notion plus générale de reconnaissabilité pour des structures discrètes qui ne sont plus des langages mais des graphes. Deux approches sont possibles. L'une des approches consiste, en partant d'un ensemble d'objets (finis ou infinis) dans lesquels on a choisi un axiome ou un sous-ensemble d'axiomes, à équiper ces objets d'un ensemble de transformations et à définir comme objets reconnaissables les objets qui peuvent être obtenus par des suites finies de transformations appliquées à l'un des axiomes. La seconde approche, un peu plus fidèle à la définition classique, part de la notion de morphisme de pliage dans une catégorie d'objets finis ou infinis, et définit comme reconnaissables les objets qui se plient sur des objets finis.
Les systèmes de récritures de graphes, en particulier les grammaires déterministes de graphes [Cou90], sont des représentations finies et exécutables de graphes infinis. Ces représentations ont un grand intérêt pour la décision d'une vaste famille de propriétés des graphes décrits: toute propriété définissable au second ordre monadique dans le langage d'un tel graphe est décidable. Ceci ne donne pas de moyen direct pour vérifier les propriétés d'un système ou d'un programme concurrent. Il faudrait encore pour cela, toute considération d'efficacité mise à part, savoir produire à partir d'un programme concurrent un système de récritures ou une grammaire qui engendre un graphe isomorphe au graphe des transitions de ce programme. Cette transformation n'est actuellement possible qu'à partir d'automates à pile [MS85] ou de systèmes de récritures préfixes sur les mots [7] ou les termes [6]. Dans les cas très particuliers de programmes concurrents se comportant comme des automates à pile, on sait en outre décider si deux programmes ont le même comportement, c'est à dire si deux automates à pile ont des graphes de transitions isomorphes. Une équivalence de comportements moins rigoureuse que l'isomorphisme de graphes est la bisimulation, ou isomorphisme de graphes à l'identification près des sous-graphes accessibles isomorphes. On sait là encore, dans le cas de processus dont les transitions sont décrites par des récritures préfixes selon des grammaires algébriques sur les mots, décider de la bisimilarité de leurs comportements en passant par des grammaires de graphes, décrivant ces comportements et elles même produites à partir des grammaires sur les mots.
Les graphes engendrés par les grammaires déterministes de
graphes sont les graphes réguliers de Courcelle
[Cou90]. Ces graphes
sont un sous-ensemble strict des graphes reconnaissables
de Caucal [9]. Ils peuvent en
effet être obtenus par des transformations appliquées à l'arbre
binaire complet , compatibles avec la
logique du second ordre monadique: à toute transformation
de cette famille correspond une
transformation effective
sur les
formules, telle que pour toute formule
du
langage du graphe
,
soit une formule du langage de l'arbre binaire complet et que
si et seulement si
. L'arbre binaire complet
ayant, par un théorème dû à Rabin, une théorie du second ordre
monadique décidable [Rab69], l'ensemble des graphes
reconnaissables hérite de cette propriété fondamentale.
La bisimilarité de deux sous-graphes accessibles d'un même graphe reconnaissable ne pouvant pas être exprimée par une formule du second ordre monadique, la propriété précédente n'est d'aucune aide pour résoudre le problème de décision de la bisimilarité des graphes reconnaissables, qui est un problème ouvert. La restriction de ce problème aux graphes réguliers est aussi un problème ouvert. Par contre, la bisimilarité est décidable pour le sous-ensemble des graphes réguliers à étiquetage déterministe (deux arcs issus d'un même sommet portent des étiquettes distinctes). En effet, la bisimilarité des graphes réguliers à étiquetage déterministe et l'équivalence des automates à pile déterministes sont deux problèmes interréductibles [8], et l'équivalence des automates à pile déterministes est décidable [Sén97].
Un automate concurrent est un automate déterministe, fini ou
infini, muni en chaque état d'une relation binaire, symétrique et
irréflexive, sur le sous-ensemble des événements tirables en cet
état, appelée relation d'indépendance. La famille des
relations d'indépendance, indexée par les états, sert à définir
une équivalence sur les suites d'événements acceptées par
l'automate, fondée sur la non distinction de deux suites
et
qui diffèrent
seulement par la permutation de deux événements
et
indépendants dans l'état auquel
l'automate est conduit par l'acceptation de
. Afin que chaque classe de cette équivalence puisse être
interprétée comme l'ensemble des observations séquentielles d'un
processus non-séquentiel, un axiome de cohérence locale est posé
sur la famille des relations d'indépendance de l'automate, à
savoir l'axiome du cube [Dro90]. Le langage reconnu par un
automate concurrent est alors l'ensemble des classes
d'équivalence des mots acceptés par l'automate sous jacent. Un
tel langage est appelé un langage de traces.
Les notions centrales de la théorie des automates, comme celles de simulation d'un automate par un autre ou de réalisation minimale d'un langage par un automate, s'étendent aux automates concurrents et aux langages de traces. La théorie des automates concurrents n'est cependant pas une simple extension de la théorie des automates classiques: on peut voir un automate concurrent comme la représentation d'un ensemble ordonné, à savoir l'ensemble de ses traces ordonnées par le quotient de l'ordre préfixe. Ces ensembles ordonnés, appelés domaines d'événements, sont des domaines de Scott. La caractérisation axiomatique et la classification des divers types de domaines d'événements dans la classe des domaines de Scott ont fait l'objet de nombreux travaux [Bed87] [Dro90] [Kus94]. Il n'existe par contre que très peu de résultats sur la caractérisation et la classification des domaines d'événements reconnaissables c'est à dire représentables par des automates concurrents finis.
Le domaine d'événements associé à un automate concurrent peut
être vu comme un dépliage de cet automate dans la
catégorie des automates concurrents [BD94] et des morphismes de pliage
[BD92]. La question qui se
pose alors est de caractériser les dépliages d'automates
concurrents finis. Une question un peu plus générale est de
mettre en évidence une notion robuste de reconnaissabilité dont
les instanciations pour divers types d'automates concurrents ou
de réseaux de Petri soient compatibles. Il existe aujourd'hui
très peu de résultats sur ces questions qui posent des problèmes
combinatoires. Quelques résultats ont été obtenus sur les
étiquetages finis des structures d'événements premières [ABCR94]. On sait aussi que les
domaines d'événements context free (i.e. dont la
réduction transitive est engendrée par une grammaire déterministe
de graphes) sont reconnus par des automates concurrents finis, en
l'occurence des automates trace [3].