SlideShare a Scribd company logo
1 of 45
Download to read offline
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
DECISIONS
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)
WHAT WE*
DO
build domain specific tools for supporting design and
analysis of complex so ware 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
ὄ 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
ὄ PREDICATES, EXPRESSIONS,
CONDITIONS
GRAPHICAL SYNTAX: SIRIUS
ὄ DYNAMIC EDITING
ὄ TABLE EDITORS
ὄ ANIMATION*
* with Sirius animator
BARELY SCRATCHED THE SURFACE
Eclipse ICE and Science WG
Generating reports using Acceleo
Comparing alternatives using EMF Compare
...
ANALYSIS
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 . " ) ) ) ;
}
}
         
WHAT HAVE WE LEARNED SO FAR?
“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
Modeling avengers – open source technology mix for saving the world econ fr

More Related Content

What's hot

Piotr Szotkowski about "Ruby smells"
Piotr Szotkowski about "Ruby smells"Piotr Szotkowski about "Ruby smells"
Piotr Szotkowski about "Ruby smells"Pivorak MeetUp
 
Karasopoulos mi st smv x-40a aiaa paper
Karasopoulos   mi st smv x-40a aiaa paperKarasopoulos   mi st smv x-40a aiaa paper
Karasopoulos mi st smv x-40a aiaa paperkarasoha
 
Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015Sawood Alam
 
Members of the family
Members of the familyMembers of the family
Members of the familytrabalhotrab
 
IPC13 Munich: Planning the Unplannable
IPC13 Munich: Planning the UnplannableIPC13 Munich: Planning the Unplannable
IPC13 Munich: Planning the UnplannableRobert Lemke
 
Ceh v8 labs module 18 buffer overflow
Ceh v8 labs module 18 buffer overflowCeh v8 labs module 18 buffer overflow
Ceh v8 labs module 18 buffer overflowMehrdad Jingoism
 
Ceh v8 labs module 10 denial of service
Ceh v8 labs module 10 denial of serviceCeh v8 labs module 10 denial of service
Ceh v8 labs module 10 denial of serviceMehrdad Jingoism
 
No Flex Zone: Empathy Driven Development
No Flex Zone: Empathy Driven DevelopmentNo Flex Zone: Empathy Driven Development
No Flex Zone: Empathy Driven DevelopmentDuretti H.
 
Meetup BSB Dev: Novidades Java 9 e 10.
Meetup BSB Dev: Novidades Java 9 e 10.Meetup BSB Dev: Novidades Java 9 e 10.
Meetup BSB Dev: Novidades Java 9 e 10.Joao Paulo Sossoloti
 
PostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit TestPostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit TestAndrea Adami
 
IFIR法による逆回復特性測定回路図
IFIR法による逆回復特性測定回路図IFIR法による逆回復特性測定回路図
IFIR法による逆回復特性測定回路図Tsuyoshi Horigome
 

What's hot (20)

Corrección de epu
Corrección de epuCorrección de epu
Corrección de epu
 
EMB 145 Recurrent
EMB 145 RecurrentEMB 145 Recurrent
EMB 145 Recurrent
 
Piotr Szotkowski about "Ruby smells"
Piotr Szotkowski about "Ruby smells"Piotr Szotkowski about "Ruby smells"
Piotr Szotkowski about "Ruby smells"
 
Astronomia
AstronomiaAstronomia
Astronomia
 
Occupations 1
Occupations 1Occupations 1
Occupations 1
 
Karasopoulos mi st smv x-40a aiaa paper
Karasopoulos   mi st smv x-40a aiaa paperKarasopoulos   mi st smv x-40a aiaa paper
Karasopoulos mi st smv x-40a aiaa paper
 
Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015
 
Members of the family
Members of the familyMembers of the family
Members of the family
 
IPC13 Munich: Planning the Unplannable
IPC13 Munich: Planning the UnplannableIPC13 Munich: Planning the Unplannable
IPC13 Munich: Planning the Unplannable
 
Ceh v8 labs module 18 buffer overflow
Ceh v8 labs module 18 buffer overflowCeh v8 labs module 18 buffer overflow
Ceh v8 labs module 18 buffer overflow
 
4 IATA Training
4   IATA Training4   IATA Training
4 IATA Training
 
