OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
A component- and message-based architectural style for GUI software
CoMPAS Pro: Comprehensive Meta Prediction and Annotation Services for Proteins Sebastian J. Schultheiß Christoph Malisi.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Chapter 13 Web Application Infrastructure. Objectives Explain the components and purpose of a web application platform Describe several common webapp.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Using the Drupal Content Management Software (CMS) as a framework for OMICS/Imaging-based collaboration.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Introduction 01_intro.ppt
The Design Discipline.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Research infrastructure and knowledge management Eric Maryniak.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Java Adaptive Mathematical Modeling Engine (JAMME) Leeland Artra, Cell Systems Initiative (CSI) Zheng Li, Department of Bioengineering University of Washington,
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
PLATFORM INDEPENDENT SOFTWARE DEVELOPMENT MONITORING Mária Bieliková, Karol Rástočný, Eduard Kuric, et. al.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Fundamentals of Database Chapter 7 Database Technologies.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 Software Process panel SPI GRIDPP 7 th Collaboration Meeting 30 June – 2 July 2003 A.Aimar -
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Web-centric Computing: Computing, Hypertext, & the WWW.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Components for Beam Dynamics Douglas R. Dechow, Tech-X Lois Curfman McInnes, ANL Boyana Norris, ANL With thanks to the Common Component Architecture (CCA)
Center for Component Technology for Terascale Simulation Software CCA is about: Enhancing Programmer Productivity without sacrificing performance. Supporting.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
Software Prototyping Rapid software development to validate requirements.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Visualization in Problem Solving Environments Amit Goel Department of Computer Science Virginia Tech June 14, 1999.
Environmental Hydrology Applications Team Alliance Report
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Mantid Manipulation and Analysis Toolkit for ISIS data.
Inria Rhône-AlpesEMGnet meeting - December 98 1 A Platform for EMG Studies Danielle Ziébelin, Martine Maume and Philippe Genoud INRIA Rhône-Alpes Projet.
Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004.
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
A Pictorial Introduction to Components in Scientific Computing.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
Mantid Manipulation and Analysis Toolkit for Instrument data.
CS223: Software Engineering Lecture 14: Architectural Patterns.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
ImageJ2. Why ImageJ2? ● Support the next generation of image data ● Interoperate and collaborate with other projects ● Broaden the ImageJ community ●
J2EE Platform Overview (Application Architecture)
CST 1101 Problem Solving Using Computers
Prototyping in the software process
The Use of AMET and Automated Scripts for Model Evaluation
EIN 6133 Enterprise Engineering
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Building Graphical User Interface with Swing a short introduction
Chapter 7 –Implementation Issues
Presentation transcript:

OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin

Monolithic Software Interoperable Software Components for programmers InteroperableSoftwareComponents for modellers Software Components for programmers time & complexity of biological problems

1.Construct the best model (efficient & simple) for each new situation 2.A general unified model 3.Defining common phenomenon and concepts, and sharing ‘elemental’ functionalities: Common to different situationsCommon to different situations ExtensibleExtensible Modelling strategy question model question platform

Biological objects Mesure Modeling Simulation X X X X X X U1 I12 I13 U2 F1 U2 I2 I1 I8 I9 I6 I10 I11 F1 U1 U2 I10 I15 X X X X U2 I7 I8 I9 I10 X F1 U2 I1 S1 F1 U1 U2 F1 U2 U1 U2 F1 U < + < < < < U1 U2 F1 S1 F1 + U2 < A91 A92 A91 A92 A91 A92 < + < < F1 leaves roots f r Plant modeling

Context Multi-disciplinary domain –It involves a variety of disciplines and expertise. Low reusability –Combining or Reusing existing software is complex Different OS, different programming languages No common standards or data-structures Building models is expensive –Development –Validation –Distribution, Documentation, Training

OpenAlea Goals Promoting share within a community –Reuse software & tools –Share development between various teams –Share databases & training effort With a common software platform –Integration of existing models & tools –Rapid development of new applications –Enhance accessibility (GUI) –Quality rules

Design Principles Language centric –Common modeling language –Glue language Component architecture –Dynamic composition –High-level dataflow approach Visual programming –Graphical model representation –Automatic GUI generation Shared deployment tools –Build, packaging, distribution, installation, upgrade Multi-platform (Linux, Windows)

OpenAlea Architecture Deployment Tools Component framework Component Package Manager Dataflow Python Library Existing Models C, C++, Fortran math GUI shell GUI DatabaseXMLNumericSciPy f2py Fortran Code Boost, SWIG C++ Classes, C Code JEmbed Java Classes Python GUI Visualea PyQt4

Python as a Software Bus ( math Very rich set of Python standard modules GUI shell GUI Several GUI toolkits DatabaseXML Very rich set of specialized generic modules NumericSciPy Scientific modules f2py Fortran Code Boost, SWIG C++ Classes, C Code JEmbed Java Classes Gateways to other frameworks

Component framework Package Manager Component Python Interpreter Dataflow Widgets

Component Simple Python function –Multiple Input and Output arguments (ports) –Typed interface –Documentation def linearmodel(x=0, a=0., b=0): “ return ax+b ” return a*x+b Port name : ‘a’ Interface : IFloat

Dataflow Graphical model Visual representation of a model Connect components in a directed graph Data flow through edges Model of computation Functional (deterministic) Lazy evaluation

Macro component

Functions and loops

Deployment Tools OpenAlea.Installer –Search, download and install dependencies from the web –List available packages found on a central repository (OpenAlea website) SConsX –Simplify the build of complex packages (C, C++, Fortran)

Working together Collaborative development –Gforge (subversion, forums, mailing lists) –Wiki (User & developer documentation) Software diffusion –Shared software repository (14000 downloads) –Web site ( visits) Coding & Modeling sprint –Pair programming –Development, bug fix, Use cases, …

Already Integrated Packages Plant architecture analysis - VPlants (Godin, Guedon et al) Ecophysiological models Buissiere et al., 07 Fournier et al., 07 Sinoquet et al. Meristem modeling (Stoma, Chopard et al.)

Conclusions OpenAlea is an Open Source project – Promotes reusability –Interconnection of heterogeneous software –Access to sub-models of applications –Generic tools for software deployment Improves accessibility –Visual programming –Automatic widget creation