• Aucun résultat trouvé

3.1 Définition du formalisme des réseaux de Petri colorés

3.1.3 La fusion de places

Figure3.1 – Un réseau sur CPN Tools

3.1.3 La fusion de places

Nous modélisons le processus de reconnaissance de chroniques en élaborant des réseaux de

Petri colorés associés aux chroniques, et ce de façon modulaire : cette construction se fait par

induction sur la structure de la chronique, à l’aide de fusion de places. Il s’agit maintenant de

définir formellement ce mécanisme de fusion.

Il existe deux types de fusion pour les réseaux de Petri colorés : la fusion de places, et la fusion de

transitions. Cette dernière consiste en l’unification de plusieurs transitions en une unique transition

regroupant les arcs d’entrée et de sortie de ces transitions, et dont la garde est la conjonction de

l’ensemble des gardes des transitions fusionnées. La transition résultante n’est donc tirable que

lorsque l’ensemble des transitions fusionnées le sont. Cette caractéristique n’est pas désirable pour

notre modèle et nous n’utilisons donc pas cette fonctionnalité.

La fusion de places se comprend premièrement intuitivement comme une facilité d’écriture : les

places fusionnées partagent systématiquement le même marquage initial, le même type, et le même

1. http://cpntools.org/

2. Selon le formalisme défini par la suite en 3.1.3, ces deux places appartiennent donc à un même ensemble de

fusion de places.

marquage courant, et il s’agit donc du dédoublement d’une unique place facilitant la représentation

des arcs d’entrée et de sortie, évitant ainsi l’éventuel « plat de spaghetti ». Cependant, nous verrons

que la fusion de places peut également poser des problèmes de sémantique.

Une définition formelle de la fusion est proposée dans [CP92] (Definition 4.3) où sont définis

des réseaux de Petri modulaires – Modular Coloured Petri Nets (MCPNs). Ce sont des triplets

(S, P F, T F)où :

(i) Sest un ensemble fini de modules qui sont des réseaux de Petri disjoints ;

(ii) P F est un ensemble fini d’ensembles de fusion de places vérifiant certaines conditions ;

(iii) T F est un ensemble fini d’ensembles de fusion de transitions.

Nous nous inspirons largement de cette définition, mais nous avons besoin d’y apporter quelques

modifications.

D’une part, dans cette définition, un réseau de Petri modulaire est construit à partir d’un

ensemble de réseaux de Petri non modulaires S dont on souhaite fusionner certaines places et

certaines transitions. Cette définition ne convient pas directement à notre construction. En effet,

elle est définie par induction, et des fusionssuccessives sont donc effectuées. La fusion doit donc se

faire à partir d’un ensemble de réseaux de Petri eux-mêmemodulaires. Dans [CP92] il est ensuite

montré (Théorème 4.9) que, pour tout MCPN, on peut aisément construire un réseau de Petri

coloré non modulaire équivalent, ce qui résout notre problème. Cependant, afin de nous affranchir

de conversions incessantes, nous établissons dans cette section une définition directe de la fusion

de places à partir deMCPNplutôt qu’à partir de réseaux de Petri colorés simples.

D’autre part, un pré-requis sur l’ensembleP F est que toutes les places d’un de ses ensembles

de fusions de placespf (c’est-à-dire toutes les places à fusionner ensemble) doivent avoir le même

type et le même marquage initial. C’est une condition que l’on retrouve également dans un article

de K. Jensen [HJS91]. Cependant, dans le logiciel que nous utilisons, CPN Tools, il est possible

de fusionner deux places ayant des types et marquages initiaux différents : c’est la première place

sélectionnée qui définit les caractéristiques de la seconde. Nous n’autoriserons pas la fusion de

places de types différents car cela pourrait entraîner la construction d’un réseau mal formé, même

si les réseaux de départ son bien formés. En revanche, la fusion de places de marquages initiaux

différents offre des possibilités intéressantes en permettant d’adapter le marquage initial d’une

place selon qu’elle soit fusionnée ou non. Nous aurons besoin d’exploiter cette possibilité, donc

nous l’intégrons dans notre définition de la fusion.

Enfin, comme nous ne mettons pas en œuvre de fusion de transitions, nous ne faisons pas

apparaître l’ensemble T F.

On obtient ainsi les définitions suivantes, en commençant par poser la notion deMCPNpuis en

formalisant la fusion.

Définition 23 (réseau de Petri coloré modulaire). Un réseau de Petri coloré modulaire

(MCPN) est un couple(S, P F)vérifiant les propriétés suivantes :

(i) Sest un ensemble fini demodules tel que :

— Les ensembles des éléments des réseaux sont deux-à-deux disjoints :

∀s1∈S∀s2∈S [s16=s2⇒(Ps1∪Ts1)∩(Ps2∪Ts2) =∅]

Notons que l’on peut renommer les places et les transitions de manière unique en les

préfixant par un identifiant de réseau. On pourra donc supposer que les réseaux ont des

places et des transitions distinctes sans mettre en œuvre cette préfixation qui conduit à

