Model reuse can be limited by software design, which often forces third parties to completely rewrite new versions of existing models before adapting them to new needs. This tendency removes resources from the improvement of models and from the extension of their domain, leading to the proliferation of software tools representing a variety of different implementations of the same algorithms. The component-oriented paradigm allows these limitations to be overcome, facilitating model reuse and extension. This study presents the application of component-oriented principles to the reimplementation of the sugarcane (Saccharum officinarum L.) model Canegro (DSSAT v4.5) in a framework-independent component following the BioMA architecture. The potential for reuse and extension of the component (UNIMI.Cassandra.CaneML.Canegro) is here demonstrated by its straightforward adaptation to the simulation of giant reed (Arundo donax L.), a promising energy crop that shares several morphological and physiological features with sugarcane. The new component, named UNIMI.Cassandra.CaneML.Arungro, extends UNIMI.Cassandra.CaneML.Canegro, and was effectively developed by inheriting about 70% of the sugarcane model code. The development, calibration and evaluation of the giant reed model were performed using field data collected in two experimental sites in Northern Italy between 2009 and 2012. Model performances were satisfactory, with average relative root mean square error and modelling efficiency for aboveground biomass simulation of 34.33% and 0.57, respectively. The Canegro component is distributed via a Software Development Kit that includes documentation of code and algorithms, and the source code of sample applications illustrating how to use it.
|Autori:||Stella, T.;Francone, C.;Yamaç, S.S.;Ceotto, E.;Pagani, V.;Pilu, R.;Confalonieri, R.|
|Data di pubblicazione:||2015|
|Titolo:||Reimplementation and reuse of the Canegro model: from sugarcane to giant reed|
|Rivista:||COMPUTERS AND ELECTRONICS IN AGRICULTURE|
|Appare nelle tipologie:||1.1 Articolo in rivista|