SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
karasoha
 
Members of the family
Members of the familyMembers of the family
Members of the family
trabalhotrab
 
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
Mehrdad 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 service
Mehrdad Jingoism
 

Mais procurados (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
 

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

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
herminaprocter
 
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
odiliagilby
 
military training
military trainingmilitary training
military training
Kelvin Xuna
 
Rigger and Signal Person
Rigger and Signal PersonRigger and Signal Person
Rigger and Signal Person
Jason Wilson
 
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
Henryk Konsek
 
The Secret of the Legal Industry - Understand how they play Americans.pptx
The  Secret of the Legal Industry - Understand how they play Americans.pptxThe  Secret of the Legal Industry - Understand how they play Americans.pptx
The Secret of the Legal Industry - Understand how they play Americans.pptx
SueBozgoz
 

Semelhante a 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
 
Rigger and Signal Person
Rigger and Signal PersonRigger and Signal Person
Rigger and Signal Person
 
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
 
Building the Organization of the Future: Leveraging Machine Learning
Building the Organization of the Future: Leveraging Machine LearningBuilding the Organization of the Future: Leveraging Machine Learning
Building the Organization of the Future: Leveraging Machine Learning
 
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
 
The Secret of the Legal Industry - Understand how they play Americans.pptx
The  Secret of the Legal Industry - Understand how they play Americans.pptxThe  Secret of the Legal Industry - Understand how they play Americans.pptx
The Secret of the Legal Industry - Understand how they play Americans.pptx
 

Mais de Cé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) accessible
Cédric Brun
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
Cédric Brun
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code Generation
Cédric Brun
 

Mais de 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
 

Último

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
dharasingh5698
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 

Último (20)

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...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
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
 
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...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..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
 
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 Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
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
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 

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