• 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!
22
0
0

Texte intégral

(1)

VisuAlea, Towards a Scientific Modelling

Environment using Visual Programming

Christophe Pradal

1,2

Daniel Barbeau

1

, Thomas Cokelaer

1

Eric Moscardi

1

(2)

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 database and training effort

Common software platform

Integration of existing software & tools

Rapid development of new models

Enhance accessibility

Quality rules

(3)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals

The OpenAlea project

Visual Programming

Design choice

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

(4)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals The OpenAlea project

Visual Programming

Visual Programming

Visual Programming Environment

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

Advantages

Interactive creation and modification of flexible

workflow

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)

(5)

OpenAlea

Dataflow GraphEditor and Librairies integration Project management Conclusions and future directions

OpenAlea Goals The OpenAlea project

Visual Programming

VisuAlea

Package

Manager

DataPool

Interpreter

Python

Dataflow

(6)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Demand driven evaluation

(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

Demand driven 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

Demand driven evaluation

(11)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

(12)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Block node: do not propagate the evaluation

(13)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Dataflow Evaluation

Dataflow = no side effect + no cycle.

X node: transform a sub-dataflow into a lambda function

(14)

OpenAlea

Dataflow

GraphEditor and Librairies integration Project management Conclusions and future directions

Dataflow Evaluation

Application

Example: simulation of plant/disease interaction

(15)

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

(16)

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

(17)

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

c l a s s 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 , g r a p h ):

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 , N o n e) V e r t e x ._ _ 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= T r u e) s e l f . 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 ( s e l f ): ’ ’ ’ R e a d t h e p r o p e r t i e s s t o r e d in t h e N e t w o r k X g r a p h t h a t c a n be u s e f u l f o r t h e v i e w . ’ ’ ’ # 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 s e l f . s e t P o s ( s e l f . n o d e ()[’ 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 c o l o r = s e l f . n o d e ()[’ c o l o r ’] s e l f . s e t B r u s h ( Q B r u s h ( c o l o r ))

(18)

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 demands.

(19)

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, ...

Drawbacks

(20)

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, ...)

(21)

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)

7/6/10 4:24 PM Qt Svg Document

Rice Root Meristem Rice Root Meristem

Cell Segmentation Cell Segmentation

+ View

View 3D View3D View+

Dataflow using a segmentation algorithm and visualization tools

(22)

OpenAlea Dataflow GraphEditor and Librairies integration Project management

Conclusions and future directions

Thank you!

http://openalea.gforge.inria.fr

Références

Documents relatifs

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]

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

Lu, QF, Cao, ZT & Ritchie, E 2004, ‘Model of Stator Inter-turn Short Circuit Fault in Doubly-fed Induction Generators for Wind Turbine’, 35th Annual IEEE Power

Calibration and De-Embedding Test Structure Design for SiGe HBT On-Wafer Characterization up to 500 GHz", 94th ARFTG Microwave Measurement. Symposium (ARFTG), San Antonio, TX,

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