• Aucun résultat trouvé

Exemples « Jouets » de Frappes de Processus

Dans cette section, nous exhibons quelques exemples simples de Frappes de Processus : des Frappes de Processus arbitraires et des Frappes de Processus de la dynamique généralisée, puis raffinée, de RRB élémentaires. Des applications des Frappes de Processus aux RRB sont détaillées dans le chapitre 11.

Frappes de Processus arbitraires et atteignabilités

– La figure 3.4 représente les Frappes de Processus d’un problème élémentaire de concurrence : atteindre le processus z2 depuis l’état initial ha0, b0, c0, z0i (processus grisés) requiert le jeu

de l’action b0→ c0 c1 avant l’action b0→ b0 b1.

– La figure 3.5 représente des Frappes de Processus à la dynamique plus complexe. En con- sidérant l’état initial ha1, b1, z1, r0i, nous notons, par exemple, que l’action b1→ z2 z1 est

jouable au plus deux fois, rendant l’atteinte du processus r3impossible.

Frappes de Processus modélisant des RRB

Nous présentons la modélisation de deux RRB dont les graphes des interactions sont donnés par la figure 3.6.

36 Chapitre 3 z 0 1 2 a 0 1 b 0 1 c 0 1 ha0, b0, c0, z0i ha0, b1, c0, z0i ha0, b0, c1, z0i ha1, b1, c0, z0i ha0, b1, c1, z0i ha1, b1, c0, z1i ha1, b1, c1, z0i ha1, b1, c1, z1i ha1, b1, c1, z2i

Figure 3.4 – (gauche) Exemples de Frappes de Processus arbitraires. Les processus grisés représen- tent l’état initial (ici, ha0, b0, c0, z0i). (droite) Graphe des états en partant de l’état initial indiqué.

z 0 1 2 a 0 1 b 0 1 r 0 1 2 3 ha1, b1, z1, r0i ha1, b1, z0, r0i ha0, b1, z0, r0i ha1, b0, z0, r0i ha0, b1, z1, r2i ha0, b0, z0, r0i ha0, b1, z1, r1i ha0, b0, z1, r0i ha0, b1, z2, r1i ha0, b0, z2, r0i ha0, b0, z2, r1i ha0, b1, z1, r0i ha0, b1, z2, r0i

Figure 3.5 – (gauche) Exemple de Frappes de Processus arbitraires. Les processus grisés représen- tent l’état initial (ici, ha1, b1, z1, r0i). (droite) Graphe des états en partant de l’état initial indiqué.

Modélisation des Réseaux de Régulation Biologique en Frappes de Processus 37

a

b

c

1 1 1 1

a

b

1 1 2

Figure 3.6 – Graphes des interactions de deux RRB élémentaires : (gauche) Boucle d’anticipation incohérente ; (droite) Pseudomonas æruginosa. Les arcs se terminant par une flèche représentent les régulations positives ; ceux se terminant par une barre représentent les régulations négatives. Le libellé des arcs représente le seuil de ces régulations.

a 0 1 b 0 1 c 0 1 ha1, b0, c0i ha1, b1, c0i ha1, b1, c1i a 0 1 b 0 1 c 0 1 ¬a ∧ b 10 11 00 01 ha1, b0, ab00, c0i ha1, b0, ab10, c0i ha1, b1, ab00, c0i ha1, b1, ab10, c0i ha1, b1, ab01, c0i ha1, b1, ab11, c0i ha1, b1, ab01, c1i ha1, b1, ab11, c1i

Figure 3.7 – Frappes de Processus (haut) de la dynamique généralisée du graphe des interactions de la boucle d’anticipation incohérente présentée dans la figure 3.6(gauche) ; (bas) issues d’un raffinement des Frappes de Processus d’en haut. Le graphe des états engendré par les deux Frappes des Processus à partir de l’état initial (processus grisés) est dessiné à leur droite.

38 Chapitre 3

a

0 1 2

b

0 1

a

0 1 2

b

0 1 ha0, b1i ha1, b1i ha2, b1i ha0, b0i ha1, b0i ha2, b0i ha0, b1i ha1, b1i ha2, b1i ha0, b0i ha1, b0i ha2, b0i

Figure 3.8 – Frappes de Processus (gauche) de la dynamique généralisée du graphe des interactions de Pseudomonas æruginosa présenté dans la figure 3.6(droite) ; (droite) issues d’un raffinement des Frappes de Processus de gauche. (bas) Graphes des états engendrés par les deux Frappes des Processus.

