Containerization for creating reusable model code
Article Full Text (PDF)

Keywords

computational models
containers
research software
reproducibility
model portability

How to Cite

Vanegas Ferro, M., Lee, A., Pritchard, C., Barton, C. M., & Janssen, M. A. (2022). Containerization for creating reusable model code. Socio-Environmental Systems Modelling, 3, 18074. https://doi.org/10.18174/sesmo.18074

Abstract

Will you be able to run your computational models in the future? Even with well-documented code, this can be difficult due to changes in the software frameworks and operating systems that your code was built on. In this paper we discuss the use of containers to preserve code and their software dependencies to reproduce simulation results in the future. Containers are standalone lightweight packages of the original model software and their dependencies that can be run independent of the platform. As such they are suitable for reuse and sharing results. However, the use of containers is rare in the field of modeling social-environmental systems. We provide an introduction to the basic principles of containerization, argue why it would be beneficial if this tool became common practice in the field, describe a conceptual walkthrough to the process of containerizing a model, and reflect on near future directions of containerization workflows.

Article Full Text (PDF)

References

Almugbel, R., Hung, L.-H., Hu, J., Almutairy, A., Ortogero, N., Tamta, Y., & Yeung, K. Y. (2017). Reproducible Bioconductor workflows using browser-based interactive notebooks and containers. Journal of the American Medical Informatics Association, 25(1), 4–12. https://doi.org/10.1093/jamia/ocx120

Amouroux, E., Gaudou, B., Desvaux, S., & Drogoul, A. (2010). O.D.D.: A Promising but Incomplete Formalism for Individual-Based Model Specification. 2010 IEEE RIVF International Conference on Computing & Communication Technologies, Research, Innovation, and Vision for the Future (RIVF), 1–4. https://doi.org/10.1109/RIVF.2010.5633421

Ayllón, D., Railsback, S. F., Gallagher, C., Augusiak, J., Baveco, H., Berger, U., Charles, S., Martin, R., Focks, A., Galic, N., Liu, C., van Loon, E. E., Nabe-Nielsen, J., Piou, C., Polhill, J. G., Preuss, T. G., Radchuk, V., Schmolke, A., Stadnicka-Michalak, J., Thorbeck, T., Grimm, V. (2021). Keeping modelling notebooks with TRACE: Good for you and good for environmental research and management support. Environmental Modelling & Software, 136, 104932. https://doi.org/10.1016/j.envsoft.2020.104932

Bell, A. R., Robinson, D. T., Malik, A., & Dewal, S. (2015). Modular ABM development for improved dissemination and training. Environmental Modelling & Software, 73, 189–200. https://doi.org/10.1016/j.envsoft.2015.07.016

Boettiger, C. (2015). An introduction to Docker for reproducible research. ACM SIGOPS Operating Systems Review, 49(1), 71–79. https://doi.org/10.1145/2723872.2723882

Boettiger, C., & Eddelbuettel, D. (2017). An Introduction to Rocker: Docker Containers for R. The R Journal, 9(2), 527. https://doi.org/10.32614/RJ-2017-065

Brinckman, A., Chard, K., Gaffney, N., Hategan, M., Jones, M. B., Kowalik, K., Kulasekaran, S., Ludäscher, B., Mecum, B. D., Nabrzyski, J., Stodden, V., Taylor, I. J., Turk, M. J., & Turner, K. (2019). Computing environments for reproducibility: Capturing the “Whole Tale.” Future Generation Computer Systems, 94, 854–867. https://doi.org/10.1016/j.future.2017.12.029

Clyburne-Sherin, A., Fei, X., & Green, S. A. (2019). Computational Reproducibility via Containers in Psychology. Meta-Psychology, 3, MP.2018.892. https://doi.org/10.15626/MP.2018.892

Di Tommaso, P., Palumbo, E., Chatzou, M., Prieto, P., Heuer, M. L., & Notredame, C. (2015). The impact of Docker containers on the performance of genomic pipelines. PeerJ, 3, e1273. https://doi.org/10.7717/peerj.1273

Felter, W., Ferreira, A., Rajamony, R., & Rubio, J. (2014). An updated performance comparison of virtual machines and linux containers (IBM Research Report). IBM Research Division. https://dominoweb.draco.res.ibm.com/reports/rc25482.pdf

Grimm, V., Railsback, S. F., Vincenot, C. E., Berger, U., Gallagher, C., DeAngelis, D. L., Edmonds, B., Ge, J., Giske, J., Groeneveld, J., Johnston, A. S. A., Milles, A., Nabe-Nielsen, J., Polhill, J. G., Radchuk, V., Rohwäder, M.-S., Stillman, R. A., Thiele, J. C., & Ayllón, D. (2020). The ODD Protocol for Describing Agent-Based and Other Simulation Models: A Second Update to Improve Clarity, Replication, and Structural Realism. Journal of Artificial Societies and Social Simulation, 23(2), 7. https://doi.org/10.18564/jasss.4259

