-1

離散時間シミュレーションであるシミュレーション プロジェクトを開始したいと考えています。目的は、関連するいくつかの非自律的な物理モデルとのエージェント通信をシミュレートすることであるため、必ずしも純粋なエージェントベースのシミュレーションに限定されるわけではありません。始める前に、シミュレーションに固有のソフトウェア エンジニアリング プラクティスにはどのようなものがあるのか​​を尋ねたいと思いました。たとえば、テスト プラクティス (TDD に適していますか? シミュレーションは非常に非決定論的である傾向があります)、ソフトウェア エンジニアリングの観点から見た一般的で頻繁に発生する問題はどれですか?などです。モデリング プロセスについて話しているのではなく、既存のモデルを使用するシステムを実現するプロセスです。関連書籍の推薦は大歓迎です。

ありがとう。

4

2 に答える 2

0

ソフトウェア エンジニアリングと (エージェント ベースの) シミュレーション ソフトウェアの開発における一般的な問題の 1 つは、浮動小数点数の処理です。

すべての実数をコンピューターで使用される浮動小数点形式で正確に表現できるわけではないため、時間の経過とともに多くの操作を行うシミュレーションでは小さなエラーが蓄積され、最終結果に影響を与える可能性があります。

さらに、さまざまなハードウェアおよびソフトウェア プラットフォームでの浮動小数点演算の実装方法のわずかな違いにより、異なるシステムでシミュレーションを実行すると、結果が異なる場合があります。

これがエージェントベースのモデルに及ぼす影響に関する広範な研究については、次のリンクを参照してください。

http://www.macaulay.ac.uk/fearlus/floating-point/
http://jasss.soc.surrey.ac.uk/8/1/5.html

于 2012-08-21T10:19:44.130 に答える
0

Marcin の言うとおりです。この質問は広すぎて、 It Depends以外に正しい答えを出すことができません。™</p>

これの主な理由は、何よりもまず、シミュレーション ソフトウェアが依然として「単なる」ソフトウェアであり、エンジニアリング部分が要件(プログラミング言語、ソフトウェアの目的、時間予算、リソースの制約など)に大きく依存することです。 . もちろん、追加の手順 (VV&A など) が含まれる可能性があり、特定のタスクにはテストなどの特別な注意が必要ですが、これはすべてコンテキストに依存します。

また、ハッキングを始める前に、既存のツールを調べましたか? 信頼できるライブラリやフレームワークがあるかもしれません。もしそうなら、どのようなアプローチがそこで機能しましたか?

一般的な紹介 (このようなもの) を除いて、ほとんどの書籍や論文は、シミュレーション ソフトウェアの特定のサブセット (C++ のシミュレーション ソフトウェア、エージェント ベースのシミュレーション、並列および分散シミュレーションなど) にも焦点を当てています。したがって、これ以上のコンテキストがなければ、関連する資料を示すことさえ困難です.

于 2012-08-14T14:28:50.483 に答える