Boucle d’anticipation incohérente (figure 3.6(gauche)) : un composant a exerce un effet positif sur c au travers d’un composant b, alors qu’il exerce un effet négatif directement sur c. Ce type de motif de RRB est très courant et très étudié (Mangan & Alon, 2003). Nous proposons une modélisation par les Frappes de Processus via la dynamique généralisée et une dynamique raffinée par coopération entre a et c (réalisation de la fonction booléenne c = ¬a ∧ b). La figure 3.7 présente les deux Frappes de Processus obtenues, et donne le graphe des états accessibles depuis l’état où a est présent, et b et c absents. Le processus c1apparaît en gras

dans le graphe des états. Dans le cas de la coopération entre a et b, nous choisissons ab00

comme état initial : cela correspond au cas où a vient tout juste d’arriver, et n’a donc pas encore mis à jour la sorte coopérative.

Pseudomonas æruginosa (figure 3.6(droite)) : ce RRB très simple permet d’illustrer le rôle des circuits de rétro-actions (Thomas & Kaufman, 2001). Il représente les interactions entre deux composants a et b au sein d’une bactérie. Ces deux composants engendrent un régime cyclique inoffensif qui peut dégénérer en une prolifération contrôlée par le composant a. Dans la figure 3.8, nous proposons une modélisation par les Frappes de Processus via la dynamique généralisée du graphe des interactions (gauche) et une dynamique raffinée en supprimant des actions (a1→ a1 a0 et b1→ a2 a1) pour obtenir le comportement voulu (droite).

Modélisation des Réseaux de Régulation Biologique en Frappes de Processus 39

3.8

Discussion

Dans ce chapitre, nous avons introduit les Frappes de Processus, un nouveau formalisme adapté à la modélisation des systèmes dynamiques complexes. Si elles sont ici appliquées à la modélisation des RRB, les Frappes de Processus pourraient tout aussi bien modéliser d’autres types de systèmes concurrents. Le lien formel entre les Frappes de Processus et d’autres formalismes classiques est détaillé dans le chapitre suivant.

Nous avons abordé la modélisation de la dynamique discrète des RRB en proposant plusieurs niveaux de précision dans leur spécification. Un niveau très abstrait, que nous appelons la dynamique généralisée, est, intuitivement, la dynamique la plus permissive compte tenu des contraintes im- posées par la topologie du graphe des interactions d’un RRB. Enfin, en utilisant des mécanismes de raffinement, la spécification de fonctions de dynamique discrète est possible via la construction de sortes additionnelles de coopération entre des processus.

La coopération rappelle la notion biologique de formation de complexe, où plusieurs composants vont s’associer pour agir sur une cible donnée. La construction des coopérations en Frappes de Processus est théoriquement exponentielle selon le nombre de sortes coopérantes. Toutefois, comme nous l’avons montré, il est facile de réduire fortement le coût d’une telle construction en factorisant les coopérations.

Une inférence des paramètres discrets d’un RRB à partir des Frappes de Processus le modélisant a été montrée, ainsi que l’inférence d’un graphe des interactions. Ce procédé permet de retrouver une spécification « classique » d’un RRB après un travail de modélisation et de raffinement en utilisant les Frappes de Processus.

La création des Frappes de Processus a été motivée par la volonté de posséder un langage de spécification élémentaire. Comme montré dans le reste de ce manuscrit de thèse, cette simplicité va permettre de construire des analyses formelles peu coûteuses, ouvrant la possibilité d’étudier de très grands RRB (partie III), tout en gardant la possibilité d’obtenir des dynamiques précises (partie II).

Chapitre 4

Sur l’Expressivité des Frappes de Processus

Afin de mieux comprendre la relation entre les Frappes de Processus et les formalismes stan- dards pour les processus concurrents, nous étudions dans ce chapitre les traductions possibles des Frappes de Processus vers ces formalismes classiques et vice-versa en cherchant à établir des relations de bisimulations.

