SlideShare a Scribd company logo
MODELING AVENGERS
OSS TECHNOLOGY MIX FOR SAVING
THE WORLD
, OBEO ( )
, INRIA and Univ. Rennes 1 ( )
Cédric Brun @bruncedric
Benoit Combemale @bcombemale
Slides available at http://cedric.brun.io/talks/ModelingAvengers/
GEMOC
The GEMOC ANR project ( ):
A Language Workbench for concurrent execution and
simulation of heterogeneous models
The GEMOC Initiative ( ):
GEMOC is an open international initiative that aims to
coordinate and disseminate the research results regarding
the support of the coordinated use of various modeling
languages that will lead to the concept of globalization of
modeling languages, that is, the use of multiple modeling
languages to support coordinated development of diverse
aspects of a system.
http://gemoc.org/ins
http://gemoc.org/
French National Institute for Agricultural Research
 
 
 
WATER RESOURCE MANAGEMENT IN
AGRICULTURE
Cultivator has to book for water one year in advance
Administration has to make sure there is twice the
quantity which has been booked for the whole region.
Domain expert (INRA) wants to defines and assess new
cultures activities
MULTIPLE STAKEHOLDERS, MULTIPLE CONCERNS AND
SCALES
CULTIVATOR
Which field to use for growing what ?
How would the crops grows?
When would I have to add water ?
Machines ? Peoples ?
COMPLEX SYSTEM, OPTIMIZATION WITH MULTIPLE
FACTORS (WEATHER, COSTS, RESOURCES)
Modeling avengers – open source technology mix for saving the world
WHAT WE*
DO
build domain specific tools for supporting design and
analysis of complex software or embedded systems from
multiple viewpoints.
*: modeling community
HOW OUR TECHNOLOGIES AND
TECHNIQUES WOULD FARE IN SUCH
CONTEXT?
Disclaimer: this experiment is not about the science itself
but about how to use the OSS modeling technologies.
This is a toy, but a toy complex enough that we can learn
from it.
PROCESS
1. State your resources (Machines, peoples, fields)
2. Pick some climate model
3. Assign surfaces to cultures
4. Deduce a possible planning
5. See how the biomass would grow
6. See how much irrigation we would need
7. do it again !
Language
Engineers Domain Viewpoint
(Graph Editor)
Grammar
(Textual Editor)
Constraints
and Goals
(Score function)
Behavio
Semant
(animator)
Language
Users Data Views and
static
checking
Text Optimization Executio
simulat
DEMO TIME
EMF
SEVERAL ECORE MODELS
Modeling avengers – open source technology mix for saving the world
ὄ API
           
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) {
/ / . . .
E x p l o i t a t i o n e x p l o i t a t i o n = l o a d F r o m F i l e ( a r g s [ 1 ] ) ;
f o r ( W o r k G r o u p g r o u p : e x p l o i t a t i o n . g e t G r o u p s ( ) ) {
S y s t e m . o u t . p r i n t l n ( g r o u p . g e t N a m e ( ) ) ;
f o r ( C u l t u r e c u l t u r e A s s i g n e d T o T h i s G r o u p : g r o u p . g e t C u l t u r e s ( ) ) {
f o r ( E x p l o i t a t i o n A c t i v i t y a c t i v i t y : c u l t u r e A s s i g n e d T o T h i s G r o u p
. g e t A c t i v i t i e s ( ) ) {
S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t N a m e ( ) ) ;
S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t F r e q u e n c y ( ) ) ;
S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t S t a r t D a t e ( ) ) ;
S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t E n d D a t e ( ) ) ;
}
/ / . . .
         
ὄ SEAMLESS DATA REUSE
           
