Towards frabjous
Oliver Schneider, Christopher Dutchyn, Nathaniel David Osgood · 2012
Agent-based infection-transmission models, which simulate an infection moving through a population, are being employed more frequently by health policy-makers. However, these models present several obstacles to widespread adoption. They are complex entities and impose a high development and maintenance cost. Current tools can be opaque, requiring multidisciplinary collaboration between a modeler and an expert programmer, and another round of translation when communicating with domain experts. In this paper, we describe the use of functional reactive programming (FRP), a programming paradigm created by imbuing a functional programming language with an intrinsic sense of time, to represent agent-based models in a concise and transparent way. We document the conversion of several agent-based models developed in the popular hybrid modeling tool AnyLogic to a representation in FRP. We also introduce Frabjous, a programming framework and domain-specific language for computational modeling. Frabjous generates human-readable and modifiable FRP code from a model specification, allowing modelers to have two transparent representations in which to program: a high-level model specification, and a full functional programming language with an agent-based modeling framework.