The Kendrick modelling platform: language abstractions and tools for epidemiology

Background Mathematical and computational models are widely used for examining transmission, pathogenicity and propagation of infectious diseases. Software implementation of such models and their accompanied modelling tools do not adhere to well established software engineering principles. These principles include both modularity and clear separation of concerns that can promote reproducibility and reusability by other researchers. On the contrary the software written for epidemiology is monolithic, highly coupled and severely heterogeneous. This reality ultimately makes these computational models hard to study and to reuse, both because of the programming competence required and because of the incompatibility of the different approaches involved. Our goal with Kendrick is to simplify the creation of epidemiological models through a unified Domain-Specific Language for epidemiology that can support a variety of modelling and simulation approaches classically used in the field. This goal can be achieved by promoting reproducibility and reuse with modular modelling abstractions. Results We show through several examples how our modular abstractions and tools can reproduce uniformly complex mathematical and computational models of epidemics, despite being simulated by different methods. This is achieved without requiring sophisticated programming skills from the part of the user. We then successfully validate each kind of simulation through statistical analysis between the time series generated and the known theoretical expectations. Conclusions Kendrick is one of the few DSLs for epidemiology that does not burden its users with implementation details or expecting sophisticated programming skills. It is also currently the only language for epidemiology that supports modularity through clear separation of concerns that promote reproducibility and reuse. Kendrick’s wider adoption and further development from the epidemiological community could boost research productivity in epidemiology by allowing researchers to easily reproduce and reuse each other’s software models and simulations. The tool can also be used by people who are not necessarily epidemiology modelers.

[1]  David M. Hartley,et al.  A systematic review of mathematical models of mosquito-borne pathogen transmission: 1970–2010 , 2013, Journal of The Royal Society Interface.

[2]  Didier H. Besset Object-Oriented Implementation of Selected Numerical Methods: An Introduction with Java and Smalltalk , 2000 .

[3]  Oscar Nierstrasz,et al.  Pharo by Example , 2010 .

[4]  Brigitte Plateau,et al.  Stochastic Automata Networks , 2021, Introduction to the Numerical Solution of Markov Chains.

[5]  Serge Stinckwich,et al.  Separation of concerns in epidemiological modelling , 2016, MODULARITY.

[6]  Emily K. Szusz,et al.  Scheduling of measles vaccination in low-income countries: projections of a dynamic model. , 2009, Vaccine.

[7]  Brian Foote,et al.  Reflective facilities in Smalltalk-80 , 1989, OOPSLA 1989.

[8]  Peter McBurney,et al.  Ronald: A Domain-Specific Language to Study the Interactions Between Malaria Infections and Drug Treatments , 2008, BIOCOMP.

[9]  Oscar Nierstrasz,et al.  Embedding Languages without Breaking Tools , 2010, ECOOP.

[10]  Joseph N S Eisenberg,et al.  Environmental change and infectious disease: How new roads affect the transmission of diarrheal pathogens in rural Ecuador , 2006, Proceedings of the National Academy of Sciences.

[11]  M. Keeling,et al.  Networks and epidemic models , 2005, Journal of The Royal Society Interface.

[12]  Serge Stinckwich,et al.  Explicit Composition Constructs in DSLs: The case of the epidemiological language KENDRICK , 2016, IWST.

[13]  R. Ostfeld,et al.  Effects of Host Diversity on Infectious Disease , 2012 .

[14]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[15]  Silvie Huijben,et al.  Evolutionary biology and the avoidance of antimicrobial resistance , 2009, Evolutionary applications.

[16]  Kate E. Jones,et al.  Global trends in emerging infectious diseases , 2008, Nature.

[17]  Robert van Engelen,et al.  ATMOL: A Domain-Specific Language for Atmospheric Modeling , 2001 .

[18]  Olivier Curé,et al.  Design of a Domain Specific Language for modelling processes in landscapes. , 2009 .

[19]  D. Gillespie Exact Stochastic Simulation of Coupled Chemical Reactions , 1977 .

[20]  Vanessa Peña-Araya Agile Visualization with Roassal , 2015 .

[21]  N. Ferguson,et al.  Planning for smallpox outbreaks , 2003, Nature.

[22]  Louis P Garrison,et al.  Global eradication of measles: an epidemiologic and economic evaluation. , 2011, The Journal of infectious diseases.

[23]  Alessandro Vespignani,et al.  The GLEaMviz computational tool, a publicly available software to explore realistic epidemic spreading scenarios at the global scale , 2011, BMC infectious diseases.

[24]  Paul W. Ewald Imperfect Vaccines and the Evolution of Pathogen Virulence , 2004 .

[25]  Serge Stinckwich,et al.  KENDRICK: A Domain Specific Language and platform for mathematical epidemiological modelling , 2015, The 2015 IEEE RIVF International Conference on Computing & Communication Technologies - Research, Innovation, and Vision for Future (RIVF).

[26]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[27]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[28]  Desmond J. Higham,et al.  Numerical Methods for Ordinary Differential Equations - Initial Value Problems , 2010, Springer undergraduate mathematics series.

[29]  Christian Thöns,et al.  A generic open-source software framework supporting scenario simulations in bioterrorist crises. , 2013, Biosecurity and bioterrorism : biodefense strategy, practice, and science.

[30]  Kate E. Jones,et al.  Impacts of biodiversity on the emergence and transmission of infectious diseases , 2010, Nature.

[31]  Dennis L. Chao,et al.  FluTE, a Publicly Available Stochastic Influenza Epidemic Simulation Model , 2010, PLoS Comput. Biol..

[32]  Pejman Rohani,et al.  An Agent-Based Model to study the epidemiological and evolutionary dynamics of Influenza viruses , 2011, BMC Bioinformatics.

[33]  A. Fauci,et al.  Emerging Infectious Diseases: Threats to Human Health and Global Stability , 2013, PLoS pathogens.

[34]  R. May,et al.  Infectious Diseases of Humans: Dynamics and Control , 1991, Annals of Internal Medicine.

[35]  Y. Xia,et al.  Measles Metapopulation Dynamics: A Gravity Model for Epidemiological Coupling and Dynamics , 2004, The American Naturalist.

[36]  R. Anderson,et al.  Pulse mass measles vaccination across age cohorts. , 1993, Proceedings of the National Academy of Sciences of the United States of America.

[37]  Trish Berglund,et al.  Changing patterns of infectious disease , 1986 .

[38]  Nathaniel D. Osgood,et al.  Towards frabjous: a two-level system for functional reactive agent-based epidemic simulation , 2012, IHI '12.

[39]  Shawn T. Brown,et al.  FRED (A Framework for Reconstructing Epidemic Dynamics): an open-source software system for modeling infectious diseases and control strategies using census-based populations , 2013, BMC Public Health.

[40]  D. Cummings,et al.  Strategies for containing an emerging influenza pandemic in Southeast Asia , 2005, Nature.

[41]  Oscar Nierstrasz,et al.  Practical Dynamic Grammars for Dynamic Languages , 2010 .

[42]  H. Goossens,et al.  Antibiotic resistance—the need for global solutions , 2013, BDJ.

[43]  Andrew Fall,et al.  A domain-specific language for models of landscape dynamics , 2001 .

[44]  M. Keeling,et al.  Modeling Infectious Diseases in Humans and Animals , 2007 .