• Aucun résultat trouvé

Fondements formels

3.2 Les systèmes réactifs bigraphiques

3.2.5 Opérations sur les bigraphes

En plus de leur représentation graphique (gure 3.1), les bigraphes sont dotés d'une spécication algébrique. Le tableau 3.1 résume les termes algébriques de base du langage bigraphique. Dans cette section nous al-lons voir les diérentes opérations dénies sur les bigraphes [Milner 2008]. En eet, on peut construire des bigraphes complexes à partir de bigraphes élémentaires en utilisant les opérations de composition et de produit tensoriel.

Dénition 3.5 (produit parallèle).

Produit parallèle des graphes de places : Si Fi = (Vi, ctrli, prnti) : mi → ni, (i = 0, 1) sont deux graphes de places avec des supports disjoints, leur produit parallèle F0||F1 : m0+ m1 → n0+ n1 est donné par :

F0||F1 def= F0⊗ F1.

Produit parallèle des graphes de liens : Si Fi = (Vi, Ei, ctrli, linki) : Xi → Yi, (i = 0, 1) sont deux graphes de liens avec des supports disjoints

3.2. Les systèmes réactifs bigraphiques 42

Description algébriqueForme Forme graphique

Produit parallèle Axy||Byz Fusion Axy|Byz Imbrication Axy.Byz Clôture de nom /zAxz Identité (bigraphe élémentaire) idi Région vide 1 Site numéroté i di

3.2. Les systèmes réactifs bigraphiques 43 et link0 ∪ link1 est une fonction de transformation, leur produit parallèle F0||F1 : X0∪ X1 → Y0∪ Y1 est donné par :

F0||F1 def= (V0 ] V1, E0] E1, ctrl0] ctrl1, linkO∪ link1).

Produit parallèle des bigraphes : Si Fi : Ii → Ji, (i = 0, 1) sont deux bigraphes avec des supports disjoints, leur produit parallèle F0||F1 : hm0+ m1, X0∪ X1i → hn0+ n1, Y0∪ Y1iest donné par :

F0||F1 def=FP 0 ||FP 1 , FL 0||FL 1 .

Dénition 3.6 (fusion des bigraphes). Étant donné deux bigraphes Gi : hmi, Xii → hni, Yii avec (i = 0, 1), supposons que G0||G1 est déni, leur fusion est donnée par :

G0|G1 def= (mergen0+n1 ⊗ idY0∪Y1) ◦ (G0||G1) Avec G0|G1 : hm0+ m1, X0 ∪ X1i → h1, Y0∪ Y1i.

Dénition 3.7 (imbrication des bigraphes). Étant donné deux bi-graphes F : I → hm, Xi et G : m → hn, Y i, leur imbrication G.F : I → hn, X ∪ Y i est dénie par :

G.F def= (G||idx) ◦ F. 3.2.5.1 Produit Tensoriel

Cette opération importante, est dénie entre deux bigraphes ayant des interfaces disjointes. Elle est fondamentale car, elle permet la composition des bigraphes, et également appelée composition horizontale, et notée par ⊗. Cette opération consiste à mettre côte à côte les régions des bigraphes, et à réaliser l'union de leurs graphes de liens (en joignant les liens ouverts com-muns). Plus précisément, on dit que deux bigraphes Fi : hmi, Xii → hni, Yii, avec (i = 0, 1) ayant des interfaces disjointes si X0∩ X1 = ∅ et Y0 ∩ Y1 = ∅. Le produit tensoriel sur les interfaces I = hm, Xi et J = hn, Y i est déni par I ⊗ J = hm + n, X ] Y i. Un exemple de l'utilisation de l'opération du produit tensoriel sur deux bigraphes disjoints, respectivement G (Figure 3.4a) et B (Figure 3.4b) est représenté par la gure 3.4 [Sahli 2017].

3.2. Les systèmes réactifs bigraphiques 44

Figure 3.4  Produit tensoriel des bigraphes : A = G ⊗ B [Sahli 2017] Dénition 3.8 (produit tensoriel des graphes de places). Si Fi = (Vi, ctrli, prnti) : mi → ni, (i = 0, 1) sont deux graphes de places disjoints, leur produit tensoriel F0⊗ F1 : m0+ m1 → n0+ n1 est donné par :

F0⊗ F1 = (Vdef 0] V1, ctrl0] ctrl1, prntO] prnt0 1) où prnt0

3.2. Les systèmes réactifs bigraphiques 45 Dénition 3.9 (produit tensoriel des graphes de liens). Si Fi = (Vi, Ei, ctrli, linki) : Xi → Yi, (i = 0, 1) sont deux graphes de liens disjoints, leur produit tensoriel F0⊗ F1 : X0] X1 → Y1] Y2 est donné par :

F0⊗ F1 def= (V0 ] V1, E0] E1, ctrl0] ctrl1, linkO] link1).

Dénition 3.10 (produit tensoriel des bigraphes). Si Fi : hmi, Xii → hni, Yii, (i = 0, 1) sont deux bigraphes avec des supports disjoints, leur produit tensoriel F0⊗ F1 : hm0+ m1, X0] X1i → hn0+ n1, Y0] Y1iest donné par :

F0⊗ F1 def=FP 0 ⊗ FP 1 , FL 0 ⊗ FL 1 . 3.2.5.2 Composition

