Réseau de Petri - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Dynamique d'exécution

Un réseau de Petri évolue lorsqu'on exécute une transition : des jetons sont retirés dans les places en entrée de cette transition et des jetons sont déposés dans les places en sortie de cette transition.

L'exécution d'une transition (pour un réseau de base ou un réseau coloré) est une opération indivisible qui est déterminée par la présence du jeton sur la place d'entrée.

L'exécution d'un réseau de Petri n'est pas déterministe, car il peut y avoir plusieurs possibilités d'évolution à un instant donné.

Si chaque transition dans un réseau de Petri a exactement une entrée et une sortie alors ce réseau est un automate fini.

Franchissement d'une transition

Le fait que la transition t est franchissable à partir du marquage M se note M \stackrel{t}{\rightarrow}

On dit qu'une transition t est franchissable, si chaque place p en entrée contient un nombre de jetons supérieur ou égal à la valuation de l'arc qui la relie à la transition t. C'est-à-dire :

M \geq PRE_t

Note : PREt est la t-ième colonne de PRE.

Le franchissement d'une transition permet d'atteindre un nouveau marquage M' à partir de M: M \stackrel{t}{\rightarrow} M'  :

M' = M + Ct

Séquence de transitions

Une séquence de transitions est une séquence formée sur l'alphabet des transitions (voir Théorie des langages). Elle décrit une suite de transitions à activer.

On dit qu'une séquence de transitions σ = σ't est franchissable à partir du marquage M si:

  • σ' est franchissable à partir de M et M \stackrel{\sigma '}{\rightarrow} M'
  • t est franchissable à partir de M', M' \stackrel{t}{\rightarrow}

A une séquence de transitions σ, on associe un vecteur commutatif \stackrel{\rightarrow}{\sigma} = (\alpha_1, ... , \alpha_m) (m est le nombre de transitions). αi est le nombre d'occurrences de la transitions i dans σ.


Exemple: Soit un réseau avec les transitions T = {t1,t2,t3}. σ = t2t1t3t1, le vecteur commutatif correspondant est \stackrel{\rightarrow}{\sigma} = (2, 1 ,1)

Si la séquence σ est franchissable à partir du marquage M, alors on peut calculer le marquage M' obtenu par \sigma \stackrel{t}{\rightarrow} :

M' = M + C . \stackrel{\rightarrow}{\sigma}

Représentation graphique

Graphe de marquage

Le graphe des marquages d'un réseau (R,M0) est un graphe orienté dont les noeuds sont les marquages de A(R,M0), et chaque arc relie un marquage à un autre qui est immédiatement accessible par une transition : si M_0 \stackrel{t}{\rightarrow} M_1 , un arc est tracé de M0 à M1 et il est marqué avec t.

Ce type de graphe donne une vue simple de l'évolution d'un réseau, néanmoins le graphe des marquages n'est pertinent que pour les réseaux bornés : un réseau non borné a une infinité de marquages et ne pourrait être représenté.

L'algorithme de construction du graphe se définit récursivement, partant de l'état initial, on détermine de proche en proche les marquages accessibles.

  • S est l'ensemble des noeuds du graphe, il est initialisé à M0
  • En entrée, l'algorithme prend un marquage M
      Pour toute transition t faire       Si 

    
    M \stackrel{t}{\rightarrow} M_1
 Alors         Si 

    
    M_1\in  S
 Alors           

    
    S \leftarrow S \bigcup \{M_1\}
           Créer le sommet M1         Fin Si         Créer l'arc (M,M1)         Appeler l'algorithme avec M1       Fin Si      Fin Pour      
Reachability graph for petri net.png

Graphe de couverture

(...)

Page générée en 0.102 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise