3.3 Expressivit´e
3.3.2 Composition des ipTPN
La composition de r´eseaux est tr`es utile et permet la conception de syst`emes de mani`ere incr´ementa-le. Nous allons d´ecrire ici deux op´erateurs de fusion, l’un de places, l’autre de transitions, qui nous permettront de d´efinir une op´eration de composition que nous utiliserons partiellement dans un premier temps afin d’´etudier l’expressivit´e desipTPN en comparant la composition parall`ele (par transitions) des TPN et des ipTPN. Dans un deuxi`eme temps, cette composition nous servira `a assembler les blocs s´emantique du langage d´edi´e aux syst`emes de tˆaches temps r´eel propos´e dans cette th`ese dans le chapitre 5.
D´efinition 17 Soit N = hP , T ,Pre,Post, m0i un r´eseau de Petri, et deux ensembles A ⊆ P et B ⊆P tel queA∩B =∅.
La fusion des places de A et B de N donne le r´eseau N′ =hP′, T′,Pre′,Post′, m′0i, avec : – P′ = (P \(A∪B))∪(A×B)1
– (∀p∈P\(A∪B))(∀t∈T)(Pre′(t)(p) =Pre(t)(p)∧Post′(t)(p) =Post(t)(p))
– (∀p= (a, b)∈A×B)(∀t∈T)(Pre′(t)(p) =Pre(t)(a) +Pre(t)(b)∧Post′(t)(p) =Post(t)(a) +
Post(t)(b))
– (∀p∈P\(A∪B))(m′0(p) =m0(p))
– (∀p= (a, b)∈A×B)(m′0(p) =m0(a) +m0(b))
L’op´eration est not´ee ⊕A
B(N) =N′
(a) Un r´eseau de Petri N (b) Le r´eseau ⊕{{p1,p2p3,p4}}(N)
Fig.3.6 – Exemple de transformation par la fusion de place⊕
Intuitivement, l’op´eration ⊕{{p1,p2p3,p4}}(N), dont le r´esultat est donn´e par la figure 3.6 (b), fusionne les places de {p1, p2} avec les places de{p3, p4} par le produit cart´esien de ces ensembles. Ainsi, les places p1 et p2 ne sont pas destin´ees `a ˆetre fusionn´ees entre elles, mais avec l’une et puis l’autre des placesp3 etp4.
Il est plus facile de comprendre cette op´eration en consid´erant que les places des deux ensembles
A et B sont deux interfaces de «composants» `a inter-connecter. Bien qu’il ne soit pas question ici de plusieurs composants, nous verrons plus tard qu’il suffit d’une op´eration de r´eunion de r´eseaux
1
par soucis de concision, nous confondrons l’ensembleA×Bavec la fonction associant un symbole (dansT) `a chacun de ses ´el´ements deA×B
disjoints pour que⊕devienne applicable en tant que deuxi`eme ´etape lors de la d´efinition de l’op´eration de composition de r´eseaux.
Mˆeme si l’op´eration permet bien plus, le cas typique d’application d’une telle op´eration est donn´e par la figure 3.7, o`u l’on peut distinguer deux «composants» (en admettant qu’ils ont ´et´e r´eunis au sein du mˆeme r´eseau par une op´eration de r´eunion de r´eseaux), que l’on enchaˆıne `a l’aide de la fusion
⊕{{p2p3}}(R), en fusionnant les places p2 et p3.
(a) R´eseau R (b) R´eseau ⊕{{p2p3}}(R)
Fig. 3.7 – Cas d’utilisation typique de⊕
Il est `a remarquer que la fusion par place ne prend en compte que les informations ayant trait aux places : marquages, pr´econditions, postconditions. Ceci implique que toute extension ne modifiant pas ces structures n’est pas influenc´ee (du moins directement) par la composition par place. C’est le cas desTPN et desipTPN. Il n’est donc pas n´ecessaire de la red´efinir pour ces deux formalismes.
D´efinition 18 Soit N = hP , T ,Pre,Post, m0i un r´eseau de Petri, et deux ensembles A ⊆ T et B⊆T tel que A∩B =∅.
La fusion des transitions de A et B de N donne le r´eseau N′ =hP′, T′,Pre′,Post′, m0i, avec : – T′ =T \(A∪B)∪(A×B)
– (∀t∈T\(A∪B))(∀p∈P)(Pre′(t)(p) =Pre(t)(p)∧Post′(t)(p) =Post(t)(p))
– (∀t= (a, b)∈A×B)(∀p∈P)(Pre′(t)(p) =Pre(a)(p) +Pre(b)(p)∧Post′(t)(p) =Post(a)(p) +
Post(b)(p))
L’op´eration est not´ee pn⊗A
B(N) =N′
(a) Le r´eseau pn⊗{{t1,t2t3} }(N) (b) Le r´eseaupn⊗{{t1,t3t2} }(N)
Fig. 3.8 – Exemples de transformation par la fusion de transitions pn⊗
L’op´eration de fusion de transitions pn⊗ est tr`es similaire `a ⊕. La fusion de transitions s’op`ere ´egalement d’apr`es le produit cart´esien des ensemblesAetB de l’op´eration pn⊗A
B(x). Et de la mˆeme fa¸con, cette op´eration doit ˆetre comprise comme une partie de l’op´eration de composition que nous d´efinirons plus tard, permettant de fusionner les transitions `a l’interface de deux composants qui auront ´et´e au pr´ealable r´eunis en un seul r´eseau.
3.3. Expressivit´e 47 A l’inverse de l’op´eration⊕, l’op´erationpn⊗est sous-sp´ecifi´ee pour les r´eseaux de Petri temporels, car elle ne sp´ecifie pas quel doit ˆetre l’intervalle de tir de la fusion de deux transitions portant un intervalle de tir non trivial.
D´efinition 19 Soit N = hP, T,Pre,Post, m0, Isi un r´eseau de Petri temporel, et deux ensembles A⊆T et B⊆T tel que A∩B =∅.
La fusion des transitions de A et B de N donne le r´eseau de Petri temporel suivant : N′ =
hP, T′,Pre′,Post′, m0, Is′i avec
– T′, Pre′ et Post′ suivent la r`egle de composition pn⊗A
B(hP, T,Pre,Post, m0i) – (∀t∈T \(A∪B))(∀p∈P)(Is′(t) =Is(t)) – (∀t= (a, b)∈A×B)(∀p∈P)(I′ s(t) =I′ s(a)∩I′ s(b))
L’op´eration est not´ee tpn⊗A
B(N) =N′
Cette d´efinition ne pose pas de difficult´e majeure. Elle n’est pas d´efinie dans le cas o`uIs′(a)∩Is′(b) =
∅. Une illustration de cette intersection d’intervalle lors de la fusion partpn⊗est donn´ee par la figure 3.9 o`u l’op´eration plus g´en´erale ⊗est utilis´ee.
En ajoutant les deux nouvelles relationsF etAauxTPN, la fusion de transitions s’en trouve bien ´evidemment affect´ee :
D´efinition 20 SoitN =hP, T,Pre,Post, m0, Is, F, Aiun r´eseau de Petri temporel `a inhibitions/permis-sions, et deux ensembles A⊆T et B⊆T tel que A∩B =∅.
Soit B : T → P(T′), la fonction associant `a une transition de T un ensemble de transition deT′, de telle sorte que :
– (∀t∈T \(A∪B))(B(t) ={t})
– (∀t∈A∪B)(B(t) ={(a, b) |(a, b)∈A×B∧(a=t∨b=t)}
La fusion des transitions de A et B de N donne le r´eseau de Petri temporel suivant : N′ =
hP, T′,Pre′,Post′, m0, Is′, F′, A′i avec
– T′, Pre′ et Post′ suivent la r`egle de composition pn⊗A
B(hP, T,Pre,Post, m0i)
– Is′ suit la r`egle de composition tpn⊗A
B(hP, T,Pre,Post, m0, Is′i)
– (∀f ∈ {F, A})((t1, t2)∈f ⇒(∀u, v∈ B(t1)× B(t2))((u, v) ∈f′))
L’op´eration est not´ee ⊗A
B(N) =N′
(a) Le r´eseauN′
(b) Le r´eseau⊗{{t1,t2t3} }(N′)
Fig. 3.9 – Exemple de transformation par la fusion de transitions⊗
La fonction B(t) associe `a la transition t(appartenant au r´eseau avant transformation) l’ensemble des transitions fusionn´ees pour lesquelles t a particip´e. Ainsi, pour le r´eseau N′ de la figure 3.9 (a), on obtient :
– B(t1) ={(t1, t3)}
– B(t2) ={(t2, t3)}
Par ailleurs, on a (t1, t2) ∈ F et (t1, t3) ∈ A et comme B(t1) (resp. B(t2)) est l’ensemble des transitions fusionn´ees pour lesquelles t1 (resp. t2) a particip´e, alors les transitions de B(t1) inhibent les transitions de B(t2). D’o`u B(t1) × B(t2) ∈ F′, c’est-`a-dire que (t1, t3)−◦ (t2, t3). Et le mˆeme raisonnement est utilis´e pour la relation A′ : B(t1)× B(t3) ∈ A′, c’est-`a-dire (t1, t3)−•(t1, t3)1 et (t1, t3)−• (t2, t3).
En vue de la d´efinition de la composition des r´eseaux ipTPN, nous allons nous servir d’une op´eration de r´eunion de r´eseau, qui, comme nous l’avons d´ej`a dit permettra d’utiliser les op´erations de fusion que nous venons de d´efinir.
D´efinition 21 r´eunion de r´eseaux Soient deux ipTPN
Na=hPa, Ta,Prea,Posta, ma 0, Ia s, Fa, Aa,Σǫ a,Lai et Nb=hPb, Tb,Preb,Postb, mb 0, Ib s, Fb, Ab,Σǫ b,Lbi avec Pa∩Pb=∅ etTa∩Tb =∅.
La r´eunion des deux r´eseauxNaetNbest le r´eseauNa◦Nb =hPa∪Pb, Ta∪Tb,Prea∪Preb,Posta∪ Postb, ma0∪mb0, Isa∪Isb, Fa∪Fb, Aa∪Ab,Σa∪Σb∪ {ǫ},La∪ Lbi.
L’op´eration de composition de r´eseaux va utiliser l’´etiquetage des r´eseaux qui est donn´e par une fonction d’´etiquetage applicable aussi bien sur les places que sur les transitions du r´eseau (utiliser un mˆeme label sur une place et une transition ne signifie rien de sp´ecial). Les places et les transitions qui portent la mˆeme ´etiquette dans des r´eseaux diff´erents sont combin´ees comme d´ecrit dans la d´efinition 23 ci-dessous.
Les fonctions d’´etiquetages peuvent retourner la valeur neutreǫ signifiant par l`a que l’´el´ement ne porte pas d’´etiquette. Nous nous servirons donc d’une ´egalit´e modifi´ee pour tenir compte de cela, en ne consid´erant que les ´etiquettes diff´erentes deǫ. Ainsi, deux ´etiquettes ne seront consid´er´ees comme
ǫ-´egales que si elles sont effectivement ´egales mais ´egalement diff´erentes deǫ.
D´efinition 22 ǫ-´egalit´e
Soit Σun alphabet quelconque contenant ǫet a, b∈Σ. a=ǫb ssi a=b6=ǫ. D´efinition 23 composition de r´eseaux
Soient deux r´eseaux de Petri temporels `a inhibitions/permissions ´etiquet´es Na=hPa, Ta,Prea,Posta, ma 0, Ia s, Fa, Aa,Σǫ a,Lai et Nb=hPb, Tb,Preb,Postb, mb0, Isb, Fb, Ab,Σǫb,Lbi. Soient∆X Y ={S ⊆X|(∀(x, y)∈S2)(La(x) =ǫLa(y)∧(∃y∈Y)(La(x) =ǫLb(y))} et∇X Y ={y∈Y|(∀x∈X)(La(x) =ǫLb(y))}
La composition des deux r´eseaux ´etiquet´es est donn´ee par :
Na⊙Nb = ∇x T b O x∈∆T a T b ∇x P b M x∈∆P a P b (Na◦Nb) (3.1)
La d´efinition est dense et requiert quelques commentaires. Tout d’abord, il convient de pr´eciser que
f(x) O x∈A N =⊗f(x1) x1 ...⊗f(xn) xn (N) avec A= n [ i=1 {xi} (3.2) f(x) M x∈A N =⊕fx1(x1)...⊕f(xn) xn (N) avec A= n [ i=1 {xi} (3.3) 1
3.3. Expressivit´e 49 ∆X
Y donne la partition de l’ensemble X selon l’´equivalence =ǫ, sous la condition que les ´el´ements de ces partitions poss`edent au moins un ´el´ement ´equivalent dans Y. Par ∆XY on r´ecup`ere ainsi les ensembles de transitions qui vont servir `a la fusion des transitions de X avec les transitions deY. On peut aussi dire que chaque partie de ∆X
Y est une classe d’´equivalence pour =ǫ dansX, conditionn´ee par l’existence d’´el´ements ´equivalents dans Y.
∇X
Y d´efinie l’ensemble des ´el´ements de Y qui sont ´equivalents `a des ´el´ements de X. L’ensemble
∇x
Tb donne ainsi les ´el´ements de Tb qui portent une ´etiquette commune avec des ´el´ements de x. La composition s’op`ere alors par la fusion de places — puis de transitions — ´equivalentes, de mani`ere incr´ementale, en partant de la r´eunion des deux r´eseaux.
Fig.3.10 – R´eseau R
Fig.3.11 – R´eseau R′
Fig. 3.12 – R´eseau R⊙R′
La premi`ere ´etape du calcul de la compositionR⊙R′ est de d´eterminer ∆Ta
Tb : c’est la partition de l’ensembleTatelle que les ´el´ements de chaque partie portent la mˆeme ´etiquette (sontǫ-´egaux), en enle-vant les parties qui n’ont pas d’´equivalents dansTb. La partition deTaselon =ǫ est{{t1},{t2},{t3}}, mais la partie {t3}, dont le seul ´el´ement t3 est ´etiquet´e par C n’a pas d’´equivalent dans Tb. D’o`u ∆TTab ={{t1},{t2}}.
Pour chaque partie de ∆Ta
Tb, il faut d´eterminer l’ensemble des ´el´ements (de mˆeme nature : ici des transitions) ´equivalents : c’est ce qui est donn´e par ∇{Tt1b} = {t4} et ∇{Tt2b} ={t6}. On fait de mˆeme pour les places : ∆Pa
Pb = {{p1},{p2}}, ∇{Pp1b} = {p6} et ∇{Pp2b} = {p7}. L’op´eration R⊙R′ peut ˆetre alors compl`etement d´evelopp´ee :