• Aucun résultat trouvé

3.3 Expressivit´e

3.3.3 Les ipTPN pour rendre les TPN composables

Nous avons tous tendance, face `a un probl`eme complexe, `a vouloir le d´ecomposer en sous-parties plus simples. Non que la complexit´e du syst`eme s’en trouve r´eduite, mais il est ainsi plus facile d’appr´ehender les aspects de ce syst`eme sous des angles plus accessibles. C’est la base des m´ethodes de conception incr´ementales, bas´ees sur l’ajout successif des sous-syst`emes ainsi produits. La m´ethodologie que nous utilisons dans cette th`ese est particuli`erement sujette `a de telles d´ecompositions.

Le mod`ele des r´eseaux de Petri admet intrins`equement un fonctionnement parall`ele (ou concurrent) et peut ultimement ˆetre d´ecompos´e jusqu’`a n’avoir plus qu’une seule transition (et toutes les places n´ecessaires `a ses pr´e/post-conditions) par composant. Cette d´ecomposition n’est pas toujours la plus ad´equate en terme de conception, mais sa faisabilit´e ne pose aucun probl`eme th´eorique. L’une des meilleures d´emonstrations de ce fait est le langage alg´ebrique `a base de boˆıtes Petri, le Petri Box Calculus [BDH92], o`u l’´el´ement de base est une transition avec une place en entr´ee et en sortie, qui va ˆetre manipul´e par des op´erateurs de composition (proches de ceux que nous venons de d´efinir) tels que l’on puisse construire plus ou moins ais´ement tout type de r´eseaux.

S’il est reconnu que les r´eseaux de Petri sont ais´ement composables, il est par contre ´egalement connu que rajouter une information temporelle sur les transitions restreint fortement les possibilit´es de composition tr`es larges qui existaient dans le cadre atemporel. En effet, comment composer des transitions portant un intervalle temporel non trivial ? Comment concilier des intervalles diff´erents ? La m´ethode la plus courante, nous venons de le voir, est de prendre l’intersection des intervalles temporels des transitions compos´ees. Mais ceci n’est qu’un pis-aller posant plus de probl`emes qu’il n’en r´esout. Cela signifie que l’on ne peut pas toujours effectuer la composition : si les intervalles sont disjoints le r´esultat serait incoh´erent. Mais, plus grave, cette composition ne pr´esente pas, comme nous allons le voir, de«bonnes propri´et´es»en ce qui concerne la v´erification et la mod´elisation.

Plutˆot que d’´etudier la composition dans sa totalit´e, nous allons utiliser la restriction suivante :

D´efinition 24 Composition parall`ele //

Soient deux r´eseaux de Petri ´etiquet´esNa=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.

Si (∀p ∈ Pa)(∀p ∈ Pb)(La(p) 6=ǫ Lb(p)), alors la composition Na⊙Nb pourra ˆetre not´ee par Na//Nb. L’op´erateur // est dit op´erateur de composition parall`ele.

L’op´erateur//n’est donc applicable que lorsque seules des transitions sont fusionn´ees par l’op´eration de composition, c’est-`a-dire lorsqu’il n’y a pas d’´etiquettes de places concordantes entre les deux r´eseaux participant `a la composition.

Maintenant que le cadre est pos´e, ´etudions donc le comportement de// face `a l’exemple suivant :

p0 t1 [2,2] p1 t2 [1,2] A (a) Un composantC1 p0 t1 [2,2] A p1 t2 [1,2] (b) Un composant C2

Fig. 3.13 – Deux composants que nous souhaitons composer par //

Nous souhaitons composer les deux composants de la figure 3.13 en fusionnant leur seule transition poss´edant une ´etiquette commune :t2 pour le composantC1 ett1 pour le composant C2. Le r´esultat de la compositionC1//C2 est donn´e par le r´eseau de la figure 3.14.

3.3. Expressivit´e 51 p0.0 t1.0 [2,2] p1.0 t3 [2,2] p1.1 p0.1 t2.1 [1,2] A