p u b l i c c l a s s C l i m a t e D a t a R e s o u r c e I m p l e x t e n d s R e s o u r c e I m p l {
p u b l i c C l i m a t e D a t a R e s o u r c e I m p l ( U R I u r i ) {
s u p e r ( u r i ) ;
}
@ O v e r r i d e
p r o t e c t e d v o i d d o L o a d ( I n p u t S t r e a m i n p u t S t r e a m , M a p < ! - - ? , ? - - > o p t i o n s )
t h r o w s I O E x c e p t i o n {
g e t C o n t e n t s ( ) . c l e a r ( ) ;
C l i m a t e D a t a c l i m a t e = S i m u l a t i o n F a c t o r y . e I N S T A N C E . c r e a t e C l i m a t e D a t a ( ) ;
S t r i n g c o n t e n t = C h a r S t r e a m s . t o S t r i n g ( n e w I n p u t S t r e a m R e a d e r ( i n p u t S t r e a m ,
C h a r s e t s . U S _ A S C I I ) ) ;
L i s t < s t r i n g > l i n e s = L i s t s . n e w A r r a y L i s t ( S p l i t t e r . o n ( '  n ' )
. o m i t E m p t y S t r i n g s ( ) . s p l i t ( c o n t e n t ) ) ;
         
TEXTUAL SYNTAX : XTEXT
Modeling avengers – open source technology mix for saving the world
ὄ PREDICATES, EXPRESSIONS,
CONDITIONS
GRAPHICAL SYNTAX: SIRIUS
ὄ DYNAMIC EDITING
ὄ TABLE EDITORS
Modeling avengers – open source technology mix for saving the world
ὄ ANIMATION*
* with Sirius animator
BARELY SCRATCHED THE SURFACE
Eclipse ICE and Science WG
Generating reports using Acceleo
Comparing alternatives using EMF Compare
...
ANALYSIS
Modeling avengers – open source technology mix for saving the world
PLANNING PROBLEMS
If you need to optimize goals under constraints while having
limited resources.
When will I seed the crop based on the culture constraints, the
climate and the peoples, machine, fields I have ?
NP class of problems, huge number of solutions, many being
useless
ὄ EASY TO MIX WITH EMF
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } )
D a y g e t S c h e d u l e d O n ( ) ;
/ / . . .
}
         
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } )
R e s o u r c e g e t R e s o u r c e ( ) ;
/ / . . .
}
         
ὄ EASY TO MIX WITH EMF
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } )
D a y g e t S c h e d u l e d O n ( ) ;
/ / . . .
}
         
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } )
R e s o u r c e g e t R e s o u r c e ( ) ;
/ / . . .
}
         
ὄ EASY TO MIX WITH EMF
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } )
D a y g e t S c h e d u l e d O n ( ) ;
/ / . . .
}
         
           
@ P l a n n i n g E n t i t y (
d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s
)
p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t {
/ / . . .
@ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } )
R e s o u r c e g e t R e s o u r c e ( ) ;
/ / . . .
}
         
SCORE FUNCTION
           
p u b l i c S c o r e c a l c u l a t e S c o r e ( S i m u l a t i o n S o l u t i o n s o l u t i o n ) {
i n t h a r d S c o r e = 0 ;
i n t s o f t S c o r e = 0 ;
/ / . . .
/ *
* C o n s t r a i n t : a l l t h e r e s o u r c e s w h i c h a r e r e q u i r e d s h o u l d b e a l l o c a t e d .
* /
f o r ( R e s o u r c e A l l o c a t i o n a l l o c : s o l u t i o n . g e t S i m u l a t i o n ( ) . g e t A l l o c a t i o n s ( ) )
i f ( a l l o c . g e t R e s o u r c e ( ) = = n u l l ) {
h a r d S c o r e + = m e d i u m P e n a l t y ( 1 ) ;
a d d F e e d b a c k (
a l l o c . g e t W o r k ( ) ,
( c r e a t e F e e d b a c k ( F e e d b a c k L e v e l . E R R O R , " A r e q u i r e d r e s o u r c e o f k i n d "
+ a l l o c . g e t K i n d ( ) . g e t N a m e ( ) + " i s m i s s i n g . " ) ) ) ;
}
}
         
