Crop modeling frameworks interoperability through bidirectional source code transformation - INRAE - Institut national de recherche pour l’agriculture, l’alimentation et l’environnement Accéder directement au contenu
Article Dans Une Revue Environmental Modelling and Software Année : 2023

Crop modeling frameworks interoperability through bidirectional source code transformation

Patrice Lecharpentier
  • Fonction : Auteur
Helene Raynal

Résumé

Recently, we proposed Crop2ML, an open-source modeling framework for exchanging and reusing crop model components between modeling platforms. Here, we present an approach based on reverse engineering to automatically extract and transform meta-information and algorithms of existing crop biophysical models into a platform-independent model component. A search algorithm using Crop2ML concepts, and a many-to-one transformation system were used for producing high-level models. The system consists of parsing the code base of model components written in different languages using the ANother Tool for Language Recognition (ANTLR) parser generator and processing the generated syntax trees to produce various model implementations. The system was evaluated for three crop model components provided by the BioMA, SIMPLACE, and DSSAT platforms. We demonstrated the extensibility of our approach with the STICS, OpenAlea, and SiriusQuality modeling platforms. CyMLTx is a significant contribution towards the interoperability of crop modeling platforms and the reuse of model components beyond programming languages.
Fichier non déposé

Dates et versions

hal-04256535 , version 1 (24-10-2023)

Identifiants

Citer

Cyrille Ahmed Midingoyi, Christophe Pradal, Andreas Enders, Davide Fumagalli, Patrice Lecharpentier, et al.. Crop modeling frameworks interoperability through bidirectional source code transformation. Environmental Modelling and Software, 2023, 168, pp.105790. ⟨10.1016/j.envsoft.2023.105790⟩. ⟨hal-04256535⟩
29 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More