Synthèse de réseaux de Petri 3
les mêmes propriétés de séparation mais avec diverses notions de régions. Une interpré-
tation de ces axiomes de séparation est la suivante. Une région peut être vue comme une
place abstraite et est associée à un quotient de l’automate qui projette l’automate sur le
“contenu” de cette place. L’automate est alors isomorphe au graphe de marquage d’un ré-
seau si, et seulement si, il est isomorphe au produit synchronisé de ces automates associés
aux régions. La première propriété de séparation exprime le fait que les états peuvent être
injectivement codés comme des vecteurs d’états locaux (chaque état local donne sa valeur
relativementà une région).La seconde propriétéde séparationdit que si un événementn’est
pas autorisédans un état c’est qu’il n’est pas autorisé dans un des états locaux. Le problème
de synthèse se réduit alors à la caractérisation des automates pouvantêtre présentés comme
produits synchronisés d’un certain type d’automates.
Cette observation a conduit à une présentation unifiée du problème de synthèse de ré-
seaux [10] paramétrée par le type des réseaux. Une région, ou observation, est un mor-
phisme du système de transition sous-jacent à l’automate vers un système de transitions
classifiant, dit le type de réseaux, qui caractérise le comportement de la classe de réseaux
considérée. Nous obtenons, pour chaque type de réseaux, une adjonction duale dont le
noyau met en correspondance les automate séparés, c’est à dire satisfaisant aux proprié-
tés de séparation, aux réseaux dits saturés. Dans [3] la présentation se simplifie en une
connexion galoisienne (entre ensembles ordonnés) à la condition de travailler avec un en-
semble d’événements fixé à l’avance. Cette approche s’étend aux automates de dimension
supérieurepermettant ainsi de prendre en compte le comportementconcurrent des réseaux.
On obtientainsi un cadre unifié pourprésenter la synthèse des réseaux élémentaires [42, 43]
et des systèmes d’addition de vecteurs [21] à partir de leurs graphes de marquage séquen-
tiels et la synthèse des réseaux condition/événements [76] et des réseaux de Petri [70] à
partir de leur comportements concurrents.
On peut songer à appliquer la synthèse de réseaux pour la conception de logiciels dis-
tribués où elle peut être conçue comme une technique de parallélisation de programmes
séquentiels. De fait le réseau synthétisé exhibe le parallélisme maximal compatible avec
le comportement séquentiel donné. La complexité théorique des algorithmes mis en œuvre
semblerait devoir en limiter la portée dans les applications de taille réaliste. Le problème
de synthèse de réseaux élémentaires est NP-complet [7]; et bien que la synthèse des sys-
tèmes d’addition de vecteurs admette une solution polynomiale [6], celle-ci fondée sur la
méthode des ellispoides de Khachiyan [94] est dans la pratique remplacée par la méthode
du simplexe qui bien que non polynomiale a une meilleure complexité en moyenne. Des
outils ont été néanmoins développés. Une solution assistée par ordinateur au problème du
codage d’état dans les circuits asynchrones et mis en oeuvre dans l’outil Petrify est
présentée dans [30]. Cet algorithme ne calcule que des régions minimales d’un automate
représenté symboliquement parun diagramme de décisions binaires [25, 26]. Une méthode
semi-automatisée pourla distribution de protocoles, basée sur la synthèse desystèmes d’ad-
dition de vecteurs et mis en œuvre dans l’outil SYNET, est décrite dans [28].
L’algorithme polynomial proposé dans [6] pour la synthèse des systèmes d’addition de
vecteurs est fondé sur des algorithmes pour la programmation linéaire dans les rationnels
découverts vers la fin des années soixante-dix. Cet algorithme a été adapté à la synthèse de
réseaux de Petri à partir de leurs graphes de marquage séquentiels ou parallèles [12], à la
synthèse de réseaux de Petri à partir de langages [6, 33] et à la synthèse de réseaux de Petri