Ceh v8 labs module 10 denial of service
Ceh v8 labs module 10 denial of serviceCeh v8 labs module 10 denial of service
Ceh v8 labs module 10 denial of service
 
No Flex Zone: Empathy Driven Development
No Flex Zone: Empathy Driven DevelopmentNo Flex Zone: Empathy Driven Development
No Flex Zone: Empathy Driven Development
 
ground water contamination
ground water contaminationground water contamination
ground water contamination
 
Meetup BSB Dev: Novidades Java 9 e 10.
Meetup BSB Dev: Novidades Java 9 e 10.Meetup BSB Dev: Novidades Java 9 e 10.
Meetup BSB Dev: Novidades Java 9 e 10.
 
PostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit TestPostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit Test
 
TicsDzm
TicsDzmTicsDzm
TicsDzm
 
Taller diagnóstico lina
Taller diagnóstico linaTaller diagnóstico lina
Taller diagnóstico lina
 
IFIR法による逆回復特性測定回路図
IFIR法による逆回復特性測定回路図IFIR法による逆回復特性測定回路図
IFIR法による逆回復特性測定回路図
 
Procesador de textos
Procesador de textosProcesador de textos
Procesador de textos
 

Similar to Modeling avengers – open source technology mix for saving the world econ fr

Spring Roo 2.0 Preview at Spring I/O 2016
Spring Roo 2.0 Preview at Spring I/O 2016 Spring Roo 2.0 Preview at Spring I/O 2016
Spring Roo 2.0 Preview at Spring I/O 2016 DISID
 
SC4 Workshop 1: Helena Gellerman: data analyses in transport
SC4 Workshop 1: Helena Gellerman: data analyses in transport SC4 Workshop 1: Helena Gellerman: data analyses in transport
SC4 Workshop 1: Helena Gellerman: data analyses in transport BigData_Europe
 
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
Y o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docxY o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docx
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docxherminaprocter
 
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
Y o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docxY o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docx
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docxodiliagilby
 
Piotr Szotkowski about "Bits of ruby"
Piotr Szotkowski about "Bits of ruby"Piotr Szotkowski about "Bits of ruby"
Piotr Szotkowski about "Bits of ruby"Pivorak MeetUp
 
Social Network Analysis With R
Social Network Analysis With RSocial Network Analysis With R
Social Network Analysis With RDavid Chiu
 
School Violence and student
School Violence and studentSchool Violence and student
School Violence and studentacastane
 
military training
military trainingmilitary training
military trainingKelvin Xuna
 
Strategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the CurriculumStrategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the Curriculumchar booth
 
The Library As Indicator Species: Evolution, or Extinction?
The Library As Indicator Species: Evolution, or Extinction?The Library As Indicator Species: Evolution, or Extinction?
The Library As Indicator Species: Evolution, or Extinction?char booth
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporationHenryk Konsek
 
From simple to more advanced: Lessons learned in 13 months with Tableau
From simple to more advanced: Lessons learned in 13 months with TableauFrom simple to more advanced: Lessons learned in 13 months with Tableau
From simple to more advanced: Lessons learned in 13 months with TableauSergii Khomenko
 
SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017Luis M Villanueva
 
Portafolio Francisco Díaz Tazza
Portafolio Francisco Díaz TazzaPortafolio Francisco Díaz Tazza
Portafolio Francisco Díaz TazzaFranciscoDiazTazza
 
Type Systems on the example of TypeScript
Type Systems on the example of TypeScriptType Systems on the example of TypeScript
Type Systems on the example of TypeScriptArtur Skowroński
 
PRESENTACION DE REDES
PRESENTACION DE REDESPRESENTACION DE REDES
PRESENTACION DE REDESricarmerly
 

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

Spring Roo 2.0 Preview at Spring I/O 2016
Spring Roo 2.0 Preview at Spring I/O 2016 Spring Roo 2.0 Preview at Spring I/O 2016
Spring Roo 2.0 Preview at Spring I/O 2016
 
