Formal Definition and Implementation of Reproducibility Tenets for Computational Workflows
arXiv:2406.01146 · doi:10.1016/j.future.2024.107684
Abstract
Computational workflow management systems power contemporary data-intensive sciences. The slowly resolving reproducibility crisis presents both a sobering warning and an opportunity to iterate on what science and data processing entails. The Square Kilometre Array (SKA), the world's largest radio telescope, is among the most extensive scientific projects underway and presents grand scientific collaboration and data-processing challenges. In this work, we aim to improve the ability of workflow management systems to facilitate reproducible, high-quality science. This work presents a scale and system-agnostic computational workflow model and extends five well-known reproducibility concepts into seven well-defined tenets for this workflow model. Additionally, we present a method to construct workflow execution signatures using cryptographic primitives in amortized constant time. We combine these three concepts and provide a concrete implementation in Data Activated Flow Graph Engine (DALiuGE), a workflow management system for the SKA to embed specific provenance information into workflow signatures, demonstrating the possibility of facilitating automatic formal verification of scientific quality in amortized constant time. We validate our approach with a simple yet representative astronomical processing task: filtering a noisy signal with a lowpass filter using CPU and GPU methods. This example shows the practicality and efficacy of combining formal tenet definitions with a workflow signature generation mechanism. Our framework, spanning formal UML specification, principled provenance information collection based on reproducibility tenets, and finally, a concrete example implementation in DALiuGE illuminates otherwise obscure scientific discrepancies and similarities between principally identical workflow executions.
21 pages, 16 figures, 11 tables. Accepted for publication with Future Generation Computing Systems
References in corpus (6)
- Array Programming with NumPy
- An introduction to Docker for reproducible research, with examples from the R environment
- PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation
- Using Jupyter for reproducible scientific workflows
- Journal of Open Source Software (JOSS): design and first-year review
- Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions