Since 2002 I am a permanent researcher (CR) in the Lifeware (formerly Contraintes) group of Inria Saclay-Île-de-France (formerly Paris-Rocquencourt).

My research interests focus around Computational Biology and Theoretical Computer Science. In this context I’m one of the main developers and maintainers of the BIOCHAM platform. This is where most of the techniques I develop, using Constraint Programming, Model-Checking, and other formal methods get implemented.

On top of my BIOCHAM developments, you can find below other side projects concerning Vim, Prolog, etc. I used to maintain separately Nicotine, a constraint-based software for Petri-net invariant computation and Tropical equilibration, but it has now been completely merged into BIOCHAM.

I’ve been teaching since 2005 in the MPRI and just started in 2018 teaching in the AI&AVC Master. You can find below more information.

I’m a member of Inria Saclay’s Scientific Commission, in 2016 I was also a member of the jury for AAP Digiteo/Digicosme Ph.D. grants. When I was in Rocquencourt I was president of the Doctoral Committee for quite some time, and of the Technological Development Commission for a few years.


  • Constraint Programming
  • Computational Systems Biology
  • Model-Checking and Petri nets
  • Structural analysis of ODE-based models


  • HDR (Accreditation to Supervise Research) in Computer Science, 2016

    Université Paris-Sud

  • Ph.D. in Computer Science, 2001

    Université Paris Diderot

  • MSc (Engineering degree and MSc equivalence) in Computer Science, 1996

    École Polytechnique

Recent Publications

Quickly discover relevant content by filtering publications.
Setting the basis of best practices and standards for curation and annotation of logical models in biology—highlights of the [BC]2 2019 CoLoMoTo/SysMod Workshop. Briefings in Bioinformatics, 2020.


On Inferring Reactions from Data Time Series by a Statistical Learning Greedy Heuristics. In Luca Bortolussi, Guido Sanguinetti, editor, CMSB 2019 - 17th Computational Methods in Systems Biology, LNCS, Springer-Verlag, 2019.


A Statistical Unsupervised Learning Algorithm for Inferring Reaction Networks from Time Series Data. In ICML 2019 - Workshop on Computational Biology, 2019.


Graphical Requirements for Multistationarity in Reaction Networks and their Verification in BioModels. Journal of Theoretical Biology, 459:79–89, 2018.


Influence Networks compared with Reaction Networks: Semantics, Expressivity and Attractors. IEEE/ACM Transactions on Computational Biology and Bioinformatics, PP (99):1-14, 2018.




Symbolic Methods for Biological Networks


Hybrid Formal Modelling of Time for Circadian Clock Biology and Chronopharmacology

ANR HyClock

Hybrid Formal Modelling of Time for Circadian Clock Biology and Chronopharmacology

French-German PROCOPE Mobility Grant

O. Radulescu, Univ. Montpellier, France, Andreas Weber, Univ. Bonn, Germany


I teach/taught in the following frameworks:

  • in the Paris Computer Science Masters (M2 Research), I am in charge of the Constraint Programming course;

    • 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; MiniZinc and CLPZinc
    • 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 École Polytechnique, I’m co-coordinator of the INF555 – Constraint-based Modeling & Algorithms for Decision Making 3rd year (M1) class from the Master AI & Advanced Visual Computing;

    Course material (partial, since François Fages is also teaching, you can find everything together on our wiki):

    • class 1 - Decision problems, optimization, complexity and modelling
    • TD1 - Jupyter preliminaries, MiniZinc puzzle solving - You can access it with docker pull
    • class 2 - Boolean satisfiability, SAT solvers (part 1)
    • TD2 - Python SAT solving - You can access it with docker pull
    • class 3 - Constraint Based Local Search
    • TD3 - CBLS - You can access it with docker pull
    • TD5 - Python constraint solving - You can access it with docker pull
    • class 7 - Global Constraints
    • TD9 - Symmetry breaking
  • I also co-organize the 2nd year Modal INF473L – Programming in the Language of Life and the Bachelor CSE301 – Logic Programming course.

  • I used to be for several years teaching assistant for Java classes corresponding to the Informatique Fondamentale lessons of Jean-Jacques Levy in that same École Polytechnique.

I also supervize some internships on the dedicated page of the Lifeware team.