\chapter{Conclusion}

Dans ce très court chapitre, nous résumons les chapitres précédents et
présentons nos contributions au projet de recherche ANR \synbiotic.
% C'est fini, on bien bossé, regardez. On va maintenant présenter:
% - le résumé des travaux, séparément, puis
% - synbiotic -> délivrable;
% - Quelles nouvelles questions ça ouvre ?
% - Et nous, on continue sur quoi ? (nos travaux futurs)

% On a déjà fait une conclusion par chapitre, qu'ajouter dans celle-là ?
% - Donner un modèle de l'activité dans le cadre du multi-niveau de la partie 1
% -

% Résumé des travaux
%Deux nouvelles techniques de modélisation inspirées par un formalisme unifiant:
%modélisation par l'activité spatiale et par des automates cellulaires étendus

\section{Résumé de nos travaux}

\paragraph{\nameref{chap:partie-multi-modele}} Dans ce chapitre, nous
présentons la définition d'un formalisme unifiant dans le but de permettre
la spécification commune et la classification de modèles. En partant du
constat que modéliser revenait à définir une loi d'exclusion, c'est à
dire distinguer les comportements acceptés des comportements rejetés
par le modèle, nous avons donné une définition d'un modèle comme un
couple $(\sig,\bhv)$ constitué de la signature du modèle \sig{} et de son
comportement \bhv{}. Un modèle peut être construit suivant différentes
méthodes: par extension, dans le cas d'un modèle expérimental par exemple,
ou bien par intention. Après avoir fourni quelques exemples de reformulation
de modèles classiques dans notre formalisme, nous nous sommes attaqués à
l'expression des relations pouvant exister entre différents modèles. Il est
apparu nécessaire de considérer un modèle de référence pour définir
une flèche d'abstraction entre deux modèles : le modèle de référence
se présente comme le lien au système étudié, et peut être un modèle
expérimental. Nous avons également étudié l'expression formelle d'une
composition entre deux modèles. Ces définitions nous ont permi d'établir une
construction cohérente constituée de plusieurs modèles en relation les uns
avec les autres fournissant aussi une première partie concrète de réponse
au problème de la construction de modèles constitués de sous-modèles en
relation les uns avec les autres.

\paragraph{\nameref{chap:partie-activite}} Dans ce chapitre, nous abordons une
nouvelle technique de modélisation fondée sur l'activité spatiale dans le cadre
d'un langage informatique pour la modélisation et la simulation spatiale nommé
\MGS. \MGS{} est un langage de programmation non-conventionnel qui met l'accent
sur la place centrale de l'espace dans la modélisation. Spécifier un modèle avec
\MGS{} revient à choisir une structure de donnée adaptée, appelée collection
topologique, et une fonction de transition, la transformation. Une simulation
d'un modèle écrit avec \MGS{} correspond à la réécriture successive de la
collection topologique choisie. Grâce à \MGS, nous avons introduit et mis en
situation un nouvel algorithme de calcul d'un front d'activité: premièrement cet
algorithme généralise des optimisations déjà connues sur les automates
cellulaires à toute collection topologique, deuxièmement, notre algorithme rend
accessible comme donnée de premier ordre les zones spatialement actives pendant
la simulation d'un modèle écrit avec \MGS.

\paragraph{\nameref{chap:partie-otb}} Dans ce chapitre, nous présentons \otb, un
simulateur du comportement d'une population de bactéries \Ecoli{} écrit en OCaml
et en C. Ce simulateur repose sur un modèle du comportement des bactéries
\ecoli{} dans leur environnement qui est le fruit de la composition de trois
modèles:
\begin{itemize}
\item le \emph{moteur physique}, dédié au comportement physique des bactéries;
\item le \emph{moteur chimique}, dédié à la réaction et à la diffusion des
  morphogènes dans l'environnement des bactéries, et
\item le \emph{moteur de décision}, dédié à l'interaction de ces deux
  environnements, décrivant les interactions mutuelles entre les deux moteurs
  précédents, il régit le comportement de chaque bactérie et fait appel aux deux
  modèles précédents.
\end{itemize}
Les deux moteurs physiques et chimiques reposent sur les automates cellulaires
en deux dimensions pour lesquels nous avons développé une technique de
simulation originale, l'algorithme de Propagation Parallèle à la Margolus
(\ppm), dans le but de pouvoir simuler une population de l'ordre de \SI{E5}{}
individus sur des ordinateurs munis de cartes graphique grand public.

\section{Contribution à \synbiotic}

