Véri cation Formelle

Transcription

Véri cation Formelle
Ministère de l'Enseignement Supéieur et de la Recherche Scientique
Université des Sciences et de la Technologie Houari Boumediene
Département Informatique
Support de Cours
Vérication Formelle
Master : RSD
2009 - 2010
Table des matières
Introduction générale
3
1
Les Réseaux de Petri
6
1.1
Formalisation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2
Sensibilisation d'une transition . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3
Tir d'une transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
Matrices d'incidence avant et arrière . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.5
Le vecteur caractéristique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.6
Equation fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.7
Graphe des marquages accessibles . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.8
Arbre de couverture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.9
Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.9.1
Bornitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.9.2
Vivacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.9.3
Etat de blocage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.9.4
Etat d'accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.10 Extensions des réseaux de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.10.1 Réseaux de Petri avec arc inhibiteurs . . . . . . . . . . . . . . . . . . . . .
11
1.10.2 Regle de franchissement . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.10.3 Réseaux de Petri colorés . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.10.4 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.11 Puissance d'expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2
Introduction générale
Grâce au progrès technologiques réalisés ces dernières decénnies, les systèmes informatiques
contrôlent de plus en plus de tâches dans notre entourage, de l'instrument médical au système
de contrôle du trac aérien. Il est évident que les systèmes, qu'ils soient matériels ou logiciels qui
assurent ces tâches doivent être ables et sûres. Ces systèmes sont souvent composés de plusieurs
éléments pouvant s'exécuter en parallèle et communiquer entre eux. leurs comportements sont
dénis par leurs interactions avec les évènements internes ou externes et leur devenir dans le
temps. Dans cette classe de systèmes, on peut aussi citer les protocoles de communication, les
systèmes embarqués, les circuits logiques synchrones, les systèmes de production, etc...
Une caractéristique importante de ces systèmes est leur propension à avoir un très grand
nombre de comportements possibles. Cela est dû essentiellement à l'exécution concurrente et
aux multiples interactions des diérents éléments qui les composent, ce qui rend leur conception,
leur réalisation et leur mise en ÷uvre extrêmement dicile. Cette diculté est accrue par le rôle
souvent critique de ce type de systèmes (processus de contrôle en avionique, centrales nucléaires,
etc..), nous parlons alors de systèmes complexes.
La délivrance sur le marche d'un logiciel suppose donc une phase coûteuse de tests. Mais si
ces tests révèlent une bonne part des erreurs, ils ne constituent en rien une garantie. La complexité croissante des applications informatiques a malheureusement pour corollaire l'existence
de comportements anormaux aux conséquences parfois irréparable.
Rappel de centaines de milliers de Pentium Intel en 1996
Destruction de la première fusée Ariane 1999
etc...
L'erreur est donc souvent interdite. (Aéronautique, contrôle d'une centrale nucléaire, télé-paiement
par carte à puce ). Les logiciels concernés sont dit critiques La vérication de logiciels ou de
manières générale de systèmes critiques est un domaine de recherche en plain essor.
Ces logiciels n'ont pas pour but de calculer un résultat mais très souvent assurer le contrôle
d'un processus qui communique avec son environnement par l'intermédiaire de capteurs, signaux,
claviers, etc. Ils doivent donc en assurer un fonctionnement permanent. On les appelle systèmes
réactifs.
Une autre caractéristique est que leur comportement global dépend de l'interaction de
plusieurs sous systèmes évoluant en parallèle, ce sont des systèmes distribués. Enn, le paramètre
temps intervient parfois de manière explicite, on parle alors de systèmes
3
temps réel.
Pour avoir
Introduction générale
des systèmes (hard et soft) ables et sûrs ils doivent nécessairement être validé Les principales
méthodes de validation des systèmes sont la simulation, les tests, vérication formelle basée sur
les méthodes déductives et le méthodes basées sur le model-checking.
Les phases de vérication et de validation permettent de contrôler que le système satisfait
les propriétés attendues. Il en résulte que tout problème lié au comportement qualitatif (Sûreté,
équité, absence de blocage, etc...), comme au comportement quantitatif (perte de messages,
vitesse moyenne de transmission, etc...) est détecté et corrigé très tôt dans le cycle de développement.
Pour prévenir ainsi d'éventuels dysfonctionnements, une pléthore de techniques ont été développées. Parmi celles-ci, les tests et la
simulation
sont les plus connus et probablement les plus
largement utilisés (ref 20 ?). Dans les vérications basées sur
les tests,
le système à vérier est
testé pour révéler d'éventuelles erreurs sur un ensemble de situations choisies. Faute de temps, il
est souvent impossible de tester ce système pour toutes les situations possibles. L'ensemble des
cas à tester doit être choisi avec une attention particulière pour couvrir le maximum de scénarios
distincts possibles. Néanmoins, il est impossible de garantir que le produit sera exempte de toute
erreur.
Une autre technique utilisée pour assurer la validation de systèmes est la méthode formelle.
Pour pouvoir être réalisée, la vérication impose une description formelle du système, ainsi qu'une
spécication formelle des propriétés.
De nombreux formalismes de spécication dédiés aux systèmes concurrents ont été proposés en
littérature tels que les automates communicants, Systèmes de transition, algèbres de processus
CCS, CSP, LOTOS, Estelle, Promela, etc... .
Parmi les formalisme les plus utilisés, les réseaux de Petri occupent une place prépondérante
et se trouvent être l'outil ayant été le plus largement étudié si l'on considère la diversité des
techniques automatiques de vérication qui leurs sont associés [?]. Ils orent une structure très
simple et forment toujours le support de nombreuses études théoriques des systèmes concurrents
et de leurs propriétés.
Parmi les méthodes de vérication formelle, nous pouvons distinguer les trois approches suivantes :
Les vérications basées sur les preuves de théorèmes.
Les vérications basées sur les équivalences.
Les vérications basées sur le model-checking.
D'autres classications sont évidemment proposées dans la littérature.
La première approche, basée sur les preuves de théorèmes, a pour principe de poser un
ensemble d'axiomes, souvent donnés par le concepteur, puis à prouver un ensemble d'assertions
déterminant ainsi la conformité du système. Cette preuve est faite plus ou moins manuellement.
4
Introduction générale
L'aide apportée par les outils tels que les démonstrateurs de théorèmes n'évite pas totalement la
nécessité de l'intervention humaine. Ce type de vérication est rarement employé, il est utilisé
essentiellement dans le domaine des spécications algébriques et logiques (ref Pnu 77 ?).
La deuxième approche de vérication formelle consiste à vérier l'équivalence (le plus souvent
par rapport à une relation de bisimulation) entre le modèle de description de l'implémentation et
une spécication qui décrit ce que l'on attend de cette implémentation, les deux utilisant le même
formalisme de description. Si les deux modèles sont équivalents cela prouve que l'implémentation
est conforme à la conception.
La dernière approche et la plus utilisée, est basées sur les modèles, permet une vérication
simple et ecace et elle est complètement automatisables. La vérication basée sur les modèles ou Model-checking est surtout applicable pour les systèmes ayant un espace d'états ni.
Les algorithmes de vérication dans cette méthode utilisent l'ensemble des états que le système
peut atteindre pour prouver la satisfaction ou la non-satisfaction des propriétés. Cependant, le
problème majeur de ce type de vérication est la taille souvent excessive de l'espace d'états. En
eet, elle peut être exponentielle par rapport à la taille de la description du système. Une des
causes principales de cette explosion combinatoire du nombre d'états et le fait que l'exploration
est réalisée en prenant en compte tous les entrelacements possibles d'évènements concurrents.
Pour pallier à ce problème de l'explosion combinatoire, diérentes solutions dont l'objectif et
de réduire la taille de l'espace d'états, ont été proposées dans la litérature. Elles sont généralement
basées sur :
L'utilisation de structures de données particulières.
l'exploitation de l'ordre partiel sur les occurrences des évènements.
l'exploitation de symétries du système.
L'exploitation de la modularité.
Dans ce cours seront présentées les techniques de vérication et les modèles de spécication
classiques utilisés pour l'analyse des systèmes.
5
Chapitre 1
Les Réseaux de Petri
Le modèle de
réseaux de Petri
(RdP) a été crée en 1962 an de modéliser la composition
et la communication entre les processus d'un système. L'interêt majeur de ce modèle provient
de ce qu'il permet de représenter, et ce de manière relativement simple. Ainsi, à l'aide des
réseaux de Petri on peut représenter les concepts de parallélisme, de synchronisation (rendezvous, précédence...), de partage de ressources, de communication, de causalité.
Enn, il y a un autre aspect qui a donné de l'importance aux réseau de Petri, c'est l'existence
d'une représentation graphique qui donne un aperçu intuitif des diérents composants et du
fonctionnement du systèmes decrit. En terme de puissance d'expression, les RdP sont mieux que
les automates par exemples.
Ils permettent aussi la vérication de propriétés aussi bien structurelles que comportementales. Un grand nombre de propriétés peuvent être exprimées à l'aide des réseaux de Petri. On
peut citer par exemple l'absence de blocage, la possibilité de reinitialiser le système, la disponibilité permanante des fonctionnalités du système.
Pour la vérication de telles propriétés, on utilise des outils aussi variés que la théorie des
graphes, la théorie des langages, l'algèbre linéaire...
1.1
Formalisation du modèle
Les réseaux de Petri constituent un modèle formel. A ce titre il convient d'en donner la
dénition de manière rigoureuse.
Dénition
Les Réseaux de Petri
On appelle réseau de Petri le quadruplet N = (P, T, P re, P ost) où :
P est un ensemble ni de places P = {p1 , p2 , . . . , pn } .
T est un ensemble ni fr transitions T = {t1 , t2 , . . . , tm }, tel que T ∩ S = ∅.
P re : T × P est la fonction de précondition ou incidence avant.
P ost : T × P est la fonction de postcondition ou incidence arrière.
1
Les places sont représenté par un cercle et les transsition en général par un trait. Le réseau
de Petri est représenté par un graphe avec deux types de sommets les transitions et les places
6
Les Réseaux de Petri
Ces diérents sommets sont reliés entre eux par des arcs qui joignent des places aux transitionx
(les préconditions) et des transitions aux places (les postconditions)
il convient aussi qu'un arc possède un poids avec la valeur entière 1 ; de façon générale, le
poids peut être supérieur à 1, mais dans ce cas le poids devra être explicitement indiqué sur l'arc.
Dénition
Le marquage
On appelle marquage d'un réseau de Petri N = (P, T, P re, P ost) la fonction M : P −→ N.
Le marquage peut être représenté par un vecteur M = (m(p1 ), M (p2 ), . . . , M (pn )). On appelle
réseau marqué tout couple (N, M0 ) où N est un réseau de Petri et M0 un marquage appelé
marquage initial.
2
Pour une place p M(p) représente la nombre de marques ou de jetons dans la place p, Le
marquage est représenté par des points noirs à l'intérieur de la place.
Une place contient n jetons cela signie par exemple la disponibilité de n ressources, n processus attendent d'entrer en section critique ...
Exemple 1
Un réseau de Petri
p1
t1
p2
t3
p3
p4
t2
1.2
Sensibilisation d'une transition
Soit un réseau de Petri N , t une transition de N et M un marquage. La transition t est
sibilisée
ou
franchissable
ou
tirable
sen-
pour le marquage M si et seulement si : ∀p ∈ P, M (p) >
P re(t, p) (i.e.M > W (t, •) On note par M [ti que la transition t est sensibilisée par le marquage
M.
1.3
Tir d'une transition
Dans un réseau de Petri N toute transition sensibilisée par un marquage M (M [i) peut être
tirée (franchie) et son tir conduit à un nouveau marquage M' déni, pour tout p, par :
M 0 (p) = M (p) − P re(t, p) + P ost(t, p)
7
Les Réseaux de Petri
Le franchissement de la transition t est noté : M [tiM 0 .
Soit σ = t1 t2 . . . tp une séquence de transitions, si on a M0 [t1 iM1 , M1 [t2 iM1 , . . . , Mp−1 [tp iMp
alors t1 t2 . . . tp est appelée
Un Marquage est dit
séquence de franchissement.
marquage accessible
On alorsnote par M0 [σiMp .
s'il existe une séquence de franchissement σ tel
que :M0 [σiM .
L'ensemble des marquages accessibles à partir du marquage M0 est Noté M0 [i
Dans l'exemple précédent, le marquage initial est M0 = (1, 0, 0, 1). La transition a est sensibilisée, les transitions b et c ne sont par franchissables.
Le tir de la transition a consommera le jeton de p1 et produira un jeton qui sera déposé dans
p2 . On obtient donc le marquage M 0 = (0, 1, 0, 1).
1.4
Matrices d'incidence avant et arrière
La fonction P r peut être denie par une matrice n × m, appelée d'incidence avant, comme
suit :
P r(i, j) = P r(Pi , Tj )
La fonction P ost peut être denie par une matrice n × m, appelée d'incidence arrière, comme
suit :
P ost(i, j) = P ost(Pi , Tj )
La
1.5
C est alors dénie par C = P ost − P r
Matrice d'incidence
Le vecteur caractéristique
Soit une séquence σ de franchissements réalisable à partir d'un marquage Mi , le vecteur
caractéristique S est le vecteur de dimension n (n = nombre de transitions du RdP) dont la
composante i correspond au nombre de franchissements de la transition Ti dans la séquence σ .
Pour une séquence donnée, la connaissance du vecteur caractéristique et de la matrice d'incidence
permet de déterminer l'évolution du marquage du RdP.
1.6
Equation fondamentale
Pour un RdP marqué R = (N, M0 ), la connaissance de la
vecteur caracléristique S
matrice d'incidence C
du
d'une séquence de franchissement σ , réalisable à partir d'unmar-
quage Mi de l'ensemble des marquages accessibles du RdP R, permet de déterminer le marquage
atteignable Mj par l'équation
Mj = mi + C.S
8
Les Réseaux de Petri
Exemple 2
Matrices d'incidence
Pour le réseau de Petri précedent :
La matrice d'incidence avant P re est :

t1 t2 t3

p1


p2

p
 3
p4

1
0
0
1
0
0
0
1

p1


p2

p
 3
p4
La matrice d'incidence arrière P ost :
t1 t2
0
1
1
0
0
1
0
0

La matrice d'incidence C :
t1 t2

p1 −1 1


p2 1 −1

p
1
 3 0
p4 0 −1


0


1

1

0

t3

0


1

0

1

t3

0


0

−1

1
Pour la séquence de transition σ = t1 t2 t1 dont le vecteur caractéristique est S = (2, 1, 0) on
aura :
  

 


1
−1 1
0
0
  

 
0  1 −1 0  2 1
  
    
M 0 = M0 + C × S =   + 
 × 1 =  
0  0

1
1
−1
  

 
0
1
0 −1 1
0
1.7
Graphe des marquages accessibles
Dénition
Graphe des marquages
Le graphe des marquages accessibles G(N, M0 ) est déni comme étant le graphe dont les sommets
correspondent aux marquages accessibles à partir du marquage initial M0 , M0 [i. Si un marquage
M permet de franchir un transition t tel que M [tiM 0 alors il y a un arc étiqueté par t reliant les
deux sommets.
Exemple 3
3
Graphe des marquages
Pour le réseau de Petri précédent :
9
Les Réseaux de Petri
1, 0, 0, 1
t1
0, 1, 0, 1
t2
1, 0, 1, 0
t1
0, 1, 1, 0
t3
1.8
Arbre de couverture
Soit N = (R, M0 ) un réseau de Petri marqué, l'arbre de couverture est construit de la manière
suivante :
1. M0 correspond à la racine de l'arbre
2. On ajoute pour chaque transition franchissable les marquages successeurs. Si un de ces marquages est strictement supérieur à M0 , on met w pour chacune des composantes supérieures
aux composantes correspondantes de M0 .
3. Pour chaque nouveau marquage Mi :
(a) S'il existe sur le chemin de M0 à Mi (ce dernier exclu) un marquage Mj = Mi , alors
Mi n'a pas de successeur.
(b) S'il n'existe pas de marquage Mk = Mi sur le chemin de M0 à Mi , alors on prolonge
l'arbre en ajoutant tous les successeurs de Mi . Pour chaque successeur Mk de Mi : (a)
une composante w de M i reste une composante w de Mk ; (b) s'il existe un marquage
Mj sur le chemin de M0 à Mk tel que Mk Mj , alors on met w pour chacune des
composantes supérieures aux composantes de Mj .
L'arbre de couverture est toujours ni.
1.9
Propriétés
Etant donnés un réseau de Petri N = (P, T, P re, P ost et un marquage initial M0 ,
1.9.1
Bornitude
Il s'agit d'exprimer le fait que le nombre de marquages accessibles (le nombre d'états que
peut prendre le système) est ni.
Dénition
4
Dénition
5
Place bornée
La place p ∈ P est bornée si et seulement si ∀M ∈ M0 [i, ∃k ∈ N tel que M (p) 6 k .
Réseau borné
Un réseau de Petri est borné pour un marquage initial M0 si toutes les places sont bornées pour
M0 .
Pour vérier si un réseau de Petri est borné on examine son arbre de couverture. Un réseau de
Petri est borné pour un marquage initial M0 si et seulement si l'arbre de couverture ne contient
aucune composante à w.
10
Les Réseaux de Petri
1.9.2
Vivacité
La vérication de la vivacité correspond à vérier qu'à tout instant le système conserve la
possibilité de reproduire toutes les actions.
Dénition
Transition vivante
Une transition t ∈ T est vivante pour un marquage initial M0 si pour tout marquage accessible
M ∈ M 0[i, il existe une séquence de franchissements σ qui contienne la transition t, à partir de
M i. Autrement dit, quelle que soit l'évolution, il existera toujours une possibilité de franchir t.
6
La vérication qu'une transition est vivante consiste à vérier que celle-ci apparait dans toutes
les composantes fortement connexes du graphe des marquages.
Dénition
Réseau vivant
Un réseau de Petri est vivant si et seulement si ∀t ∈ T , t est vivante.
1.9.3
7
Etat de blocage
Dénition
Etat de blocage
Un état M ∈ M [i est un état de blocage (état puits) si et seulement si aucune transition n'est
franchissable.
1.9.4
8
Etat d'accueil
Dénition
Etat d'accueil
Un réseau de Petri a un état d'accueil Ma pour un marquage initial M0 si pour tout marquage
accessible M ∈ M0 [i, il existe une séquence de franchissement σ telle que M [σiM a.
9
La vérication qu'un état est un état d'accueil consiste à vérier que cet état appartient à la
composante fortement connexe terminale et que celle-ci est unique dans le graphe des marquages
accéssibles.
Le réseau de Petri est dit
1.10
réinitialisable
si le marquage initial M0 est un état d'accueil.
Extensions des réseaux de Petri
Les réseaux de Petri ne permettent pas l'expression de certaines propriétés, des extensions
ont alors été introduites an de permettre une plus grande puissance d'expression, reduire la
taille des modèles, etc ...
1.10.1
Réseaux de Petri avec arc inhibiteurs
Les réseaux de Petri ordinaires ne permettent pas d'exprimer le test à zéro. C(est le but de
l'introduction de l'arc inhibiteur.
11
Les Réseaux de Petri
Dénition
Réseaux de Petri à arcs inhibiteurs
On appelle réseau de Petri à arcs inhibiteurs un réseau déni par N = (P, T, P re, P ost) où :
P et T sont respectivement les ensembles nis de places et transitions.
P re dénie de P × T −→ N ∪ {⊥}. P ost dénie de P × T −→ N .
1.10.2
10
Regle de franchissement
Dénition
Soit N un réseau de Petri à arcs inhibiteurs, soient M un marquage et t une
transition. t est franchissable pour le marquage M si et seulement si ∀p ∈ P on a :
M (p) > P re(p, t) si P re(p, t) ∈ N .
M (p) = 0 si P re(p, t) =⊥.
Exemple 4
11
Problème du producteur-consommateur
Considérons le problème du producteur-consommateur où le producteur ne reprend que si le
buer est vide.
p1
p2
Buf f er
produire
consommer
La transition produire ne pourra être tirée que si la place buf f er ne contient pas de jetons.
1.10.3
Réseaux de Petri colorés
Les réseaux de Petri colorés ont été introduits an de permettre la modélisation de systèmes
ayant des comportements symetriques avec des réseaux de taille réduite et sans perte d'informations. En eet, les jetons appartiennents à des domaines de couleurs qui permettent de les
distingués. Ainsi, à chaque place est associé un domaine de couleur qui permet de dierencier
les jetons que peut prendre cette place. et à chaque transition et aussi associé un domaine de
couleur an de choisir les couleurs de franchissement.
Les préconditions deviennent des applications qui associent à chaque couleur tirée les couleurs
qui seront prélevées des places en entrée.
Les postconditions deviennent des applications qui assoucient à chaque couleur tirées les
couleurs qui seront déposés dans les places en sortie.
Exemple 5
Partage de ressources
Considérons le cas de partage en exclusion mutuelle de deux ressources par deux processeurs
12
Les Réseaux de Petri
idle
idle
R2
wait
wait
R1
useR2
useR1
useR1
useR2
Ce réseau devient encore plus complexe avec n > 2 processus partageant m > 2 ressouces
critiques. A l'aide des réseaux de Petri coloré ce modèle sera plus compact.
1.10.4
Notations
Dénition
Les multi-ensembles
Soit A un ensemble ni non vide, un muti-ensemble µ sur A dans l'ensemble des entiers naturels
P
N . On note µ =
x∈A µ(x).x, où µ(x) désigne le nombre d'occurences de x dans le multiensemble µ.
12
Bag(A) designe l'ensemble des multi-ensembles sur A.
Exemple 6
A = {a, b, c, d, e}, M = {a, a, a, c, c, d} est alors un multi-ensemble de A tel que :
µ(a) = 3, µ(b) = 0, µ(c) = 2, µ(d) = 1.
et on le note M par M = 3a + 2c + d.
Dénition
Les réseaux de Petri colorés
Un réseau de Petri coloré est 6-uplet : (P, T, P re, P ost, C, M0 ) où :
P et T sont resp. les ensembles ni des places et transitions (P ∩ T = ∅, P ∪ T 6= ∅).
C dénit pour chaque place et chaque transition son domaine de couleur.
P re resp. P ost sont des fonctions linéaires de couleurs dénies de Bag(C(t)) dans Bag(C(p)).
M0 est le marquage initial du réseau ; c'est un vecteur indexé par P et M0 (p) est un élément
de Bag(C(p)).
13
Le réseau de Petri coloré équivalent (Partage de 02 ressources critiques par deux processus) :
13
Les Réseaux de Petri
idle
x
t1
x
wait
x
x
R
y
t2
y
(x, y)
use
(x, y)
t3
Avec :
Domaine(idle) = {P1 , P2 }
Domaine(wait) = {P1 , P2 }
Domaine(R) = {R1 , R2 }
Domaine(use) = {P1 , P2 } × {R1 , R2 }
Dénition
franchissement d'une transition
Une transition t est dite sensibilisée par rapport à une couleur c ∈ C(t) pour un marquage M si
et seulement si pour toute place p ∈ P P re(t, p)(c) 6 M (p)(c).
Le franchissement de t par rapport à la couleur c à partir du marquage M donne le nouveau
marquage M 0 tel que :
∀p ∈ P, ∀c ∈ Cp , M 0 (p)(c) = M (p)(c) − P re(t, p)(c) + P ost(t, p)(c).
1.11
14
Puissance d'expression
Les réseaux de Petri colorés ne sont pas plus puissant que les réseaux de Petri classiques. Ils
permettent simplement un abréviation de ces derniers. L'opération de passage d'un réseau de
Petri simple au réseau de Petri coloré est appelée opération de
appelée
dépliage.
14
pliage
et l'opération inverse est