• Aucun résultat trouvé

VisuAlea, Towards a Scientific Modelling Environment using Visual Programming

N/A
N/A
Protected

Academic year: 2021

Partager "VisuAlea, Towards a Scientific Modelling Environment using Visual Programming"

Copied!
23
0
0

Texte intégral

(1)

HAL Id: hal-00831794

https://hal.inria.fr/hal-00831794

Submitted on 7 Jun 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

VisuAlea, Towards a Scientific Modelling Environment

using Visual Programming

Christophe Pradal, Daniel Barbeau, Thomas Cokelaer, Eric Moscardi

To cite this version:

Christophe Pradal, Daniel Barbeau, Thomas Cokelaer, Eric Moscardi. VisuAlea, Towards a Scientific Modelling Environment using Visual Programming. EuroSciPy 2010, 2010, Paris, France. 2010. �hal-00831794�

(2)

VisuAlea, Towards a Scientific Modelling

Environment using Visual Programming

Christophe Pradal1,2 Daniel Barbeau 1, Thomas Cokelaer1

Eric Moscardi1 1INRIA,2CIRAD

(3)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals

The OpenAlea project Visual Programming

OpenAlea Goals

OpenAlea is an open source platform for modelling plant development and functionning at different scales.

Sharing knowledge

Reuse software and tools

Share development between various labs Share databases and training efforts

Common software platform

Integration of existing software & tools Rapid development of new models Enhance accessibility

Quality rules

(4)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals

The OpenAlea project

Visual Programming

Design choices

Open Source scientific community Distributed development (sprints) Language centric (Python)

Common modelling language Glue language

Component architecture Dynamic composition High-level dataflow approach Visual programming (VisuAlea)

Graphical model representation Automatic GUI generation Shared deployment tools

(5)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals The OpenAlea project

Visual Programming

Visual Programming

Visual Programming Environments

LabView, VTK, Vision, Orange, VisTrails, ...

Advantages

Interactive creation and modification of flexible workflows

Visual representation of the structure of a model Dynamic composition of software components

Drawbacks

Less expressive than textual languages (for, while)

Vision (Sanner et al., 2002)

Orange (Demsar et al., 2004)

VisTrail (Freire et al., 2005)

(6)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals The OpenAlea project

Visual Programming

VisuAlea

Package Manager

DataPool InterpreterPython

Dataflow

(7)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Demand driven evaluation

(8)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

(9)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Demand driven evaluation

(10)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

(11)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Demand driven evaluation

(12)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

(13)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Block node: do not propagate the evaluation

(14)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Dataflow = no side effects + no cycle. X node: transform a sub-dataflow into a lambda function

(15)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Example: simulation of plant/disease interaction

(16)

OpenAlea Dataflow

GraphEditor and Librairies integration

Project management Conclusions and future directions

GraphEditor

Librairies integration

GraphEditor

Need for a reusable python library to view and edit (m)any different graph types, with support for PyQt4.

Concepts

Trees, networks, dataflows (etc ...) boil down to G = { V, E } so GraphicalG ={ GraphicalV, GraphicalE }

GraphEditor

Simplifies the implementation of custom graph editors Both aspect and interaction are customizable

(17)

OpenAlea Dataflow

GraphEditor and Librairies integration

Project management Conclusions and future directions

GraphEditor

Librairies integration

Example: Building an editor for NetworkX

The user implements a strategy to view the data

(18)

OpenAlea Dataflow

GraphEditor and Librairies integration

Project management Conclusions and future directions

GraphEditor

Librairies integration

Example: Building an editor for NetworkX

Implement a simple vertex representation

class G r a p h i c a l V e r t e x ( Vertex , Q G r a p h i c s E l l i p s e I t e m ): def _ _ i n i t _ _( self , vertex , graph ):