Ce manuscrit de thèse est un livrable du projet ANR \synbiotic.
Dans ce document nous avons contribué spécifiquement à deux
work-packages, WP2 (chapitre~\ref{chap:partie-activite}) et WP3
(chapitre~\ref{chap:partie-otb}), ainsi qu'au projet de recherche en général
(chapitre~\ref{chap:partie-multi-modele}):
\begin{description}
  \item[Contributions à WP2]
    %MGS colle parfaitement à L1 (interactions)
    Ce WP est dédié à l'élaboration d'un langage, nommé L1, de programmation
    spatiale dont la fonction est de décrire les exemples déterminés dans le
    WP1. Le langage \mgs, introduit dans le chapitre~\ref{chap:partie-activite},
    est un candidat idéal pour ce rôle.
    % Raison 1: Collection topologiques
    Tout d'abord, \mgs est construit sur les collections topologiques, une
    structure de donnée dans lequel l'espace est traité explicitement.
    Il dispose d'une primitive spatiale s'appliquant à toute collection
    topologique: l'opérateur de voisinage «\ç{,}».
    %Reformulé avec les concepts du chapitre~\ref{chap:partie-multi-modele}, .
    Cet unique opérateur (et ses restrictions) permet de spécifier,
    indépendamment de la collection, le modèle de chaque exemple du WP1.
    % Raison 2: Transformations sur les collections
    Ensuite, dans \mgs, le temps est modélisé par les altérations successives
    d'une collection topologique au moyen d'une fonction définie par cas sur
    des motifs de filtrage d'une collection topologique appelée transformation.
    Cette fonction permet de traiter différents aspects temporels (asynchrone,
    synchrone, déterministe, stochastique, etc.) de l'évolution et se trouve
    particulièrement bien adapté à le description des exemples du WP1.
    % Raison 3: Activité est un outil pour la description des exemples du WP1
    Finalement, la mise en évidence de l'activité spatiale dans \mgs nous permet
    de simuler les exemples, dans certain cas, plus efficacement en restreignant
    le filtrage de motif à la partie active de la collection topologique, c'est
    à dire celle qui se trouvera modifiée au prochain pas de simulation.
  \item[Contributions à WP3]
    % OTB simule parfaitement L2
    Ce WP est dédié à l'élaboration d'un second langage, nommé L2, de
    programmation prenant en entrée les concepts utilisés en sortie de
    L1, et en les instanciant dans les individus (des bactéries). Le
    simulateur \otb, muni du langage de description \sbgp, introduit dans le
    chapitre~\ref{chap:partie-otb}, est un candidat idéal pour ce rôle.
    % Raison 1: Réseau de régulation génétique décrit par \sbgp
    Tout d'abord, le langage de description permettant d'instancier le
    comportement des bactéries est \sbgp. Il décrit l'équivalent d'un Réseau
    de Régulation Génétique (RRG) d'une bactérie, c'est à dire l'action de
    l'environnement sur l'expression de son code génétique. Dans \otb, ce RRG
    est décrit sous la forme d'un automate à états finis embarqué dans chacune
    des bactéries, ce qui permet de retrouver des comportements de population
    observés en laboratoire.
    % Raison 2: Simulation efficace
    Ensuite, nous avons fait en sorte que \otb soit le plus efficace possible,
    en utilisant le parallélisme à disposition dans les cartes graphiques
    grand public. Nous pouvons attendre en quelques minutes des population de
    l'ordre des \num{E5} bactéries interagissant les unes avec les autres.
    % Raison 3: OTB vu comme une collection topologique de MGS
    Finalement, et même si cet objectif n'est pas encore atteint au moment
    de l'écriture de ce manuscrit, nous estimons que \otb peut-être vu comme
    une collection topologique particulière de \mgs, ce qui nous permettra
    de lier les langages L1 et L2 directement au niveau de \mgs. Ainsi, les
    primitives spatiales définies dans L1 pourront avoir une traduction
    explicite directement dans \mgs et servir à définir le RRG incorporé dans
    les bactéries de \otb.
  \item[Contributions générales]
    % Description du multi-niveau colle à tour de langages
    Le projet \synbiotic a pour objectif de décrire le passage d'un comportement
    de haut niveau, à l'échelle d'une population d'entités, à un comportement de
    bas niveau, à l'échelle de l'individu, par le passage le long d'une tour de
    langages, similaire au processus de compilation d'un programme informatique.
    % Raison 1: Chacun des étages de la tour forme un niveau de description
    Pour commencer, nous constatons que chacun de ces étages de cette tour de
    compilation peuvent être vu comme des niveau de modélisation. À chaque
    étage, un langage de programmation manipule des objets d'une certaine
    manière, avec une certaine préférence, par exemple, dans \mgs, l'accent
    est mis sur la description explicite de l'espace. Dans le cadre du
    chapitre~\ref{chap:partie-multi-modele}, nous pourrions voir cet étage comme
    un niveau de description où les modèles appartiennent tous à la classe des
    modèles à champ, en y ajoutant certainement quelques contraintes pour mieux
    coller à \mgs, les champs offrent une description plus abstraite que les
    opérateurs de \mgs nous permettent.
    % Raison 2: Nous avons un outil pour formaliser les liens entre chaque étage
    %           Est-ce un couplage simple / une complexification ?
    Ensuite, le cadre formel développé dans le
    chapitre~\ref{chap:partie-multi-modele}, nous donne un outil concret pour
    aller caractériser les classes de modèles spécifiques à chaque étages et à
    expliciter les liens entre chacun des étages de cette tour de langages. Nous
    sommes désormais en mesure, dans des travaux futurs, de déterminer quel type
    de flèche il existe entre chacun des niveaux de description du projet.
    De plus, la description de l'activité spatiale dans le
    chapitre~\ref{chap:partie-activite} nous donne déjà une voie vers une
    représentation intermédiaire entre L0, le langage de haut niveau pour la
    description des exemples du WP1 et L1.
    % Raison 3: Formalisation aide WP5 sur calculabilité et WP6 sur la
    %           specification de Bio-sûreté et bio-sécurité
    Finalement, les travaux effectués chapitre~\ref{chap:partie-multi-modele}
    devraient apporter un éclairage bienvenu sur les travaux des autres WP, en
    proposant un support à l'étude de la calculabilité des modèles de chacun des
    niveaux pour le WP5, et un cadre de description général permettant d'étudier
    au mieux le respect des spécifications dans le cadre du WP6.
\end{description}

% Clôture/Humour
Nos perspectives de recherche globales sont bien sûr plus nombreuses que la
somme des perspectives de recherche de chacune des parties. Est-ce bien le cas?
Nous le saurons bien assez tôt.

% ### THE END ###
