SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01KreezheaRecto
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 

Kürzlich hochgeladen (20)

Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(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
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 

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