Reusability

Overview of Reusability Standards

In this document we adopt the reuse terminology defined in the FAIR Principles for Research Software.

Reusability implicitly includes usability and focuses on the ability of humans and machines to execute, inspect, and understand the software so that it can be modified, built upon, or incorporated into other software.

Goals for Reusability Standards

A reusable computational model can be executed, understood, modified, built upon, or incorporated into other software.

Minimal Reusability Standards

A minimal set of guidelines that can be adopted by journals to ensure that submitted publications meet baseline reproducibility and reusability requirements.

Reusable computational models must:

  • meet OMF minimal standards for Accessibility and Documentation
  • have a clear and accessible open source, OSI approved license
  • include detailed metadata that facilitate reuse (e.g., input and output semantics, data types, units)
  • include detailed provenance on authorship and contributions
  • provide qualified information on all software and system dependencies with versions (operating system, software and system libraries)
  • provide clear instructions on how to execute the software

Ideal Reusability Standards

In order to meet the ideal standards, computational models should:

  • favor open file formats for data inputs and outputs (e.g., CSV, netCDF, geoJSON, Parquet, Feather)
  • provide durable containerization recipes (i.e., archival quality container images)
  • include relevant output analyses, data pipelines, and/or workflows
  • include metadata on related research outputs (publications, other software, relationship)
  • use continuous integration services that run automated tests on the software
  • for software with large compute or data requirements, representative input data samples along with sampling methodology
  • provide additional community established domain specific standards

Cyberinfrastructure and Tools to Support Reusability Standards

Build Docker images from research code:

Computational Archives:

OMF may consider developing scaffolding for common modeling frameworks that reduce friction of adoption

Examples and References

Issues / Errata

Dependencies on commercial / closed source products are fine so long as they are clearly qualified with version and operating system e.g., MATLAB R2016b (Windows 10), AnyLogic 8.7 (Windows 10), ArcGIS 10.8.1 (macOS 10.15), NetLogo 6.2.1 (Ubuntu 20.04LTS)