des notations excessivement lourdes.

(ii) P F ⊆ P × P(P) est un ensemble fini de couples de fusion de places, dont on appellera

place d’initialisation de la fusion le premier membre, ainsi qu’ensemble de fusion de places

le second, oùP = S

s∈S

Ps etP(P)désigne l’ensemble des parties deP, et tel que :

— Toute place d’initialisation appartient à l’ensemble de fusion de places associé.

∀(p0, E)∈P F p0∈E

— Toutes les places d’un ensemble de fusion de places ont même type.

∀(p0, E)∈P F ∀p1∈E∀p2∈E C(p1) =C(p2)

— L’ensemble des ensembles de fusion de places forme une partition deP3.

[∀p∈P ∃p0∈P ∃E∈ P(P) ((p0, E)∈P F∧p∈E) ]

∧[∀p0

1

∈P ∀p0

2

∈P ∀E1⊆P ∀E2⊆P

( (p0

1

, E1)∈P F∧(p0

2

, E2)∈P F∧E16=E2)⇒E1∩E2=∅ ]

Remarque 17. Notons qu’à tout réseau de Petri coloré N correspond trivialement un MCPN

équivalent : il suffit de poserM ={S, P F}oùS={N}etP F ={(p,{p}) :p∈PN}.

On définit maintenant une fonction de fusion entre réseaux de Petri modulaires. C’est celle-ci

que nous appliquons lors de l’induction pour construire nos réseaux de Petri associés aux

chro-niques.

Définition 24 (fusion de places). Soit M = {(S1, P F1), . . . ,(Sn, P Fn)} un ensemble fini de

MCPNet soitP F0 un ensemble fini de couples de fusion de places tels que :

— Les places d’initialisation de fusion des couples de P F0 sont des places d’initialisation de

couples desP F1, . . . , P Fn :

∀p0∈P ∀E0⊆P [ (p0, E0)∈P F0⇒(∃i∈J1, nK∃Ei⊆P (p0, Ei)∈P Fi) ]

— Les ensembles de fusion de places des couples de P F0 sont formés de places desMCPN de

M :

∀p0∈P ∀E0⊆P [ (p0, E0)∈P F0⇒(∀p∈E0∃i∈J1, nK∃Ei⊆P ((p0, Ei)∈P Fi∧p∈Ei) ) ]

Alors on peut définir lafusion de cesMCPNrelativement à l’ensembleP F0:

F usion(M, P F0) = (S, P F)où :

— S= S

1≤i≤n

Si

— P F ={(p0, S

p∈E

E(p)) : (p0, E)∈P F0} où E(p)est l’uniqueEi tel que(p, Ei)∈P Fi.

3. Notons que la contrainte que les ensembles de fusion de places soient deux à deux disjoints n’était pas requise

dans [CP92] mais découle de notre construction qui autorise la fusion de places à marquages initiaux différents. En

effet, si une place appartenait à deux ensembles de fusion de places distincts, deux marquages initiaux différents

pourraient lui être associés, ce qui est absurde.

On peut montrer, à l’aide d’une démonstration analogue à celle exposée dans [CP92], que le

réseau de Petri suivant ainsi que leMCPNà partir duquel il est construit sont équivalents du point

de vue de leur comportement (évolution du marquage, transitions tirables, places atteignables. . . ).

Définition 25 (réseau de Petri coloré équivalent). Pour toute place d’initialisationp0,E(p0)

désigne l’ensemble de fusion de places associé, et pour toute place pet toute transition t,s(p)et

s(t)désignent respectivement le réseau de Petri deS tel quep∈Ps(p)et celui tel quet∈Ts(t).

Soit M = (S, P F) un réseau de Petri coloré modulaire. On définit le réseau de Petri coloré

équivalent parM∗= (P∗, T∗, A∗,B∗, V∗, C∗, G∗, EX∗, I∗)où :

(i) P∗={p0∈P :∃E0∈ P(P) (p0, E0)∈P F} (on rappelle queP = S

s∈S

Ps)

(ii) T∗= S

s∈S

Ts

(iii) A∗={(p0, t)∈P∗×T∗:∃p∈E(p0) (p, t)∈As(p)}

∪ {(t, p0)∈T∗×P∗:∃p∈E(p0) (t, p)∈As(p)}

(iv) B∗= S

s∈S

Bs

(v) V∗= S

s∈S

Vs

(vi) C∗:P∗→ B∗, p07→Cs(p0)(p0)

(vii) G∗:T∗→ExprΣ(V

), t7→Gs(t)(t)

(viii) EX∗:A∗→ExprΣ(V

)est défini par :

— pour tous(p0, t)tels que∃p∈E(p0) (p, t)∈As(p),(p0, t)7→EXs(p)((p, t)),

— pour tous(t, p0)tels que∃p∈E(p0) (t, p)∈As(p),(t, p0)7→EXs(p)((t, p)).

(ix) I∗:P∗→ExprΣ(V

), p07→Is(p0)(p0)

Documents relatifs