SC4 Workshop 1: Helena Gellerman: data analyses in transport
SC4 Workshop 1: Helena Gellerman: data analyses in transport SC4 Workshop 1: Helena Gellerman: data analyses in transport
SC4 Workshop 1: Helena Gellerman: data analyses in transport
 
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
Y o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docxY o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docx
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
 
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
Y o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docxY o u r  N a m e   L S P  2 0 0 - 3 2 0  ( c o u r s e  I .docx
Y o u r N a m e L S P 2 0 0 - 3 2 0 ( c o u r s e I .docx
 
CNC.pdf
CNC.pdfCNC.pdf
CNC.pdf
 
Piotr Szotkowski about "Bits of ruby"
Piotr Szotkowski about "Bits of ruby"Piotr Szotkowski about "Bits of ruby"
Piotr Szotkowski about "Bits of ruby"
 
Social Network Analysis With R
Social Network Analysis With RSocial Network Analysis With R
Social Network Analysis With R
 
School Violence and student
School Violence and studentSchool Violence and student
School Violence and student
 
military training
military trainingmilitary training
military training
 
Strategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the CurriculumStrategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the Curriculum
 
The Library As Indicator Species: Evolution, or Extinction?
The Library As Indicator Species: Evolution, or Extinction?The Library As Indicator Species: Evolution, or Extinction?
The Library As Indicator Species: Evolution, or Extinction?
 
Spring scala - Sneaking Scala into your corporation
Spring scala  - Sneaking Scala into your corporationSpring scala  - Sneaking Scala into your corporation
Spring scala - Sneaking Scala into your corporation
 
From simple to more advanced: Lessons learned in 13 months with Tableau
From simple to more advanced: Lessons learned in 13 months with TableauFrom simple to more advanced: Lessons learned in 13 months with Tableau
From simple to more advanced: Lessons learned in 13 months with Tableau
 
JavaFX, because you're worth it
JavaFX, because you're worth itJavaFX, because you're worth it
JavaFX, because you're worth it
 
SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017
 
Portafolio Francisco Díaz Tazza
Portafolio Francisco Díaz TazzaPortafolio Francisco Díaz Tazza
Portafolio Francisco Díaz Tazza
 
Type Systems on the example of TypeScript
Type Systems on the example of TypeScriptType Systems on the example of TypeScript
Type Systems on the example of TypeScript
 
PRESENTACION DE REDES
PRESENTACION DE REDESPRESENTACION DE REDES
PRESENTACION DE REDES
 
Transcripts and PC
Transcripts and PCTranscripts and PC
Transcripts and PC
 
Katherine clough
Katherine cloughKatherine clough
Katherine clough
 

More from Cédric Brun

Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsIntegrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
 
Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareEclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareCédric Brun
 
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Cédric Brun
 
Eclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsEclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsCédric Brun
 
EcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleEcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleCédric Brun
 
Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating  Xtext and Sirius:  Strategies and PitfallsIntegrating  Xtext and Sirius:  Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Cédric Brun
 
15 EMF projects in 25 minutes
15 EMF projects in 25 minutes15 EMF projects in 25 minutes
15 EMF projects in 25 minutesCédric Brun
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, futureCédric Brun
 
Xtext + Sirius = ♥ / EclipseCon Europe 2014
Xtext + Sirius = ♥  / EclipseCon Europe 2014Xtext + Sirius = ♥  / EclipseCon Europe 2014
Xtext + Sirius = ♥ / EclipseCon Europe 2014Cédric Brun
 
Xtext + Sirius = &lt;3
Xtext + Sirius = &lt;3Xtext + Sirius = &lt;3
Xtext + Sirius = &lt;3Cédric Brun
 
Ecore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalEcore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalCédric Brun
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutesCédric Brun
 
What every developer should know about EMF Compare
What every developer should know about EMF CompareWhat every developer should know about EMF Compare
What every developer should know about EMF CompareCédric Brun
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingCédric Brun
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationCédric Brun
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models WebCédric Brun
 

More from Cédric Brun (18)

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

Recently uploaded

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 

Modeling avengers – open source technology mix for saving the world econ fr

  • 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. DECISIONS 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)
  • 7.
  • 8. WHAT WE* DO build domain specific tools for supporting design and analysis of complex so ware 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
  • 16.
  • 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 ) ) ;          
  • 20.
  • 25.
  • 26. ὄ ANIMATION* * with Sirius animator
  • 27. BARELY SCRATCHED THE SURFACE Eclipse ICE and Science WG Generating reports using Acceleo Comparing alternatives using EMF Compare ...
  • 29.
  • 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 . " ) ) ) ; } }          
  • 35.
  • 36. WHAT HAVE WE LEARNED SO FAR?
  • 37.
  • 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