PhD Position: DISCOVERER

An Integrated Web-Based DSL Factory for Computational Science to Reason Over Wicked Problems

We are looking for a highly motivated PhD candidate in model-driven engineering, software language engineering, programming language design and implementation, web technologies, and data analysis.

Keywords: Sustainability systems, Domain-Specific Languages, Language Engineering, Live modeling, What-if/for scenarios
Main advisors: Benoit Combemale and Olivier Barais (Inria & Univ. Rennes 1)

Objectives

A lot of problems that concern the daily life and a huge community can be seen as a wicked problem. Wicked problems are those that have multiple interacting systems — social, ecological, and economic — a number of social and institutional uncertainties, and imperfect knowledge. Wicked problems are not easy to solve because it is impossible to define and describe their full nature. Additionally, wicked problems are continually evolving. As a result, managers are not facing problems that are independent of each other, but with dynamic situations that consist of complex systems of changing problems that interact with each other…

Decision making tools require lots of engineering effort. We propose to explore the use of domain specific abstractions grouped within domain specific languages to reason on these problems and their evolving models. Building these DSLs that ease the communication between domain experts, data scientists and citizens is a new challenge for the software language engineering community for several reasons: First, data scientists come with their own background and technological stack. This must be correctly integrated in a DSL factory.  Wicked problem and computational science generally require lots of computing power and building interactive applications is still a challenge.  Alternatives to wicked problems come with associated uncertainty that must be considered in DSL implementation, including the semantics as well as the syntax to account for such uncertainty.  Working with citizens imposes to prevent to do any assumptions on the client environment. As a result, building the DSL and some applications require to get everything working on the Web.

The candidate will explore the design and implementation of DSLs for tradeoff analysis of wicked problems through what-if/for scenarios. In particular, she will extend the current state of the art to integrate data analysis and predictive model in the semantic domain of DSLs, and she will explore innovative facilities to relate inputs and outputs of such a semantic domain to support live modeling (live interactions between the inputs and outputs of the analysis).
The implementation of DSLs will be investigated in the context of a web-based architecture to support a broader engagement of the various stakeholders (incl. scientists, decision makers and the general public), and allow them to take informed decisions through domain specific views and indicators. Web-based architecture of DSL implementation raises many challenges such as, among others, dynamic adaptation of partitioning between the client and server, isolation of the IDE components as microservices in a serverless architecture, and graph-based manipulation of program representations.

References

  1. Jean-Michel Bruel, Benoit Combemale, Ileana Ober, Hélène Raynal. MDE in Practice for Computational Science. International Conference on Computational Science, Jun 2015, Reykjavík, Iceland. 2015. Cf. https://hal.inria.fr/hal-01141393
  2. Benoit Combemale, Betty H.C. Cheng, Ana Moreira, Jean-Michel Bruel, Jeff Gray. Modeling for Sustainability. Modeling in Software Engineering 2016 (MiSE’16), 2016, Austin, United States. ACM, Modeling in Software Engineering 2016 (MiSE’16). https://hal.inria.fr/hal-01185800
  3. Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel. Efficient high-level abstractions for web programming. Jaakko Jarvi and Christian Kastner. Generative Programming: Concepts and Experiences, GPCE’13, Oct 2013, Indianapolis, United States. ACM, pp.53-60, 2013 Cf. https://hal.inria.fr/hal-00920786
  4. Maxime Tricoire, Olivier Barais, Manuel Leduc, Johann Bourcier, François Fouquet, et al.. KevoreeJS: Enabling Dynamic Software Reconfigurations in the Browser. WICSA and CompArch 2016, Apr 2016, Venice, Italy. 2016. Cf. https://hal.inria.fr/hal-01354997
  5. https://r-brain.io/ and https://shiny.rstudio.com/
  6. https://www.eclipse.org/ice/
  7. https://www.eclipse.org/che/

Working Environment

The candidate will work at University of Rennes 1, in the DIVERSE team of the IRISA lab (workplace: Université Rennes 1, Campus de Beaulieu, 35000 Rennes, France). The contract is for 36 months, and the monthly net salary is about 1700 euros.

DIVERSE’s research is in the area of software engineering, focusing on the management of diversity in the construction of software intensive systems. The team is actively involved in European, French and industrial projects and is composed of 8 faculty members, 18 PhD students, 5 postdocs and 4 engineers.

The PhD work will be conducted in collaboration with Jean-Raynald de Dreuzy, from the Department of Hydrology of Univ. Rennes 1, to explore case studies related to water management.

How to apply

Please send your application (PDF) as soon as possible. Screening of applications starts immediately and continues until the position is filled. Send cover letter including names of at least two referees, CV, PDFs of Master thesis (or draft), and possibly up to three most relevant publications to Benoit Combemale.