Frabjous: A Declarative Domain-Specific Language for Agent-Based Modeling

  • Ivan Vendrov
  • Christopher Dutchyn
  • Nathaniel D. Osgood
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8393)


Agent-based modeling (ABM) is a powerful tool for the study of complex systems; but agent-based models are notoriously difficult to create, modify, and reason about, especially in contrast to system dynamics models. We argue that these difficulties are strongly related to the choice of specification language, and that they can be mitigated by using functional reactive programming (FRP), a paradigm for describing dynamic systems. We describe Frabjous, a new language for agent-based modeling based on FRP, and discuss its software engineering benefits and their broader implications for language choice in ABM.


functional reactive functional programming simulation dynamic model domain-specific language agent-based simulation agent-based modeling 


  1. 1.
    Chakaravarty, M.M., Leschinskiy, R., Peyton-Jones, S., Keller, G., Marlow, S.: Data parallel Haskell: a status report. In: Workshop on Declarative Aspects of Multicore Programming, pp. 10–18. ACM Press (January 2007)Google Scholar
  2. 2.
    Chakravarty, M.M., Keller, G., Lee, S., McDonell, T.L., Grover, V.: Accelerating Haskell array codes with multicore GPUs. In: Sixth Workshop on Declarative Aspects of Multicore Programming, DAMP 2011, pp. 3–14. ACM, New York (2011)Google Scholar
  3. 3.
    Courtney, A., Nilsson, H., Peterson, J.: The yampa arcade. In: 2003 ACM SIGPLAN Workshop on Haskell, Haskell 2003, pp. 7–18. ACM, New York (2003)Google Scholar
  4. 4.
    Elliott, C., Hudak, P.: Functional reactive animation. In: International Conference on Functional Programming, pp. 263–273 (1997)Google Scholar
  5. 5.
    Hudak, P., Courtney, A., Nilsson, H., Peterson, J.: Arrows, robots, and functional reactive programming. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 159–187. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Hughes, J.: Generalising monads to arrows. Science of Computer Programming 37, 67–111 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Jacquez, J.A., Simon, C.P., Koopman, J., Sattenspiel, L., Perry, T.: Modeling and analyzing HIV transmission: the effect of contact patterns. Mathematical Biosciences 92(2), 119–199 (1988)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Keeling, M.: The implications of network structure for epidemic dynamics. Theoretical Population Biology 67(1), 1–8 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  9. 9.
    Nilsson, H., Courtney, A., Peterson, J.: Functional reactive progamming, continued. In: 2002 ACM SIGPLAN Workshop on Haskell, pp. 51–64 (2002)Google Scholar
  10. 10.
    Osgood, N.: Systems dynamics and agent-based approaches: Clarifying the terminology and tradeoffs. In: First International Congress of Business Dynamics (2006)Google Scholar
  11. 11.
    Osgood, N.: Using traditional and agent based toolsets for system dynamics: Present tradeoffs and future evolution. In: 2007 International Conference on System Dynamics (2007)Google Scholar
  12. 12.
    Rahmandad, H., Sterman, J.: Heterogeneity and network structure in the dynamics of contagion: Comparing agent-based and differential equation models. In: 2004 International Conference on System Dynamics (2004)Google Scholar
  13. 13.
    Schneider, O., Dutchyn, C., Osgood, N.: Towards frabjous: a two-level system for functional reactive agent-based epidemic simulation. In: 2nd ACM SIGHIT International Health Informatics Symposium, IHI 2012, pp. 785–790. ACM, New York (2012)Google Scholar
  14. 14.
    Soeylemez, E.: Netwire (2012) (accessed August 29, 2013)Google Scholar
  15. 15.
    Wadler, P.: Monads for functional programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Ivan Vendrov
    • 1
  • Christopher Dutchyn
    • 1
  • Nathaniel D. Osgood
    • 1
  1. 1.University of SaskatchewanCanada

Personalised recommendations