I'm a professor at the University of Rennes 1 in the DiverSE team (formerly Triskell) at the INRIA/IRISARennes research center.
Our team, focuses on software diversity and all of its benefits. Much like ecosystems found in nature, software can take advantage of variants that co-exist within these complex systems, improving robustness, security and resilience.
Mostly though, higher levels of diversity provide a pool of software solutions that can be used to adapt to unforeseen situations.
"Traditional software development is based on the closed-world assumption that the boundary between system and environment is known and unchanging. However, this assumption no longer works within today’s unpredictable open-world settings, which demand techniques that let software react to changes by self-organizing its structure and self-adapting its behavior."Luciano Baresi, Elisabetta Di Nitto, Carlo Ghezzi: Toward Open-World Software: Issue and Challenges. IEEE Computer 39(10): 36-43 (2006)
Sharing this vision, I mainly work on three main challenges.
First, to increase software resilience, you have to make software variants usable, to change from one variant to another, and particularly, to tolerate these changes unexpectedly. I'm interested in the intricate details of handling dynamic software reconfigurations (e.g., quiescence, component decoupling) at both the component and architectural levels. I've mostly focused on dynamism in distributed component-based frameworks like Kevoree and the use of model-driven engineering techniques at runtime also nammed (models@runtime).
As a second challenge, you have to model software variation points and handle variability modeling issues. For this challenge I work on the common variability language initiative and I try ;) to contribute to the Familiar project.
As a third challenge, I work to adapt model-driven engineering to this open-world assumption. Indeed, the closed world assumption is adopted by many modelling framework such as the Ecore defacto standard language since complete control of information about the modeled software systems is a strong requirement. . To work on that, I work within the K3 framework and try to support unespected change and variation point in the language design.
I have received a PhD degree in Computer Science from the University of Lille, France, November the 29th, 2005. During this PhD, I worked in the Jacquard team. My supervisor was Professor Laurence Duchien. I have received a Research Master degree in Computer Science from the University of Lille as well as an engineer master degree in Information and Computer Science from the Ecole des Mines de Douai in 2002. My work focuses on software architecture modelling and analysis, and architecture-level support for Aspect Oriented Design. My research interests include Component Based Software Design, Model-Driven Engineering and Aspect Oriented Modelling. Olivier Barais has co-authored 8 journal articles and 50 international conference papers, in conferences and journals such as Sosym, IEEE Computer, ICSE, MoDELS, SPLC and CBSE.