1. Modeling for Sustainability
Seminar at Lancaster University
December 5, 2016
Benoit Combemale (Inria & Univ. Rennes 1)
http://people.irisa.fr/Benoit.Combemale
benoit.combemale@irisa.fr
@bcombemale
2. DiverSE Research Group
DiverSE team (env. 40 people)
- 8 faculty members
- 1 Research Engineer
- ~20 PhD students
- ~6 Software Engineers
- ~6 Post doc
- 2Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
3. Complex Software-Intensive Systems
Software
intensive
systems
- 3
• Multi-engineering approach
• Some forms of domain-specific modeling
• Software as integration layer
• Openness and dynamicity
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
6. Model-Driven Engineering (MDE)
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Manager »
Complaint
Recovery Block
Manager
« Service
Provider
Manager »
Notification
Manager
« Service Provider
Manager »
Complaint Alternate
Manager
« Service
Provider
Manager »
Complaint
Manager
« Acceptance
Test Manager »
Notification
Acceptance Test
Manager
« Acceptance
Test Manager »
Complaint
Acceptance Test
Manager
« Recovery
Block Manager »
Notification
Recovery Block
Manager
« Client »
User Citizen
Manager
Fault tolerance Roles
Activities
Views
Contexts
Security
Functional behavior
Book
state : StringUser
borrow
return
deliver
setDamaged
res
erv
e
Use case
Platform
Model Design
Model
Code
Model
Change one Aspect and
Automatically Re-Weave:
From Software Product Lines…
..to Dynamically Adaptive Systems
- 6Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
7. Model-Driven Engineering (MDE)
- 7
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
"Perhaps surprisingly, the majority of MDE examples in our study
followed domain-specific modeling paradigms"
Distribution
« Service Provider
Manager »
Notification
Alternate Manager
« Recovery Block
Manager »
Complaint
Recovery Block
Manager
« Service
Provider
Manager »
Notification
Manager
« Service Provider
Manager »
Complaint Alternate
Manager
« Service
Provider
Manager »
Complaint
Manager
« Acceptance
Test Manager »
Notification
Acceptance Test
Manager
« Acceptance
Test Manager »
Complaint
Acceptance Test
Manager
« Recovery
Block Manager »
Notification
Recovery Block
Manager
« Client »
User Citizen
Manager
Fault tolerance Roles
Activities
Views
Contexts
Security
Functional behavior
Book
state : StringUser
borrow
return
deliver
setDamaged
res
erv
e
Use case
Platform
Model Design
Model
Code
Model
Change one Aspect and
Automatically Re-Weave:
From Software Product Lines…
..to Dynamically Adaptive Systems
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
8. Model-Driven Engineering (MDE)
- 8
Engineering Modeling Languages: Turning Domain Knowledge into Tools,
by Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and
Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016. Companion website: http://mdebook.irisa.fr
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
9. Model-Driven Engineering (MDE)
- 9
Editors
(textuals, graphicals, …)
Test generators
Simulators
Analyzers
Refactoring
Checkers
(static & dynamics)
Translators
Compilers
Code generators
Etc.
Engineering Modeling Languages: Turning Domain Knowledge into Tools,
by Benoit Combemale, Robert B. France, Jean-Marc Jézéquel, Bernhard Rumpe, Jim R.H. Steel, and
Didier Vojtisek. Chapman and Hall/CRC, pp.398, 2016. Companion website: http://mdebook.irisa.fr
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
10. - 10
J-M. Favre, D. Gasevic, R. Lämmel, and E. Pek. "Empirical language analysis
in software linguistics," In Software Language Engineering, volume 6563 of
LNCS, pages 316–326. Springer, 2011.
"Software languages
are software too"
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
11. Software Language Engineering (SLE)
- 11
• Application of systematic, disciplined, and measurable
approaches to the development, deployment, use, and
maintenance of software languages
• Supported by various kind of "language workbench"
• Eclipse EMF, Xtext, Sirius, Melange, GEMOC, Papyrus
• Jetbrain’s MPS
• Spoofax
• MS DSL Tools
• Etc.
• Various shapes and ways to implement software languages
• External, internal or embedded DSLs, Profile, etc.
• Grammar, metamodel, ontology, etc.
• More and more literature, a dedicated Intl. conference (ACM
SLE, cf. http://www.sleconf.org)…
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
12. - 12
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85.
"A clear challenge, then,
is how to integrate
multiple DSLs."
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
13. Globalization of Modeling Languages
- 13
Supporting coordinated use of modeling
languages leads to what we call the globalization
of modeling languages, that is, the use of multiple
modeling languages to support coordinated
development of diverse aspects of a system.
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
14. Globalization of Modeling Languages
- 14
• DSMLs are developed in an independent manner
to meet the specific needs of domain experts,
• DSMLs should also have an associated
framework that regulates interactions needed to
support collaboration and work coordination
across different system domains.
Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel,
Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 2014
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
15. Globalization of Modeling Language
- 15
• Context: new emerging DSML in open world
⇒ impossible a priori unification
⇒ require a posteriori globalization
• Objective: socio-technical coordination to support interactions
across different system aspects
⇒ Language-based support for technical integration of
multiples domains
⇒ Language-based support for social translucence
• Community: the GEMOC initiative (cf. http://gemoc.org)
"Globalizing Domain-Specific Languages," Combemale, B., Cheng, B.H.C., France, R.B.,
Jézéquel, J.-M., Rumpe, B. (Eds.). Springer, Programming and Software Engineering,
Vol. 9400, 2015.
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
16. The GEMOC Initiative
- 16
An open and international initiative to
• coordinate (between members)
• disseminate (on behalf the members)
worldwide R&D efforts
on the globalization of modeling languages
http://gemoc.org
@gemocinitiative
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
17. The GEMOC Studio
- 17
Design and integrate
your executable DSMLs
http://gemoc.org/studio
Language
Workbench
Modeling
Workbench
Edit, simulate and animate
your heterogeneous models
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
18. The GEMOC Community
- 18Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
19. - 19
"On the unification
power of models"
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
⎯ Jean Bézivin
20. From Software Systems
- 20
• software design models for functional
and non-functional properties
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
Engineers
System Models
Software
21. To Cyber-Physical Systems
- 21
Engineers
System Models Cyber-Physical
System
sensors actuators
Physical
System
Software
<<controls>><<senses>>
• multi-engineering design models for
global system properties
• models @ runtime (i.e., included into
the control loop) for dynamic
adaptations
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
22. To Smart Cyber-Physical Systems
- 22
Engineers
System Models Smart
Cyber-Physical System
Context
sensors actuators
Physical
System
Software
<<controls>><<senses>>
• analysis models (incl. large-scale simulation,
constraint solver) of the surrounding context
related to global phenomena (e.g. physical,
economical, and social laws)
• predictive models (predictive techniques
from AI, machine learning, SBSE, fuzzy logic)
• user models (incl., general public/community
preferences) and regulations (political laws)
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
23. An MDE Approach for Smart CPS Development
- 23
• Convergence of engineering and scientific models
• A modeling framework to support the integration of data
from sensors, open data, laws, regulations, scientific models
(computational and data-intensive sciences), engineering
models and preferences.
• Domain-specific languages for socio-technical coordination
• to engage engineers, scientist, decision makers, communities
and general public
• to integrate analysis/predictive/user models into the control loop
of smart CPS
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
24. Application to Sustainability Systems
- 24
• Sustainability systems are smart-CPS for managing resource
production, transport and consumption, for the sake of
sustainability
• Ex: smart grids, smart city/home/farming, etc.
• Sustainability systems must balance trade-offs between the
social, technological, economic, and environmental pillars of
sustainability
• involve complex decision-making with heterogeneous analysis
models, and large volumes of disparate data varying in
temporal scale and modality
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
25. Application to Sustainability Systems
- 25
• Scientific models are used to understand sustainability
concerns and evaluate alternatives (what-if/for scenarios)
• Engineering models are used to support the development and
runtime adaptation of sustainability systems.
How to integrate engineering and scientific models in
a synergistic fashion to support informed decisions,
broader engagement, and dynamic adaptation in
sustainability systems?
B. Combemale, B. Cheng, A. Moreira, J.-M. Bruel, J. Gray, "Modeling for
Sustainability," MiSE@ICSE 2016
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
26. Using MDE in Sustainability Systems
- 26
The Sustainability Evaluation ExperienceR (SEER)
⎯ 1st Modelling For Sustainability Workshop @ Bellairs, 2016
Policy makers
(e.g., mayor)
Communities
(e.g., farmers)
General public
(e.g., individuals)
open data regulations
physical laws
explore the future
and
make it happen
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
27. Using MDE in Sustainability Systems
- 27
• Smart Cyber-Physical Systems
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
28. Using MDE in Sustainability Systems
- 28
• Based on informed decisions
• with environmental, social and economic laws
• with open data
Heuristics-Laws
Scientists
Open Data
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>
<<supplement
field data>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
29. Using MDE in Sustainability Systems
- 29
• Providing a broader engagement
• with "what-if" scenarios for general public and policy makers
Heuristics-Laws
Scientists
Open Data
General Public
(e.g., individuals)
Policy Makers
(e.g., mayor)
MEEs
("what-if" scenarios)
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>Communities
(e.g., farmers)
<<supplement
field data>>
<<provide configuration,
preferences, questions>>
<<present possible future
and variable indicators>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
30. Heuristics-Laws
Scientists
Open Data
General Public
(e.g., individuals)
Policy Makers
(e.g., mayor)
MEEs
("what-if" scenarios)
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>Communities
(e.g., farmers)
<<adapt>>
<<supplement
field data>>
<<provide configuration,
preferences, questions>>
<<present possible future
and variable indicators>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Using MDE in Sustainability Systems
- 30
• Supporting automatic adaptation
• for dynamically adaptable systems
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
31. Using MDE in Sustainability Systems
- 31
• Application to health, farming system, smart grid…
Heuristics-Laws
Scientists
Open Data
General Public
(e.g., individuals)
Policy Makers
(e.g., mayor)
MEEs
("what-if" scenarios)
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>Communities
(e.g., farmers)
<<adapt>>
<<supplement
field data>>
<<provide configuration,
preferences, questions>>
<<present possible future
and variable indicators>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
32. Heuristics-Laws
Scientists
Open Data
General Public
(e.g., individuals)
Policy Makers
(e.g., mayor)
MEEs
("what-if" scenarios)
Scientific Models / Physical Laws
(economic, environmental, social)
SEER
Sustainability System
(e.g., smart farm)
(
Context
sensors actuators
Production/
Consumption
System
(e.g. farm)
Software
<<controls>><<senses>>Communities
(e.g., farmers)
<<adapt>>
<<supplement
field data>>
<<provide configuration,
preferences, questions>>
<<present possible future
and variable indicators>>
<<feed>>
<<integrate>>
<<explore model
relations (tradeoff,
impact and conflict)>>
Farming System Modeling
- 32
Farmers
Agronomist
Irrigation
System
in collaboration with
Jean-Michel Bruel, Benoit Combemale, Ileana Ober, Hélène Raynal, "MDE in
Practice for Computational Science," International Conference on
Computational Science (ICCS), 2015.
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
34. Conclusion
- 34
• From MDE to SLE
• Language workbenches support DS(M)L development
• On the globalization of modeling languages
• Integrate heterogeneous models representing different
engineering concerns
• Language interfaces to support structural and behavioral
relationships between domains (i.e., DSLs)
• From software systems to smart CPS
• Interactions with the physical world limited to (i.e., fixed, in closed
world) control laws and data from the sensors
• What about the broader context in which the system involves?
• Physical / social / economic laws
• Predictive models
• Regulations, user preferences
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
35. Conclusion
- 35
• Require to integrate scientific models in the control loop of
smart CPS to provide more informed decisions, a broader
engagement, and eventually relevant runtime reconfigurations
• SEER is a particular instantiation of such a vision for
sustainability systems
Software is eating the world, but…
may the world drive software!
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
36. Open Challenges
- 36
• Diversity/complexity of DSL relationships
• far beyond structural and behavioral alignment, refinement,
decomposition
• Separation of concerns vs. Zoom-in/Zoom-out
• Live and collaborative modeling
• minimize the round trip between the DSL specification, the
model, and its application (interpretation/compilation)
• Model experiencing environnements
• What-if/for scenarios
• Integration of analysis and predictive models into DSL semantics
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016
37. - 37
"If you believe that language design can significantly
affect the quality of software systems, then it should
follow that language design can also affect the
quality of energy systems. And if the quality of such
energy systems will, in turn, affect the livability of
our planet, then it’s critical that the language
development community give modeling languages
the attention they deserve."
− Bret Victor (Nov., 2015), http://worrydream.com/ClimateChange
Modeling for Sustainability – B. Combemale (Univ. Rennes 1) – December 4th, 2016