Reuse of process-based models: automatic transformation into many programming languages and simulation platforms

The diversity of plant and crop process-based modelling platforms in terms of implementation language, software design and architectural constraints limits the reusability of the model components outside the platform in which they were originally developed, making model reuse a persistent issue. To...

Full description

Saved in:
Bibliographic Details
Published inin silico plants Vol. 2; no. 1
Main Authors Midingoyi, Cyrille Ahmed, Pradal, Christophe, Athanasiadis, Ioannis N, Donatelli, Marcello, Enders, Andreas, Fumagalli, Davide, Garcia, Frédérick, Holzworth, Dean, Hoogenboom, Gerrit, Porter, Cheryl, Raynal, Hélène, Thorburn, Peter, Martre, Pierre
Format Journal Article
LanguageEnglish
Published UK Oxford University Press 01.01.2020
Oxford Academic
Subjects
Online AccessGet full text
ISSN2517-5025
2517-5025
DOI10.1093/insilicoplants/diaa007

Cover

More Information
Summary:The diversity of plant and crop process-based modelling platforms in terms of implementation language, software design and architectural constraints limits the reusability of the model components outside the platform in which they were originally developed, making model reuse a persistent issue. To facilitate the intercomparison and improvement of process-based models and the exchange of model components, several groups in the field joined to create the Agricultural Model Exchange Initiative (AMEI). Agricultural Model Exchange Initiative proposes a centralized framework for exchanging and reusing model components. It provides a modular and declarative approach to describe the specification of unit models and their composition. A model algorithm is associated with each model specification, which implements its mathematical behaviour. This paper focuses on the expression of the model algorithm independently of the platform specificities, and how the model algorithm can be seamlessly integrated into different platforms. We define CyML, a Cython-derived language with minimum specifications to implement model component algorithms. We also propose CyMLT, an extensible source-to-source transformation system that transforms CyML source code into different target languages such as Fortran, C#, C++, Java and Python, and into different programming paradigms. CyMLT is also able to generate model components to target modelling platforms such as DSSAT, BioMA, Record, SIMPLACE and OpenAlea. We demonstrate our reuse approach with a simple unit model and the capacity to extend CyMLT with other languages and platforms. The approach we present here will help to improve the reproducibility, exchange and reuse of process-based models.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:2517-5025
2517-5025
DOI:10.1093/insilicoplants/diaa007