Professor

Thematic Group Leader (GL : Génie Logiciel)
Member of the scientific council

Team(s)

RMoD

Some links

My web site

Presentation

Teaching

Ecole Polytechnique Universitaire de Lille - Polytech'Lille

Address on the campus: Polytech' Lille
Département GIS
Avenue Paul Langevin
59655 Villeneuve d'Ascq Cedex
FRANCE E-mail: anne.etien[at]polytech-lille[dot]fr
Tel: +33 (0)3 20 41 75 07

Research

Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL)
Member of the RMoD team common to CRIStAL and Inria

Address: Inria Bât B
Parc Scientifique de la Haute Borne
6 rue Héloïse
59650 Villeneuve d'Ascq
FRANCE
E-mail: anne.etien[at]univ-lille[dot]fr
Tel : +33 (0)3 59 35 87 37

Research Topics

Actuels :

Evolution, Maintenance, Meta-modelling, Reverse engineering, Refactoring, Remodularisation of architecture, Software enginnering

Précédents :

Model driven engineering, Model transformation, Alignement engineering, Co-evolution business process / information system, Requirement engineering, Meta-modelling, Information systems

Directed or co-supervised theses within CRIStAL

Vincent Blondeau

Les pratiques de sélection de test dans une grande entreprise d’informatique Defended on 8 November 2017

Julien Delplanque

Gérer les évolutions structurelles et comportementales des bases de données relationnelles:Applications des techniques d’ingénierie logicielle Defended on 28 September 2020

Gustavo Jansen De Souza Santos

Evaluation et amélioration des transformations de code pour soutenir l’évolution logicielle Defended on 28 February 2017

Brice Govin

Support à la rénovation d’une architecture logicielle patrimoniale: Un cas réel chez Thales Air Systems Defended on 26 June 2018

Benoit Verhaeghe

Support à l’automatisation de la migration d’interface d’applications WEB : le cas de GWT vers Angular

Publications

Recherche

Research

I currently perform my research in the CRIStAL lab of the University Lille 1. I am also member of INRIA Lille Nord Europe. I joined the RMoD team in 2012 (after 6 years in the Dart team). My current research interests concern analysis and reengineering of complex legacy systems. I defended my HDR: "Metamodelisation to support Test and Evolution" in June 2016.

Analysis and reengineering of complex legacy systems.

Co-Evolution of Database and Program Databases (DB) are used by programs that can be internal or external to the DBMS. DB schema can be very complex, more over when they integrate views, triggers and stored procedures. Thus, when one element of the schema (table, column, view, procedures,...) evolves it may have an impact on lot other ones. Existing tools do not provide any help to study this impact and suggest other evolutions to maintain the DB in a consistent state. We adapt the existing methods of software maintenance to databases. First results are pretty promising.

