photo Jacques Malenfant

professor of computer science
Paris 6 Computer science laboratory (LIP6)
Sorbonne Université
Boîte courrier 169
4, Place Jussieu
F-75252 PARIS Cedex 05
telephone (lab): +33 (0)

Version française

Who am I?

I am full professor of computer science at the UFR Sciences de l'ingénieur et membre of the laboratory LIP6 of Sorbonne Université. I am currently coordinator of the joint research network Software Architectures for Robotics (ALROB) between the French CNRS Research Networks (GDR) on Programming and Software Engineering (GPL) and Robotics.


After a bachelor degree in computer science and mathematics and a master degree in computer science from the Laval University (Québec), I did a Ph.D. in computer science at the Montréal University (thesis defense on March 26, 1990). I then pursued with a post-doc at the LITP lab (Pierre and Marie Curie University) from 1990 to 1992 before becoming professor at the Computer science and operation research departement of the Montréal University (1992-96). In 1996-97, I spent a year as professor at the Nantes engineering school for mining before being hired as full professor at the South Britanny University, Vannes (and Lorient). I defended my habilitation diploma from the Nantes University on April 21, 1997. I finally joined the Pierre et Marie Curie University in 2003, which became Sorbonne Université on January 1, 2018, after the merge between the UPMC and Paris-Sorbonne University.

Research activities

My current research activities are developed around two complementary axes:

  1. The design and implementation of a component model for cyber-physical and autonomic systems taking into account different decision-making approaches and applying the principles of control theory, and
  2. the design and implementation of distributed software architectures as well as software enginnering methodologies for autonomic computing and cyber-physical systems.

Currently, my work focuses on the implementation of a minimal distributed real time component model in Java that is tailored for the implementation of autonomic and cyber-physical systems. More precisely, I am currently working on components which behaviour is modeled by hybrid automata à la Lynch and Henzinger representing hybrid systems also inspired from the work of Branicky. These declarative models are then translated into operational modular DEVS simulation models coming from the work of Zeigler implemented as reusable plug-ins into components. Composing components then takes into account the composition of their simulation models to produce architectures that can co-simulate the behavioural models and the code. These software architectures can then rely on these simulation models playing the role of models@runtime to handle unit and integration tests, validation, verification and even deployment time configuration as well as run time reconfiguration and self-optimisation. These ideas were presented at the conference IRC 2018:

In the area of autonomic systems, I participated in the French ANR project SALTY which objective was to propose generic software architectures for the autonomic control loop in the context of large-scale systems. I was particularly concerned with the decision part of this loop, and I proposed solutions including cpabilities for the automatic omoutation of optimal control policies, such as reinforcement learning, taking into account a full-fledged life-cycle going from initialisation of the learning model to the its convergence and then model change detection forcing either to restart learning or to readapt completely the control approach at run time for autonomic elements. As part of the project, I supervised the thesis of Olga Melekhova focusing on the large-scale coordination of autonomic controllers. We proposed and implemented a token-based approach that proved to be able to efficiently and effectively coordinate a system of 10,000 autonomic controllers. This work has been published in:

My current research relies on my previous research work in the area of reflective programming languages and software architectures able to self-adapt the behaviour of programs and systems at run time. Hence, my general objective is to provide new programming and architectural abstractions for the run time self-adaptability of computer programs and systems in general but focusing now more on autonomic and cyber-physical systems in the context of distributed systems and going more and more towards the large-scale.

In the area of software architectures for autonomous robotic systems, my work was aiming at proposing a component model based on rich interfaces à la Henzinger to express in a declarative way all of the timing, communication and more generally resources constraints in the form of required and offered interfaces in order to compose them as conrrect-by-construction assemblies then safely deploy them on robotic platforms. The compositions are made correct not only by verifying the entailment of required constraints by offered ones in every connection but also through the use of constraints solvers that provide configuration solutions respecting all of the constraints in each correct deployment of every assembly. This work was the subject of Olena Rogovchenko's Ph.D. thesis and published in the conferences Software Composition 2010 and SIMPAR 2010:

In this area, I am currently member of the steering committee of the series of conferences Control Architectures of Robots and the Software and Hardware Architectures for Robotic Control. I am also member of the technical committee IEEE Software Engineering for Robotics and Automation. I participated in the program committees of the conferences IRC 2018 and IRC 2019.

I am or have been interested and published about the contract-based approach for non functional properties of components, the design and formalisation of the reflective approach in programming languages, prototype-based programming, the design of multi-paradigm programming languages mixing logic, object-oriented and distributed programming as well as markovian decision processes and dynamic programming.

My major publications in carreer are (Google Scholar citations taken on January 27, 2019) :

To those that appreciate and know how to pull useful information from these statistics, my h-index on Google Scholar on September 20, 2018 was 17 and my g-index 34 (34 papers cumulating more than 34² citations, an index that better recognizes researchers that maybe publish less but higher cited papers). My best-cited publication has 155 citations; 7 are cited more than 90 times among which 4 are cited more than 100 times. DBLP has 40 entries at my name currently.

Research keywords: component-based programming models and software architectures; autonomic computing; closed-loop control of software architectures; cyber-physical systems (CPS); software architectures for autonomous robots; reflective software architectures and programming languages; contract-based approach; object-oriented programming; distributed real time embedded programming; semantics, design and implementation of programming languages;

Teaching activities

I am currently teaching a master level course in the software science and technology STL of the master in computer science of Sorbonne Université:

Last modification : February 18, 2019.