Object-Oriented Approach to Tree Growth Modelling: Concepts and Examples
AM Rasol
PhD Researcher
De Monfort University, UK
This research was initiated to learn what the tree growth modeling community could do to facilitate an evolution form existing tree growth models towards more modular ones that can meet increasing demands. Specific objectives are to 1) use UML to design and implement a modular tree growth model using an object oriented language, and 2) to compare the characteristics of this model and its development with a modular model written in Dbase. To better understand issues and challenges of using an object-oriented (OO) paradigm relative to a C-based model, the process with a simple, generic tree growth model. The complexity of the model is minimal hence allowing the focus to be more on model structure instead of the model itself. Two critical issues were considered throughout this study: 1) the exchangeability of modules and 2) the independence of the structure from a specific programming language.
From the experience of converting a simple tree growth model developed in C into an object-oriented environment, the UML can be useful to bring modelers to discuss modeling without considering any particular programming language. Modelers can exchange diagrams and convert them into particular programming languages.
Keywords: Object-Oriented, Tree Growth Model, UML, C
Introduction
In the late 1980’s and early 1990’s, researchers started developing computer models for simulating tree growth and yield (Power, 1993; Saarenmaa, et. al, 1992 ). Following the introduction of computer, the number of researchers developing models increased, as did the number of tree growth models. Researchers began to realize the need to make models compatible for more efficient applications by researchers and others outside the groups that developed them.
There have been different responses by researchers to these critical needs. One could argue that the models should be reprogrammed, however unless there is a compelling reason and resources to do so, this is not a practical solution. Some researchers have reprogrammed existing models using new OO programming languages, but these efforts have not, by themselves, led to a move to convert existing models from C to these new languages. Specifically, the exchange data and expertise between researchers in different regions of the world does not yet seem to benefit from the advantages of OO paradigm.
To discover the nature of problems while converting tree growth simulation models written in C into an OO environment, it started with a small generic model (Saarenmaa, 1992). This model is available at ????. the model contains three main modules: Stand, Tree and Treatment. Researchers at the FRIM, Malaysia developed and extensively use this approach DipSim (Chong, et al, 1997). The basic idea is to create units or modules that would acts as individuals, with their own data and sub-routines. Each module should: read its own parameters, initialize its own variables, own its set of state variables, compute rates of change for its state variables, integrates its state variables and be able to dialog with other modules in order to stimulate the whole system.
Although this modular tree growth was written in C, conceptually it was a logical step towards creating independent units with data and behaviour. In this work, OO approach largely used this modular structure to depict classes and provide them with the right data and behaviour.
To effectively build a complex system, the developers begin by looking at the big picture without getting caught up in details. Visual modeling has one communication standard: Unified Modelling Language (Booch et al. 1999). The UML provides a smooth transition between the business domain and the computer domain. The following are the UML diagrams used to build the system.
Use Case Diagram