DevOps is a well-established practice for software intensive systems, and is
increasingly considered for IoT. In that context, models play key roles for
either or both code/test generation and configuration/deployment of these
kinds of systems, but most often feed-back from runtime to design is still done
manually based on human interpretation of telemetry. Conversely, Adaptive
Systems are typically built with a MAPE-K loop [KC03, HM08] featuring an
implicit or explicit model of their runtime configuration (reflective layer),
which can be seen as a primitive digital twin [KKW+18, PP06]. A digital twin
is a model (i.e., an abstraction of some aspect of reality in a given
purpose), but its (conceptual) nature and its (technical) form are widely
different from the typical software and systems engineering models considered
at design time [PP05]. Full blown digital twins are already widely used in
several domains (aerospace industry, automotive, building construction, etc.)
but not that often for software intensive systems or IoT systems [MCK+20].
The goal of this PhD thesis is to address a gap in research on automatically
translating design-time models into runtime models and infrastructure and vice
versa to relate these to another using model-driven concepts, methods, and
tools to ultimately optimize the understanding, use, and engineering of
complex systems. The nature of the information that is available at
Development time (Dev), and often captured in the form of design models, is
indeed conceptually very different from the nature of the information
monitored at Operation time (Ops). There is no silver bullet for deducing Ops
from Dev, nor the other way round. However, patterns of correspondence do
exist that would make it possible a partial automation of this bi-directional
link. For instance, a Dev-time scalar attribute, such as a production system's
throughput would become a time series at Ops-time. These time series could
then be fed back to the design model to allow an automatic temporal extension
of the scalar attribute into a conceptual vector representing the history of
the recorded throughput values. The same could be applied to states in a state
machine, events, etc. The application domains targeted in this thesis will
include robotics, production systems, self-driving vehicles etc.
This thesis will be carried out in the context of the MBDO project, a
Franco-German research project funded by both the national French agency ANR
and the German one, DFG. Several research exchanges will be organized with our
German partners Prof. B. Rumpe (Chair for Software Engineering, at the RWTH
Aachen University) and Prof. A. Wortmann (Institute for Control Engineering of
Machine Tools and Manufacturing Units, University of Stuttgart), who will also
give access to real application test beds, including a self-driving rover.
[HM08] M. C. Huebscher, J. A. McCann: A survey of autonomic computing—degrees, models, and applications. ACM Comput. Surv. 40, 3, Article 7. 2008
[KC03] J.O. Kephart, D.M. Chess: The vision of autonomic computing. Computers, 36 (1), 2003.
[KKM+18] W. Kritzinger, M. Karner, G. Traar, J. Henjes, W. Sihn: Digital Twin in manufacturing: A categorical literature review and classification. IFAC-PapersOnLine, 51(11), 2018
[PP05] G. Lyan, J.-M. Jézéquel, D. Gross-Amblard, B. Combemale: DataTime: a Framework to smoothly Integrate Past, Present and Future into Models. In: 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), 2021.
[MCK+20] Mussbacher, G., Combemale, B., Kienzle, J., Jézéquel, J.-M. et al. Opportunities in intelligent modeling assistance. Softw Syst Model 19, 1045–1053 (2020).
[PP06] R. Eramo, F. Bordeleau, B. Combemale, M. van den Brand, M. Wimmer, A. Wortmann: Conceptualizing Digital Twins. In: IEEE Software, 2021.