Since I’m not currently looking for a job, my résumé has taken a more relaxed shape. But most of the relevant information is still there, in one form or another.


I am a pure product of the French public schools system, which means that, from Ecole Maternelle van Dyck to Ecole Primaire Delaroche (streets and schools were named after painters in my neighborhood) to Collège Jean Jaurès to Lycée Pierre de Coubertin, I have seen my share of deranged, psychotic, drunk, or simply incompetent professors, as well as a number of excellent and dedicated teachers. I’d say, about half and half.

Bon an, mal an, these schools got me into the Classes Préparatoires at the Lycée (Louis) Faidherbe, in Lille. The Classes Préparatoires are something very specific to the French education system. They are a kind of elite branch for top high schools students that parallels the more traditional universities. They are very intensive: we had classes Monday morning through Saturday noon (including 16 hours of lectures in mathematics per week, plus I don’t know how many hours in physics, chemistry, French, English and drafting), two one-hour oral exams per week and one four-hour written exam per week. If nothing else, the experience makes you better at taking exams and dealing with sleep deprivation. This regimen is followed by a nationwide competition at the end of two years—consisting pretty much of a month of taking exams all day long—and, for those who have qualified through these exams, a few days of oral examinations in Paris.

The system is brutal. Not only is the workload pretty intense, but some students have difficulties coping when they find themselves at or near the bottom after having always been at the top of their classes in high school. I did very well at first in the system, being near the top in math and better than average in physics and chemistry (drafting, French and English count for close to nothing in the exams), but I got bored in the second year (the math courses were less interesting than in the first year and this was at a time when I rediscovered the charms of music, literature and poetry). I did a lousy performance in the exams and ended up in a second tier school in Toulouse, called ENSEEIHT (Wikipedia).

ENSEEIHT is the short name. The long name is “École Nationale Superieure d’Électrotechnique et Automatique, d’Électronique et Traitement du Signal, d’Informatique et Mathematiques Appliquees, d’Hydraulique et Mecanique des Fluides, de Telecommunication et Reseaux”, which explains why there’s a short name. Actually, people in Toulouse mostly use a shorter version of the short name: “N7”. Phonetically, it’s pretty close to ENSEEIHT if you try to pronounce either one as a French word (ɛnsɛt).

I joined the ENSEEIHT with the intent to specialize in fluid mechanics but I changed my mind at the last minute and ended up in computer science or, as it is called there, “informatique”. That was lucky for me because I fell in love with the stuff, of which I knew nothing before. (Technically, my degree is in computer science and applied mathematics, but the math was too applied for me and a bit boring.)

I had always been interested in teaching and only landed in “engineering” because of quirks in the French educational system and my love for mathematics. At some point, I realized that many of my professors were actually former students from the school, which meant there had to be a way to teach after graduating from the ENSEEIHT. The strategy was to go to graduate school and get a Doctorate, which I did. I got both my DEA (MSc) and Doctorate (PhD) from the Institut National Polytechnique of Toulouse (INPT), of which ENSEEIHT is a part. My advisor (for both degrees) was Gérard “Le Chef” Padiou, to whom I am infinitely grateful for his mentoring and friendship.


My master and PhD work, described in more detail elsewhere on the site, was concerned with the formal specification and verification of distributed systems. It involved the use of theorem provers on its practical side, and extensions to linear temporal logic on its more theoretical side (although I never considered myself a theoretician). Both theses were written in French, as required by law, but the PhD thesis has a summary in English. I received my PhD with honors (Félicitations du Jury) and my thesis won INPT’s Prix Léopold Escande. (Interestingly, this prize officially replaces honors at the INPT, but people were still a bit confused about rules at the time and I managed to earn both.)

At the end of my PhD, I was lucky (again!) to meet with Mani Chandy who co-designed the temporal logic UNITY that I had been using in my thesis work. Stressful talk it was, to claim that UNITY needed extensions to better handle distributed systems, in a room with Mani Chandy, creator of UNITY and a legend in the world of distributed systems. But he liked my work and invited me to spend a year working with him and his group at the California Institute of Technology. That brought me Pasadena, CA, for what was supposed to be a temporary stay in the United States.

