Page Banner

United States Department of Agriculture

Agricultural Research Service

Research Project: OBJECT MODELING AND SCALING OF LANDSCAPE PROCESSES AND CONSERVATION EFFECTS IN AGRICULTURAL SYSTEMS

Location: Agricultural Systems Research Unit

Title: A software engineering perspective on environmental modeling framework design: The object modeling system

Authors
item David, Olaf -
item ASCOUGH, JAMES
item Lloyd, Wes -
item GREEN, TIMOTHY
item Rojas, Ken -
item Leavesley, George -
item AHUJA, LAJPAT

Submitted to: Journal of Environmental Modeling and Software
Publication Type: Peer Reviewed Journal
Publication Acceptance Date: June 14, 2012
Publication Date: November 26, 2012
Citation: David, O., Ascough II, J.C., Lloyd, W., Green, T.R., Rojas, K.W., Leavesley, G.H., Ahuja, L.R. 2012. A software engineering perspective on environmental modeling framework design: The object modeling system. Journal of Environmental Modeling and Software. 39 (2013):201-213.

Interpretive Summary: The environmental modeling community has historically been concerned with the proliferation of models and the effort associated with collective model development tasks (e.g., code generation, data provisioning and transformation, etc.). Environmental modeling frameworks (EMFs) have been developed to address this problem, but much work remains before EMFs are adopted as mainstream modeling tools. Environmental model development requires both scientific understanding of environmental phenomena and software developer proficiency. EMFs support the modeling process through streamlining model code development, with built-in access to various data sources and support for data analysis and visualization. EMFs also support aggregation of model components into functional units, component interaction and communication, temporal-spatial stepping, and cross-language interoperability. The Object Modeling System Version 3 (OMS3) EMF employs new advances in software framework design to better support the environmental model development process. This paper discusses key EMF design goals/constraints and addresses software engineering aspects that have made OMS3 framework development efficacious and its application practical. Software engineering approaches employed in OMS3 are highlighted including a non-invasive lightweight framework design supporting component-based model development, use of implicit parallelism in system design, use of domain specific language design patterns, and cloud-based support for computational scalability and mobile computing. The key advancements in EMF design presented herein may be applicable and beneficial for other EMF efforts seeking to better support environmental model development through improved framework design, including using the open source shared OMS3 framework.

Technical Abstract: The environmental modeling community has historically been concerned with the proliferation of models and the effort associated with collective model development tasks (e.g., code generation, data provisioning and transformation, etc.). Environmental modeling frameworks (EMFs) have been developed to address this problem, but much work remains before EMFs are adopted as mainstream modeling tools. Environmental model development requires both scientific understanding of environmental phenomena and software developer proficiency. EMFs support the modeling process through streamlining model code development, with built-in access to various data sources and support for data analysis and visualization. EMFs also support aggregation of model components into functional units, component interaction and communication, temporal-spatial stepping, scaling of spatial data, multi-threading/multi-processor support, and cross-language interoperability. Some EMFs additionally focus on high-performance computing and are tailored for particular modeling domains such as ecosystem, socio-economic, or climate change research. The Object Modeling System Version 3 (OMS3) EMF employs new advances in software framework design to better support the environmental model development process. This paper discusses key EMF design goals/constraints and addresses software engineering aspects that have made OMS3 framework development efficacious and its application practical, as demonstrated by of leveraging software engineering efforts outside of the modeling community and lessons learned from over a decade of EMF development. Software engineering approaches employed in OMS3 are highlighted including a non-invasive lightweight framework design supporting component-based model development, use of implicit parallelism in system design, use of domain specific language design patterns, and cloud-based support for computational scalability and mobile computing. The key advancements in EMF design presented herein may be applicable and beneficial for other EMF efforts seeking to better support environmental model development through improved framework design, including using the open source shared OMS3 framework.

Last Modified: 8/19/2014
Footer Content Back to Top of Page