Add a summary of my programming projects.
This commit is contained in:
parent
cb56ede5c0
commit
c244d00f77
3 changed files with 104 additions and 0 deletions
45
bib/programming.bib
Normal file
45
bib/programming.bib
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
@misc{Hurd,
|
||||||
|
title = {GNU/Hurd homepage},
|
||||||
|
howpublished = {\url{https://www.gnu.org/software/hurd/index.html}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{unionmount,
|
||||||
|
title = {Unionmount project for GNU/Hurd},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{https://github.com/scolobb/unionmount}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{nsmux,
|
||||||
|
title = {Namespaced-based translator selection for GNU/Hurd},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{https://github.com/scolobb/nsmux}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{sympy,
|
||||||
|
title = {SymPy homepage},
|
||||||
|
howpublished = {\url{http://www.sympy.org}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{categories,
|
||||||
|
title = {A category theory module for SymPy},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{https://github.com/scolobb/sympy}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{compdev,
|
||||||
|
title = {Definitions of some basic computing devices},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{https://github.com/scolobb/computing-devices}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{brsim,
|
||||||
|
title = {A Basic Reaction System Simulator},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{https://github.com/scolobb/brsim}}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{brsimweb,
|
||||||
|
title = {Web interface to the reaction system simulator},
|
||||||
|
author = {Sergiu Ivanov},
|
||||||
|
howpublished = {\url{http://combio.abo.fi/research/reaction-systems/reaction-system-simulator/}}
|
||||||
|
}
|
|
@ -32,6 +32,7 @@
|
||||||
\addbibresource{bib/psystems.bib}
|
\addbibresource{bib/psystems.bib}
|
||||||
\addbibresource{bib/mcrs.bib}
|
\addbibresource{bib/mcrs.bib}
|
||||||
\addbibresource{bib/arrays.bib}
|
\addbibresource{bib/arrays.bib}
|
||||||
|
\addbibresource{bib/programming.bib}
|
||||||
|
|
||||||
\newcommand{\targetname}{Université des Licornes Violettes}
|
\newcommand{\targetname}{Université des Licornes Violettes}
|
||||||
\newcommand{\targetnr}{1337}
|
\newcommand{\targetnr}{1337}
|
||||||
|
|
|
@ -380,5 +380,63 @@ avec les structures à membranes ; nous avons montré que ce genre de
|
||||||
systèmes atteignent la complétude computationnelle avec des règles
|
systèmes atteignent la complétude computationnelle avec des règles
|
||||||
restreintes et avec deux membranes seulement.
|
restreintes et avec deux membranes seulement.
|
||||||
|
|
||||||
|
\subsection{Projets de programmation}
|
||||||
|
Lors de mon parcours universitaire et doctoral j'ai réalisé plusieurs
|
||||||
|
projets de programmation aussi bien accessoires à mon activité de
|
||||||
|
recherche qu'indépendants. J'ai notamment contribué au système
|
||||||
|
d'exploitation libre à micro-noyau GNU/Hurd~\cite{Hurd}, qui est fondé
|
||||||
|
sur le principe des translateurs ({\em translator}) --- des
|
||||||
|
applications spéciales qui peuvent être installés par dessus certains
|
||||||
|
fichiers pour offrir une vue modifiée du contenu. J'ai développe un
|
||||||
|
translateur capable de monter plusieurs systèmes de fichiers sous un
|
||||||
|
seul dossier (montage union)~\cite{unionmount} et j'ai aussi travaillé
|
||||||
|
sur une extension du gestionnaire du système de fichiers qui
|
||||||
|
permettrait d'installer des translateurs en utilisant une syntaxe
|
||||||
|
étendue de chemins d'accès~\cite{nsmux}. Ce travail a été effectué
|
||||||
|
lors de l'édition 2009 de «~Google Summer of Code~».
|
||||||
|
|
||||||
|
Je me suis aussi intéressé aux modèles d'interaction asynchrone en
|
||||||
|
réseaux et je me suis proposé d'implémenter le modèle acteur ({\em
|
||||||
|
actor model}). Les entités centrales de ce modèle sont les acteurs
|
||||||
|
--- les processus qui s'exécutent en parallèle et qui possèdent des
|
||||||
|
boîtes à messages. Les acteurs peuvent s'envoyer des messages de façon
|
||||||
|
asynchrone, c'est-à-dire l'expéditeur n'attend pas que le message soit
|
||||||
|
reçu. Afin de rendre mon implémentation plus succincte et flexible, je
|
||||||
|
l'ai réalisée en le langage fonctionnel strictement typé Haskell.
|
||||||
|
|
||||||
|
Un autre projet de programmation non relié directement à mes pistes de
|
||||||
|
recherche principales était ma contribution au système de calcul
|
||||||
|
formel SymPy~\cite{sympy} qui à consisté à initier un module de
|
||||||
|
théorie des catégories~\cite{categories}. Je me suis concentré sur la
|
||||||
|
présentation informatique des diagrammes commutatifs --- un outil de
|
||||||
|
base en algèbre abstraite --- et j'ai programmé la mise en page
|
||||||
|
automatique d'un tel diagramme. J'ai travaillé ensuite sur un
|
||||||
|
algorithme de déduction automatique de la commutativité d'un diagramme
|
||||||
|
à partir d'un ensemble de diagrammes dits axiomes. Cette contribution
|
||||||
|
a été faite lors de l'édition 2012 de «~Google Summer of Code~».
|
||||||
|
|
||||||
|
Un de mes premiers projets afférents aux domaines de recherche dans
|
||||||
|
lesquels j'ai travaillé était le développement d'un simulateur de
|
||||||
|
systèmes à membranes capable de représenter la plupart des variation
|
||||||
|
du modèle en utilisant plusieurs moteurs de simulation. J'ai
|
||||||
|
implémenté un moteur OpenCL qui s'exécutait sur la carte graphique et
|
||||||
|
un autre, en Haskell, qui était moins performant mais offrait la
|
||||||
|
possibilité de faire tourner le système simulé pas à pas.
|
||||||
|
|
||||||
|
Un autre projet était d'automatiser la construction des réseaux de
|
||||||
|
Petri universels, ce qui m'a amené à la réalisation d'un ensemble
|
||||||
|
d'outils pour la gestion informatique de ces objets, ainsi que de
|
||||||
|
quelques autres objets connus de la théorie de la calculabité,
|
||||||
|
notamment les machines à registres. Une partie de ces outils est déjà
|
||||||
|
disponible en ligne~\cite{compdev} ; d'autres sont en état d'ébauche
|
||||||
|
et seront disponibles au public dès leur finalisation.
|
||||||
|
|
||||||
|
Finalement, afin de faciliter la conception et la vérification de
|
||||||
|
systèmes à réactions, j'ai implémenté un simulateur de ce modèle. Le
|
||||||
|
code source du simulateur, ainsi qu'une documentation, est disponible
|
||||||
|
en ligne~\cite{brsim}. J'ai aussi réalisé une interface
|
||||||
|
Web~\cite{brsimweb} qui permet d'utiliser mon simulateur sans à avoir
|
||||||
|
à télécharger et compiler le code.
|
||||||
|
|
||||||
\printbibliography
|
\printbibliography
|
||||||
\end{refsection}
|
\end{refsection}
|
||||||
|
|
Loading…
Reference in a new issue