Since I got to Inria Paris-Rocquencourt, I've been mostly working on the following topics (you can go directly to my publications list):
the design and implementation of the BIOCHAM software, born during ARC CPBIO and used for instance for the modelling of cell-level effects of some cancer chronotherapies, in the framework of the TEMPO (Temporal Genomics for Tailored Chronotherapeutics) STREP and C5Sys Era-Net;
I coordinated ARC MOCA in 2006-2007, about questions of modularity, compositionality and abstraction in Systems Biology and we continue on this track through the ANR CALAMAR in which I am leader for Inria;
the design of Petri-net oriented tool Nicotine which includes a constraint-based invariant algorithm, but also many format converters, a Subgraph-Epimorphism checker, etc.
the setting up of the STREP (Specific Target REsearch Project) APRIL II (Applications of PRobabilistic Inductive Logic programming), which was accepted by the 6th Framework Programme (2002-2006) and uses bio-informatics as its field of work. It helped improve the "learning" part of BIOCHAM;
SiLCC, a new implementation of an LCC kernel, and over it of a full CLP language. This is based on Rémy Haemmerlé's implementation work, especially GNU Prolog-RH, while keeping in mind semantical considerations;
a participation in the RNTL (national network of software technologies) project MANIFICO (non-intrusive meta-compilation of the filtering with constraints), which meets some of our preoccupations about LCC (rules and constraints, CHR, etc...);
I was secretary of the ERCIM Working Group on Constraints of which François Fages was chairman until 2008. This group brings together researchers from lots of different countries working in the area of Constraint Programming.
Since the beginning of 2004 I am also the "responsable permanent" of the Lifeware project-team, which basically means that I second the group-head for most administrative tasks. I am a president of Paris-Rocquencourt's Comité de Suivi Doctoral (doctoral fellowship agreement comittee), and thus member of the Bureau du Comité des projets. I've been promoted to "CR1" at the end of 2005.
From September 1st 1996 to August 31st 2003 I was working for the DGA (some kind of French DARPA), which gave me a scholarship during my studies. It allowed me to work "externally" in the CONTRAINTES team of Inria, from September 2002 to my transfer to Inria, when I was hired as junior researcher (CR2) on September 1st 2003.
My Ph.D. was started when I was at Laboratoire d'Informatique de l'Ecole Normale Superieure in Paris, continued in Inria Rocquencourt and defended on April 20th 2001 had for title: Programmation Concurrente par Contraintes et Logique Linéaire i.e. Concurrent Constraint Programming and Linear Logic. Begun in October 1997, is was a sequel of my DEA as I was still studying the Linear Concurrent Constraint (LCC) paradigm, its links with Linear Logic, its own proof techniques, its problems of balance between expressivity and semantics, etc...
From February 2001 to September 2002, I was working at Centre Technique d'Arcueil, a laboratory from DGA, where I studied Natural Language Processing. I also got the role of Information Systems Security Correspondent for my department , and was named Project Manager for the future High Throughput Network for Scientific Computing.
I teach/taught in the following frameworks:
Course notes will be updated along teaching:
- class 1 - Introduction to CLP, operational semantics, examples
- class 2 - CLP: fixpoint semantics
- class 3 - CLP: logical semantics, CSP: solving by simplification and domain reduction
- class 4 - CLP: the Warren Abstract Machine, CSP: Symmetries
- class 5 - CLP: typing; CHR; Programming project discussion
- class 6 - CC: examples, operational and denotational semantics
- class 7 - CC: linear logic semantics; LCC
- class 8 - LCC: logical semantics, links with CHR; EMoP: modules for LCC/CC/CLP
- at Ecole Polytechnique, I was for several years teaching assistant for Java classes corresponding to the Informatique Fondamentale lessons of Jean-Jacques Levy.
See also the programming project for the MPRI classes.
I am also propose some internships on the dedicated page of the Lifeware team.
Prolog and more
I use Prolog a lot in my work, and especially GNU Prolog-RH. I was thus naturally led into developing some tools to help in using it:
for my favorite editor, Vim I developed a gprolog mode [zip] (syntax highlighting, and more...) that extends the standard prolog mode. It also provides a few useful key bindings and a better detection of prolog files (.pl not defaulting to Perl mode anymore);
Concerning the other editor, see Thierry Martinez's page
I use Exuberant Ctags to move around the many heterogeneous (typically C and prolog) source files of my applications. I thus needed to add a few lines to my .ctags config file to get the behavior that I wanted;
I also wrote a minimalistic BIOCHAM mode [zip] for Vim (only syntax highlighting and indentation);
Finally, a preliminary attempt at providing Prolog programming guidelines.
I welcome any remark, question or comment on the above.
Here's what you might find here if you're lucky:
A list of my publications,
An invitation to share my other interests (the game of Go, blackjack, Palm, etc...);
Some links that I find useful (software, web pages, etc...).
If you're looking for the team's documentation pages, started up by your's truly, they are in the team's internal pages
Search the pages of the team: