A software product line is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. Variability management is a core concern in software product lines, making it possible to select the right set of features to answer a well defined need. However when everything is not fully known, deciding wich is the optimal solution can be rather difficult. Engineers typically deal with these uncertainties by first trying to reduce them as much as possible, and then most often just ignoring them (unless they work in safety critical domains). Recognising the presence of uncertainties can contribute to reducing their influence and increasing the level of trust in a given project. Researchers have thus started to focus on identification and modelling of uncertainties, and recognised that not all uncertainty can be traced to its origin, eliminated or accounted for. The goal of this PhD thesis is to explore how uncertainty could be more explicitly addressed and systematically managed in the modeling of software product lines, in order to guide the process of product derivation.
The PhD candidate will (1) design novel variability modelling languages capable of supporting the expressiveness of uncertainties; (2) develop automated reasoning techniques (e.g., based on statistical learning) capable of communicating insights about uncertainties; (3) propose theories and foundations for engineering variability-intensive and uncertainty-aware systems; (4) empirically assess the proposed solutions in industrial contexts and possibly on open-source projets.
This PhD will take place in the context of the OneWay project led by Airbus France to redefine the future of commercial aircraft development.
The work will be realized in the DiverSE research team, joint to the CNRS (IRISA) and Inria. The DiverSE team is located in Rennes, Brittany, France. DiverSE’s research is in the area of software engineering. The team is actively involved in European, French and industrial projects and is composed of 9 faculty members, 20 PhD students, 4 post-docs and 3 engineers. The candidate will work more specifically with Prof. Jean-Marc Jézéquel (University of Rennes 1, DiverSE team) and Prof. Mathieu Acher (University of Rennes 1, DiverSE team).
Skills and background
- Experience in software development and engineering
- Autonomy, and the ability to work in a distributed and international group.
- Fluent in English
[Ber+18] Manuel F. Bertoa, Nathalie Moreno, Gala Barquero, Loli Burgueño, Javier Troya, and Antonio Vallecillo. “Expressing Measurement Uncertainty in OCL/UML Datatypes”. In: Modelling Foundations and Applications. 2018, pp. 46–62.
[EM13] Naeem Esfahani and Sam Malek. “Uncertainty in Self-Adaptive Software Systems”. In: Software Engineering for Self-Adaptive Systems II. 2013, pp. 214–238.
[FC19] Michalis Famelis and Marsha Chechik. “Managing design-time uncertainty”. In: Software & Systems Modeling 18.2 (2019), pp. 1249–1284
[FSC12] Michalis Famelis, Rick Salay, and Marsha Chechik. “Partial models: Towards modeling and reasoning with uncertainty”. In: 2012 34th International Conference on Software Engineering (ICSE). 2012, pp. 573–583.
[PM14b] Diego Perez-Palacin and Raffaela Mirandola. “Uncertainties in the Modeling of Self- Adaptive Systems: A Taxonomy and an Example of Availability Evaluation”. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering. 2014, pp. 3–14. doi: 10.1145/2568088.2568095
[BFJMPPT21] Simona Bernardi, Michalis Famelis, Jean-Marc Jézéquel, Raffaela Mirandola, Diego Perez-Palacin, Fiona Polack, Catia Trubiani. “Living with Uncertainty in Model-Based Development”. In: Robert Heinrich, Francisco Durán, Carolyn L. Talcott, and Steffen Zschaler (eds.) Composing Model-Based Analysis Tools. Springer, 2021.