Fig. 3.14 – R´esultat de la compositionC1//C2

La transition t3 est le r´esultat de la fusion de t2 de C1 avec t1 de C2. Son intervalle de tir est obtenu par l’intersection des intervalles des deux transitions fusionn´ees, le r´esultat est donc la valeur 2 (c’est-`a-dire l’intervalle [2,2]). Elle est tirable apr`es le tir det2.1, c’est-`a-dire apr`es une dur´ee totale comprise dans l’intervalle [3,4], en comptant le d´elai ([1,2]) pr´ealable au tir de t2.1 et celui ([2,2]) pr´ealable `a son propre tir.

Alors que, dans le cas atemporel, la composition parall`ele permet le codage d’un rendez-vous, ici nous voyons que le rendez-vous est temporellement forc´e. En effet, nous avons compos´e deux transitions qui, au moins initialement, ne se “rencontrent” pas (ne partagent pas d’instants pendant lesquels elles sont toutes deux tirables). C’est en ce sens que nous consid´erons que cette composition donne des syst`emes qui ne respectent pas (ou mal) les composants dont ils sont issus.

Le comportement du r´eseau C2//C1 de la figure 3.14 est donn´e par la figure 3.15.

0 [1,2] 1 t2.1 t1.0 t2.1 2 2 3 t3 4 x dans [1,2] 5 t2.1 6 2 - x 7 2 8 t1.0 9 Fig. 3.15 – Comportement de C1//C2 0 1 [1,2] 3 t2 2 2 t1 Fig. 3.16 – Comportement de C1 etC2

Si l’on ne souhaite observer que les ´ev`enements li´es au composant C1, on ne doit observer quet3

ett1.0, qui sont respectivement les ´ev`enements t2 ett1 de C1. Le comportement de C1//C2 lorsqu’on n’observe que les actions de C1 est donc celui de la figure 3.17.

De la mˆeme fa¸con, on peut n’observer que les ´ev`enements du composant C2 dans la composition

C1//C2 : le r´esultat de cette observation est donn´e par la figure 3.18. Ces deux observations sont `a mettre en regard du comportement des composants C1 etC2 qui est donn´e par la figure 3.16.

Il apparaˆıt clairement que l’activit´e d’un des composants est visible par l’autre `a cause du temps mis pour effectuer une action. Il est donc impossible, si l’on utilise // sans pr´ecaution, de faire un pronostic sur le comportement de la composition en ne connaissant qu’un seul composant. De mˆeme, lors de la mod´elisation, il est primordial de connaˆıtre tous les composants pour mod´eliser un syst`eme compos´e correct. Or cela est contre toute intuition de la mod´elisation incr´ementale, par laquelle un composant est une boite noire dont on ne pr´esuppose que la connaissance de son interface.

0 2 t2 4 t1.0 9 2 3 2 8 [1,2] 1

Fig. 3.17 – ´ev`enements deC1 dansC1//C2

0 1 2 3 4 5 6 [1,2] x dans [1,2] t1 t2 9 2 8 2 - x 7 t2 2 t2

Fig. 3.18 – ´ev`enements de C2 dansC1//C2

Pour am´eliorer cette situation, nous allons d´efinir les r´eseaux de Petri composables, les seuls aptes `

a ne pas subir de distorsion temporelle lors de leur composition.

D´efinition 25 (TPN composable) UnTPN´etiquet´eN =hP , T ,Pre,Post, m0, Isǫ,Liest com-posable lorsque (∀t ∈ T)(L(t) 6= ǫ ⇒ Is(t) = [0,∞[), i.e. toutes ses transitions ´etiquet´ees portent l’intervalle trivial[0,∞[.

Th´eor`eme 3 (Compositionnalit´e restreinte de // pour les ipTPN) Soit ⌈n⌉ le TTSdonnant le comportement du r´eseau ipTPN n,

Na=hPa, Ta,Prea,Posta, ma 0, Ia s, Fa, Aaǫ a,Lai, Nb=hPb, Tb,Preb,Postb, mb 0, Ib s, Fb, Abǫ b,Lbi et

N =hP , T ,Pre,Post, m0, Is, F , A,Σǫ,Li leur produit par //, Ti\j l’ensemble de transitions ´etiquet´ees sur Σǫ

ij, Alors, (∀t∈Ta\b)(Ia

s(t) = [0,∞[)∧(∀t∈Tb\a)(Ib

s(t) = [0,∞[)

⇒ ⌈Na//Nb⌉=⌈Na⌉ || ⌈Nb

Le produit|| de TTS a ´et´e pr´esent´e dans le chapitre pr´ec´edent (d´efinition 2).

PreuveLa preuve de ce th´eor`eme est tout `a fait analogue `a celle donn´ee dans [BPV06]. 2

La compositionnalit´e restreinte est une propri´et´e int´eressante car elle permet de connaˆıtre le com-portement d’une composition de r´eseaux⌈Na//Nb⌉ par le produit desTTS ⌈Na⌉||⌈Nb⌉. Or le produit deTTS ne prend pas en compte les informations temporelles, ce qui signifie que les d´elais de l’un et l’autre des composants s’´ecoulent de mani`ere ind´ependante. Pour faire le lien avec l’observation des actions d’un composant que nous avons faites un peu plus tˆot, lorsqu’on n’observe que les actions de

Na dans⌈Na⌉||⌈Nb⌉, il n’est pas possible d’observer les d´elais deNb.

Il est tr`es facile de savoir quelTPN est composable. Le probl`eme ici est de fournir une m´ethode syst´ematique permettant d’obtenir un r´eseau composable `a partir d’un r´eseau qui ne l’est pas. De plus, si un r´eseau doit ˆetre transform´e de mani`ere `a devenir composable, nous souhaitons qu’il soit au minimum faiblement temporellement bisimilaire. Ce travail de conversion n’est pas possible de mani`ere endog`ene et g´en´erale. N´eanmoins une telle transformation est possible si les bornes sup´erieures des intervalles des transitions de l’interface du composant ne sont pas des bornes strictes [PBV09]. Cette transformation est tr`es coˆuteuse.

Si la transformation endog`ene d’un composantTPN n’est pas toujours possible, une transformation exog`ene, en passant par lesipTPN, est possible de mani`ere g´en´erale. Le r´esultat de la transformation est tr`es proche du r´eseau d’origine et produit un composantfortement bisimilaire.

Reprenons ligne par ligne l’algorithme 2 montrant comment passer d’un TPN quelconque `a un

ipTPN fortement temporellement bisimilaire et composable. La bijectionB associe `a chaque transition du r´eseau source une nouvelle transition dans le r´eseau r´esultat. En effet, la traduction op`ere en

3.3. Expressivit´e 53

Algorithme 2: Transformation d’unTPN non composable en unipTPN composable ´equivalent Soit le TPN R=hP , T ,Pre,Post, m0, Isǫ,Li et son interface I ={t∈T|L(t)6=ǫ}. SoitI

un ensemble de lettres distinctes deT (et deP) et |I|=|I|. On peut d´efinir une bijection entre les ´el´ements deI et deI. Soit B:I → I cette bijection.

L’ipTPN R =hP, T ∪ I,Pre,Post, m0, I

s,−◦,−•,Σ,Li suivant est l’´equivalent composable de R :

a) (∀t∈T)(L(t) =L(t)) b) (∀t∈ I)(L(B(t)) =ǫ)

c) (∀t∈ I)(Pre(B(t)) =Pre(t))

d) (∀t∈T)(Pre(t) =Pre(t)∧Post(t) =Post(t)) e) (∀t∈ I)(B(t)−• t) f) (∀t∈ I)(B(t)−◦ B(t)) g) (∀t∈T \ I)(Is(t) =Is(t)) h) (∀t∈ I)(I s(t) = [0,∞[∧I s(B(t)) =Is(t))

r´ecup´erant l’ancien r´eseau, en le modifiant l´eg`erement et en y ajoutant de nouvelles transitions. Les transitions de l’interface sont toutes transform´ees de telle fa¸con qu’elles ne poss`edent plus qu’une information temporelle triviale et les nouvelles, non composables et ne faisant pas partie de l’interface, portent l’information pr´ec´edemment li´ee aux transitions de l’interface I.

Chaque transition du r´eseau source garde son ´etiquette dans le r´eseau destination (a). Les transi-tions nouvellement ajout´ees, c’est-`a-dire les transitions de I, images par B de l’interface I, portent toutes l’´etiquette neutreǫ (b). Ceci est indispensable pour s’assurer de la composabilit´e du nouveau r´eseau puisque ce sont ces transitions qui vont porter une information temporelle, `a la place des tran-sitions de I (h). Les transitions de I, nouvellement ajout´ees, ont les mˆemes pr´econditions que leurs homologues dansI (c), par contre elles n’ont pas gard´e les postconditions : ce serait inutile vu que ces transitions deI ne sont jamais tirables (f). Quant aux pr´econditions et postconditions des transitions du r´eseau initial, elles ne sont pas modifi´ees (d). Ne sont pas modifi´ees ´egalement les intervalles de tir des transitions n’appartenant pas `a l’interface (g).

En appliquant cette transformation aux r´eseaux non composable C1 et C2 des figures 3.13(a) et 3.13(b), on obtient les r´eseaux des figures 3.19 et 3.20, qui, une fois compos´es selon la composition

C1⊙C2 donnent le r´eseau de la figure 3.21.

p0 t1 p1 t2 A t2.1 [1,2] [2,2]

Fig. 3.19 –C1, versionipTPN composable

p0 t1 A p1 t2 t1.1 [2,2] [1,2]

Fig. 3.20 –C2, versionipTPN composable A la diff´erence de la composition ⊙ des r´eseaux C1 et C2 non composables, dont le r´esultat est visible sur la figure 3.14, nous pouvons constater qu’ici la transition t3, r´esultat de la fusion des transitions ´etiquet´ees par A est contrainte non plus par un intervalle de tir, comme c’´etait le cas dans la composition pr´ec´edente, mais par deux contraintes de permission. Ces deux contraintes sont contradictoires et empˆechent la transition de tirer, mais ´egalementempˆechent le temps de progresser : nit1, ni t2 ne sont tirables (elles s’inhibent elles-mˆemes), mais elles poss`edent toutes deux une borne

t1.0 [2,2] p1.0 t3 t2.1 [1,2] p0.1 p0.0 p1.1 t1 [1,2] t2 [2,2] A

Fig.3.21 – R´esultat de la composition C1⊙C2

sup´erieure, limitant la progression du temps au minimum de ces derni`eres. Puisque ce sont les seules transitions sensibilis´ees mise `a partt3 (qui, rappelons-le, n’est pas tirable puisque les deux contraintes exerc´ees par t1 et t2 sont contradictoires), le temps est condamn´e `a se retrouver bloqu´e par la plus petite borne sup´erieure des intervalles de tir det1 et t2. Ce blocage, nous semble-t-il est plus proche de ce que l’on attend d’une composition parall`ele de syst`emes temporels que la composition desTPN

pr´ec´edente : vouloir faire la composition comme nous le voulions n’´etait pas vraiment souhaitable et le blocage temporel est le r´esultat nous d´emontrant que cette composition est une mauvaise sp´ecification si elle doit repr´esenter un syst`eme r´eel.

Si par construction les ipTPN permettent plus de comportements «bizarres» — le blocage tem-porel est impossible avec les r´eseaux de Petri temtem-porels — ils permettent dans le mˆeme temps plus d’expressivit´e et par cons´equent plus de probl´ematiques sont mod´elisables.