At Caltech, I started to work on a different (though related) subject, focusing on the problem of composing formal descriptions of concurrent and distributed systems. The problem was very hot in the 1990s but has now fallen into disregard. It is not clear that most of the people who worked on it fully understood the problem. Interestingly, half of them stopped working on it concluding (incorrectly) that the problem had been solved, while the other half decided (more accurately) that it was too difficult to likely be solved in their lifetime. This schizophrenic view of the topic led to amusing (in retrospect) NSF reviews where half the committee rejected my proposal because it had been done before and the other half because it was too hard with no chance of succeeding.

After work on compositionality became too hard to publish, I dabbled in various topics more or less related to concurrency and distributed computing, including delay-tolerant networks and networks-on-chip. These days, my focus in on concurrent programming and on ways to help programmers deal with the intricacies of multi-threading.


My pursuit of a PhD was initially motivated by a desire to teach and, not too surprisingly, I tried to find as many teaching opportunities as I could as a graduate student. During my PhD, I was a moniteur. This was a form of appointment, newly created at the time, to ensure that future professors would have some exposure to teaching before becoming professors (a commonsensical idea, if somewhat lacking in its implementation). Moniteurs had to teach a third of the regular teaching load of a professor each year for three years (totaling the equivalent of a full year of teaching). They also had to take classes, half of them on pedagogy and the other half on various topics that had nothing to do with anything. (How many people can claim to have take a course on smells, including labs?) Through this monitorat, I taught labs, recitations and lectures on a variety of topics like scripting, system programming, data structures, assembler programming and object-oriented design. So they could focus on their PhD work, moniteurs were forbidden by law to do any teaching beyond their regular duties and I had to enter complicated and illegal schemes (including getting paid through a middleman) to teach an additional course on distributed systems at the École nationale de l’aviation civile.

After graduation, I stayed for one year in Toulouse as an ATER, a temporary, full-teaching-load position used by recent graduates as they apply for academic positions. At Caltech, my focus was on research and I didn’t teach much (just a couple of graduate seminars co-taught with Mani Chandy).

Since joining the University of New Hampshire, I have taught undergraduate courses (junior and senior levels) and graduate courses. Most have topics somewhat related to my research interests, like logic and proofs, model-checking and concurrent programming. But I also took charge of a programming languages course, through which I am learning many interesting things, even though I never did research in this area.


Professors are supposed to complement their research and teaching with some service activities. I have done my share of that, including sitting in theses committees (interesting), writing article reviews (which were usually too long), organizing and running a workshop (hard do do in a dying field), sitting in curriculum committees at the department, college and university levels (frustrating) and in search committees (even more frustrating), participating in NSF review panels (enlightening), being in the Faculty Senate (so much talking for so little), dealing with ABET accreditation (an exercise in parsing abstruse lingo) and serving as the department Undergraduate Coordinator (a real pain in the neck).


Résumés often include additional information that is not especially relevant. I don’t have a favorite football team and even if I did, who cares? I’ll skip the most irrelevant stuff and only keep two tidbits about myself.

First, I am a snooker enthusiast. Snooker is a British billiards game played on a giant 6×12 table. I am a terrible player, but I enjoy watching the professionals defy the laws of physics. I mention this for two reasons. Firstly, it was on my old website and allowed me to meet a great guy from Scotland who was amazed to find a snooker-loving Frenchman in New Hampshire. I may some day make another friend that way. And secondly, I once used the rules of snooker to create a problem for a graduate course on the Temporal Logic of Actions, for which former students are still cursing my name. A table clearance can be formalized as a termination problem (the fact that colors are respotted only while there are red balls on the table and that red balls are not respotted gives rise to an interesting variant function for a liveness proof) and the property that, absent “free balls”, the maximum possible break is 147 is a classic case of a proof by invariance.

Second, I have recently started to play backgammon. I find the game fascinating. I see it as a never ending conflict between my legendary bad luck at games of chance and the skills I can gather from reading the books written by top players. It has also pushed me into understanding some basic concepts of probability that had escaped me as an undergraduate student. Backgammon is all about equity, which is basically an expectation (first moment). Some day, this game might also become the basis for a memorable class exercise…