Modeling avengers – open source technology mix for saving the world
WHAT HAVE WE LEARNED SO FAR?
Modeling avengers – open source technology mix for saving the world
“Do not compromise on your domain model.”
EFFORT TO BUILD THIS TOOLING ?
3 hours meeting + mail exchanges with INRA experts
10 days of Eclipse Modeling experts
Proof of concept code is on github
TECHNOLOGIES MEANT TO DO THIS
ARE RELEVANT TO SAVE THIS
TEAMING UP TECHNOLOGIES
INSTEAD OF STACKING IT
Eclipse: platform and User interface integration
EMF: data, resources, deeplinkink, reflective manipulation
OPPORTUNITIES
Time modeling and management
Probabilistic models
Graph/Charts representation in Sirius
Alternatives comparisons
...
FURTHER MATERIALS
[slides] (Benoit Combemale and Jean-Michel Bruel), CPS Seminar, 2016
[slides] (Benoit Combemale), INRA Seminar, 2015
[paper] (Jean-Michel Bruel, Benoit Combemale, Ileana
Ober, Hélène Raynal), In International Conference on Computational Science (ICCS), 2015.
[video, french]
(Benoit Combemale, DEVLOG-IDM2014, Oct. 2014)
[video, french]
(Benoit Combemale, DEVLOG-IDM2013, Oct. 2013)
Modeling for Smart CPS
Modeling for Sustainability
MDE in Practice for Computational Science
L'IDM par la pratique dans le contexte des modèles agronomiques autour d'une
étude de cas
Composition and concurrent execution of heterogeneous domain-specific models

More Related Content

PDF
Modeling avengers – open source technology mix for saving the world econ fr
PDF
Breathe life into your designer!
PDF
Testing Fuse Fabric with Pax Exam
PDF
Le magazine Paranoia, Automne 2003. Vol 10, No 2, Issue 33
PDF
PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet
PDF
Continuous delivery with Gradle
PDF
Wild animals
PDF
Frontend architecture on big and small sites
Modeling avengers – open source technology mix for saving the world econ fr
Breathe life into your designer!
Testing Fuse Fabric with Pax Exam
Le magazine Paranoia, Automne 2003. Vol 10, No 2, Issue 33
PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet
Continuous delivery with Gradle
Wild animals
Frontend architecture on big and small sites

What's hot (20)

PDF
Piotr Szotkowski about "Ruby smells"
PDF
EMB 145 Recurrent
PPTX
Corrección de epu
PDF
Astronomia
PDF
Profiling Web Archives IIPC GA 2015
PDF
ground water contamination
PDF
Ceh v8 labs module 10 denial of service
PDF
Members of the family
PDF
Ceh v8 labs module 18 buffer overflow
PDF
IPC13 Munich: Planning the Unplannable
PPT
4 IATA Training
PDF
No Flex Zone: Empathy Driven Development
PDF
Occupations 1
PPT
IFIR法による逆回復特性測定回路図
PDF
PostgreSQL Day italy 2016 Unit Test
PDF
Doc1.doc nobel[1]1
DOCX
Taller diagnóstico lina
DOCX
TicsDzm
DOCX
Procesador de textos
PDF
Meetup BSB Dev: Novidades Java 9 e 10.
Piotr Szotkowski about "Ruby smells"
EMB 145 Recurrent
Corrección de epu
Astronomia
Profiling Web Archives IIPC GA 2015
ground water contamination
Ceh v8 labs module 10 denial of service
Members of the family
Ceh v8 labs module 18 buffer overflow
IPC13 Munich: Planning the Unplannable
4 IATA Training
No Flex Zone: Empathy Driven Development
Occupations 1
IFIR法による逆回復特性測定回路図
PostgreSQL Day italy 2016 Unit Test
Doc1.doc nobel[1]1
Taller diagnóstico lina
TicsDzm
Procesador de textos
Meetup BSB Dev: Novidades Java 9 e 10.
Ad

Similar to Modeling avengers – open source technology mix for saving the world (20)