Cette étude se déroule en deux temps : tout d’abord nous montrons l’existence de traductions triviales des Frappes de Processus vers les Automates Finis Communicants, le π-Calcul et les Réseaux de Petri ; ces traductions offrent une relation de bisimulation entre les modèles obtenus. Dans un second temps, nous abordons la traductions des Réseaux Discrets (chapitre 2) puis des Automates Finis Communicants en Frappes de Processus. Afin de conserver une relation de bisimulation (faible) entre les modèles, nous augmentons au préalable l’expressivité des Frappes de Processus en ajoutant la notion de classes de priorités pour les actions. Les traductions obtenues possèdent une complexité exponentielle selon l’arité des interactions (c.-à-d. le nombre de pro- cessus entrant en jeu) et polynomiale selon leur nombre.

4.1

Préliminaires

Dans ce chapitre, nous discutons de l’expressivité des Frappes de Processus, formalisme introduit dans le chapitre 3. Cette notion d’expressivité est importante car elle donne une certaine vision du type de comportement qu’un formalisme peut décrire. L’expressivité d’un formalisme est générale- ment établie en le comparant à d’autres formalismes existants. Cette comparaison s’acquiert par la définition d’un encodage (une traduction) du formalisme étudié vers un autre formalisme et inverse- ment et le choix des propriétés à conserver pour considérer le formalisme traduit comme équivalent au formalisme initial. Avec l’existence ou l’absence de tels encodages, nous obtenons un classement entre les formalismes selon leur expressivité, et plus précisément, selon une définition d’équivalence choisie : si il existe un encodage de A en B vérifiant l’équivalence voulue, alors B est au moins aussi expressif que A, et réciproquement.

Étant donné un modèle MA exprimé dans un formalisme A, nous notons MB = B(MA) sa

traduction dans le formalisme B. Nous supposons que la sémantique de A (resp. B) induit une relation de transition →A(resp. →B) entre deux états de MA(resp. de MB). L’encodage de A vers

Bproduit également une relation entre les états de MAet MB : étant donné un état s de MA, nous

notons [s] l’état correspondant dans MB; de même, étant donné un état x de MB, nous notons

42 Chapitre 4

(x )l’état correspondant dans MA.

Typiquement, nous allons vérifier l’existence d’une relation de bisimulation R entre les états de M et de B(M) telle que pour tout état s de M, (s, [s]) ∈ R, où R vérifie : si il existe s0 tel que (s, x ) ∈ Ret s →A s0, alors il existe x0 tel que x →B x0 et (s0, x0) ∈ R, et réciproquement. À

défaut, nous chercherons une relation de bisimulation faible : si (s, x) ∈ R et s →As0, alors il existe

x0 tel que x →∗Bx0 et (s0, x0)∈ R, et réciproquement, où →∗

B dénote une suite finie de transitions

→B.

En guise de préambule, nous traitons la comparaison entre les Frappes de Processus et les Automates Finis. Un Automate Fini est défini par un ensemble d’états S et une relation de transition →AF⊂ S × S; nous notons x →AF x0 si la transition de l’état x ∈ S vers x0 ∈ S est définie dans

l’automate. Nous remarquons tout d’abord que toutes Frappes de Processus (Σ, L, H) peuvent être exprimées sous la forme d’un Automate Fini (S, →AF) : nous posons S = L et ∀s, s0 ∈ L, s →AF

s0 ⇔ ∃h ∈ H, s · h = s0; l’encodage et le décodage entre les états de S et de L est la fonction

identité. Il est trivial de remarquer que nous obtenons ainsi une bisimulation entre les Frappes de Processus et leur traduction en Automate Fini.

De même, la traduction d’un Automate Fini en Frappes de Processus est directe : nous créons une seule sorte a et un processus de sorte a par état dans S. Pour chaque transition de l’automate nous créons une auto-frappe du processus de départ pour bondir au processus d’arrivée. Nous obtenons alors les Frappes de Processus (Σ, L, H) avec Σ = {a}, L = La = {ax | x ∈ S},

et H = {ax → ax  ax0 | x →AF x0}. Cette traduction est linéaire selon le nombre d’états et de transitions de l’Automate Fini et il est facile de vérifier que nous obtenons également une bisimulation entre un Automate Fini et sa traduction en Frappes de Processus.

Ainsi, les Frappes de Processus et les Automates Finis possèdent la même expressivité. Étant donné un modèle exprimé dans un langage formel résultant en un ensemble fini d’états et de transitions, il est donc possible d’obtenir des Frappes de Processus décrivant un comportement identique.

