ABSTRACT
In this paper we present our use of functional programming (FP), specifically Haskell, to provide an operational semantics for a domain-specific language, CellML, that describes mathematical models of biological processes. We analyse the benefits and shortcomings of this approach, in comparison with other semantic definitions for CellML.
It is our claim that using FP for our semantics results in a more concise and useful artifact for describing what such a model means. The use of lazy evaluation removes the need to explicitly determine an evaluation order for the model, resulting in a more elegant interpreter. Crucially, using FP enables us to prove the correctness of optimisation techniques for such models. This gives us more confidence in scientific deductions from simulation results. We compare the Python implementation of these optimisation techniques with our use of Haskell in proving their correctness.
- Jonathan Cooper and Steve McKeever. A model-driven approach to automatic conversion of physical units. Softw. Pract. Exper., 2007. doi: 10.1002/spe.828. Google Scholar
Digital Library
- Jonathan Cooper, Steve McKeever, and Alan Garny. On the application of partial evaluation to the optimisation of cardiac electrophysiological simulations. In PEPM '06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 12--20, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-196-1. doi: 10.1145/1111542.1111546. Google Scholar
Digital Library
- Autumn Cuellar, Poul Nielsen, Matt Halstead, David Bullivant, David Nickerson, Warren Hedley, Melanie Nelson, and Catherine Lloyd. CellML Specification 1.1, February 2006. http://www.cellml.org/specifications/cellml_1.1/ {6 Mar 2007}.Google Scholar
- Warren Hedley and Melanie Nelson. CellML Specification 1.0, August 2001. http://www.cellml.org/specifications/cellml_1.0/ {14 November 2006}.Google Scholar
- Catherine M. Lloyd, Matt D. B. Halstead, and Poul F. Nielsen. CellML: its future, present and past. Progress in Biophysics and Molecular Biology, 85:433--450, 2004. doi: 10.1016/j.pbiomolbio.2004.01.004.Google Scholar
Cross Ref
- Ching-hsing Luo and Yoram Rudy. Dynamic model of the cardiac ventricular action potential - simulations of ionic currents and concentration changes. Circulation Research, 74:1071--1097, 1994. http://rudylab.wustl.edu/research/cell/methodology/.Google Scholar
Cross Ref
Index Terms
Experience report: a Haskell interpreter for cellML
Recommendations
Experience report: a Haskell interpreter for cellML
Proceedings of the ICFP '07 conferenceIn this paper we present our use of functional programming (FP), specifically Haskell, to provide an operational semantics for a domain-specific language, CellML, that describes mathematical models of biological processes. We analyse the benefits and ...
Experience report: using hackage to inform language design
HASKELL '10Hackage, an online repository of Haskell applications and libraries, provides a hub for programmers to both release code to and use code from the larger Haskell community. We suggest that Hackage can also serve as a valuable resource for language ...
Experience report: using hackage to inform language design
Haskell '10: Proceedings of the third ACM Haskell symposium on HaskellHackage, an online repository of Haskell applications and libraries, provides a hub for programmers to both release code to and use code from the larger Haskell community. We suggest that Hackage can also serve as a valuable resource for language ...







Comments