Cours de réseau de Petri
Réseaux de Petri
Ces réseaux Petri présentent des caractéristiques intéressantes telles que la modélisation et la visualisation de comportements parallèles, de la synchronisation et partage de ressources. De plus leurs aspects théoriques ont été largement étudiés et les résultats théoriques les concernant sont très abondant. On notera par exemple les ouvrages collectifs suivants : ¤ G.W. BRAMS RdP : théorie et pratique Masson 83 ¤ Proth et Xie Gestion et conception des systèmes de production Masson 95 C’est un outil de modélisation utilisé généralement en phase préliminaire de conception de système pour leur spécification fonctionnelle, modélisation et évaluation. Les principaux utilisateurs de ces réseaux sont les informaticiens et les automaticiens. Cependant c’est un outil assez général pour modéliser des phénomènes très variés. Il permet notamment : ¤ la modélisation des systèmes informatiques, ¤ l’évaluation des performances des systèmes discrets, des interfaces homme-machine, ¤ la commande des ateliers de fabrication, ¤ la conception de systèmes temps réel ¤ la modélisation des protocoles de communication, ¤ la modélisation des chaines de production (de fabrication), ¤ … en fait, tout système dans lequel circule objets et information. Les atouts des RdP : ¤ ils permettent de décrire de manière précise mais non formelle la structure d’un système, ¤ ils offrent un support graphique de conception, ¤ ils permettent de décrire un système étape par étape, en décomposant en éléments plus simples les éléments constitutifs initiaux du système, ¤ ils permettent de décrire à l’aide d’un même support de base, à la fois la structure et la dynamique d’un système, ¤ ils permettent de passer d’une description graphique d’un système à une description formelle permettant l’analyse mathématique du système (cohérence).
Introduction au RdP
Principe de modélisation
Nous allons partir d’un exemple simple de système à modéliser : une bibliothèque. Au niveau le plus haut on distingue : ¤ les utilisateurs de la bibliothèque (composants actifs de la bibliothèque), ¤ les étagères de la bibliothèques (composants passifs).
Les flèches représentent les flot d’objets ou d’information entre les composants. Il est bien sur possible de compliquer les choses en intégrant davantage de données.
Principe 1 : Les composants actifs et passifs du système doivent être bien distingués, un composant passif peut contenir/stocker des objets ou de l’information. Un composant actif peut transporter des objets ou de l’information. Principe 2 : Les arcs entre composants passifs et actifs ne doivent pas représenter une composante réelle du système mais une relation abstraite entre composants. Principe 3 : Un arc ne doit jamais relier deux composants du même type. Si ces principes ne sont pas suivis, on aboutit à terme à des problèmes de modélisation. Exemple : Système de communication reliant 2 systèmes informatiques O1 et O2.Principe 4 : La même structure de réseaux représentant l’architecture du système modélisé devra pouvoir être modélisée pour décrire sa dynamique. Comment? ¤ On placera des marques représentant des objets ou de l’information dans les composants passifs, ¤ On décrira par des règles strictes comment les composants actifs peuvent faire transiter des objets de composants passifs en composants passifs. Principe 5 : On obtient une description plus détaillée d’un système ¤ soit en remplacant un composant du système par un sous réseau, ¤ soit en ajoutant un nouveau composant au système.
Réseaux de conditions et d’évènements
Un exemple
Considérons un système assez général de production/consommation. Dans ce système abstrait, on va considérer que des objets peuvent être :
1. produits, 2. transmis, 3. recus, 4. consommés.
On distingueras 4 types d’évènements que l’on représentera par des barres. De plus, on considérera que l’occurence de ces évènements est conditionnée; on représentera des conditions à l’aide de cercles. L’occurence des divers évènements est conditionnée par exemple par le fait : ¤ que le canal soit occupé ou non, ¤ qu’un émetteur soit prêt ou non. Sur cet exemple on distinguera deux types de conditions, relativement à un évènement donné : ¤ certaines de ces conditions sont en aval de l’évènement considéré, exemple : la condition canal occupé est une condition aval relativement à l’évènement transmettre . ¤ certaines conditions sont en amont de l’évènement considéré : exemple : la condition émetteur prêt est en amont de l’évènement transmettre . Dans ce cadre, une condition sera toujours satisfaite ou non satisfaite. Un évènement peut se produire si et seulement si : 1. toutes ses conditions amonts sont satisfaites, 2. aucune de ses conditions avales n’est remplie. On considérera qu’après l’occurrence d’un évènement : 1. toutes ses conditions amonts ne sont plus satisfaites,2. toutes ses conditions avales sont maintenant satisfaites.
Remarque : l’indéterministe de la dynamique du système représente, par exemple, lorsque seules les conditions canal occupé , récepteur prêt , et producteur activé sont satisfaites, deux évènements peuvent se produire recevoir et produire .
Définitions
Un RdP de conditions et d’évènements est constitués : ¤ de conditions représentées par des cercles, . ¤ d’évènements, représentés par des barres, . ¤ d’arcs reliant des conditions à des évènements, . ¤ d’arcs reliant des évènements à des conditions, . ¤ de marques , indiquant si une condition est remplie , ou non Dans ce cadre ¤ une condition C est toujours une condition amont (avale) à l’évènement E si on a un arc reliant C (E) à E (C), , ( ). ¤ une condition est toujours satisfaite ou non. Un réseau est marqué si et seulement si les conditions satisfaites sont représentées comme suit ; le marquage initial d’un RdP est constitué de l’ensemble de ses conditions et des marques qu’elles peuvent contenir.