Hacker, J. P., Exby, J., Gill, D., Jimenez, I., Maltzahn, C., See, T., Mullendore, G., & Fossell, K. (2017). A Containerized Mesoscale Model and Analysis Toolkit to Accelerate Classroom Learning, Collaborative Research, and Uncertainty Quantification. Bulletin of the American Meteorological Society, 98(6), 1129–1138. https://doi.org/10.1175/BAMS-D-15-00255.1

Hales, D., Rouchier, J., & Edmonds, B. (2003). Model-to-Model Analysis. Journal of Artificial Societies and Social Simulation, 6(4), 5. http://jasss.soc.surrey.ac.uk/6/4/5.html

Hinsen, K. (2019). Dealing With Software Collapse. Computing in Science & Engineering, 21(3), 104–108. https://doi.org/10.1109/MCSE.2019.2900945

Jalili, V., Afgan, E., Gu, Q., Clements, D., Blankenberg, D., Goecks, J., Taylor, J., & Nekrutenko, A. (2020). The Galaxy platform for accessible, reproducible and collaborative biomedical analyses: 2020 update. Nucleic Acids Research, 48(W1), W395–W402. https://doi.org/10.1093/nar/gkaa434

Janssen, M., & Jager, W. (1999). An integrated approach to simulating behavioural processes: A case study of the lock-in of consumption patterns. Journal of Artificial Societies and Social Simulation, 2(2), 21–35.

Kurtzer, G. M., Sochat, V., & Bauer, M. W. (2017). Singularity: Scientific containers for mobility of compute. PLOS ONE, 12(5), e0177459. https://doi.org/10.1371/journal.pone.0177459

McPhillips, T., Willis, C., Gryk, M. R., Nunez-Corrales, S., & Ludascher, B. (2019). Reproducibility by Other Means: Transparent Research Objects. 2019 15th International Conference on EScience (EScience), 502–509. https://doi.org/10.1109/eScience.2019.00066

Meadows, M., & Cliff, D. (2012). Reexamining the Relative Agreement Model of Opinion Dynamics. Journal of Artificial Societies and Social Simulation, 15(4), 4. https://doi.org/10.18564/jasss.2083

Morris, D., Voutsinas, S., Hambly, N. C., & Mann, R. G. (2017). Use of Docker for deployment and testing of astronomy software. Astronomy and Computing, 20, 105–119. https://doi.org/10.1016/j.ascom.2017.07.004

Open Container Initiative. (n.d.). About the Open Container Initiative. Retrieved October 21, 2021, from https://opencontainers.org/about/overview/

Pineau, J., Vincent-Lamarre, P., Sinha, K., Larivière, V., Beygelzimer, A., d’Alché-Buc, F., Fox, E., & Larochelle, H. (2020). Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program). ArXiv:2003.12206 [Cs, Stat]. http://arxiv.org/abs/2003.12206

Polhill, J. G., Izquierdo, L. R., & Gotts, N. M. (2005). The Ghost in the Model (and Other Effects of Floating Point Arithmetic). Journal of Artificial Societies and Social Simulation, 8(1), 5.

Robinson, D. T., Di Vittorio, A., Alexander, P., Arneth, A., Barton, C. M., Brown, D. G., Kettner, A., Lemmen, C., O’Neill, B. C., Janssen, M., Pugh, T. A. M., Rabin, S. S., Rounsevell, M., Syvitski, J. P., Ullah, I., & Verburg, P. H. (2018). Modelling feedbacks between human and natural processes in the land system. Earth System Dynamics, 9(2), 895–914. https://doi.org/10.5194/esd-9-895-2018

Rollins, N. D., Barton, C. M., Bergin, S., Janssen, M. A., & Lee, A. (2014). A Computational Model Library for publishing model documentation and code. Environmental Modelling & Software, 61, 59–64. https://doi.org/10.1016/j.envsoft.2014.06.022

Seppelt, R., & Richter, O. (2005). “It was an artefact not the result”: A note on systems dynamic model development tools. Environmental Modelling & Software, 20(12), 1543–1548. https://doi.org/10.1016/j.envsoft.2004.12.004

Wilensky, U., & Rand, W. (2007). Making Models Match: Replicating an Agent-Based Model. Journal of Artificial Societies and Social Simulation, 10(4), 2.

Wilkinson, M. D., Dumontier, M., Aalbersberg, Ij. J., Appleton, G., Axton, M., Baak, A., Blomberg, N., Boiten, J.-W., da Silva Santos, L. B., Bourne, P. E., Bouwman, J., Brookes, A. J., Clark, T., Crosas, M., Dillo, I., Dumon, O., Edmunds, S., Evelo, C. T., Finkers, R., … Mons, B. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data, 3(1), 160018. https://doi.org/10.1038/sdata.2016.18

Wilson, G., Bryan, J., Cranston, K., Kitzes, J., Nederbragt, L., & Teal, T. K. (2017). Good enough practices in scientific computing. PLOS Computational Biology, 13(6), e1005510. https://doi.org/10.1371/journal.pcbi.1005510

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Copyright (c) 2021 Manuela Vanegas Ferro, Allen Lee, Calvin Pritchard, C. Michael Barton, Marco A. Janssen