PDF
From Data to Knowledge
PPTX
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
PPTX
Artificial intelligence vs Machine learning
PDF
Lecture8 - From CBR to IBk
PDF
2018 learning approach-digitaltrends
PDF
Improving Defence Program Execution
PDF
Automated Java Code Generation (ICDIM 2006)
PDF
Before You Test Your System, Test Your Assumptions
PPTX
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
PDF
On the Value of User Preferences in Search-Based Software Engineering:
PDF
Small data big impact
PDF
W4 ucl@md day2011
PPTX
NoSQL learnings from the world of Telco
PDF
Simplifying Complexity
DOC
eliot.doc
PDF
Towards Smart Modeling (Environments)
DOC
eliot.doc
DOC
eliot.doc
PPTX
Data Scientist's Daily Life
PPT
Introduction to soft computing
From Data to Knowledge
STUDY ON PROJECT MANAGEMENT THROUGH GENETIC ALGORITHM
Artificial intelligence vs Machine learning
Lecture8 - From CBR to IBk
2018 learning approach-digitaltrends
Improving Defence Program Execution
Automated Java Code Generation (ICDIM 2006)
Before You Test Your System, Test Your Assumptions
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
On the Value of User Preferences in Search-Based Software Engineering:
Small data big impact
W4 ucl@md day2011
NoSQL learnings from the world of Telco
Simplifying Complexity
eliot.doc
Towards Smart Modeling (Environments)
eliot.doc
eliot.doc
Data Scientist's Daily Life
Introduction to soft computing
Ad

More from Cédric Brun (18)

PDF
Integrating Xtext and Sirius: Strategies and Pitfalls
PDF
Eclipse Modeling Guided Tour - EMF Compare
PDF
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
PDF
Eclipse Modeling Guided Tour - EcoreTools
ODP
EcoreTools-Next: Executable DSL made (more) accessible
PDF
Integrating Xtext and Sirius: Strategies and Pitfalls
PDF
Roadmap - SiriusCon2016
PDF
15 EMF projects in 25 minutes
PDF
What the heck is Eclipse Modeling and why should you care !
PDF
Sirius : origins, present, future
PDF
Xtext + Sirius = ♥ / EclipseCon Europe 2014
PDF
Xtext + Sirius = &lt;3
PDF
Ecore Tools 2.0 : The Luna Revival
PDF
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
PDF
What every developer should know about EMF Compare
PDF
From Acceleo.org To Eclipse Modeling
ODP
Acceleo Day - Acceleo Mtl Code Generation
PDF
Team Work With Models Web
Integrating Xtext and Sirius: Strategies and Pitfalls
Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - EcoreTools
EcoreTools-Next: Executable DSL made (more) accessible
Integrating Xtext and Sirius: Strategies and Pitfalls
Roadmap - SiriusCon2016
15 EMF projects in 25 minutes
What the heck is Eclipse Modeling and why should you care !
Sirius : origins, present, future
Xtext + Sirius = ♥ / EclipseCon Europe 2014
Xtext + Sirius = &lt;3
Ecore Tools 2.0 : The Luna Revival
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
What every developer should know about EMF Compare
From Acceleo.org To Eclipse Modeling
Acceleo Day - Acceleo Mtl Code Generation
Team Work With Models Web

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Modernizing your data center with Dell and AMD
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Modernizing your data center with Dell and AMD
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Digital-Transformation-Roadmap-for-Companies.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Encapsulation theory and applications.pdf

