The Society for Modeling and Simulation International
Abstract
This paper describes the core of an object-oriented simulation framework (SF), implemented in C++, to support hierarchical dynamic systems simulators development. The simulation framework (SF) presented herein arose from the need for a tool to facilitate and standardize the development of process-based simulation models in research projects at Embrapa (Brazilian Agricultural Research Corporation). This SF targeted modularity and simplicity of code to facilitate model development by multidisciplinary research teams and implementation by high turnover groups of student trainees. Model components, typically developed by teams of experts in specific processes, can be developed independently and later connected, sequentially or aggregated in a hierarchical way. The SF allows compiling simulators as libraries and provides a general interface to allow simulations to be carried out by client applications, e.g. graphical user interfaces, databases, statistical or mathematical packages. In contrast to other existing frameworks, this SF does not store the trajectories of the variables but allows the client application to get the values of the outputs along the simulation through the use of callbacks. The client application can store the variables trajectories in the most convenient way for its specific purpose. The SF supports continuous, discrete-event and hybrid simulations. An example application is provided.464237242Bergez, J.E., Chabrier, P., Gary, C., Jeuffroy, M.H., Makowski, D., Quesnel, G., Ramat, E., Garcia, F., An open platform to build, evaluate and simulate integrated models of farming and agroecosystems (2013) Environmental Modelling & Software, 39, pp. 39-49Bolte, J., Object-oriented programming for decision systems (1998) Agricultural Systems Modeling and Simulation, pp. 629-650. , Peart, R. M. and Curry, R. B. eds, MARCEL DEKKER INCBoote, K.J., Jones, J.W., Hoogenboom, G., Simulation of crop growth: Cropgro model (1998) Agricultural Systems Modeling and Simulation, pp. 651-692. , Peart, R. M. and Curry, R. B. eds, MARCEL DEKKER INCFilippi, J.-B., Bisgambiglia, P., JDEVS: An implementation of a DEVS based formal framework for environmental modelling (2004) Environmental Modelling and Software, 19 (3), pp. 261-274. , DOI 10.1016/j.envsoft.2003.08.016Jones, J.W., Keating, B.A., Porter, C.H., Approaches to modular model development (2001) Agricultural Systems, 70 (2-3), pp. 421-443. , DOI 10.1016/S0308-521X(01)00054-3, PII S0308521X01000543Moore, A.D., Holzworth, D.P., Herrmann, N.I., Huth, N.I., Robertson, M.J., The Common Modelling Protocol: A hierarchical framework for simulation of agricultural and environmental systems (2007) Agricultural Systems, 95 (1-3), pp. 37-48. , DOI 10.1016/j.agsy.2007.03.006, PII S0308521X07000510Nutaro, J.J., (2011) Building Software for Simulation - Theory and Algorithms with Applications in C++, , John Wiley & Sons, Inc. NJOltjen, J.W., Bywater, A.C., Baldwin, R.L., Garrett, W.N., Development of a dynamic model of beef cattle growth and composition (1986) Journal of Animal Science, 62, pp. 86-97Quesnel, G., Duboz, R., Ramat, E., Traoré, M.K., VLE: A multimodeling and simulation environment (2007) Proceedings of the 2007 Summer Computer Simulation Conference, pp. 367-374. , San Diego, CAZeigler, B.P., Praehofer, H., Kim, T.G., (2000) Theory of Modeling and Simulation, , second edition. Academic Press, Amsterdam, N