Skip to main content
QUICK REVIEW

[论文解读] Building Sustainable Software - The CSDMS Approach

Eric Hutton, Mark Piper|arXiv (Cornell University)|Jul 15, 2014
Scientific Computing and Data Management参考文献 6被引用 5
一句话总结

本文介绍了地球系统建模中的社区地表动力学建模系统(CSDMS),该系统通过标准化接口、版本控制和社区教育,提升了软件的可持续性、互操作性和可重用性。通过实施基础建模接口(BMI)、csdms标准名称以及网络建模工具(WMT),CSDMS使研究人员能够通过基于网络的界面组合、共享和运行耦合模型,迄今已实现超过13,000次模型下载,并形成了一个超过1,200名科学家参与的国际社区。

ABSTRACT

CSDMS, The Community Surface Dynamics Modeling System, is an NSF funded project whose focus is to aid a diverse community of earth and ocean system model users and developers to use and create robust software quickly. To this end, CSDMS develops, integrates, archives and disseminates earth-system models and tools to an international (67 country) community with the goal of building the set of tools necessary to model the earth system. Modelers use CSDMS for access to hundreds of open source surface-dynamics models and tools, as well as model metadata. Such a model repository increases model transparency and helps eliminate duplication by presenting the current state of modeling efforts. To increase software sustainability, composability and interoperability, CSDMS promotes standards that define common modeling interfaces, semantic mediation between models, and model metadata. Through online resources and workshops, CSDMS promotes software engineering best practices, which are unfamiliar to many developers within our modeling community. For example, version control, unit testing, continuous integration, test-driven development, and well-written clean code are all topics of the educational mission of CSDMS.

研究动机与目标

  • 通过建立全社区范围的标准,解决地球与海洋系统建模中软件可持续性和互操作性不足的问题。
  • 通过创建集中化、开源的模型仓库并配备版本控制和数字对象标识符(DOIs),减少重复工作并提高透明度。
  • 通过版本控制、测试和整洁编码方面的教育与培训,提升地球科学家的软件工程实践水平。
  • 通过与框架无关的接口和使用标准化变量名称的语义中介,实现多种模型的无缝耦合。
  • 提供易于访问的基于网络的工具,使用户无需本地软件安装即可构建、运行和共享耦合模型。

提出的方法

  • 开发了基础建模接口(BMI),一种与框架无关的规范,用于标准化模型组件的初始化、更新和终止操作。
  • 实施了csdms标准名称——一种用于模型变量名称的受控词汇表,以解决模型耦合过程中组件间的语义不匹配问题。
  • 构建了网络建模工具(WMT),一个基于浏览器的应用程序,配备RESTful API和JavaScript客户端,使用户可通过图形化界面组合和执行耦合模型。
  • 托管了一个集中化的模型仓库,用于存储源代码、元数据和经过烟雾测试的模型,并为稳定版本分配DOI,确保可引用性。
  • 将版本控制和持续集成实践整合到模型开发流程中,以保障长期可维护性。
  • 每年举办面向研究生的软件工程训练营(Software Carpentry bootcamps),在地球科学研究中推广最佳软件工程实践。

实验结果

研究问题

  • RQ1如何在跨学科的地球系统建模社区中提升软件的可持续性和可重用性?
  • RQ2实现多种异构模型之间互操作性所需的软硬件与社会基础设施是什么?
  • RQ3标准化接口和命名规范在降低模型集成的复杂性和语义模糊性方面发挥何种作用?
  • RQ4基于网络的工具在多大程度上能够提升非专业用户对复杂建模工作流的可及性和采纳率?
  • RQ5软件工程方面的教育与培训在提升地球科学中科学软件的质量和寿命方面起到什么作用?

主要发现

  • CSDMS模型仓库目前托管了200多个模型和工具,代码总量超过400万行,下载量超过13,000次,显示出强劲的社区采纳度。
  • 使用基础建模接口(BMI)显著降低了集成工作量,使BMI兼容组件能够自动集成到耦合框架中。
  • csdms标准名称为模型变量提供了统一、领域无关的词汇表,实现了组件间可靠的数据交换和语义中介。
  • 网络建模工具(WMT)使用户能够在网页浏览器中直接构建、配置和运行耦合模型,支持单组件和双向耦合模拟。
  • 通过针对性的研讨会成功推广了版本控制、单元测试和测试驱动开发等软件工程实践,研究生参与度高。
  • 为稳定软件发布分配DOI,提升了软件引用、可见性和影响力追踪,该模型仓库被公认为开源科学工具软件引用的先驱。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。