Two year engineer or postdoc position on Moose

SD
stephane ducasse
Fri, Aug 27, 2021 5:03 AM

Hello

We have a two year position for an engineer or postdoc position for supporting research activities on top of the Moose open-source platform.
The RMOD team is about to transform itself into a new Team called Evref that is a joint team with a part of Berger-Levrault R&D department. Berger-Levrault is the 10th software developer french editor.

In the context of the enhancement of the Moose platform, the selected candidate will contribute to one of several of the following topics:

  • The introduction of the process mechanism in the platform. Indeed, currently, the Moose platform enables the user to build her own metamodels, models, visualisations and so on. However, there is no process mechanism to help more the user in the analysis or the migration using the Moose platform. This work implies for example to define a model of flexible process and an architecture where the developper can easily define her own process from scratch or by adaptation of existing process.
  • The management of several versions of the same models. Currently, in the Moose platform each version is separated from the others. We have support in previous versions of Moose for example through Orion (ref). This works implies to define how to represent, manipulate and integrate in the Moose platform the management of several versions. It also implies to support the difference between models eventually conforming different metamodels and the evolution from one model to another.
  • The management of the software system representation through several models conforming different metamodels. All the models represent the same version of the software systems, but from different perspectives. For example, we may have a GUI model, a Database model and a software model. This work implies to be able to specify that a concept in one model is the same in another model. This will then enable us to propose specific analysis explaining how data are used and propagated in the software systems. Or it will also enable us to identify in the code the business concepts and thus to provide a more abstract model.
  • Decomposition of god classes from their clients. In practice, there exist different types of god classes. The ones that have several responsibilities materialised by a lot of attributes and methods using these attributes. The ones that have several responsibilities materialised by a lot of client classes invoking their classes. We already proposed support to decompose god classes of the first type (ref to ICSME2019). The work here consists to provide support for the second type. It means provide visualisation and possibly a process. There might be eventually other types or classes for which the type is a mixture of these two. It will be necessary to deal with those hybrid classes.
  • Operationalizable non-functional requirements. Currently, the non-functional requirements (NFR) are used to build a system, but it exists few approaches that enable the developer to identify them from the code by reverse engineering. However, we know that with time, software systems evolve and often without update of the documentation. Thus it is not clear that after time the non-functional requirements are still fulfilled by the software system. This work implies to be able to represent NFR, to support them in the Moose platform and propose NFR aware tools to manipulate the source code. Such tools will include: (1) tools to automatically detect security threats in the source code from software quality issues, (2) tools to support software engineers in understanding NFR (memory consumption, security, efficiency) and (3) tools to transform source code while preserving a NFR (such as security or efficiency).

All this work will happen in interaction with Berger-Levrault collaboration. In addition, the possibility to have a permanent research position at the end of this contract with Berger-Levrault is part of the current contract.

Salary is competitive and taken from french state grid.

S.


Stéphane Ducasse
http://stephane.ducasse.free.fr / http://www.pharo.org
03 59 35 87 52
Assistant: Aurore Dalle
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley,
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650
France

Hello We have a two year position for an engineer or postdoc position for supporting research activities on top of the Moose open-source platform. The RMOD team is about to transform itself into a new Team called Evref that is a joint team with a part of Berger-Levrault R&D department. Berger-Levrault is the 10th software developer french editor. In the context of the enhancement of the Moose platform, the selected candidate will contribute to one of several of the following topics: - The introduction of the process mechanism in the platform. Indeed, currently, the Moose platform enables the user to build her own metamodels, models, visualisations and so on. However, there is no process mechanism to help more the user in the analysis or the migration using the Moose platform. This work implies for example to define a model of flexible process and an architecture where the developper can easily define her own process from scratch or by adaptation of existing process. - The management of several versions of the same models. Currently, in the Moose platform each version is separated from the others. We have support in previous versions of Moose for example through Orion (ref). This works implies to define how to represent, manipulate and integrate in the Moose platform the management of several versions. It also implies to support the difference between models eventually conforming different metamodels and the evolution from one model to another. - The management of the software system representation through several models conforming different metamodels. All the models represent the same version of the software systems, but from different perspectives. For example, we may have a GUI model, a Database model and a software model. This work implies to be able to specify that a concept in one model is the same in another model. This will then enable us to propose specific analysis explaining how data are used and propagated in the software systems. Or it will also enable us to identify in the code the business concepts and thus to provide a more abstract model. - Decomposition of god classes from their clients. In practice, there exist different types of god classes. The ones that have several responsibilities materialised by a lot of attributes and methods using these attributes. The ones that have several responsibilities materialised by a lot of client classes invoking their classes. We already proposed support to decompose god classes of the first type (ref to ICSME2019). The work here consists to provide support for the second type. It means provide visualisation and possibly a process. There might be eventually other types or classes for which the type is a mixture of these two. It will be necessary to deal with those hybrid classes. - Operationalizable non-functional requirements. Currently, the non-functional requirements (NFR) are used to build a system, but it exists few approaches that enable the developer to identify them from the code by reverse engineering. However, we know that with time, software systems evolve and often without update of the documentation. Thus it is not clear that after time the non-functional requirements are still fulfilled by the software system. This work implies to be able to represent NFR, to support them in the Moose platform and propose NFR aware tools to manipulate the source code. Such tools will include: (1) tools to automatically detect security threats in the source code from software quality issues, (2) tools to support software engineers in understanding NFR (memory consumption, security, efficiency) and (3) tools to transform source code while preserving a NFR (such as security or efficiency). All this work will happen in interaction with Berger-Levrault collaboration. In addition, the possibility to have a permanent research position at the end of this contract with Berger-Levrault is part of the current contract. Salary is competitive and taken from french state grid. S. -------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Aurore Dalle FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France