(Up)
シミュレーションモデル開発・動作用プラットフォーム (フリー)
色々な事象を解析、評価する際に、シミュレーションを行う事が多くあります。 机上でシミュレーションする場合もありますが、コンピューターを使用してミュレーションを行うと、繰り返し計算したり、パラメータを変更したりすることが簡単に行えます。
ここで、シミュレーションを行いたい対象は、経済活動、人間の行動、交通渋滞、生態系、物理現象、災害予測等の予測など、色々有ります。
ところで、シミュレーションを行うためには、対象をモデル化しなければなりません。
モデル化の方法が、計算速度やモデルの精度を決定するため、開発者が工夫する点であり、色々なモデルが作成されます。
これらの各モデルは開発者の考えた仕様によって独立して制作されるため、異なる開発者が作成したモデルを複数接続して、複合的に動作させる事は非常に困難です。 また、モデルの使用方法やパラメータ入力方法もそれぞれ異なっており、第三者が手軽にそれらを使用するのは困難を伴う事が多くあります。
一方で、モデルの有効性を客観的に評価したり検証するためには、パラメータの設定や再現性を、客観的に第3者に対して 見える形で示す事が重要です。
この様な状況に対して、異なる開発者のモデルをお互いに接続して使用したり、第三者がパラメータを自ら変更して使用することが容易に行える「シミュレーション用プラットフォーム」の一つとして、京都大学大学院工学研究科
社会基盤工学専攻 水文・水資源学研究室(椎葉研)殿で開発・保守されている 「OHyMoS (Object-oriented
Hydrological Modelling
System)」をベースにして、国土技術制作総合研究所殿が主催で開発された『CommonMP』というツールが有ります。
正式な名称は 「Common
Modeling Platform for water-material circulation
analysis」であり、狭くは 河川とその流域の挙動を調べることから始まり、地上・地下の水や物質の循環、生態系・経済分析にも使用できるように、色々なモデルを連動させて動作させることを可能としたシミュレーションプラットフォームです。
元々、「水」に関連するシミュレーション用のツールですが、適応範囲が水に関連するモデルだけでは無く、もっと色々な分野にも応用も可能と思います。 また、「水」解析に適合したツールが準備されていますが、他のツールが必要になった時には自作して アドオンすることも可能です。
CommonMPはフリーで使用できるモデル動作プラットフォームであり、そこで使用するモデル(要素モデルと言う)を自作する開発環境も整っています。 また、モデルの解析結果をグラフ化したりするツールを自作できます。 これらの開発には、 Microsoft社製の「Microsoft
Visutal C# Express」を使用して行えます。
CommonMPの正式ホームページへのリンクは下記にあります。 CommonMP本体のダウンロード、詳しいCommonMPの説明や解説ドキュメント、初心者向けの説明等があります。
CommonMPのホームページへ
( ↑ ここから、CommonMP本体のダウンロードが行えます。)
CommonMPを利用したモデルの開発の例は 下記でも紹介しています。
初心者向け 水理要素モデルの開発例 , (トップページ)
初心者向け 色々な要素モデルの開発サンプル
CommonMPの概要
シミュレーションの多くは、「シミュレーションに使用する情報の入力」−「計算」−「計算結果の出力」を繰り返す という手順を踏む事が多いと思います。
CommonMPはこの一連の動作を 「要素モデル」として組み込み、 それらを CommonMPフレームワーク内で結合させて、一つの事象だけではなく、それらを連動させ複合的シミュレーションを可能とするものです。
CommonMPはオブジェクト指向で制作されており、その上で動作する「要素モデル」は、CommonMPフレームワークが提供する親クラスの派生として制作する必要があります。
CommonMP 概念図
★CommonMPの特徴
・ 独自のモデルは「要素モデル」という形で開発し、提供します。
・ 各要素モデルの間を接続することで、要素モデル間で情報交換が可能です。
このため、要素モデル開発者の専門分野だけでなく、異なる分野の知見も取り入れた、複合的モデルの構築が容易に行えます。
・ 全体のモデル構造を変更せずに、一部の要素モデルのみを他の要素モデルの交換することが可能です。
このため、要素モデルのバージョンアップ対応や、異なるアルゴリズムで作成された要素モデルの比較が簡単に行えます。
・ CommonMP本体はフリーで使用できます。 また、要素モデルの独自開発が行えます(開発環境は MicroSoft
Visual
C# を想定)。
・ オブジェクト指向で開発されており、画面の動作、ツールとの接続等は、フレームワークが提供しているため、要素モデルの開発者は、計算論理と入力情報取り込み部分と、計算結果の出力方法の論理を組み込むだけで、他の要素モデル間の接続等が行えるようになります。
・簡単な入出力用の「ファイル入出力要素モデル」、「グラフ表示要素モデル」が標準で用意されており、自作した「要素モデル」はそれらに接続することで、情報入力や結果出力処理を作成する手間が省けます。
・ 要素モデル間の接続設定は、CommonMPのGUI上から行うことが可能です。
・ 独自の評価画面等が必要となる場合には、独自画面を自作し、アドオンすることが可能です。