Refactoring from examples Software continously evolve. However, most of these evolutions are manually performed even if they are repetitive. Based on a first evolution, we define like a macro that is automatically generalised to be applied in lot of other places getting the same properties. We also help the programmer to determine, in a context of restructuration, what is the next refactoring to apply. Indeed, when a class is moved to another package, whatever the reason, it can be relevant to also move other classes. (work done in the context of Gustavo Santos' PhD))

Test selection Running tests can be very long. In the context of Worldline, we observed until five hours to run all the tests of a system. In that conditions, we can easily understand that all the tests are rarely all performed. However, programmers that do not know which test run after a change can be easily tempted not to run any test. First, we are observing the test habits in Worldline company. Second, we provide a tool based on static analysis approach to select the right tests to run after a change. Only tests impacted by the change are relevant to run. Finally, we will analyse if the introduction of such a tool changes the programmers habits in the domain of tests.(_work done in the context of Vincent Blondeau's PhD)

Automating system rearchitecture? Based on a real industrial example, we try to automate some parts of a system rearchitecture. Thalès is currently changing one of its system architecture to a component based one and projects to modify the architecture of other systems. Currently, the work is manually performed by engineers that have a deep knowledge of the system. The target is to provide tool support to reduce the dependence to such engineers and accelerate the process. We observe on the fied that such automation or at least tool support are really not trivial. (work done in the context of Gustavo Santos' PhD))_

Supervision

  • Brice Govin (PhD Thesis (CIFRE with Thales) - January 2015 - June 2018) co-direction

  • Vincent Blondeau (PhD Thesis (CIFRE with Worldline) - October 2014 - November 2017) co-direction

  • Gustavo Santos (PhD Thesis - March 2014 - February 2017) co-direction

  • Vincent Blondeau, Polytech Lille (Master 1 internships - March - July 2013)

  • Yuriy Tymchuk, University of Lviv, Ukraine (Master 2 Internship - February - June 20013)

Previous research thematics

Model Transformation

Towards transformation libraries: The DaRT team has developped an MDE-based co-design framework to generate SystemC, VHDL, OpenMP... Several MDE transformations chains have thus been defined. These chains are no more metamodel but transformation focused. They rely on a new approach that applies the separation of concerns to the transformations. Thus each transformation has a unique precise intention. Only few concepts are transformed at each step of the chain. The other concepts remain unchanged. From this way, transformations are smaller, and so more readable, easily tested, maintained and reused. It becomes possible to define transformation libraries. Such a mechanism is very useful when several chains are defined in the same framework from almost the same metamodel (in our case UML profiled with MARTE) and to target different languages (as in Gaspard) or to design product lines.

Chaining transformations: The transformations available on the shelves have to be composed, chained in order to generate the specified system. The new transformation type introduces new chaining constraints relating to metamodel typing. However, checking typing constraints is not enough. Stakeholder's requirements have also to be satisfied. We are currently working on the definition of intentional constraints that must be fulfilled by the generated system and thus checked by the chain.

Genericity: The transformations available on the shelves focusing on a specific intention, are small and can be easily reused. Their reusability can be further increased thanks to genericity. The idea is to specify the transformation with generic concepts and to establish bindings with concepts of the involved metamodels in order to specialize the transformation.

Evolution: As any other artefact, metamodels evolve. The transformations whose definition relies on these metamodel must consequently also evolve. We are currently working on the co-evolution of metamodel and transformation.

Test and verification: Some intentional constraints are verified when the chain is built. But it is not enough. We have developed approaches based on traceability mechanism to locate errors in a single transformation or in a chain. We have also automate the test set enhancement step of the mutation process. Mutation process enables the qualification of test sets.

Optimization of models: Once the chain has been enoughly tested and is trustworthy, if errors or wrong behaviours remain in the generated system, they come from errors or wrong specifications in the input models. We have developed a traceability based mechanism establishing a feedback of the execution of the generated system to the input model. This mechanism also enables to check that performance constraints are satisfied.

Supervision

  • Vincent Aranega (PhD Thesis - September 2008 - November 2011) co-direction

  • David Mendez, Universitad de los Andes, Bogota, Colombia (Master 1 and 2 internships - March - July 2010 and August 2011 - June 2012)

  • Flori Glitia (Master 2 Internship - February - June 2008)

Requirement Engineering

I have done my PhD thesis under the supervision of Professors Colette Rolland and Camille Salinesi on the alignment between business processes and information system in a context of evolution. I had proposed a solution based on Requirement Engineering. More details can be found in French on this page. Since I left the Centre de Recherche en Informatique, I stopped research in this domain. However, Requirements Engineering remains for me a frame of mind and is never very far in my research propositions. Indeed, taking into account stakeholder's requirements is a leitmotive in my research and requirements engineering notion such as intentionality are the basement of it.

Enseignement

Statuts

depuis septembre 2020 :
Professeur en Informatique au département d'Informatique de la Faculté des Sciences et Technologies (FST) de l'Université de Lille

depuis septembre 2007 :
Maître de Conférences en Informatique à Polytech'Lille

2005-2006 :
Demi ATER en Informatique à l'Université Paris 1 Panthéon Sorbonne

2002-2005 :
Allocataire Moniteur en Informatique à l'Université Paris 1 Panthéon Sorbonne

Enseignements à Polytech'Lille

  • Cours de Bases de données NoSQL - GIS 4ème année apprentissage depuis 2017-2018

  • Cours de Test et Maintenance - GIS 5ème année apprentissage depuis 2014-2015 et GIS 5 depuis 2016-2017

  • Cours de Programmation objet (Java) - GIS 3ème année apprentissage depuis 2012-2013

  • Cours de Système d'information objet (UML) - GIS 4ème année apprentissage depuis 2014-2015

  • Cours de Bases de Données Avancées - GIS 4ème année depuis 2009-2010

  • Cours d'Introduction aux Bases de Données - GIS 3ème année de 2007-2008 à 2012-2013 et depuis 2017-2018 en pédagogie inversée. Participation aux TD et aux TP depuis 2007-2008

  • Cours Remise à niveau informatique - GIS 3ème année en 2015-2016

  • Cours de Structures de Données - GIS 3ème année de 2007-2008 à 2009-2010

  • Cours d'Ingénierie Logicielle - GIS 5ème année de 2008-2009 à 2012-2013

Responsable des Stages - GIS 4ème de 2009-2010 à 2012-2013

Responsable des Projets de fin d'étude - GIS 5ème depuis 2014-2015

Enseignements à l'Université Paris 1

  • UML (Diagrammes de classe, d'activités, d'états, de contextes, de cas d'utilisation et de séquences), HTML et XML

  • TD Introduction aux bases de données

  • Cours occasionnel Initiation à Php et MySQL

  • Cours TD Modélisation des événements en REMORA

  • Cours occasionnel Contraintes d'intégrité dans le modèle relationnel

Responsabilités

Thesis

Participation to PhD jurys:

  • Xuan Sang Le (Reviewer), "Software/FPGA Co-design for Edge-computing: Promoting Object Oriented Design", May 2017, ENSTA Brest.

  • Maroua Hachicha (Jury Member), "Un modèle de prise de décision dynamique basé sur la performance des processus métiers collaboratifs", April 2017, Université de Lyon 2.

  • Jonathan Pepin "Architecture d'entreprise : alignement des cartographies métiers et applicatives du système d'informations" on 5th December 2016

  • Elie Richa "Testing of Model-based Code Generation Chains for their Qualification in the Avionics Domain", on 15th December 2015.

  • Dominique Blouin "Modeling Languages for Requirements Engineering and Quantitative Analysis of Embedded Systems", on 10th December 2013

Conferences

Co-Chair of the Program committee:

  • SCAM 2017 in Shanghai (I refused for financial reasons)

  • IWST (International Workshop on Smalltalk Technology) 2015 in Brescia, 2016 in Prague, 2017 Maribor, in and 2018 in Cagliari

  • VISSOFT NIER and Tool Track in 2016, Artefact evaluation in 2015

  • MajecStic 2012

Member of the Organisation committee:

  • EvoLille week (Joint events of Benevol 2015 and EOSESE 2015)

  • Moose Day 2013

  • Journées IDM et Gdr GPL 2011

Member of numerous program committees of conference

Referee for numerous journals

Thèse

Soutenue le 13 mars 2006, à l'Université Paris 1. Réalisée au Centre de Recherche en Informatique (CRI)

« Ingénierie de l'alignement : Concepts, Modèles et Processus.
La méthode ACEM pour la correction et l'évolution d'un système d'information aux processus d'entreprise »

Jury

  • Présidente : Pr Françoise Gire, Université Paris 1
  • Rapporteurs : Pr Michel Leonard, Université de Genève
  • Pr Neil Maiden, City University of London
  • Directrice : Pr Colette Rolland, Université Paris 1
  • Co-directeur : Dr Camille Salinesi, Université Paris 1
  • Examinateur : Pr Jacky Akoka, CNAM

Contribution

  • une définition formelle de la relation d'alignement
  • un ensemble de dix métriques permettant de préciser, à un instant donné, pour un projet particulier, dans quelle mesure le système et les processus sont alignés. Ces métriques sont définies à un niveau générique afin d'être indépendantes du méta-modèle utilisé et sont ensuite générées pour deux méta-modèle spécifiques permettant respectivement de représenter le système et les processus.
  • une typologie d'opérateurs d'écart permettant de spécifier les exigences d'évolution.
  • un méta-modèle pivot qui permet de représenter conjointement système et processus et d'exprimer explicitement la relation d'alignement.
  • une méthode formellement guidée (la méthode ACEM (Alignment Correction and Evolution Method) pour corriger l'alignement et faire évoluer conjointement le système et les processus.

Projet

Industrial Partnerships with:

Arolla – Project of 20K€ for which I am the coordinator. This project aims to
 map Information Systems, to understand how data are used inside the IS and to define metrics or vizualizations to better understand information systems. Nov 2018 – Aug 2019

Berger-Levrault – Project of 200K€ for which I am the coordinator. This project aimes to understand graphical user interfaces to migrate them. We focus on the migrations of GWT applications towards AngularJS. Indeed, Berger-Levrault gets one of the biggest set of GWT applications. But we want to be more generic to simplify the future migrations. Sept 2017 – 2021

Thales TRT – Project of 150K€ which I participated to. This project aimed to remodularize ADA application, to identify components. Existing technics (clustering or information retrieval) were unefficient, when used alone.We proposed operators to help architects in the remodularization. Jan 2015 – June 2018

WorldLine – Project of 150K€ for which I was the coordinator. This project aimed to improving developers habits to enhance project quality. We proposed an approach based on test selection and studied developers habits after setting up this solution. March 2014 – Nov 2017

Academic partnerships:

Inria Lille Nord Europe Associate Team – Project of 10K€ for which I was the coordinator. Partnership with Namur University, Belgium
 on Database Schema and Software Application Co-Evolution Sept 2016 – Dec 2018

International BQR Project – Project of 5K€ which I participated to. Partnership with University College Dublin, Ireland
 on Software Refactoring. 2015

International BQR Project – Project of 5K€ for which I was the coordinator. Project with Vrije Universiteit Brussel, Belgium and SINTEF, Oslo, Norway on Automatically Building Chains of Model Transformations

2012

ANR and european projects:

ANR Project OpenEmbeDD – Project of 200K€ which I participated to. Model Driven Engineering open-source platform for Real-Time & Embedded systems 2006-2009

Interreg III A Project between France and UK ModEasy – Project of 250K€ which I participated to. MOdel Driven dEsign for Automotive Safety embedded sYstems 2006 -2008