45
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/

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

Embed Size (px)

Citation preview

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

MODELING AVENGERS

OSS TECHNOLOGY MIX FOR SAVINGTHE WORLD

, OBEO ( )

, INRIA and Univ. Rennes 1 ( )

Cédric Brun @bruncedric

Benoit Combemale @bcombemale

Slides available at http://cedric.brun.io/talks/ModelingAvengers/

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

GEMOCThe GEMOC ANR project ( ):

A Language Workbench for concurrent execution andsimulation of heterogeneous models

The GEMOC Initiative ( ):

GEMOC is an open international initiative that aims tocoordinate and disseminate the research results regardingthe support of the coordinated use of various modelinglanguages that will lead to the concept of globalization ofmodeling languages, that is, the use of multiple modelinglanguages to support coordinated development of diverseaspects of a system.

http://gemoc.org/ins

http://gemoc.org/

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

French National Institute for Agricultural Research

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

   

WATER RESOURCE MANAGEMENT INAGRICULTURE

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

Cultivator has to book for water one year in advanceAdministration has to make sure there is twice thequantity which has been booked for the whole region.Domain expert (INRA) wants to defines and assess newcultures activitiesMULTIPLE STAKEHOLDERS, MULTIPLE CONCERNS AND

SCALES

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

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 MULTIPLEFACTORS (WEATHER, COSTS, RESOURCES)

Page 7: Modeling avengers – open source technology mix for saving the world econ fr
Page 8: Modeling avengers – open source technology mix for saving the world econ fr

WHAT WE* DObuild domain specific tools for supporting design and

analysis of complex so�ware or embedded systems frommultiple viewpoints.

*: modeling community

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

HOW OUR TECHNOLOGIES ANDTECHNIQUES WOULD FARE IN SUCH

CONTEXT?

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

Disclaimer: this experiment is not about the science itselfbut about how to use the OSS modeling technologies.

This is a toy, but a toy complex enough that we can learnfrom it.

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

PROCESS1. State your resources (Machines, peoples, fields)2. Pick some climate model3. Assign surfaces to cultures4. Deduce a possible planning5. See how the biomass would grow6. See how much irrigation we would need7. do it again !

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

LanguageEngineers Domain Viewpoint

(Graph Editor)Grammar(Textual Editor)

Constraintsand Goals (Score function)

BehavioralSemantic (animator)

LanguageUsers Data Views and

staticchecking

Text Optimization Execution,simulation

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

DEMO TIME

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

EMF

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

SEVERAL ECORE MODELS

Page 16: Modeling avengers – open source technology mix for saving the world econ fr
Page 17: Modeling avengers – open source technology mix for saving the world econ fr

ὄ� 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 ( ) ) ; } / / . . .

         

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

ὄ� 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 ) ) ;

         

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

TEXTUAL SYNTAX : XTEXT

Page 20: Modeling avengers – open source technology mix for saving the world econ fr
Page 21: Modeling avengers – open source technology mix for saving the world econ fr

ὄ� PREDICATES, EXPRESSIONS,CONDITIONS

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

GRAPHICAL SYNTAX: SIRIUS

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

ὄ� DYNAMIC EDITING

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

ὄ� TABLE EDITORS

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

ὄ� ANIMATION

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

ὄ� ANIMATION*

* with Sirius animator

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

BARELY SCRATCHED THE SURFACEEclipse ICE and Science WGGenerating reports using Acceleo

Comparing alternatives using EMF Compare...

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

ANALYSIS

Page 29: Modeling avengers – open source technology mix for saving the world econ fr
Page 30: Modeling avengers – open source technology mix for saving the world econ fr

PLANNING PROBLEMSIf you need to optimize goals under constraints while having

limited resources.

When will I seed the crop based on the culture constraints, theclimate and the peoples, machine, fields I have ?

NP class of problems, huge number of solutions, many beinguseless

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

ὄ� 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 ( ) ; / / . . . }

         

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

ὄ� 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 ( ) ; / / . . . }

         

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

ὄ� 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 ( ) ; / / . . . }

         

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

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 . " ) ) ) ; } }

         

Page 35: Modeling avengers – open source technology mix for saving the world econ fr
Page 36: Modeling avengers – open source technology mix for saving the world econ fr

WHAT HAVE WE LEARNED SO FAR?

Page 37: Modeling avengers – open source technology mix for saving the world econ fr
Page 38: Modeling avengers – open source technology mix for saving the world econ fr

“Do not compromise on your domain model.”

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

EFFORT TO BUILD THIS TOOLING ?3 hours meeting + mail exchanges with INRA experts10 days of Eclipse Modeling expertsProof of concept code is on github

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

TECHNOLOGIES MEANT TO DO THIS

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

ARE RELEVANT TO SAVE THIS

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

TEAMING UP TECHNOLOGIESINSTEAD OF STACKING IT

Eclipse: platform and User interface integration

EMF: data, resources, deeplinkink, reflective manipulation

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

OPPORTUNITIESTime modeling and managementProbabilistic models

Graph/Charts representation in SiriusAlternatives comparisons...

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

...

FURTHER MATERIALS[slides] (Benoit Combemale and Jean-Michel Bruel), CPS Seminar, 2016[slides] (Benoit Combemale), INRA Seminar, 2015[paper] (Jean-Michel Bruel, Benoit Combemale, IleanaOber, 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 CPSModeling for SustainabilityMDE 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

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