- The document discusses the vision of developing smart modeling environments to support engineering and scientific work, with a focus on model-driven engineering.
- Key challenges include developing exploratory, literate, and live programming capabilities; multi-view, polyglot, collaborative modeling frameworks; and modeling platforms for data-centric applications.
- Example applications discussed are systems engineering and design space exploration, DevOps and digital twins, and modeling for smart cyber-physical systems and sustainability evaluation.
1. Towards Smart Modeling (Environments)
Looking Into the Future of
Engineering and Scientific Environments
Prof. Benoit Combemale
University of Rennes 1
DiverSE (IRISA & Inria)
http://combemale.fr / @bcombemale
2. Full Professor of Software Engineering @ University of Rennes 1
Head of the Computer Science Department at ESIR
Researcher at IRISA & Inria (DiverSE team)
Adjunct Researcher at IRIT (SM@RT team)
Agility and Safety of complex software-intensive systems
Research interest in Software Engineering, incl.: Model-Driven Engineering, Software Language Engineering, Domain-Specific Languages,
Software-Product Lines, Software Validation & Verification, Resilience Engineering, Cyber-Physical Systems, ICT for Sustainability, Scientific
Computing.
Application domains: (smart) cyber-physical systems (transport, defense), internet of things (telecommunication, cities/farming, industry 4.0)
and environmental sciences (climate change, sustainability).
Chief Science Advisor at CosApp
Scientific Advisor in Software Engineering
Collaborations with Airbus, Safran, Thales, Orange, CEA, DGA, Obeo, Akka…
Leader of the Research Consortium and Project GEMOC at the Eclipse Foundation
Deputy Editor-in-Chief JOT Journal, Steering Committee chair SLE Conference
Prof. Benoit Combemale
Exploring Wild Software
benoit.combemale@irisa.fr
http://combemale.fr
@bcombemale
3. Disclaimers
● No, this is not yet another cool talk about AI applications!
○ but rather a reflection on how to intelligently design smart systems, and the various roles of
the different types of models involved and corresponding software languages
● I present a vision, not a solution
○ just a story (vision and experimentations), for the sake of science and fun!
○ based on intensive discussions with the scientific and industrial communities
● From an MDE point of view, where models and modeling languages are
(subjectively) cornerstone
6. Structured and Sound Programming
▸ Abstractions (modularity, resources,
computation, application domain…)
▸ Automation (dev/doc/test,
compilation/integration,
deployment, delivery…)
▸ Validation & Verification
▸ Great support to implement
▸ once we know what to implement!
6
Coding! Programming Modeling
7. Smart Modeling
Polyglot, literate
programming
7
Lightweight, modular,
customizable, distributed and
self-adaptable platform…
Web-based, Collaborative
modeling, modeling flow, social
engineering
Exploratory and live programming, digital twin
Coding! Programming Modeling
Socio-technical
coordination
8. Vision
● Environments for engineers and scientists?
A platform that bring all stakeholders together, enhance the collaboration, support
the social-technical coordination of the various artefacts/models, and foster the
exploration of innovative solutions, at any points of the systems’ lifecycle.
● Some scientific challenges:
○ Sound combination of exploratory, literate and live programming
○ Multi-view, polyglot, collaborative and lightweight Virtual Lab
○ Modeling framework for data-centric applications
8
Breakthroughs in future smart cyber-physical systems
require tools & methods for innovative thinking
11. Systems Engineering and DSE
● Drive complex multi-physics simulation from systems engineering models
○ Automatic coordination of simulation models according to the system architecture
○ Support for impact and tradeoff analysis, and design space exploration
○ A step towards live and exploratory CPS modeling
11
Opportunities in intelligent modeling assistance
Gunter Mussbacher, Benoît Combemale, Jörg Kienzle et al. Softw. Syst. Model. 19(5): 1045-1053 (2020).
in collaboration with
12. DevOps and Digital Twins
12
● Support of the social-technical coordination in space and time
○ Efficiency: through the adaptation and application of DevOps principles
○ Affordance: with the adoption of principles from agile methods
○ Satisfaction: thanks to gamification
Towards Model-Driven Digital Twin Engineering: Current Opportunities and Future Challenges
Francis Bordeleau, Benoît Combemale, Romina Eramo, Mark van den Brand, Manuel Wimmer. ICSMM 2020: 43-54.
in collaboration with
14. Smart Cyber-Physical Systems
14
Toward model-driven sustainability evaluation
Jörg Kienzle, Gunter Mussbacher, Benoit Combemale, et al.. Commun. ACM 63, 3 (March 2020), 80–91.
Scientific computing (e.g.,
numerical analysis)
Tradeoff analysis and
decision making (e.g.,
circular economy, territory
development)
Smart systems (e.g., smart
cities, farming, grid…)
15. Smart Cyber-Physical Systems
15
Toward model-driven sustainability evaluation
Jörg Kienzle, Gunter Mussbacher, Benoit Combemale, et al.. Commun. ACM 63, 3 (March 2020), 80–91.
Scientific computing (e.g.,
numerical analysis)
Tradeoff analysis and
decision making (e.g.,
circular economy, territory
development)
Smart systems (e.g., smart
cities, farming, grid…)
16. - 16
HPC FOR NUMERICAL ANALYSIS
in collaboration with
Fostering metamodels and grammars within a dedicated environment for HPC: the NabLab environment
Benoît Lelandais, Marie-Pierre Oudot, Benoît Combemale
In International Conference on Software Language Engineering (SLE), 2018
17. - 17
SCIENTIFIC COMPUTING - PERSPECTIVES
Debugging for Scientific Computing
Approach: sound combination of monitors and loggers
Data Integration
Approach: service-oriented simulation processes
Polyglot programming and execution environments
Approach: Truffle-based interoperability for DSLs
- 17
in collaboration with
18. Reliability in Scientific Computing
The more general-purpose the language is the more flexibility it will provide, but
also the more rigorous engineering principles and V&V activities it will require from
the language user
18
When Scientific Software Meets Software Engineering
Dorian Leroy, June Sallou, Johann Bourcier, Benoit Combemale. IEEE Computer, 2021.
19. MoniLog: runtime monitoring and logging
● Analyzing complex or data-intensive behaviors requires insightful data
○ alternative to debugging in scientific computing
● MoniLog: a unifying framework for defining:
○ loggers: extract data from program state and format it as messages
○ runtime monitors: evaluation of temporal properties on programs
○ moniloggers: combinations of loggers and monitors
● Moniloggers are defined in a language-agnostic way, relying on an
instrumentation interface provided by DSLs
19
Monilogging for Executable Domain-Specific Languages
Dorian Leroy, Benoît Lelandais, Marie-Pierre Oudot, Benoit Combemale. SLE 2021.
20. MoniLog: runtime monitoring and logging
20
Monilogging for Executable Domain-Specific Languages
Dorian Leroy, Benoît Lelandais, Marie-Pierre Oudot, Benoit Combemale. SLE 2021.
Implementation on the JVM,
using either AspectJ or Truffle
21. Smart Cyber-Physical Systems
21
Toward model-driven sustainability evaluation
Jörg Kienzle, Gunter Mussbacher, Benoit Combemale, et al.. Commun. ACM 63, 3 (March 2020), 80–91.
Scientific computing (e.g.,
numerical analysis)
Tradeoff analysis and
decision making (e.g.,
circular economy, territory
development)
Smart systems (e.g., smart
cities, farming, grid…)
22. Water Flood Prediction
● Integrated environment for scientific computing and decision making
○ Flexible, agile, collaborative, distributed & adaptive
● Application to environmental sciences
○ in collaboration with Osur (UR1)
○ other collaborations with Lancaster University (e.g., Data Science of the Natural Environment)
22
23. - 23
TRADE-OFF ANALYSIS - PERSPECTIVES
Virtual lab for scientific computing
Approach: web-based and scalable deployment of modeling environment
Challenge: process elicitation & structuration, model composition/integration,
continuous integration/deployment, calibration & sensibility analysis
Exploration for decision making and education
Approach: approximate computing techniques
Challenge: error estimate, uncertainty management, etc.
Domain-specific indicators for impact and
tradeoff analysis
Approach: domain-specific languages and active mapping
Challenge: advanced debugging, live modeling (i.e., immediate feedback
and direct manipulation) for what-if/how-to scenarios
24. ● Reduce the simulation time to better support trade-off analysis and decision making
● Application of approximate computing to scientific computing
● Work on the simulation code (white box) or the input data (black box)
Approximate Scientific Computing
24
Loop Aggregation for Approximate Scientific Computing
June Sallou, Alexandre Gauvain, Johann Bourcier, Benoît Combemale,
Jean-Raynald de Dreuzy. ICCS (2) 2020: 141-155.
25. Smart Cyber-Physical Systems
25
Toward model-driven sustainability evaluation
Jörg Kienzle, Gunter Mussbacher, Benoit Combemale, et al.. Commun. ACM 63, 3 (March 2020), 80–91.
Scientific computing (e.g.,
numerical analysis)
Tradeoff analysis and
decision making (e.g.,
circular economy, territory
development)
Smart systems (e.g., smart
cities, farming, grid…)
28. Towards Self-Adaptable Languages
Modern software systems
● Evolve in complex/changing environment (e.g, Cloud,
embedded systems)
● Need dynamic adaptation to best deliver the service
Self-adaptable languages
● Abstracts the design and execution of feedback loops
○ in the design-time environment, and
○ the run-time environment
● Free the language user from the implementation of :
○ The feedback loop
○ The trade-off analysis
● Allow continuous and automatic evolution of itself
28
Towards Self-Adaptable Languages
Gwendal Jouneaux, Olivier Barais, Benoit Combemale, Gunter Mussbacher. Onward! 2021.
SEALS: A framework for building Self-Adaptive Virtual Machines
Gwendal Jouneaux, Olivier Barais, Benoit Combemale, Gunter Mussbacher. SLE 2021.
29. Take Away Messages
29
Breakthroughs require innovative thinking and
collective intelligence
▸ Socio-technical coordination
▸ Modeling is key!
Smartness comes from human beings
▸ Model/data integration in time and space
▸ From modeling environment to virtual labs, to digital twin
▸ Live, exploratory and collaborative (meta)modeling
New challenges for software languages
▸ language specification should abstract new concerns
(coordination/integration, feedback loop, approximation…)
▸ language specification should support the development of new tools
(for reliability, trade-off analysis…)