Maître de conférences (HDR)

Animateur de Groupe Thématique (GL : Génie Logiciel)
Membre du conseil scientifique

Equipe(s)

RMoD

Mes liens

Mon site web

Présentation

Enseignement

Ecole Polytechnique Universitaire de Lille - Polytech'Lille

Adresse sur le 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

Recherche

Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL)
Membre de l'Equipe commune CRIStAL / Inria : RMoD

Adresse : 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-lille1[dot]fr
Tel : +33 (0)3 59 35 87 37

Thèmes de recherche

Actuels :

Evolution, Maintenance, Méta-modélisation, Réingénierie, Refactoring, Remodularisation d'architecture, Génie logiciel

Précédents :

Ingénierie dirigée par les modèles, Transformation de modèles, Ingénierie de l'alignement, Co-évolution système/processus, Ingénierie des besoins, Méta-modélisation, Systèmes d'information

Thèses dirigées ou co-encadrées au sein de CRIStAL

Benoit Verhaeghe

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

Vincent Blondeau

Les pratiques de sélection de test dans une grande entreprise d’informatique Soutenue le 8 novembre 2017

Julien Delplanque

Techniques de génie logiciel appliquées aux bases de données

Gustavo Jansen De Souza Santos

Evaluation et amélioration des transformations de code pour soutenir l’évolution logicielle Soutenue le 28 février 2017

Brice Govin

Support à la rénovation d’une architecture logicielle patrimoniale : Un cas réel chez Thales Air Systems Soutenue le 26 juin 2018

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 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

Thèses

Participation à des jurys de thèse :

  • 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

Conférences

Co-Chair de comité de programme :

  • SCAM 2017 à Shanghai (J'ai refusé pour raisons financières)

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

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

  • MajecStic 2012

Membre des comités d'organisation :

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

  • Moose Day 2013

  • Journées IDM et Gdr GPL 2011

Membre de nombreux comités de programmes de conférences.

Relectrice pour plusieurs journaux

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

Partenariats industriels avec :

Arolla – Projet à hauteur de 20K€ dont je suis la coordonatrice. Ce projet a pour but de cartographier des systèmes d'information, de comprendre comment les données sont utilisées au sein des SI et comment on pourrait définir des métriques ou des visualisations pour mieux comprendre les systèmes d'information. Nov 2018 – Aug 2019

Berger-Levrault – Projet à hauteur de 200K€ dont je suis la coordinatrice. Ce projet a pour but de comprendre des applications graphiques et de les migrer. On s'intéresse plus particulièrement à la migration d'applications GWT vers AngularJS. En effet Berger-Levrault possède l'un des plus grand nombres d'applications GWT. Mais on souhaite être plus générique pour simplifier les migrations futures. Sept 2017 – 2021

Thales TRT – Projet à hauteur de 150K€ auquel j'ai contribué. Ce projet a eu pour objectif de remodulariser une application définie en ADA afin, entre autres, de faire apparaître des composants. Les techniques existantes de clustering ou de recherche d'information n'ont pas donné satisfaction lorsqu'elles étaient utilisées seules. Nous avons proposé des opérateurs pour aider à la remodularisation. Jan 2015 – June 2018

WorldLine – Projet à hauteur de 150K€ dont j'ai été la coordinatrice. Ce projet avait pour objectif d'améliorer les habitudes des développeurs pour accroître la qualité des projets. Nous avons proposé une solution reposant sur la sélection de tests et étudié les habitudes des développeurs suite à la mise en place de cette solution. March 2014 – Nov 2017

Partenariats académiques :

Inria Lille Nord Europe Associate Team – Projet à hauteur de 10K€ dont j'ai été la coordinatrice. Partenariat avec l'Université de Namur en Belgique et plus particulièrement l'équipe du professeur Anthony Clève autour de la co-évolution schéma de bases de données et applications logicielles. Sept 2016 – Dec 2018

International BQR Project – Projet à hauteur de 5K€ auquel j'ai contribué. Partenariat avec l'University College de Dublin en Irlande sur le refactoring logiciel. 2015

International BQR Project – Projet à hauteur de 5K€ dont j'ai été la coordinatrice. Projet avec la Vrije Universiteit Brussel en Belgique et le SINTEF à Oslo en Norvège autour de la construction automatique de chaines de transformations de modèles. 2012

Projets ANR et Européen :

ANR Project OpenEmbeDD, – Projet à hauteur de 200K€ auquel j'ai participé. Model Driven Engineering open-source platform for Real-Time & Embedded systems 2006-2009

Interreg III A Project between France and UK ModEasy – Projet à hauteur de 250K€ auquel j'ai participé MOdel Driven dEsign for Automotive Safety embedded sYstems 2006 -2008