Utility of object-oriented programming in complex system modeling

  • Authors:
  • William M. Clapham;Carol J. Crosby

  • Affiliations:
  • New England Plant, Soil and Water Lab, USDA/ARS University of Maine, Orono, Maine 04469, U.S.A.;New England Plant, Soil and Water Lab, USDA/ARS University of Maine, Orono, Maine 04469, U.S.A.

  • Venue:
  • Mathematical and Computer Modelling: An International Journal
  • Year:
  • 1992

Quantified Score

Hi-index 0.98

Visualization

Abstract

Complex systems are difficult to model due to the specification of many variables and their interactions. They are prevalent in medicine and in other areas of natural science such as ecology, agronomic systems and zoology. The fundamental issue in simulating complex systems is understanding and modeling interactions explicitly. Difficulty in modeling ecosystem behavior results from ecosystem complexity and the architecture imposed by the programming language. Simulation models coded in procedural languages are often difficult to represent due to inherent deficiencies in these languages, such as linear flow of control and separation of data and procedures. Object-oriented programming (OOP) provides an alternative approach for complex system modeling. Data and methods (operations) are encapsulated in objects and may be accessed only by receiving messages sent from other objects. The interaction among simple objects results in complex system behavior. A nitrogen dynamics simulation modeling system was implemented using Smalltalk-8O, an OOP language. Objects defined include: Compound, Microbe, Soil, Organic Matter, Crop, and their subclasses. By isolating and unifying the data and behavior of individual components of an ecosystem in the form of independent objects, complex system models are additive, and simulations are configured at run-time. This paper compares the procedural and object-oriented paradigms for addressing the problem of simulating complex system behavior.