ALEA
Atelier logiciel libre
pour la modélisation des plantes
Modélisation des plantes
Botanique: X X X X X X U1 U1 U1 I12I13 U2 U2 U2 F1 U2 U2 I2 I1 I8 I9 I6 I10I11 F1 F1 F1 F1F1 F1 U1 U2 I10 I15 X X X X U2 I7I8 I9I10 X F1 F1 F1 U2 I1 S1 S1 F1 Mesure: Modélisation: Simulation: U1 U1 U2 F1 U2 U2 U1 U2 F1 F1 F1 F1 U2 + + + + + < + < < < + + + < U2 U1 U2 F1 S1 S1 F1 F1 + F1 U2 < + + + + + + + A91 A92 A91 A92 A92 A92 A92 A92 A91 A92 A92 A92 A92 A92 A92 A92 < + < + + + < ++ + + + + + + F1 feuilles racines f r dC dt C C R k C dW dt C r f r r r r r r = − − = R S | T | α dC dt C C R k C dW dt C f r f f f f f f = − − = R S || T || α 0 1 2 3 4 5 6 0 0.1 0.2 0.3 0.4 0 5 0 0.1 0.2 0 5 10 0 0.1 0.2 0510 15 20 0 0.1 0.2 0.3 0510 15 20 0 0.1 0.2 0.3 0 51015 0 0.1 0.2 010 20 30AMAPmod - 1995
MTG Extraction Models & tools Code Plant Form ... Classes ... Decompos ... Topology ... Features ... Code ... /P1/U1 +U1 ... 0 50 100 150 200 250 300 350 0 1 2 3 4 5 6 7 AML Digitalization Observation 10110000101 00110011101 11101101011 . . . 0 50 100 150 200 250 300 350 0 1 2 3 4 5 6 7 histogramme loi 2 3 0 1 ? 40034010 4440132101133 2300141111 . . .AMAPmod - 1995
Analyse et modélisation de l'architecture des plantes
– Développé par deux chercheurs en collaboration avec des biologistes. – 400 kl de C++ étendues par le langage «maison» AML
Goulot d'étranglement
– Demandes des biologistes en application – Formation
– Maintenance
– Nouveaux développements
Choix Logiciel libre
– Licence GPL
– Des utilisateurs dans plus de 20 pays – 150 chercheurs formés, 8 formations
FSPM - 1996
FSPM (Functional / Structural Plant Modelling)
– Communauté scientifique international de modélisation des plantes (workshops, ~200 chercheurs)
Modélisation de la croissance et du fonctionnement
des plantes
– Representation 3D de l'architecture des plantes – Modèles physiologiques et environementaux – Outils d'analyse et de simulation
Domaines d'application
Un domaine pluridisciplinaire
Visualisation Biophysique Ecophysiologie Analyse statistique Modélisation Simulation Analyse spatiale Calcul scientifique Génie logiciel ...Réseau PAIS - 2000
P
lant
A
rchitecture
I
nformation
S
ystem
– Réseau européen et international
Objectifs
– Partage des bases de données
– Définir un standard de representation des plantes – Diffuser modèles et outils logiciels
– Formation
Limites
– Pas d'homogénéité dans la démarche logicielle – Pas de règles de diffusion
ALEA - 2003
Atelier Logiciel pour la modélisation Ecophysiologique de l'Architecture des plantes
– Utiliser, évaluer et construire des modèles experimentaux.
Objectifs
– Communauté autour d'un logiciel
• Co-développement entre équipes de recherche • Echange d'experience et d'outils
• Formation
– Architecture à composants logiciels
• Intégration des modèles existants (C, C++, Fortran) • Développement rapide de nouveaux modèles
• Qualité logicielle pour diffusion et maintenance
Partenaires
Logiciel Libre - Intérêts scientifiques
Validation scientifique
– Accès code source => Vérification des modèles, algos, outils.
Collaboration scientifique
– Les modèles publiés sont directement accessibles.
Accessible et adaptable par tous
– Code adapté par chacun en fonction de ses besoins. – Modèles compatibles et comparables.
Pérennité du code
– En cas d'arrêt du développement, quiconque peut reprendre un projet et continuer à le développer.
Protection du droit d'auteur
Logiciel Libre – Avantage pratique
Synergie
– Collaboration entre développeurs (souvent isolés) – Collaboration entre équipes pluridisciplinaires
Economie d'échelle
– Développement – Diffusion et Maintenance – Formation – Veille technologiqueQualité
– Rationalisation des choix – Règles communes
Communauté libre ALEA
Architectes– Développent le noyau principale du système
– Conseil, formation et assistance auprès des modélisateurs
Modélisateurs
– Développent et intègrent leurs modules
– Conseil, formation et assistance auprès des utilisateurs
Utilisateurs
– Définissent des scénarios
– Mettent à disposiion des bases de données
Communauté libre
– Licence libre du noyau: LGPL – Critères de diffusions:
• Copyright & license.
Logiciel Libre – ALEA
Communauté libre
– Développeurs, modélisateurs et utilisateurs – Règles de fonctionnement (Charte ALEA)
Licence libre (LGPL)
Animation de la communauté
– Réunions régulières des architectes – 2 formations des modélisateurs
– 3 formations des utilsateurs (France, Brésil, Thaïlande)
Développement collaboratif
– CVS, Forums
ALEA
ALEA Python, GUIs Ana lyse o rd e r 3 G U 1 0 5 1 0 1 5 2 0 2 5 0 5 1 0 1 5 2 0 X X X X X X U1 U1 U1 I12 I13 U2 U2 U2 F1 U2 U2 I2 I1 I8 I9 I6 I10I11 F1 F1 F1 F1F1 F1 U1 U2 I10 I15 X X X X U2 I7 I8 I9I10 X F1 F1 F1 U2 I1 S1 S1 F1 1991 1992 R Modé lisation SEast 0 200 400 600 800 1000 1200 1400 1600 1800 8:00 12:00 16:00 20:00 LOCAL TIME (h) PA Ri (µm o l. m -2.s -1) MIN MAX MEAN RATP Simu lation Modul esPython vu comme un Bus Logiciel
Python
mathmath
Modules standard Python
GUI shell QT Differents toolkit de GUI Database XML Modules spécialisés Numeric SciPy Modules scientifiques f2py Fortran Code Boost, SWIG C++ Classes, C Code
Ponts entre les languages
ALEA – Description technique
✔
Langages: C, C++, Fortran et Python
✔
OS: Gnu/Linux, Windows
✔
Logiciels utilisés
✔ GUI: QT et PyQT
✔ Gestion de versions: CVS
✔ Documentation: Doxygen (C, C++), epydoc (Python)
✔ Tests unitaires: cppUnit, PyUnit
✔ Compilation: SCons
Logiciel Libre – Tension liée au don
Le don perçu comme une perte
– L'utilisateur n'est plus captif.
– Comment valoriser et financer le coût de développement?
Le don comme un échange
– Partage des coûts de développement des algos, de la formation et de la diffusion du logiciel.
– Partage des connaissances
• Scientifiques
• Techniques (génie logiciel) • Bases de Données (plantes)
ALEA – Bilan
Logiciel Libre, un modèle adapté pour la recherche
– Création d'une communauté libre française entre équipes initialement concurrentes.
=> Développement d’un outil de collaboration => Propriété partagée
=> Partage des connaissances entre équipes => Amélioration de la qualité
- Co-développement possible
Un bénéfice pas encore unanimement reconnu
– Perte du contrôle total
– Problème d’identité de l’auteur – Coût de la qualité
– La transparence fait souvent peur – Valorisation par la publication
Questions ouvertes
Comment financer le développement logiciel ?
– Double licence ? – Consortium ? – … ?
Comment valoriser l’activité de production logicielle ?
– Investissement lourd
– Faible reconnaissance des instances d’évaluation – Logiciel = production scientifique ?