Modeling avengers – open source technology mix for saving the world

  • 1. MODELING AVENGERS OSS TECHNOLOGY MIX FOR SAVING THE WORLD , OBEO ( ) , INRIA and Univ. Rennes 1 ( ) Cédric Brun @bruncedric Benoit Combemale @bcombemale Slides available at http://cedric.brun.io/talks/ModelingAvengers/
  • 2. GEMOC The GEMOC ANR project ( ): A Language Workbench for concurrent execution and simulation of heterogeneous models The GEMOC Initiative ( ): GEMOC is an open international initiative that aims to coordinate and disseminate the research results regarding the support of the coordinated use of various modeling languages that will lead to the concept of globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system. http://gemoc.org/ins http://gemoc.org/
  • 3. French National Institute for Agricultural Research
  • 5. Cultivator has to book for water one year in advance Administration has to make sure there is twice the quantity which has been booked for the whole region. Domain expert (INRA) wants to defines and assess new cultures activities MULTIPLE STAKEHOLDERS, MULTIPLE CONCERNS AND SCALES
  • 6. CULTIVATOR Which field to use for growing what ? How would the crops grows? When would I have to add water ? Machines ? Peoples ? COMPLEX SYSTEM, OPTIMIZATION WITH MULTIPLE FACTORS (WEATHER, COSTS, RESOURCES)
  • 8. WHAT WE* DO build domain specific tools for supporting design and analysis of complex software or embedded systems from multiple viewpoints. *: modeling community
  • 9. HOW OUR TECHNOLOGIES AND TECHNIQUES WOULD FARE IN SUCH CONTEXT?
  • 10. Disclaimer: this experiment is not about the science itself but about how to use the OSS modeling technologies. This is a toy, but a toy complex enough that we can learn from it.
  • 11. PROCESS 1. State your resources (Machines, peoples, fields) 2. Pick some climate model 3. Assign surfaces to cultures 4. Deduce a possible planning 5. See how the biomass would grow 6. See how much irrigation we would need 7. do it again !
  • 12. Language Engineers Domain Viewpoint (Graph Editor) Grammar (Textual Editor) Constraints and Goals (Score function) Behavio Semant (animator) Language Users Data Views and static checking Text Optimization Executio simulat
  • 14. EMF
  • 17. ὄ API             p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { / / . . . E x p l o i t a t i o n e x p l o i t a t i o n = l o a d F r o m F i l e ( a r g s [ 1 ] ) ; f o r ( W o r k G r o u p g r o u p : e x p l o i t a t i o n . g e t G r o u p s ( ) ) { S y s t e m . o u t . p r i n t l n ( g r o u p . g e t N a m e ( ) ) ; f o r ( C u l t u r e c u l t u r e A s s i g n e d T o T h i s G r o u p : g r o u p . g e t C u l t u r e s ( ) ) { f o r ( E x p l o i t a t i o n A c t i v i t y a c t i v i t y : c u l t u r e A s s i g n e d T o T h i s G r o u p . g e t A c t i v i t i e s ( ) ) { S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t N a m e ( ) ) ; S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t F r e q u e n c y ( ) ) ; S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t S t a r t D a t e ( ) ) ; S y s t e m . o u t . p r i n t l n ( a c t i v i t y . g e t E n d D a t e ( ) ) ; } / / . . .          
  • 18. ὄ SEAMLESS DATA REUSE             p u b l i c c l a s s C l i m a t e D a t a R e s o u r c e I m p l e x t e n d s R e s o u r c e I m p l { p u b l i c C l i m a t e D a t a R e s o u r c e I m p l ( U R I u r i ) { s u p e r ( u r i ) ; } @ O v e r r i d e p r o t e c t e d v o i d d o L o a d ( I n p u t S t r e a m i n p u t S t r e a m , M a p < ! - - ? , ? - - > o p t i o n s ) t h r o w s I O E x c e p t i o n { g e t C o n t e n t s ( ) . c l e a r ( ) ; C l i m a t e D a t a c l i m a t e = S i m u l a t i o n F a c t o r y . e I N S T A N C E . c r e a t e C l i m a t e D a t a ( ) ; S t r i n g c o n t e n t = C h a r S t r e a m s . t o S t r i n g ( n e w I n p u t S t r e a m R e a d e r ( i n p u t S t r e a m , C h a r s e t s . U S _ A S C I I ) ) ; L i s t < s t r i n g > l i n e s = L i s t s . n e w A r r a y L i s t ( S p l i t t e r . o n ( ' n ' ) . o m i t E m p t y S t r i n g s ( ) . s p l i t ( c o n t e n t ) ) ;          
  • 26. ὄ ANIMATION* * with Sirius animator
  • 27. BARELY SCRATCHED THE SURFACE Eclipse ICE and Science WG Generating reports using Acceleo Comparing alternatives using EMF Compare ...
  • 30. PLANNING PROBLEMS If you need to optimize goals under constraints while having limited resources. When will I seed the crop based on the culture constraints, the climate and the peoples, machine, fields I have ? NP class of problems, huge number of solutions, many being useless
  • 31. ὄ EASY TO MIX WITH EMF             @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } ) D a y g e t S c h e d u l e d O n ( ) ; / / . . . }                       @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } ) R e s o u r c e g e t R e s o u r c e ( ) ; / / . . . }          
  • 32. ὄ EASY TO MIX WITH EMF             @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } ) D a y g e t S c h e d u l e d O n ( ) ; / / . . . }                       @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } ) R e s o u r c e g e t R e s o u r c e ( ) ; / / . . . }          
  • 33. ὄ EASY TO MIX WITH EMF             @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = A c t i v i t y W o r k D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e A c t i v i t y W o r k e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " d a y s " } ) D a y g e t S c h e d u l e d O n ( ) ; / / . . . }                       @ P l a n n i n g E n t i t y ( d i f f i c u l t y C o m p a r a t o r C l a s s = R e s o u r c e A l l o c a t i o n D i f f i c u l t y C o m p a r a t o r . c l a s s ) p u b l i c i n t e r f a c e R e s o u r c e A l l o c a t i o n e x t e n d s E O b j e c t { / / . . . @ P l a n n i n g V a r i a b l e ( v a l u e R a n g e P r o v i d e r R e f s = { " r e s o u r c e s " } ) R e s o u r c e g e t R e s o u r c e ( ) ; / / . . . }          
  • 34. SCORE FUNCTION             p u b l i c S c o r e c a l c u l a t e S c o r e ( S i m u l a t i o n S o l u t i o n s o l u t i o n ) { i n t h a r d S c o r e = 0 ; i n t s o f t S c o r e = 0 ; / / . . . / * * C o n s t r a i n t : a l l t h e r e s o u r c e s w h i c h a r e r e q u i r e d s h o u l d b e a l l o c a t e d . * / f o r ( R e s o u r c e A l l o c a t i o n a l l o c : s o l u t i o n . g e t S i m u l a t i o n ( ) . g e t A l l o c a t i o n s ( ) ) i f ( a l l o c . g e t R e s o u r c e ( ) = = n u l l ) { h a r d S c o r e + = m e d i u m P e n a l t y ( 1 ) ; a d d F e e d b a c k ( a l l o c . g e t W o r k ( ) , ( c r e a t e F e e d b a c k ( F e e d b a c k L e v e l . E R R O R , " A r e q u i r e d r e s o u r c e o f k i n d " + a l l o c . g e t K i n d ( ) . g e t N a m e ( ) + " i s m i s s i n g . " ) ) ) ; } }          
  • 36. WHAT HAVE WE LEARNED SO FAR?
  • 39. EFFORT TO BUILD THIS TOOLING ? 3 hours meeting + mail exchanges with INRA experts 10 days of Eclipse Modeling experts Proof of concept code is on github
  • 41. ARE RELEVANT TO SAVE THIS
  • 42. TEAMING UP TECHNOLOGIES INSTEAD OF STACKING IT Eclipse: platform and User interface integration EMF: data, resources, deeplinkink, reflective manipulation
  • 43. OPPORTUNITIES Time modeling and management Probabilistic models Graph/Charts representation in Sirius Alternatives comparisons
  • 44. ... FURTHER MATERIALS [slides] (Benoit Combemale and Jean-Michel Bruel), CPS Seminar, 2016 [slides] (Benoit Combemale), INRA Seminar, 2015 [paper] (Jean-Michel Bruel, Benoit Combemale, Ileana Ober, Hélène Raynal), In International Conference on Computational Science (ICCS), 2015. [video, french] (Benoit Combemale, DEVLOG-IDM2014, Oct. 2014) [video, french] (Benoit Combemale, DEVLOG-IDM2013, Oct. 2013) Modeling for Smart CPS Modeling for Sustainability MDE in Practice for Computational Science L'IDM par la pratique dans le contexte des modèles agronomiques autour d'une étude de cas Composition and concurrent execution of heterogeneous domain-specific models