Short bio

I'm full professor (HDR) at the Lorraine University, and I'm doing my research at the Loria research center, a joint laboratory between University, INRIA, and CNRS.
I'm member of the INRIA/LORIA COAST team, lead by François Charoy.

I am currently in charge of the Miage master's degree and I manage about a hundred students. Before that, I was in charge of C2i preparation for about 2800 students for the University of Nancy 2.

From 2013 to 2016, I was head of the PhD students committee of the IAEM doctoral school (computer science area, around 170 PhD students) with the help of Stephan Merz.

If you have comments, if you want more information, details, do not hesitate to contact me, and send me an email (Olivier(dot)Perrin(at)loria(dot)fr).

My research interests

My main scientific interest has always been related to data and service management. In recent years, I have been particularly interested in everything related to the security of interactions between several services. I have defined an access control model that is compatible with the needs and functioning of service-oriented architectures in a context of cooperative applications.

I'm still working on service composition and more precisely on how to select the best services according to several criteria (performance, security, costs...) given services available on Cloud platforms.

I also work on the issue of trust and privacy in collaborative applications, that are applications that go beyond the boundaries of the organization that manages them. Trust is not limited to services, but also to data produced by the services, for which one must be able to guarantee that they will not be used in an unintended way.

Last, collaborative systems are by nature distributed systems, and to achieve high availability, distributed systems must replicate data and minimize coordination between nodes. We currently work on a new CRDT that integrates a renaming mechanism in order to reduce performance problems (execution, memory) related to the increase in the size of the identifiers.

My teaching activities

At IDMC, I am responsible for many courses at the Undergraduate and Master levels. The themes of my courses deal with data persistence, service oriented architectures and software engineering practices.

Research

In recent years, I have been particularly interested in everything related to the security of interactions between several services. I have defined an access control model that is compatible with the needs and functioning of service-oriented architectures in a context of cooperative applications. With Ehtesham Zahoor, who became Assistant Professor in Pakistan, we proposed a model that allows us to validate a composition of services against a security policy, and to check whether an execution is correct.

I'm still working on service composition with my work with Anis Ahmed Nacer and François Charoy. We study the catalogue of services provided by service providers (Amazon, Azure, Heroku...) in order to be able to select the best services according to several criteria (performance, security, costs...). The service plans are thus analysed and compared in order to propose the best possible combination according to the targeted architectures and the needs expressed by the architects of the companies using the services.

I addressed with Claudia Ignat and Long Nguyen the issue of trust and privacy in collaborative applications, applications that often go beyond the boundaries of the organization that manages them. We proposed a key transparency system based on the Blockchain that meets the requirements of decentralization, security and ease of use. At the same time, I worked on identifying and detecting attacks on the Blockchain. I am continuing this work in Jean-Philippe Eisenbarth's thesis and in the Fair[&]Smart project that is about to start. Trust is not limited to services, but also to data, for which one must be able to guarantee that they will not be used in an unintended way.

Last, collaborative systems are by nature distributed systems, and I address the issue of data consistency in these systems in Matthieu Nicolas' thesis. To achieve high availability, distributed systems must replicate data and minimize coordination between nodes. CRDTs are data types that support simultaneous modifications and integrate a conflict resolution mechanism. To achieve this, CRDTs attach identifiers to elements stored in the data structure. We propose a new CRDT that integrates a renaming mechanism in order to reduce performance problems (operation, memory) related to the increase in the size of the identifiers.

PhD students

My current PhD students are:

My former PhD students are:

Projects

Here is the list of the projects I was/will be involved in:

PhD/HDR comittees

I was member of the following comittees:

PC Member

Reviewer

Teaching

I'm currently in charge of Miage master's degree at IDMC.

I was in charge during 3 years of the recruiting comittee for temporary position (ATER) at the IDMC.

Before that, I was in charge of the C2i preparation course for the University of Nancy 2 (around 2800 students, about 60 teachers).

I'm teaching various courses at various degrees. Content of the course can be accessed on demand.

Database design - Undergraduate degree (L3)

The course deals with data persistence, from the relational model to new persistence systems (key-value, document, column, graph). The course covers design and issues with implementation (transactions, index, replication, distribution, consistency).

Information System Urbanization - Master degree

This course describes the how to urbanize information systems taking into account BPM, SOA, master data management, and agility (data flows, control flows, event flows). It had been given to Master students, and third year students of Ecole des Mines of Nancy.

Distributed systems - Master degree

In this course, I cover the concepts and practical application of distributed systems: localization, replication, concurrency, consistency, fault tolerance.

Service-oriented architectures - Master degree

I present the concepts of APIs, service discovery, load balancing, monitoring, testing, and implementation in containers.

Advanced Software Engineering - Master degree

In this course, I cover classic and agile methods, testing, version management best practices, code refactoring, performance, quality metrics and continuous development/deployment. I apply these concepts within a large project grouping software engineering, network, advanced java.

Big data architectures - Master degree

The course covers storage (HDFS), processing (Hadoop, Hive, Spark) and implementation of the main processing algorithms (clustering, regression, PCA...).

Publications

Here is a list of all my publications. All details can be found on DBLP.

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2005

2004

2003