Q G r a p h i c s E l l i p s e I t e m ._ _ i n i t _ _( self , 0 , 0 , 20 , 20 , None) Vertex ._ _ i n i t _ _( self , vertex , graph ,

d e f a u l t C e n t e r C o n n e c t o r= True) self . i n i t i a l i s e _ f r o m _ m o d e l ()

def i n i t i a l i s e _ f r o m _ m o d e l ( self ):

’ ’ ’ Read the p r o p e r t i e s stored in the N e t w o r k X graph that can be useful for the view . ’ ’ ’

# D e f i n e t h e p o s i t i o n of t h e v e r t e x in t h e v i e w

self . setPos ( self . node ()[’ p o s i t i o n ’])

# D e f i n e t h e c o l o r of t h e v e r t e x in t h e v i e w

color = self . node ()[’ color ’]

(19)

OpenAlea Dataflow

GraphEditor and Librairies integration

Project management Conclusions and future directions

GraphEditor

Librairies integration

Libraries integration

In VisuAlea, wrapping/integrating existing librairies into a GUI is made simple.

Pylab/Matplotlib example: most of Pylab functionalties are available showing the feasability of integrating complex standard librairies into VisuAlea.

PyLab output figure from the dataflow above.

Dataflow that combines scatter and histogram nodes applied on binormal random distribution using Pylab and Numpy

functionalities.

Main advantage: existing options are now accessible as widgets.

Numpy and Scipy components are integrated on demand.

(20)

OpenAlea Dataflow GraphEditor and Librairies integration

Project management

Conclusions and future directions

Deployment and QA

How to distribute large number of binary packages on Mac, Linux, Windows?

Building & Packaging

SCons (C/C++ building) and setuptools: creation of eggs

Retrieve the eggs from the web Graphical Installer

Continuous integration (buildbot) Automated package creation:

SCons files, setup.py, Sphinx conf, ...

(21)

OpenAlea Dataflow GraphEditor and Librairies integration Project management

Conclusions and future directions

Conclusions

OpenAlea provides a visual programming environment called VisuAlea VisuAlea allows to manage various scientific models in a GUI

Foster components/widgets reuse between labs Ease communication

Recent improvements:

Feedback loops using functional programming Graph Editor

Many new packages from co-developers: (Biophysics models, image processing, ...)

(22)

OpenAlea Dataflow GraphEditor and Librairies integration Project management

Conclusions and future directions

Perspectives

Integration of image processing algorithms and visualization tools

Registration Fusion

Automated cell segmentation Lineage computation

Parallelization

Reproductible dataflow simulation

Cells Segmentation and visualization in a rice root meristem (Fernandez et al., Nature Methods, 2010)

Rice Root Meristem Rice Root Meristem

Cell Segmentation Cell Segmentation

+ View

View 3D View3D View+

Dataflow using a segmentation algorithm and visualization tools

(23)

OpenAlea Dataflow GraphEditor and Librairies integration Project management

Conclusions and future directions

Thank you!

http://openalea.gforge.inria.fr

Références

Documents relatifs

Rankama (1970 a et b) et d'a- bandonner progressivement l'usage des termes Infracambrien et Eocambrien, mal définis, pour ne plus parler que de Cambrien et de

Some of them require the programmer to explicitly create parallelism (Threads, Message Passing, OpenMP), some require a change of paradigm (Data Flow), and some oth- ers rely on

In FSPM, simulation of plant growth requires to take into account the plant environment and therefore to include feedback loops in the modeling platform and process large data

> EuroSciPy 2010 > Scientific track 2010 > VisuAlea: Towards a Scientific Modelling Environment using Visual Programming anonyme [s'enregistrer]

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions..

The OpenAlea architecture consist s of: (a) a set of tools to integrate heterogeneous models implemented in v ari ous languages and on different platforms ; (b) a component

The open-source programming language R has gained a central place in the hydrological sciences over the last decade, driven by the availability of diverse hydro- meteorological

Figure 3 c shows the future return periods of the historical NCEP- based 100-year flood level, which are estimated to be between 5 and 30 years (16.4 years, averaged over all