On peut voir l'opération de composition comme l'insertion d'un bigraphe dans un autre. Exemple : le résultat de la composition de deux bigraphes B et G est un nouveau bigraphe A (voir gure 3.5). Pour cela, il est impératif que le nom externe du bigraphe B soit égal à celui du bigraphe G. Algébriquement l'opération de composition est notée comme suit : G

B. Plus particulièrement, quand un bigraphe est inséré dans un autre, ces noms externes sont attachés aux noms internes, correspondant au bigraphe hôte, et ces régions sont insérées au niveau des sites du bigraphe hôte. Dans l'exemple, la racine en B contenant le n÷ud C est fusionnée avec le site présent à l'intérieur du n÷ud D du bigraphe G. En outre, le n÷ud D est lié aux n÷uds du contrôle A et B à travers le nom commun y. Parfois, le bigraphe G est considéré comme le contexte ou l'environnement pour le bigraphe B. Nous dénissons maintenant une composition séparée pour les graphes de place concrets et les graphiques de liens. La composition de deux bigraphes est dénie séparément pour la composition des graphes de places et des graphes de liens ; comme le précise la gure 3.5 [Milner 2009] : Dénition 3.11 (composition des graphes de places). Si F : k → m et G : m → n sont deux graphes de places avec des supports disjoints, leur composite G ◦ F = (V, ctrl, prnt) : k → n à l'ensemble de n÷uds V = VF ] VG et la fonction contrôle ctrl = ctrlF ] ctrlG. Sa fonction de pa-renté prnt est dénie par : Si w ∈ k]V est un site ou un n÷ud dans G◦F alors

prnt(w)def=      prntF(w) si w ∈ k ] VF et prntF(w) ∈ VF, prntG(j) si w ∈ k ] VF et prntF(w) = j ∈ m, prntG(w) si w ∈ VG.

3.2. Les systèmes réactifs bigraphiques 46 Dénition 3.12 (composition des graphes de liens). Si F : X → Y et G : Y → Z sont deux graphes de liens avec des supports disjoints, leur composite G ◦ F = (V, E, ctrl, link) : X → Z à un ensemble de n÷uds V = VF ] VG , un ensemble d'hyper-arcs E = EF ] EG et une fonction de contrôle ctrl = ctrlF ] ctrlG. Sa fonction link est dénie par : Si q ∈ X ] PF ] PG est un point de G ◦ F alors link(q)def=      linkF(q) si q ∈ X ] PF et linkF(q) ∈ EF, linkG(y) si q ∈ X ] PF et linkF(w) = y ∈ Y, linkG(q) si q ∈ PG.

Figure 3.5  Composition des bigraphes A = G ◦ B [Sahli 2017] Dénition 3.13 (composition des bigraphes). Si F : hk, Xi → hm, Y i et G : hm, Y i → hn, Zi sont deux bigraphes avec des supports disjoints, leur composite est donné par : G ◦ F def

3.2. Les systèmes réactifs bigraphiques 47

3.2.6 Aspect dynamique des bigraphes

La dynamique structurelle des BRS (Bigraphical Reactive System) est exprimée par une catégorie de bigraphes et un ensemble de règles de réactions. En eet, les BRS sont dotés de moyens qui leur permettent de recongurer leurs structures. Ces recongurations sont régies par un ensemble de règles de réactions. Un rapprochement sémantique peut être fait, avec les règles géné-riques dédiées pour la réécriture de graphes. Toutefois, les règles de réactions bigraphiques dièrent des règles de réécriture habituelle car elles sont para-métrées. Simplement, une règle de réaction R → R0 est une paire de bigraphes <redex, reactum>. Le redex représente la pré-condition pour le déclenche-ment de la règle, appelé aussi bigraphe contextuel. Il représente le pattern à modier. Le résultat de l'application de la règle de réaction est un bigraphe appelé reactum. La reconguration d'un bigraphe est eectuée de manière distincte sur le graphe de liens, en ajoutant ou en supprimant des liens, et sur le graphe de place en déplaçant, ajoutant et supprimant des n÷uds. Un exemple d'application d'une règle de réaction bigraphique est représenté dans la gure 3.6. Cette règle modélise la dynamique comportementale d'un utilisateur (n÷ud de contrôle P ) qui veut utiliser un ordinateur (n÷ud de contrôle P C) se situant dans une salle (n÷ud de contrôle R). Cette règle de réaction peut être représentée algébriquement par : P |R.(P C) → R.(Pe|P Ce).

Figure 3.6  Exemple d'une règle de réaction bigraphique [Sahli 2017] Dénition 3.14 (règle de réaction). Une règle de réaction prend la forme : R = (R : m → J, R0 : m → J, η) et est généralement écrite R → R0, où R : m → J est un bigraphe appelé redex (pattern à changer), R0 : m → J est également un bigraphe appelé reactum (nouveau bigraphe changé) et l'instanciation η : m0 → m est une transformation d'ordinaux.

Après avoir déni formellement un bigraphe et une règle de réaction, nous pouvons maintenant donner la dénition d'un système réactif bigraphique (BRS).

3.2. Les systèmes réactifs bigraphiques 48 Dénition 3.15 (système réactif bigraphique). Un système réactif bigraphique (BRS) consiste en une paire (B, R), où B est un ensemble de bigraphes et R est un ensemble de règles de réaction dénies sur B. La relation de réaction d'un BRS est représentée par →.