Publications des agents du Cirad

Cirad

VisuAlea, towards a scientific modelling environment using visual programming

Pradal C., Barbeau D., Cokelaer T., Moscardi E.. 2010. In : Annual European Conference for Scientists Unsing Phyton EuroSciPy 2010, Paris, 8-11 July 2010. s.l. : s.n., 1 p.. Annual European Conference for Scientists Using Phython, 2010-07-08/2010-08-11, Paris (France).

Data-flows and Visual Programming Environments (VPE) are used in many scientific domains such as data analysis and visualisation (LabView, VTK, VisTrails, Orange). One of the main interests of VPEs is the ability for users to create and modify dataflows using a graphical interface without any specific programming knowledge. We developed OpenAlea ( http://openalea.gforge.inria.fr) that is a python-based open-source software. It provides a visual programming environment, called VisuAlea , which is written in Python and PyQt. Within VisuAlea, users are able to dynamically combine existing and independent pieces of software into a customizable dataflow. Although OpenAlea and VisuAlea are mainly used in the context of plant science, they can be efficiently used in other scientific domains. A VPE that is implemented in Python language offers several interesting points for managing scientific workflows. First, users have access to the program state at run-time and thus can introspect, modify, document and debug their workflows interactively. Second, users can build graphically complex workflow by assembling both scientific python packages (e.g., numpy, scipy and matplotlib) with other software components written in different languages (C, C++, Fortran, Java or R). Finally, the visualisation of the workflow's structure ease the communication between different users. In VisuAlea, each component is provided with a graphical interface that is automatically generated. Moreover, dataflow model of computation allows to implement lazy evaluation, and automatic parallelisation. VPEs have major drawbacks compared to textual programming (e.g., iteration structures are difficult to represent since dataflow is a directed acyclic graph). However, solutions may be found to cope with these issues. For instance, in VisuAlea, we have introduced functional loops like map to represent iteration structures. Although several VPE have been implemented in Python (e.g. Orange, VisTrails, Viper), t

Documents associés

Communication de congrès

Agents Cirad, auteurs de cette publication :