Toutefois, nous établissons plusieurs critiques sur cette approche : obtenir des Frappes de Pro- cessus agissant sur une seule sorte est sans intérêt et va à l’encontre de l’essence de ce formalisme qui repose sur la séparation des processus en différentes sortes ; de plus la transformation d’un modèle mettant en relation des composants agissant en parallèle (exprimés dans un langage formel quelconque) en un ensemble complet de transitions (c.-à-d. en Automate Fini) est d’une complexité généralement exponentielle selon le nombre de composants.

Afin d’obtenir une vision plus précise des relations entre divers formalismes pour les processus concurrents, des contraintes supplémentaires peuvent être requises sur la définition de la fonction d’encodage (voir par exemple (Palamidessi, 2003)). Dans le cadre de notre étude, focalisée sur les modèles engendrant un nombre fini d’états, nous nous concentrons sur des encodages possédant une complexité réduite comparée à la complexité du calcul de l’ensemble complet des transitions. En pratique, les encodages employés conservent la structure générale du modèle de départ : à chaque composant du modèle de départ sera associé un composant du modèle d’arrivée. Nous nous autorisons toutefois l’ajout de composants supplémentaires lors de l’encodage, si nécessaire.

Dans un premier temps, nous nous intéressons à la traduction des Frappes de Processus dans les formalismes classiques des Automates Finis Communicants, du π-Calcul et des Réseaux de Petri (section 4.2). Ces traductions sont toutes triviales et préservent totalement la structure des Frappes de Processus. Ceci montre que les Frappes de Processus sont une restriction d’un grand nombre de formalismes pour les processus concurrents.

Sur l’Expressivité des Frappes de Processus 43 a b c fa(x ) = x [b] fb(x ) = x [a]∧ x [c] fc(x ) = 1 x0=ha 1, b0, c1i a 0 1 c 0 1 a∧ c 00 01 10 11 b 0 1 H{ a ,c } ha1, b0, c1i ha0, b0, c1i ha1, b1, c1i ha1, b0, c1, ac11i ha0, b0, c1, ac11i ha0, b0, c1, ac01i ha1, b1, c1, ac11i ha0, b1, c1, ac11i ha1, b1, c1, ac01i ha0, b1, c1, ac01i

Figure 4.1 – (droite) Frappes des Processus résultant de la modélisation du Réseau Discret présenté à (gauche) avec leur graphe respectif des états accessibles depuis ha1, b0, c1i. Les différences ma-

jeures entre la dynamique des Frappes de Processus et du Réseau Discret sont en gras.

La section 4.3 aborde ensuite la traduction des Réseaux Discrets (chapitre 2) et des Automates Finis Communicants en Frappes de Processus. Nous avons déjà exhibé une construction des Réseaux Discrets en Frappes de Processus dans la section 3.5 page 30 : cette construction ajoute une sorte « coopérative » pour chaque composant afin d’encoder la fonction associée. Comme discuté dans cette section 3.5, ce procédé ajoute un décalage temporel dans l’application d’une fonction discrète : la sorte coopérative est mise à jour par les composants, puis, elle frappe le processus actif de la sorte associée pour le faire bondir vers le processus représentant la nouvelle valeur de la fonction discrète. Il est important de noter que ceci fait perdre la bisimulation dans le cas général, la figure 4.1 en est un exemple : alors que le couple de processus ha0, b1in’est pas atteignable depuis l’état ha1, b0, c1i

du Réseau Discret, les Frappes de Processus correspondantes permettent son atteinte, via l’état ha0, b0, c1, ac11ioù la sorte coopérative ac est déphasée par rapport à l’état des sortes a et c.

Nous définissons alors dans la sous-section 4.3.1 les Frappes de Processus avec Priorités, où les actions sont divisées en classes de priorités (tant qu’une action d’une priorité k − 1 est possible, aucune action de priorité supérieure à k n’est jouable). Nous montrons que ceci augmente l’expres- sivité des Frappes de Processus en exhibant des traductions des Réseaux Discrets et Automates Finis Communicants offrant une bisimulation faible et une complexité seulement exponentielle en l’arité des interactions (et polynomiale en leur nombre). L’intérêt des classes de priorités dans les Frappes de Processus est également discuté dans le cadre de l’analyse quantitative des Frappes de Processus dans le chapitre 12.

44 Chapitre 4

4.2

Les Frappes de Processus : une Restriction de Nombreux