From 0e8eaed26e3691ca2481a7d8333641d24edf6aad Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Sat, 25 Mar 2017 17:04:48 +0100 Subject: [PATCH] Add a research project and a teaching project. --- bib/evry.bib | 59 +++++ enseignement.tex | 6 + recherche.tex | 575 ++++++++--------------------------------------- 3 files changed, 154 insertions(+), 486 deletions(-) create mode 100644 bib/evry.bib diff --git a/bib/evry.bib b/bib/evry.bib new file mode 100644 index 0000000..50e0d9b --- /dev/null +++ b/bib/evry.bib @@ -0,0 +1,59 @@ +@article{Caraguel2016, +title={Towards the Design of a Patient-Specific Virtual Tumour}, +volume={2016}, +ISSN={1748-6718}, +url={http://dx.doi.org/10.1155/2016/7851789}, +DOI={10.1155/2016/7851789}, +journal={Computational and Mathematical Methods in Medicine}, +publisher={Hindawi Publishing Corporation}, +author={Caraguel, Flavien and Lesart, Anne-Cécile and Estève, François and van der Sanden, Boudewijn and Stéphanou, Angélique}, +year={2016}, +pages={1–12} +} + +@unpublished{EchahedM2016, +TITLE = {{Parallel Graph Rewriting with Overlapping Rules}}, +AUTHOR = {Echahed, Rachid and Maignan, Aude}, +URL = {https://hal.archives-ouvertes.fr/hal-01408834}, +NOTE = {working paper or preprint}, +YEAR = {2016}, +MONTH = Oct, +KEYWORDS = {parallel rewriting ; overlapping rewrite systems ; graph rewriting}, +PDF = {https://hal.archives-ouvertes.fr/hal-01408834/file/longversion.pdf}, +HAL_ID = {hal-01408834}, +HAL_VERSION = {v1}, +} + +@inproceedings{MaignanS15, + author = {Luidnel Maignan and + Antoine Spicher}, + editor = {Detlef Plump}, + title = {Global Graph Transformations}, + booktitle = {Proceedings of the 6th International Workshop on Graph Computation + Models co-located with the 8th International Conference on Graph Transformation + {(ICGT} 2015) part of the Software Technologies: Applications and + Foundations {(STAF} 2015) federation of conferences, L'Aquila, Italy, + July 20, 2015.}, + series = {{CEUR} Workshop Proceedings}, + volume = {1403}, + pages = {34--49}, + publisher = {CEUR-WS.org}, + year = {2015}, + url = {http://ceur-ws.org/Vol-1403/paper4.pdf}, + timestamp = {Mon, 30 May 2016 16:28:37 +0200}, + biburl = {http://dblp.uni-trier.de/rec/bib/conf/gg/MaignanS15}, + bibsource = {dblp computer science bibliography, http://dblp.org} +} + +@inproceedings{EdwardsM2016, + TITLE = {{DEM-Systems: a new type of adaptive system}}, + AUTHOR = {Edwards, Roderick and Maignan, Aude}, + URL = {https://hal.archives-ouvertes.fr/hal-01326782}, + BOOKTITLE = {{AUTOMATA 2016}}, + ADDRESS = {Zurich, Switzerland}, + YEAR = {2016}, + MONTH = Jun, + KEYWORDS = {self-reproducing systems ; self-organizing systems ; cellular automata}, + HAL_ID = {hal-01326782}, + HAL_VERSION = {v1}, +} diff --git a/enseignement.tex b/enseignement.tex index 755a2e2..d2c5849 100644 --- a/enseignement.tex +++ b/enseignement.tex @@ -252,6 +252,12 @@ formels généraux. Je souhaite également pouvoir faire profiter les étudiants des connaissances pluridisciplinaires en informatique que j'ai acquises. +Plus concrètement, mes expériences d'enseignement et de programmation +système assez variées me permettront de reprendre et de piloter +l'enseignement de la matière {\em Systèmes d'exploitation}. Je +pourrais également m'investir dans l'enseignement de matières avancées +pour le niveau master. + Lors de mes interventions en tant que moniteur, je me suis beaucoup appuyé sur les méthodes graphiques de transmission d'information. Toutes mes explications étaient basées sur des schémas, diff --git a/recherche.tex b/recherche.tex index 86e422d..301769b 100644 --- a/recherche.tex +++ b/recherche.tex @@ -10,7 +10,8 @@ bib/algebra.bib, bib/complex-sys.bib, bib/sivanov.bib, - bib/sivanov-extra.bib + bib/sivanov-extra.bib, + bib/evry.bib ] \section{Activités de recherche} @@ -632,498 +633,100 @@ rapporté des articles pour plusieurs éditions de {\em International \clearpage -\subsection{Projet de recherche} -Mon projet de recherche vise à appliquer l'expérience que j'ai acquise -en explorant les pistes énumérées dans les sections précédentes à -l'étude des systèmes complexes et notamment à la compréhension et à la -gestion de la complexité de ces systèmes. Ma stratégie consiste donc à -employer le savoir formel des structures mathématiques et -informatiques abstraites afin de construire des modèles qui, en plus -d'être rapprochés aux systèmes modélisés en ce qui concerne le -comportement, soient modulaires ou au moins explicables par découpage -en sous-parties. +\subsection{Projet de recherche : modélisation et méthodes formelles pour la médecine} +Une grande partie de mes travaux de recherche s'axent autour des +méthodes et outils formels pour la représentation des systèmes +biologiques et, plus généralement, des systèmes complexes. Je me suis +beaucoup penché sur les propriétés calculatoires de ces systèmes, en +les représentant en tant que modèles de calcul. Les modèles de calcul +discrets que j'ai abordés peuvent être classés dans les trois +catégories suivantes : +\begin{itemize} +\item {\em modèles structurels} qui représentent de façon plus ou + moins fidèle la structure des objets manipulés (chaînes de + caractères pour les biomolécules, tableaux pour des structures + spatiales, etc.), +\item {\em modèles quantitatifs} qui représentent plutôt les quantités + des objets, sans distinguer les objets individuels (multiensembles + d'objets, machines à registres, etc.), +\item {\em modèles qualitatifs} qui se focalisent, à un niveau + d'abstraction très élevé, sur les interactions entre les entités du + système, sans parler ni de leur structure, ni de leur quantité. +\end{itemize} -Le but général que je me propose étant audacieux, il est important de -préciser que les travaux que je compte mener (et que j'ai déjà menés) -ont des applications concrètes dans les domaines respectifs. Autrement -dit, ma recherche vise d'abord à contribuer à la résolution d'un -problème concret et à en tirer des conclusions généralisatrices qui -peuvent être appliquées à d'autres situations et qui ont donc une -valeur en elles-mêmes. +Récemment, je me suis proposé d'élargir mes compétences de +modélisation biologique en m'attaquant à la modélisation logicielle +d'un phénomène cellulaire concret (l'action du cytosquelette lors +de l'activation des plaquettes sanguines). Cette recherche m'a permis, +entre autre, de prendre un contact direct avec le milieu de la +biologie expérimentale pour la médecine. -Mon projet de recherche se compose de trois parties. La première se -focalise sur les sujets que j'ai abordés pendant mes études -doctorales, y compris ceux qui n'ont pas été présentés dans le -manuscrit de thèse. La deuxième partie consiste en l'étude des -structures algébriques et topologiques fondamentales afin de les -utiliser pour la conception des composants pour la construction -modulaire de modèles de systèmes complexes. La troisième partie se -focalise sur les implémentations logiciel de structures abstraites -dans le but d'utiliser la puissance de calcul des ordinateurs modernes -pour la simulation de systèmes et la vérification de modèles. +À la suite de mes travaux se situant à de différents niveaux +d'abstraction, je me suis familiarisé avec toute la chaîne de +modélisation biologique, en commençant par les représentations +phénoménologiques les plus proches aux systèmes modélisés et en +finissant par les approches les plus abstraites (modèles de calcul +qualitatifs). Cette synergie de compétences me permettra de contribuer +directement aux travaux de recherche menés au laboratoire IBISC. -Les sous-sections suivantes donnent une vue plus détaillée sur les -trois parties de mon projet de recherche. +Dans les sections suivantes, je donne plus de détails sur mes +contributions potentielles. -\subsubsection{Langages formels et calcul formel} -La plupart de contributions que j'ai faites pendant mon doctorat -s'inscrivent dans le domaine des langages formels et de l'étude -formelle du calcul. L'approche souvent adoptée dans ce domaine est de -traiter l'évolution dynamique de systèmes comme une suite de -configurations discrète, décrite par un langage formel. Dans cette -optique, le comportement d'un système peut être décrit pas des règles -de réécriture de chaînes de caractère formelles. Les deux types de -modèles de réécriture dont je compte approfondir ma compréhension sont -les systèmes d'insertion/effacement et les systèmes de réécriture de -multiensembles. +\subsubsection{Croissance tumorale en tant que modèle de réécriture} +L'étude de la croissance tumorale est une piste de recherche très +importante dans la médecine moderne. Il existe plusieurs approches à +la présentation de ce processus ; l'une est de représenter les +cellules tumorales et les vaisseaux sanguins qui les alimentent sur +une grille et de simuler la tumeur avec des règles locales, +s'approchant ainsi des automates +cellulaires~\cite{Caraguel2016}. Cette approche, bien que très +efficace, a des limitations importantes : elle ne simule correctement +la croissance d'une tumeur que sur une période de temps relativement +courte (quelques semaines). Les raisons pour ces limitations sont +intrinsèques à l'approche : une grille à deux dimensions est choisie +pour simplifier les calculs et assurer leur stabilité. S'approcher +davantage du phénomène réel risque à la fois d'augmenter beaucoup le +coût de la simulation et de nécessiter des ajustements au modèle qui +le feront dévier des automates cellulaires. -\paragraph{Insertion/effacement} -L'une des premières pistes que j'aborderais dans ce contexte sera la -continuation de l'étude des systèmes d'insertion/effacement avec des -contextes de petite taille, et particulièrement les systèmes dont -toutes les règles ne possèdent que le contexte à gauche. La complétude -(ou l'incomplétude) computationnelle de ces systèmes n'a toujours pas -été démontrée. Au delà de la complétude computationnelle qui n'est -qu'une caractérisation très approximative du comportement possible de -ces systèmes, il serait très intéressant d'étudier de plus près la dynamique -engendrée par les règles d'insertion et d'effacement. Je -voudrais notamment utiliser dans ce but les graphes de dérivation, qui -définissent un protocole de représentation graphique de dérivations, -qui code chaque insertion par un trait, et chaque effacement par -un trait pointillé. +Je voudrais travailler sur la conception des modèles formels qui +puissent à la fois exprimer la croissance des tumeurs d'une façon plus +naturelle et dont la simulation ait un coût raisonnable. Une première +approche à ce problème serait l'application de la réécriture parallèle +de graphes pour exprimer la division cellulaire dans le cadre du tissu +tumoral. Dans mon travail, je pourrais m'appuyer sur le +résultat~\cite{EchahedM2016} par Aude \textsc{Magnan} et Rachid +\textsc{Echahed}, ainsi que sur l'article~\cite{MaignanS15} par +Luidnel \textsc{Maignan} et Antoine \textsc{Spicher}. Ces deux +publications présentent des approches à la réécriture parallèle de +graphes avec des règles qui peuvent se chevaucher. Les contacts actifs +que je maintiens avec ces chercheurs me permettront d'étudier le +problème de façon approfondie. -\begin{figure}[h] - \centering - \vspace{2mm} - \begin{tikzpicture}[node distance=5pt and -20pt] - \node[nsymb] (x) {$\nbold x$}; +Une approche plus ambitieuse à la modélisation de la croissance +tumorale serait l'application des modèles non-conventionnels. Un +exemple prometteur seraient les automates cellulaires avec des règles +de division cellulaire~\cite{EdwardsM2016}. Situé entre les automates +cellulaires et le systèmes de Lindenmayer (communication personnelle +avec Aude \textsc{Maignan}), ce modèle pourrait introduire de façon +naturelle la dynamique de la croissance dans les modèles à base +d'automates cellulaires déjà utilisés pour la modélisation de +tumeurs. Mon expérience de travail sur les modèles de calcul non +conventionnels me permettra d'évaluer l'applicabilité du modèle choisi +pour la modélisation de la croissance tumorale et de l'ajuster au cas +concrets. - % The symbols of the first red branch consisting of F-symbols. - \node[nsymb,below right=of x] (n1) {$\nbold F_1$}; - \node[nsymb,below right=of n1] (n2) {$\nbold F_0$}; - \node[nsymb,below right=of n2] (n3) {$\nbold F_1$}; - \node[nsymb,below right=of n3] (n4) {$\nbold F_0$}; - \node[nsymb,below right=of n4] (n5) {$\nbold F_1$}; - \node[nsymb,below right=of n5] (n6) {$\nbold F_0$}; - \node[nsymb,below right=of n6] (n7) {$\nbold F_1$}; - \node[nsymb,below right=of n7] (n8) {$\nbold F_0$}; - \node[nsymb,below right=of n8] (a01) {$\nbold a_0$}; - - % The first red branch itself. - \draw[insertion] (x) -- (n1) -- (n2) -- (n3) -- (n4) -- (n5) -- (n6) - -- (n7) -- (n8) -- (a01); - - % The nodes of the leftmost green branch. - \node[nsymb,right=0 and 10pt of a01] (n9) {$\nlight X_{0,0}$}; - \node[nsymb,above right=of n9] (n10) {$\nlight Y_{0,0}$}; - \node[nsymb,above right=of n10] (n11) {$\nlight X_{0,1}$}; - \node[nsymb,above right=of n11] (n12) {$\nlight Y_{0,1}$}; - \node[nsymb,above right=of n12] (n13) {$\nlight X_{0,0}$}; - \node[nsymb,above right=of n13] (n14) {$\nlight Y_{0,0}$}; - \node[nsymb,above right=of n14] (n15) {$\nlight X_{0,1}$}; - \node[nsymb,above right=of n15] (n16) {$\nlight Y_{0,1}$}; - - \node[nsymb] at ($(n16)+(16pt,20pt)$) (d1) {$\nbold D_{0,1}$}; - - % The deletions connecting together the leftmost green branch. - \draw[deletion] ($(a01)+(9pt,0)$) -- (n9); - \foreach \i / \j in {9/10, 10/11, 11/12, 12/13, 13/14, 14/15, 15/16} { - \draw[deletion] ($(n\i)+(-1pt,7pt)$) -- ($(n\j)+(-4.5pt,-7pt)$); - } - \draw[deletion] ($(n16)+(1pt,7pt)$) -- ($(d1)+(-10pt,-6pt)$); - - % The insertions of the nodes on the leftmost green branch by the - % nodes on the leftmost red branch. - \foreach \i / \j in {8/9, 7/10, 6/11, 5/12, 4/13, 3/14, 2/15, 1/16} { - \draw[insertion,shorten >=-3pt, shorten <=-5pt] (n\i) -- (n\j); - } - \draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) -- (d1); - - % The nodes of the red branch starting at D_{0,1}. - \node[nsymb,below right=of d1] (n17) {$\nbold D_{0,0}$}; - \node[nsymb,below right=of n17] (n18) {$\nbold D_{0,1}$}; - \node[nsymb,below right=of n18] (n19) {$\nbold D_{0,0}$}; - \node[nsymb] at ($(n19)+(3pt,-20pt)$) (b1) {$\nbold B_0$}; - \node[nsymb,below right=of b1] (a11) {$\nbold a_1$}; - - % The red branch starting at D_{0,1} itself. - \foreach \i / \j in {d1/n17, n17/n18, n18/n19} { - \draw[insertion] ($(\i)+(-1.5pt,-6pt)$) -- ($(\j)+(-5pt,8pt)$); - } - \draw[insertion,shorten >=-1pt] ($(n19)+(0pt,-6pt)$) -- (b1) -- (a11); - - % The deletions coming from the leftmost green branch over to the - % second red branch from the left. - \draw[deletion] ($(n10)+(4pt,5pt)$) to[out=28,in=-105] ($(n19)+(-5pt,-6pt)$); - \draw[deletion] ($(n12)+(5pt,6pt)$) to[out=28,in=-105] ($(n18)+(-6pt,-6pt)$); - \draw[deletion] ($(n14)+(4pt,5pt)$) to[out=28,in=-105] ($(n17)+(-6pt,-6pt)$); - \draw[deletion] ($(a01)+(3pt,-5pt)$) to[out=-35,in=-105] ($(b1)+(-4pt,-8pt)$); - - % The nodes of the second leftmost green branch. - \node[nsymb] at ($(a11)+(19pt,19pt)$) (n20) {$\nlight X_{1,0}$}; - \node[nsymb,above right=of n20] (n21) {$\nlight Y_{1,0}$}; - \node[nsymb,above right=of n21] (n22) {$\nlight X_{1,1}$}; - \node[nsymb,above right=of n22] (n23) {$\nlight Y_{1,1}$}; - - \node[nsymb] at ($(n23)+(16pt,19pt)$) (d2) {$\nbold D_{1,1}$}; - - % The deletions connecting together the second green branch. - \draw[deletion] ($(a11)+(6pt,4pt)$) -- ($(n20)+(-8pt,-6pt)$); - \foreach \i / \j in {20/21, 21/22, 22/23} { - \draw[deletion] ($(n\i)+(-2pt,7pt)$) -- ($(n\j)+(-5pt,-7pt)$); - } - \draw[deletion] ($(n23)+(1pt,7pt)$) -- ($(d2)+(-10pt,-6pt)$); - - % The insertions of the nodes on the second leftmost green branch. - \foreach \i / \j in {19/20, 18/21, 17/22} { - \draw[insertion,shorten >=-2pt, shorten <=-2pt] (n\i) -- (n\j); - } - \draw[insertion,shorten >=-2pt, shorten <=-2pt] (d1) -- (n23); - \draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) to[out=-5,in=172] (d2); - - % The nodes of the third leftmost red branch. - \node[nsymb] at ($(d2)+(5pt,-19pt)$) (n24) {$\nbold D_{1,0}$}; - \node[nsymb] at ($(n24)+(3pt,-19pt)$) (b2) {$\nbold B_1$}; - \node[nsymb,below right=of b2] (a02) {$\nbold a_0$}; - - % The red branch itself. - \draw[insertion] ($(d2)+(-1.5pt,-6pt)$) -- ($(n24)+(-5pt,8pt)$); - \draw[insertion,shorten >=-1pt] ($(n24)+(0pt,-6pt)$) -- (b2) -- (a02); - - % The deletions of symbols on the third leftmost red branch. - \draw[deletion] ($(n21)+(4pt,5pt)$) to[out=28,in=-105] ($(n24)+(-5pt,-6pt)$); - \draw[deletion] ($(a11)+(8pt,1pt)$) to[out=15,in=-105] ($(b2)+(-3pt,-6pt)$); - - % The symbols of the rightmost green branch. - \node[nsymb] at ($(a02)+(19pt,19pt)$) (n25) {$\nlight X_{0,0}$}; - \node[nsymb,above right=of n25] (n26) {$\nlight Y_{0,0}$}; - - \node[nsymb] at ($(n26)+(16pt,19pt)$) (d3) {$\nbold D_{0,0}$}; - - % The deletions connecting the rightmost green branch together. - \draw[deletion] ($(a02)+(6pt,4pt)$) -- ($(n25)+(-8pt,-6pt)$); - \draw[deletion] ($(n25)+(-2pt,7pt)$) -- ($(n26)+(-4.5pt,-7pt)$); - \draw[deletion] ($(n26)+(1pt,7pt)$) -- ($(d3)+(-10pt,-6pt)$); - - % The insertions of the symbols on the rightmost green branch. - \draw[insertion,shorten >=-2pt, shorten <=-2pt] (n24) -- (n25); - \draw[insertion,shorten >=-2pt, shorten <=-2pt] (d2) -- (n26); - \draw[insertion,shorten >=-3pt, shorten <=-7pt] (x) to[out=-3,in=170] (d3); - - % The rightmost red branch. - \node[nsymb] at ($(d3)+(4pt,-18pt)$) (b3) {$\nbold B_0$}; - \node[nsymb,below right=of b3] (a12) {$\nbold a_1$}; - - % The rightmost red branch itself. - \draw[insertion,shorten >=-1pt] ($(d3)+(0pt,-6pt)$) -- (b3) -- (a12); - - % The deletions of symbols on the rightmost red branch. - \draw[deletion] ($(a02)+(8pt,1pt)$) to[out=15,in=-105] ($(b3)+(-3pt,-6pt)$); - \end{tikzpicture} - \vspace{-7mm} - \caption{Un graphe de dérivation pour un système - d'insertion/effacement de taille $(1,1,0; 1,1,0)$ qui engendre un - langage non-algébrique~\cite[Section~8]{JL2005}} - \label{fig:insdel:lft-2n} -\end{figure} - -La figure~\ref{fig:insdel:lft-2n} montre un exemple de comportement -dynamique que peut avoir un système d'in\-ser\-tion/ef\-face\-ment -avec des règles qui n'insèrent et n'effacent qu'un symbole à la fois -et qui vérifient uniquement les contextes à gauche (des règles de -taille $(1,1,0; 1,1,0)$). Il s'agit du système décrit -dans~\cite[Section~8]{JL2005} qui possède un taux de croissance -exponentiel et qui engendre donc un langage non-algébrique. Dans la -figure~\ref{fig:insdel:lft-2n} nous avions mis en gras les symboles -terminaux ainsi que tous les symboles qui insèrent des symboles -gras. Avec ce code couleur on voit immédiatement que le graphe -correspondant à une dérivation de ce système consiste en des chemins -gras qui interagissent par le biais de structures gris clair. En -outre, on remarque la croissance exponentielle des chemins gras, de -droite à gauche : effectivement, le chemin gras de droite contient un -symbole $D$, celui d'avant en contient 2, le troisième chemin de -droite contient 4 symboles $D$, alors que le chemin gras tout à -gauche contient déjà 8 symboles $F$. - -Nous tirons deux conclusions de cette analyse superficielle de la -figure~\ref{fig:insdel:lft-2n}. D'un côté, on observe que les règles -d'insertion et d'effacement de petite taille peuvent avoir un -comportement assez complexe qui dépasse même la puissance de -modélisation des automates à pile. D'un autre côté, on note -l'efficacité visuelle des graphes de dérivation qui offrent une vue -d'ensemble sur une dérivation sans perdre les détails dynamiques -essentiels, c'est-à-dire les éléments de comportement qui ont une -influence sur le langage engendré. Cette propriété des graphes de -dérivation les rend très intéressants pour toute étude de la dynamique -des systèmes d'insertion/effacement. - -\paragraph{Réécriture de multiensembles} -La réécriture de multiensembles, et notamment les systèmes à -membranes, est le domaine dans lequel j'ai fait mes plus anciennes -contributions scientifiques et dont plusieurs questions continuent à -m'intéresser à présent. Dans la continuité des travaux menés pendant -mon doctorat, je voudrais poursuivre l'étude du problème de -l'universalité pour ce modèle et en particulier l'étude des techniques -d'optimisations de la taille des systèmes universels. - -D'un autre côté, je voudrais me concentrer plus sur l'étude de -systèmes à membranes avec des règles dynamiques, dites polymorphes, -que nous avions introduits dans~\cite{AI2011} et dont une variante -restreinte j'ai étudiée dans~\cite{DBLP:conf/membrane/Ivanov14}. Le -comportement de ces systèmes ressemble au celui de cellules vivantes -dans le fait que les règles qui dirigent l'évolution peuvent être -modifiées, ce qui donne une dimension de dynamisme en plus. En outre, le -polymorphisme complexifie le rapport entre les étapes consécutives -d'évolution, car une configuration du système détermine non seulement -la configuration suivante, mais aussi la forme des règles qui seront -utilisées plus tard dans l'évolution. - -La figure~\ref{fig:superexponential-growth} montre un exemple d'un -système polymorphe qui possède un taux de croissance -super-exponentiel. Ce système a deux règles : la première qui a -initialement la forme $a\to a$, et la deuxième qui ne varie pas et qui -double le nombre de $a$ dans la partie droite de la première -règle. Ainsi, après $k$ pas d'évolution, la première règle aura la -forme $a\to a^{2^{k}}$. Par conséquence, après le même nombre de pas, -la membrane extérieure du système contiendra $2^{\frac{k(k-1)}{2}}$ -copies de $a$. - -\begin{figure}[h] - \centering - \vspace{2mm} - \begin{tikzpicture} - \node (r2) {$2:a\to aa$}; - \node[below=.1 of r2] (w1L) {$a$}; - - \membrane{$1R$}{1R}{}{fit={(r2) (w1L)}} - \membrane{$1L$}{1L}{$a$}{below left=-15.5pt and 13pt of 1R} - \node[below left=5pt and -25pt of 1R] (ws) {$a$}; - - \membrane{$s$}{s}{}{fit={(1L) (1L label) (1R) (1R label) (ws)}} - \end{tikzpicture} - \caption{Un P système polymorphe avec un taux de croissance - super-exponentiel} - \label{fig:superexponential-growth} -\end{figure} - -On remarque deux pistes d'exploration possibles pour les systèmes à -membranes polymorphes. La première reste dans le cadre de l'étude -formelle et se focalise sur le rapport entre les restrictions que l'on -peut imposer statiquement et le comportement dynamique des systèmes -avec ces restrictions, particulièrement leur puissance de calcul. La -deuxième piste mène vers une collaboration interdisciplinaire et -consiste à trouver des parallèles entre la complexité induite par le -polymorphisme et la complexité intrinsèque des systèmes complexes tels -que l'on trouve en biologie, en physique, etc. De telles parallèles -permettrait d'approfondir la compréhension de cette complexité et -suggérerait des manières de la gérer. - -Une autre direction majeure de recherche qui m'attire fortement est la -conception de cadres généraux pour réunir plusieurs variantes de -systèmes à membranes. Étant donnée la variété importante de variantes -de ces systèmes, avoir des cadres généraux permet tout d'abord -d'unifier la terminologie qui est souvent dérivée de diverses domaines -de la biologie et donc hétérogène. Deuxièmement, cette unification -offre souvent des perspectives très éclairantes sur les combinaisons -possibles d'ingrédients qui n'ont pas encore été étudiées. - -\paragraph{Autres modèles de calcul} En plus des deux modèles de -calculs déjà mentionnés dans cette sous-section, je voudrais en -continuer l'exploration d'autres ayant des liens de parenté forts avec -les systèmes d'insertion/effacement et avec la réécriture de -multiensembles. Ainsi, je suis intéressé par les machines à registres -universelles de petite taille et je voudrais travailler sur la -réduction de la taille des -constructions existantes. Cela permettrait d'améliorer les systèmes à -membranes universels en réduisant le nombre de règles, de symboles, ou -d'autres ingrédients utilisés. - -Je voudrais également continuer l'étude de réseaux de processeurs -évolutionnaires, mais au lieu de me pencher sur la caractérisation de -leur puissance d'expression je m'intéresserais plutôt à la dimension -parallèle inhérente à ce modèle de calcul. Je voudrais notamment -explorer le lien entre les réseaux de processeurs évolutionnaires et -les systèmes à membranes ; en effet, dans les cas des deux modèles on -retrouve des processeurs qui échangent des données en réseau. Un autre -trait commun est la possibilité de distinguer deux types de -parallélisme : d'une part, le traitement des données dans un -processeur se fait de façon parallèle ; d'autre part, l'activité des -processeurs eux-mêmes se déroule parallèlement, avec une barrière de -synchronisation globale s'imposant à chaque étape d'évolution. Il me -paraît intéressant de concevoir un cadre général pour ces deux modèles -afin d'explorer à un haut niveau d'abstraction les manières -différentes dont le calcul parallèle pourrait être organisé. En plus, -ce cadre généralisant pourrait indiquer d'autres membres de la famille -de modèles de calcul dont les réseaux de processeurs évolutionnaires -et les systèmes à membranes font partie. - -Encore un modèle de calcul intrinsèquement parallèle qui m'attire -fortement sont les automates cellulaires, qui représentent -essentiellement des grilles d'automates finis qui communiquent. Les -automates dans les nœuds de la grille n'ont pas de bande, donc la -seule information dont ils peuvent disposer est leur état et les états -des voisins dans un voisinage défini statiquement. Les unités -atomiques de calcul des automates cellulaires sont ainsi moins -puissantes que les processeurs dans les réseaux de processeurs -évolutionnaires ou les membranes dans les systèmes à membranes ; -néanmoins, en terme de pouvoir d'expression les automates cellulaires -sont équivalents aux machines de Turing. On observe donc un -considérable écart entre l'expressivité globale d'un automate -cellulaire et l'expressivité locale de chaque unité. Par conséquent, -ce modèle de calcul semble être un contexte bien adapté à l'étude de -rapports entre les comportements locaux et globaux de systèmes -complexes. En effet, des travaux ont déjà été menés dans cette -direction (\cite{DBLP:conf/pads/PotierSM13}, par exemple) ; je -voudrais appliquer l'expérience que j'ai acquise pour contribuer à ces -études. - -\subsubsection{Algèbres de modèles} -L'un des problèmes centraux dans l'étude de systèmes complexes et -celui de composition de -modèles~\cite{Chilton2014146,rozenbergzoom2014}. Un système complexe -en tant qu'entité du monde réel est représenté par son modèle qui doit -souvent refléter certains aspects de sa complexité. On peut distinguer -deux approches à la représentation de la complexité. La première -consiste en l'imitation directe de toutes les caractéristiques -pertinentes du système ; le modèle construit pourra dans ce cas -répliquer le comportement du système modélisé, mais ne sera pas -forcement facile à comprendre. C'est notamment le cas de projets -récents qui visent à prédire le phénotype d'une cellule biologique à -partir de son génotype~\cite{wholecell} : les modèles de la cellule -fournis par ces projets combinent de manière ad hoc plusieurs modèles -existants dans le but d'assurer une modélisation fidèle ; cependant -les raisons derrière la plupart de comportements restent -inexpliquées. L'un des buts d'une telle approche serait de créer un -moule de la cellule biologique qui pourrait être ensuite utilisé pour -tourner des simulations et pour éviter ainsi une partie d'expériences -in vitro qui sont coûteuses et de longue durée. - -L'autre approche à la représentation de la complexité est de modéliser -certaines propriétés locales nécessaires pour que le comportement -globale du modèle corresponde à celui du système. Cette approche -pourrait offrir une vue beaucoup plus détaillée sur les liens entre -les causes et les effets dans le système, et donnerait dans l'idéal -des façons de décomposer le modèle en sous-parties modulaires, -c'est-à-dire des parties dont on espérerait trouver les homologues -dans les modèles des autres systèmes. Toutefois, il est clair que ce -type d'analyse nécessite une compréhension plus profonde du système à -modéliser mais aussi des techniques de modélisation. Je souhaiterais -me concentrer sur ces techniques et travailler vers la formulation de -véritables algèbres de modèles, dans le cadre desquelles on pourrait -construire des modèles plus complexes à partir des plus simples, mais -aussi retrouver des blocs en lesquels un modèle existant peut être -décomposé. - -Des résultats très intéressants sur un outil formel de combinaison de -modèles ont été présentés dans~\cite{Chilton2014146}. L'article -utilise les {\em automates d'interface} (interface automata) pour -représenter un composant d'un modèle. Un automate d'interface est -défini comme un alphabet d'événements d'entrée, un alphabet -d'événements de sortie, un ensemble de chaînes sur les deux alphabets -qui décrit les suites d'interactions possibles entre l'automate et -l'environnement, ainsi qu'un ensemble de chaînes qui mène l'automate -vers un état d'erreur. Une relation de raffinement est définie pour -les automates d'interface et ensuite des opérations de composition -sont introduites de sorte à être compatibles avec la relation de -raffinement. - -La définition d'un automate d'interface étant très générale, les -propriétés démontrées dans~\cite{Chilton2014146} sont applicables à -une classe très large de modèles. Malheureusement, cette généricité -implique aussi que l'on ne peut déduire que des conclusions assez -générales pour être applicables à toute situation. Ce problème est -fort difficile à contourner, car il est inhérent à tout langage -générique. Je suis néanmoins convaincu qu'un langage riche permettant -non seulement d'exprimer des propriétés à un haut niveau -d'abstraction, mais aussi de décrire des objets spécialisés, peut -donner des indices sur la résolution du problème de généricité. Dans -ma recherche je compte utiliser la théorie des catégories comme un tel -langage. - -Une catégorie est l'un des formalismes qui abstraient la notion de -structure mathématique elle-même. Une catégorie est défini comme une -collection d'« objets » et de « flèches » entre les objets, aucune -restriction n'étant imposée sur ce qu'un « objet » peut être, alors -que les flèches doivent respecter quelques propriétés de composition -basiques. (La monographie~\cite{Adamek04} peut servir de référence.) -En plus d'être très générale, la terminologie de la théorie des -catégories admet des intuitions graphiques naturelles. - -Malgré sa généralité, le langage des catégories permet de construire -certains objets non-triviaux. Par exemple, la figure~\ref{fig:prod} -défini l'objet produit $X_1\times X_2$ pour des objets $X_1$ et $X_2$ -d'une catégorie quelconque. Dans la catégorie des ensembles, le -produit correspond au produit cartésien, dans la catégorie des groupes -le produit correspond au produit direct, etc. La figure~\ref{fig:prod} -définit le produit $X_1\times X_2$ comme un objet avec deux flèches -$\pi_1$ et $\pi_2$ qui vont vers $X_1$ et $X_2$ respectivement, tel -que si l'on prend n'importe quel autre objet $Y$ avec deux flèches $f_1$ -et $f_2$ vers $X_1$ et $X_2$, il existe une seule flèche de $Y$ vers -$X_1\times X_2$ telle que $\pi_1\circ f = f_1$ et $\pi_2 \circ f = -f_2$ (le diagramme est dit commutatif dans ce cas). - -\begin{figure}[h] - \centering - \begin{tikzpicture}[node distance=9mm] - \node (y) {$Y$}; - \node[below=of y] (x1x2) {$X_1\times X_2$}; - \node[base left=of x1x2] (x1) {$X_1$}; - \node[base right=of x1x2] (x2) {$X_2$}; - - \draw[->] (y) -- node[midway,auto,swap] {$f_1$} (x1); - \draw[->] (x1x2) -- node[midway,auto] {$\pi_1$} (x1); - \draw[->] (y) -- node[midway,auto] {$f_2$} (x2); - \draw[->] (x1x2) -- node[midway,auto,swap] {$\pi_2$} (x2); - \draw[->,dashed] (y) -- node[pos=.65,auto] {$\exists! f$} (x1x2); - \end{tikzpicture} - \caption{La définition d'un produit dans une catégorie} - \label{fig:prod} -\end{figure} - -Il existe d'autres façons de construire des objets composés qui, grâce -à la généralité des catégories, pourraient être appliquées à des -modèles très différents. L'avantage de l'approche catégorielle par -rapport à celle proposée dans~\cite{Chilton2014146} seraient que, dans -la théorie des catégories, il est aussi possible de préciser -formellement quelles propriétés une catégories devrait avoir pour -qu'une certaine manière de composer les objets soit -faisable. Autrement dit, le langage des catégories est assez riche -pour pouvoir formuler des propriétés concernant des -classes vastes d'objets aussi bien que des propriétés bien concrètes, -valables dans certains cas particuliers uniquement. Je souhaite donc -m'investir dans l'exploration des possibilités d'appliquer l'approche -catégorielle à la composition de modèles afin de contribuer à l'étude -de systèmes complexes. - -\subsubsection{Programmation algébrique} -En plus d'être génériques et flexibles, les structures catégorielles -et, plus généralement, algébriques et topologiques se fondent sur des -systèmes d'axiomes assez minimaux, ce qui rend leur représentation sur -l'ordinateur assez naturelle. Il ne s'agit pas de la correspondance -entre le modèle de calcul derrière les ordinateurs modernes qui n'est -certainement pas particulièrement adapté au calcul symbolique, mais -plutôt du fait que les systèmes d'axiomes minimaux se prêtent -facilement à une description sous la forme d'une spécification qui -peut être utilisée ensuite pour de la validation automatique. Ainsi, -la pratique d'incorporer certains aspect catégorielles dans le -systèmes de typage se voit de plus en plus adoptée par les -développeurs de langages de programmation. - -Un exemple de langage qui a incorporé un nombre important de concepts -catégoriels est Haskell~\cite{haskellorg}. Ce langage permet de -manipuler directement des structures telles que monoïdes, foncteurs, -monades, etc. afin de pouvoir spécifier des propriétés assez fortes -sur les types, et notamment de factoriser les structures de données -utilisées ainsi que le code source. Il s'agit donc d'un travail de -découpage des structures de données et du code source en sous-parties, -ce qui est un cas particulier du problème général de décomposition de -modèles décrit dans la section précédente. Par conséquent, je trouve -très intéressant de représenter toute ébauche de théorie algébrique de -modèles sur l'ordinateur dans un langage haut niveau, car cela -permettra d'une part de vérifier la justesse des définitions et de les -tester en exécution assez tôt, et d'autre part de s'inspirer de -l'étude formelle derrière les langages haut niveau pour attaquer les -problèmes de modélisation de systèmes complexes. +\subsubsection{Outils logiciels pour l'application des méthodes formelles} +La recherche sur la conception et l'application des modèles formels +pour la biologie inclut une phase de validation. Cette phase est +souvent automatisée pour en réduire les coûts. J'ai déjà développé des +outils pour valider certains modèles formels (le simulateur des +systèmes à réactions~\cite{brsim}, par exemple), ainsi que d'autres +outils informatiques pour la modélisation biologique ou pour d'autres +usages. Je voudrais maintenant appliquer mon expérience de +programmation assez variée à la conception et au développement des +logiciels pour l'application des modèles formels à la médecine de +précision. \printbibliography[resetnumbers=true] \end{refsection}