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(Basic Modeling Interface)、csdms標準名、Webモデリングツール(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)を備えた中央集権的でオープンソースのモデルリポジトリを構築することで、重複の削減と透明性の向上を図ること。
  • バージョン管理、テスト、クリーンコーディングの教育とトレーニングを通じて、地球科学者におけるソフトウェア工学の実践を改善すること。
  • フレームワークに依存しないインターフェースと標準化された変数名を用いた意味的中間処理により、多様なモデルのシームレスな結合を可能にすること。
  • ローカルのソフトウェアインストールが不要な、アクセスしやすいウェブベースのツールを提供し、ユーザーがモデルを構築・実行・共有できるようにすること。

提案手法

  • フレームワークに依存しない仕様であるBasic Modeling Interface(BMI)を開発し、モデルコンponentsの初期化、更新、終了を標準化する。
  • csdms標準名を実装した。これは、モデル変数名の制御語彙であり、結合時の意味的不一致を解消する。
  • ウェブブラウザ上で動作するRESTful APIとJavaScriptクライントを備えた、ブラウザベースのアプリケーション「Webモデリングツール(WMT)」を構築し、ユーザーがグラフィカルインターフェースを通じてモデルを組み合わせて実行できるようにした。
  • ソースコード、メタデータ、スモーキングテスト済みモデルを格納する中央集権的モデルリポジトリをホスティングし、安定版リリースにはDOIを割り当てた。
  • ソフトウェア開発プロセスにバージョン管理と継続的インテグレーションを統合し、長期的な保守性を確保した。
  • 大学院生を対象に年1回のSoftware Carpentryブートキャンプを実施し、地球科学分野におけるソフトウェア工学のベストプラクティスを定着させた。

実験結果

リサーチクエスチョン

  • RQ1異分野の地球システムモデリングコミュニティにおいて、ソフトウェアの持続可能性と再利用性をどのように向上させられるか?
  • RQ2多様で異種のモデル間で相互運用性を実現するには、どのような技術的および社会的インfraストラクチャが必要か?
  • RQ3標準化されたインターフェースと命名規約は、モデル統合における結合の複雑さと意味的曖昧さをどの程度軽減できるか?
  • RQ4ウェブベースのツールは、専門外のユーザーが複雑なモデリングワークフローの採用をどの程度容易にできるか?
  • RQ5ソフトウェア工学における教育とトレーニングは、地球科学分野における科学的ソフトウェアの品質と存続期間を向上させる上で果たす役割は何か?

主な発見

  • CSDMSモデルリポジトリには200を超えるモデルとツールが収録されており、合計400万行を超えるコードが存在し、13,000回を超えるダウンロードが記録されており、コミュニティの強い受容が示された。
  • Basic Modeling Interface(BMI)の使用により、統合作業の負荷が著しく低減され、BMI準拠コンponentsが結合フレームワークに自動的に統合可能となった。
  • csdms標準名は、モデル変数の一貫性があり、ドメインに依存しない語彙を提供し、コンponents間での信頼性の高いデータ交換と意味的中間処理を可能にした。
  • Webモデリングツール(WMT)は、ユーザーがウェブブラウザ上で直接モデルを構築・設定・実行でき、単一コンponentおよび双方向結合シミュレーションをサポートした。
  • バージョン管理、ユニットテスト、テスト駆動開発といったソフトウェア工学の実践が、対象を絞ったワークショップを通じて効果的に推進され、大学院生の参加が高水準で維持された。
  • 安定版ソフトウェアリリースにDOIを割り当てたことで、ソフトウェアの引用、可視性、インパクトの追跡が向上し、モデルリポジトリはオープンソース科学ツールにおけるソフトウェア引用のパイオニアとして認識された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。