Skip to main content
QUICK REVIEW

[論文レビュー] Computer-aided modelling of complex physical systems with BondGraphTools

Peter Cudmore, P.J. Gawthrop|arXiv (Cornell University)|Jun 26, 2019
ATP Synthase and ATPases Research参考文献 15被引用数 6
ひとこと要約

BondGraphTools は、バインドグラフ手法を用いて、複雑なマルチフィジックス系の記号的でスクリプタブルなモデリングを可能にするオープンソースの Python ライブラリであり、科学的 Python エコシステムとシームレスに統合される。これは、自動化、再現可能性、およびクロスドメインの応用—特にシステム生物学および工学分野—を支援する標準化されエネルギー保存則を満たすインターフェースを提供することで、システムモデリングを加速する。

ABSTRACT

BondGraphTools is a Python library for scripted modelling of complex multi-physics systems. In contrast to existing modelling solutions, BondGraphTools is based upon the well established bond graph methodology, provides a programming interface for symbolic model composition, and is intended to be used in conjunction with the existing scientific Python toolchain. Here we discuss the design, implementation and use of BondGraphTools, demonstrate how it can be used to accelerate systems modelling with an example from optomechanics, and comment on current and future applications in cross-domain modelling, particularly in systems biology.

研究の動機と目的

  • 複数の分野にまたがる複雑な物理的システムのモデリングに向け、拡張可能で自動化され相互運用可能なツールの不足に対処すること。
  • 硬直的で孤立したプロprietaryなグラフィカルモデリングツールに代わる、記号的でプログラム可能な代替手段を提供すること。
  • オープンソース開発、バージョン管理、および既存の科学的 Python ワークフローとの統合を通じて、持続可能で協働的なシステムモデリングを支援すること。
  • 複数の時間スケールおよび非線形ダイナミクスを有するシステムのための、自動化されたモデル構築、簡略化、および解析を可能にすること。
  • テスト駆動開発、継続的インテグレーション、およびコンテナ化デプロイメントを通じて、再現可能性と長期的なソフトウェアの持続可能性を促進すること。

提案手法

  • エネルギーの流れを努力変数とフロー変数を介して物理的サブシステム間で形式的フレームワークとしてモデル化するバインドグラフ手法を用い、エネルギー保存則を保証する。
  • 標準的な科学的 Python ライブラリ(例:SymPy、NumPy)を用いて、記号的でスクリプタブルなバインドグラフモデルの構築、組み合わせ、操作を可能にする Python ベースの API を提供する。
  • 記号的計算を用いてシステム方程式を表現・変換し、状態空間モデルの自動導出および簡略化を可能にする。
  • PyJulia を介して Julia と統合し、導出された微分代数方程式の高速な数値的解法を実現する。
  • コード品質、安定性、および後方互換性を保証するため、テスト駆動開発(TDD)および継続的インテグレーション(Travis CI、CodeClimate)を採用する。
  • バージョン管理されたリリース、Git タグ、および Vagrant コンテナを用いて、ソフトウェアスタックと依存関係を完全に封入することで再現性を支援する。

実験結果

リサーチクエスチョン

  • RQ1どのようにしてバインドグラフモデリングを科学的 Python ワークフローに自動化および統合することで、モデル開発の効率を向上させることができるか?
  • RQ2長期的な持続可能性と再現可能性を保証するための、科学的モデリングツールに不可欠なソフトウェア工学的実践は何か?
  • RQ3複雑な物理的システムに対して、オープンソースでスクリプタブルなライブラリとして、記号的モデルの組み合わせと簡略化を効果的に実装できるか?
  • RQ4バインドグラフを現代の計算スタック(例:Python、Julia)と統合することで、システム生物学および工学分野におけるクロスドメインモデリングがどのように向上するか?
  • RQ5現在のグラフィカルモデリングツールに内在する制限は何か?それらをプログラム的でオープンソースの代替手段がどのように克服できるか?

主な発見

  • BondGraphTools は、標準化されエネルギー保存則を満たすフレームワークを用いて、複雑な物理的システムの記号的でスクリプタブルなモデルの自動的かつスクリプタブルな構築を可能にする。
  • テスト駆動開発により、約 80% のテストカバレッジを達成し、活発で反復的な開発プロセス中でもコード品質と安定性を保証する。
  • PyJulia を介した Julia との統合により、導出されたモデルの高速な数値的シミュレーションが可能となり、計算効率が向上する。
  • Vagrant コンテナとバージョン管理されたリリースの使用により、モデルおよびソフトウェア環境の長期的再現性が保証される。
  • スケーラブルな記号的モデルの次数低減がサポートされており、非線形システム向けの正確および近似の低減アルゴリズムの今後の開発が可能である。
  • 公開されたソースコード(GitHub)およびドキュメント(Read the Docs)を備えたオープンソースでコミュニティ主導の開発モデルにより、アクセス性と協働性が向上する。

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

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

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

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