Cohen, S., Dept. of Environmental Physics and Irrigation, Inst. of Soils and Water, A.R.O. Volcani Center, P.O. Box 6, Bet Dagan, 50250, Israel Gijzen, H., Dept. of Horticulture, Wageningen Agricultural University, Haagsteeg 3, NL-6708 PM Wageningen, Netherlands
HORTISIM (HORTIcultural SIMulation) is a new greenhouse crop system simulation model that predicts crop response to environmental variables and cultural operations, and is designed to predict the amount and timing of production as related to crop and greenhouse characteristics and climate control. It has a modular structure enabling integration with other models dealing with e.g. crop protection, nutrition or farm economics. In order to meet these objectives, and be reliable, maintainable and adaptable to different plant process sub-models, "software engineering (SWE)" methodology was used. SWE, a vast and complex subject, is little known to many crop modelers. The objective of this article is to present the objectives of SWE and show how selected technical and nontechnical SWE methods were applied in the HORTISIM project. The development process used the "waterfall model", with the sequence of stages being requirement analysis and definition, system and software design, implementation, and testing. Requirements were defined "top down", i.e. generalities preceded details. This helped build independent, "object oriented" modules. FORTRAN, selected because of it's extensive use in plant simulation modelling, was restricted in order to implement structured programming. Restrictions are listed and discussed. Data dictionaries, constructed with database tools and included into the FORTRAN, formalized parameter definitions and access. These help with the "information hiding" that is essential to object oriented design. Various design decisions are presented and discussed, i.e. model hierarchy and breakdown, dynamic configuration of scenarios, and fast and slow processes.
The implementation of software engineering concepts in the greenhouse crop model HORTISIM
456
Cohen, S., Dept. of Environmental Physics and Irrigation, Inst. of Soils and Water, A.R.O. Volcani Center, P.O. Box 6, Bet Dagan, 50250, Israel Gijzen, H., Dept. of Horticulture, Wageningen Agricultural University, Haagsteeg 3, NL-6708 PM Wageningen, Netherlands
The implementation of software engineering concepts in the greenhouse crop model HORTISIM
HORTISIM (HORTIcultural SIMulation) is a new greenhouse crop system simulation model that predicts crop response to environmental variables and cultural operations, and is designed to predict the amount and timing of production as related to crop and greenhouse characteristics and climate control. It has a modular structure enabling integration with other models dealing with e.g. crop protection, nutrition or farm economics. In order to meet these objectives, and be reliable, maintainable and adaptable to different plant process sub-models, "software engineering (SWE)" methodology was used. SWE, a vast and complex subject, is little known to many crop modelers. The objective of this article is to present the objectives of SWE and show how selected technical and nontechnical SWE methods were applied in the HORTISIM project. The development process used the "waterfall model", with the sequence of stages being requirement analysis and definition, system and software design, implementation, and testing. Requirements were defined "top down", i.e. generalities preceded details. This helped build independent, "object oriented" modules. FORTRAN, selected because of it's extensive use in plant simulation modelling, was restricted in order to implement structured programming. Restrictions are listed and discussed. Data dictionaries, constructed with database tools and included into the FORTRAN, formalized parameter definitions and access. These help with the "information hiding" that is essential to object oriented design. Various design decisions are presented and discussed, i.e. model hierarchy and breakdown, dynamic configuration of scenarios, and fast and slow processes.