Skip to main content
ARS Home » Plains Area » Fort Collins, Colorado » Center for Agricultural Resources Research » Water Management and Systems Research » Research » Publications at this Location » Publication #283159

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

Author
item DAVID, OLAF - Colorado State University
item LLOYD, WESLEY - Colorado State University
item Ascough Ii, James
item Green, Timothy
item OLSON, KEVIN - Colorado State University
item LEAVESLEY, GEORGE - Colorado State University
item CARLSON, JACK - Colorado State University

Submitted to: Meeting Proceedings
Publication Type: Proceedings
Publication Acceptance Date: 7/1/2012
Publication Date: 12/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.