今日は大学院時代のゼミでSimioの勉強会をしました。
参加者は会場を提供していただいた先生、ゼミOBの研究者4名、院生2名です。
SimioはDennis Pegden博士が中心となって開発し、Simio LLCが販売している離散型シミュレーションソフトウェアです。http://www.simio.com/index.html
Pegden博士は、海外の多くのMBA課程でシミュレーション用のソフトウェアとして採用されているArena(Rockwell Automation社)や、Arenaの基盤となっているシミュレーション言語SIMANを開発した方です。また、Arenaを元々販売していたSystems Modeling社やSimio社の創業者でもあります(うろ覚えですがSLAMというシミュレーション言語の開発にも関わっていたような・・・)。
社会科学系の離散シミュレーションに関する国際会議Winter Simulation Conferenceが毎年12月にアメリカで開催されていますが、そこでもSimioの評判が年々高まっているようです。
少し使ってみての印象ですが、Simioはこれまでの離散型シミュレーションソフトの多くで採用されているプロセス指向モデリングと、オブジェクト指向のモデリングがうまく組み合わせてあると思います。
Simioでは、下図のように、基本モジュールをつないでシステムのプロセスを表現します。これは従来のシミュレーションソフトと同じです。
基本モジュールで表現しきれない部分は、モジュールにへの到着や離脱といったイベントで発火されるプロセスを独自に開発します。
図はありませんが、カスタムプロセスの開発も、基本モジュールによるシステムプロセスのモデリングと同一のUIで行えるところが利点であると思います。私はArenaを長年使っていますが、カスタムプロセスの開発には、もう一つ別の言語を修得するような困難がありました。Simioのように同一のUIで開発できれば、比較的容易に詳細なモデリングが可能だろうという感触をもちました。
また、オブジェクト指向モデリングのコンセプトを導入しているので、作成したカスタムプロセスや基本モジュールなどを継承して、別のクラスを(方法を身につければ)簡単につくれます。
自動的にシステムの3Dアニメーションが作成されるのも大きなメリットの一つでしょう。下図は、シミュレーションの実行画面ですが、上のシステムプロセスの画面からボタンひとつで3Dアニメーションの画面に移れます。
アニメーションは凝りだすと際限がなく、また時間と労力をとられる工程でもあるので、ボタン一発というのはものすごいアイディアだと思います。
SimioはYouTubeにチャンネルを持っているので、他にも動画がたくさん見れます。http://www.youtube.com/user/SimioSimulation
5年くらい前に、Simio開発者の一人に「動くオブジェクト目線でモデルを見てみたい!つくってほしい!」とお願いしたことがあるんですけど、その当時は「無理!」って即答でしたがw。技術の進歩ってヤツでしょう。
Simioは、これまで別の離散型シミュレーションソフトを使ったことがある方、また始めてシミュレーションソフトを使おうとする方のどちらも、基本モジュールだけで表現できるシステムなら、従来のソフトよりも簡単にできるかなぁ、と思います。その先の、カスタムプロセスの作成はSimioに少し慣れてきてから、またオブジェクトの継承はオブジェクト指向の考え方を理解してから取り組んだ方がいいかな。
Simioを使ったテキストも最近2冊出版されました。http://www.simio.com/resources/
どちらかを手分けして日本語訳する予定です。いま版権の交渉中です。
あと大学でSimioを使って教育するという条件で、いまなら無料でフルバージョンを入手することができます。評価版をダウンロードする時に真面目に「研究者です」とプロフィールを入力すると、「無料にするから早く申請して!」というメールが届きますw
何か面白いモデルを作ったり、便利な機能を見つけたらまたお知らせします。
最近のコメント