Page Banner

United States Department of Agriculture

Agricultural Research Service

Research Project: Spatial Modeling of Agricultural Watersheds: Water and Nutrient Management and Targeted Conservation Effects at Field to Watershed Scales

Location: Agricultural Systems Research Unit

Title: Domain specific languages for modeling and simulation: use case OMS3

Authors
item David, Olaf -
item Lloyd, Wesley -
item Ascough, James
item Green, Timothy
item Olson, Kevin -
item Leavesley, George -
item Carlson, Jack -

Submitted to: Meeting Proceedings
Publication Type: Proceedings
Publication Acceptance Date: July 1, 2012
Publication Date: December 6, 2012
Citation: David, O., Lloyd, W., Ascough II, J.C., Green, T.R., Olson, K., Leavesley, G.H., Carlson, J.R. 2012. Domain specific languages for modeling and simulation: use case OMS3. In: Seppelt, R., Voinov, A.A., Lange, S., and Bankamp, D., editors. Proceedings of the Sixth Biennial Meeting of the International Environmental Modelling and Software Society, Managing Resources of a Limited Planet: Pathways and Visions under Uncertainty, July 1-5, 2012, Leipzig, Germany. p. 1201-1207.

Interpretive Summary: This paper introduces domain-specific language (DSL) use for creating models and simulations within the Object Modeling System 3 (OMS3) modeling framework. In OMS3, various DSL concepts are adopted to complement general purpose modeling languages such as Java, FORTRAN, and C. Design patterns, such as the builder pattern, are adopted through the DSL to support the setup of complex simulations for various applications such as Ensemble Streamflow Prediction (ESP), model calibration (LUCA), configuration of model efficiency calculation, or output visualization. Experience has shown that a well-balanced adoption of DSL principles, complemented with general purpose language elements, enhances model application productivity while representing less development effort for both model developers and users. It provides a viable alternative to complex graphical user interface development.

Technical Abstract: A domain-specific language (DSL) is usually a concise, declarative language that strongly emphasizes a particular problem domain. DSL methods and implementations in general are widely prototyped and applied in academia for creating elegant ways to express properties, relationships, and behavior of real-world models. This paper introduces DSL use for creating models and simulations within the Object Modeling System 3 (OMS3) modeling framework. In OMS3, various DSL concepts are adopted to complement general purpose modeling languages such as Java, FORTRAN, and C. Design patterns, such as the builder pattern, are adopted through the DSL to support the setup of complex simulations for various applications such as Ensemble Streamflow Prediction (ESP), model calibration (LUCA), configuration of model efficiency calculation, or output visualization. Experience has shown that a well-balanced adoption of DSL principles, complemented with general purpose language elements, enhances model application productivity while representing less development effort for both model developers and users. It provides a viable alternative to complex graphical user interface development.

Last Modified: 10/24/2014
Footer Content Back to Top of Page