(57)【要約】【課題】従来のシミュレーション装置は、細胞のシミュレーションしか想定していないため、細胞の集合である組織や臓器、個体レベルでのシミュレーションができない、という課題があった。【解決手段】本発明は、生体構成要素の振る舞いを算出する２以上の異なるシミュレータ部品と、シミュレーション結果を視覚的に出力するデータ出力部品と、データの流れおよび動作シーケンスに関する情報であるシミュレーションシナリオ情報に基づいて、２以上の異なるシミュレータ部品および前記データ出力部品の間のデータの受け渡しの制御を行うシミュレーション管理部を具備する生体シミュレーション装置であって、かかる生体シミュレーション装置により、より総合的で、精度の高い生体のシミュレーションを行える環境を容易に提供することができる。【選択図】図１【特許請求の範囲】
【請求項１】
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出する２以上の異なるシミュレータ部品と、
シミュレーション結果を出力するデータ出力部品と、
前記２以上の異なるシミュレータ部品および前記データ出力部品の間のデータの受け渡しの制御を行うシミュレーション管理部を具備する生体シミュレーション装置であって、
前記２以上のシミュレータ部品は、
ユーザまたは／および前記シミュレーション管理部からデータを受け付ける入力データ受付手段と、
前記入力データ受付手段が受け付けたデータに対して所定の演算を行い、出力データを構成する演算手段と、
前記出力データを前記シミュレーション管理部に渡す出力データ出力手段を具備し、
前記データ出力部品は、
前記シミュレーション管理部から出力データを受け付ける出力データ受付手段と、
前記出力データ受付手段が受け付けた出力データを出力する出力手段を具備し、
前記シミュレーション管理部は、
前記２以上のシミュレータ部品およびデータ出力部品間の、データの流れおよび動作シーケンスに関する情報であるシミュレーションシナリオ情報を格納しているシミュレーションシナリオ情報格納手段と、
前記２以上のシミュレータ部品からデータを受け付けるデータ受付手段と、
前記データ受付手段で受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記シミュレータ部品に渡す入力データ受渡手段と、
前記２以上のシミュレータ部品から受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記データ出力部品に渡す出力データ受渡手段を具備する生体シミュレーション装置。
【請求項２】
前記データ出力部品の出力手段は、前記出力データ受付手段が受け付けた出力データを表示する請求項１記載の生体シミュレーション装置。
【請求項３】
前記データ出力部品は、
前記シミュレータ部品への入力データを取得する入力データ取得手段をさらに具備し、
前記出力手段は、前記出力データ受付手段が受け付けた出力データと前記入力データ取得手段が取得した入力データを対にして蓄積する請求項１記載の生体シミュレーション装置。
【請求項４】
出力データの入力を受け付ける出力データ受付部と、
前記出力データ受付部が受け付けた出力データと対になる、または前記出力データ受付部が受け付けた出力データに近似した出力データと対になる入力データを検索する入力データ検索部と、
前記入力データ検索部が検索した入力データを出力する入力データ出力部をさらに具備する請求項３記載の生体シミュレーション装置。
【請求項５】
前記シミュレーションシナリオ情報の入力を受け付けるシミュレーションシナリオ情報入力受付部と、
前記シミュレーションシナリオ情報入力受付部が受け付けたシミュレーションシナリオ情報を前記シミュレーションシナリオ情報格納手段に蓄積するシミュレーションシナリオ情報蓄積部をさらに具備する請求項１から請求項４いずれか記載の生体シミュレーション装置。
【請求項６】
前記２以上の異なるシミュレータ部品の一のシミュレータ部品は、単一心筋細胞のシミュレーションを行うシミュレータ部品であり、
他の一のシミュレータ部品は、臓器の変形を算出するシミュレータ部品である請求項１から請求項５いずれか記載の生体シミュレーション装置。
【請求項７】
前記シミュレーションシナリオ情報は、情報の送信先と受信先を示す送受信先情報と、指示を示す指示情報を有する請求項１から請求項６いずれか記載の生体シミュレーション装置。
【請求項８】
コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出させる２以上の異なるシミュレーションを行わせるシミュレータプログラムと、
コンピュータに、シミュレーション結果を出力させるデータ出力プログラムと、
コンピュータに、前記２以上の異なるシミュレータプログラムおよび前記データ出力プログラムの間のデータの受け渡しの制御をさせるシミュレーション管理プログラムを具備する生体シミュレーションプログラムであって、
前記２以上のシミュレータプログラムは、
ユーザまたは／および前記シミュレーション管理プログラムからデータを受け付ける入力データ受付ステップと、
前記入力データ受付ステップで受け付けたデータに対して所定の演算を行い、出力データを構成する演算ステップと、
前記出力データを前記シミュレーション管理プログラムに渡す出力データ出力ステップを具備し、
前記データ出力プログラムは、
前記シミュレーション管理プログラムから出力データを受け付ける出力データ受付ステップと、
前記出力データ受付手段が受け付けた出力データを出力する出力ステップを具備し、
前記シミュレーション管理プログラムは、
前記２以上のシミュレータ部品からデータを受け付けるデータ受付ステップと、
格納されているシミュレーションシナリオ情報に基づいて、前記データ受付手段で受け付けたデータを前記シミュレータプログラムに渡す入力データ受渡ステップと、
前記２以上のシミュレータプログラムから受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記データ出力プログラムに渡す出力データ受渡ステップを具備するプログラム。
【請求項９】
データ出力プログラムの出力ステップは、前記出力データ受付ステップで受け付けた出力データを表示する請求項８記載のプログラム。
【請求項１０】
前記データ出力プログラムは、
前記シミュレータ部品への入力データを取得する入力データ取得ステップをさらにコンピュータに実行させ、
前記出力ステップは、前記出力データ受付ステップで受け付けた出力データと前記入力データ取得ステップで取得した入力データを対にして蓄積する請求項８記載のプログラム。
【請求項１１】
コンピュータに、
出力データの入力を受け付ける出力データ受付ステップと、
前記出力データ受付ステップが受け付けた出力データと対になる、または出力データ受付部ステップで受け付けた出力データに近似した出力データと対になる入力データを検索する入力データ検索ステップと、
前記入力データ検索ステップで検索した入力データを出力する入力データ出力ステップをさらに実行させる請求項１０記載のプログラム。
【請求項１２】
コンピュータに、
前記シミュレーションシナリオ情報の入力を受け付けるシミュレーションシナリオ情報入力受付ステップと、
前記シミュレーションシナリオ情報入力受付ステップで受け付けたシミュレーションシナリオ情報を蓄積するシミュレーションシナリオ情報蓄積ステップをさらに実行させる請求項８から請求項１１いずれか記載のプログラム。
【請求項１３】
前記２以上の異なるシミュレータプログラムの一のシミュレータプログラムは、単一心筋細胞のシミュレーションを行うシミュレータプログラムであり、
他の一のシミュレータプログラムは、臓器の変形を算出するシミュレータプログラムである請求項８から請求項１２いずれか記載のプログラム。
【請求項１４】
前記シミュレーションシナリオ情報は、情報の送信先と受信先を示す送受信先情報と、指示を示す指示情報を有する請求項８から請求項１３いずれか記載のプログラム。
【請求項１５】
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出する２以上の異なるシミュレータ部品装置と、
シミュレーション結果を出力するデータ出力部品装置と、
前記２以上の異なるシミュレータ部品装置および前記データ出力部品装置の間のデータの送受信の制御を行うシミュレーション管理装置を具備する生体シミュレーションシステムであって、
前記２以上のシミュレータ部品装置は、
ユーザまたは／および前記シミュレーション管理部からデータを受け付ける入力データ受付手段と、
前記入力データ受付手段が受け付けたデータに対して所定の演算を行い、出力データを構成する演算手段と、
前記出力データを前記シミュレーション管理装置に送信する出力データ出力手段を具備し、
前記データ出力部品装置は、
前記シミュレーション管理装置から出力データを受信する出力データ受付手段と、
前記出力データ受付手段が受信した出力データを出力する出力手段を具備し、
前記シミュレーション管理装置は、
前記２以上のシミュレータ部品装置およびデータ出力部品装置間の、データの送受信および動作シーケンスに関する情報であるシミュレーションシナリオ情報を格納しているシミュレーションシナリオ情報格納手段と、
前記２以上のシミュレータ部品からデータを受信するデータ受付手段と、
前記データ受付手段が受信したデータを前記シミュレーションシナリオ情報に基づいて前記シミュレータ部品装置に送信する入力データ受渡手段と、
前記２以上のシミュレータ部品から受信したデータを前記シミュレーションシナリオ情報に基づいて前記データ出力部品装置に送信する出力データ受渡手段を具備する生体シミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生物の臓器や器官等をシミュレーションするシミュレーション装置およびそのプログラム等に関するものである。
【背景技術】
【０００２】
従来の生体機能のシミュレーションを行うことができるシミュレーション装置としてＥ−Ｃｅｌｌというシミュレーション装置がある（非特許文献１参照）。Ｅ−Ｃｅｌｌは、いわゆる細胞モデル構築基盤と言えるものである。
【非特許文献１】Ｍ．Ｔｏｍｉｔａ，  Ｋ．Ｈａｓｈｉｍｏｔｏ，  Ｋ．Ｔａｋａｈａｓｈｉ，  Ｔ．Ｓｈｉｍｉｚｕ，  Ｙ．Ｍａｔｓｕｚａｋｉ，  Ｆ．Ｍｉｙｏｓｈｉ，  Ｋ．Ｓａｉｔｏ，  Ｓ．Ｔａｎｉｄａ，  Ｋ．Ｙｕｇｉ，  Ｊ．Ｃ．Ｖｅｎｔｅｒ，  ａｎｄ  Ｃ．Ａ．Ｈｕｔｃｈｉｓｏｎ  ＩＩＩ，  「Ｅ−ＣＥＬＬ：ｓｏｆｔｗａｒｅ  ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  ｗｈｏｌｅ−ｃｅｌｌ  ｓｉｍｕｌａｔｉｏｎ」  ｉｎ  Ｂｉｏｉｎｆｏｒｍａｔｉｃｓ，  ｖｏｌ．１５，  ｎｏ．１，  ｐｐ．７２−８４，  １９９９
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１におけるシミュレーション装置は、細胞のシミュレーションしか想定していないため、細胞の集合である組織や臓器、個体レベルでのシミュレーションができない、という課題があった。また、医学の進歩により、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いが検証され、各振る舞いごとのシミュレーションを行うシミュレータ部品が構築された場合、より総合的で、精度の高い生体のシミュレーションを行える環境を提供できていない、という課題があった。【０００４】
本発明は、従来の課題を解決するためになされたもので、細胞の集合である組織や臓器、個体レベルでのシミュレーションを容易に行える生体シミュレーション装置を提供することを目的とする。また、簡単なデータの追加定義（オーサリング）により、新しい組織や臓器、個体等もシミュレーションできる環境を提供することを目的とする。さらに、医学の進歩により、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いが検証され、各振る舞いごとのシミュレーションを行うシミュレータ部品が構築された場合、より総合的で、精度の高い生体のシミュレーションを行える環境を容易に提供することを目的とする。その結果、実情に合った精度の高いシミュレーションを可能にするとともに、それによって将来の医学の研究と進歩が助長されることを目的とする。
【課題を解決するための手段】
【０００５】
本第一の発明の生体シミュレーション装置は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出する２以上の異なるシミュレータ部品と、シミュレーション結果を出力するデータ出力部品と、前記２以上の異なるシミュレータ部品および前記データ出力部品の間のデータの受け渡しの制御を行うシミュレーション管理部を具備する生体シミュレーション装置であって、前記２以上のシミュレータ部品は、ユーザまたは／および前記シミュレーション管理部からデータを受け付ける入力データ受付手段と、前記入力データ受付手段が受け付けたデータに対して所定の演算を行い、出力データを構成する演算手段と、前記出力データを前記シミュレーション管理部に渡す出力データ出力手段を具備し、前記データ出力部品は、前記シミュレーション管理部から出力データを受け付ける出力データ受付手段と、前記出力データ受付手段が受け付けた出力データを出力する出力手段を具備し、前記シミュレーション管理部は、前記２以上のシミュレータ部品およびデータ出力部品間の、データの流れおよび動作シーケンスに関する情報であるシミュレーションシナリオ情報を格納しているシミュレーションシナリオ情報格納手段と、前記２以上のシミュレータ部品からデータを受け付けるデータ受付手段と、前記データ受付手段で受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記シミュレータ部品に渡す入力データ受渡手段と、前記２以上のシミュレータ部品から受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記データ出力部品に渡す出力データ受渡手段を具備する生体シミュレーション装置である。
かかる構成により、細胞の集合である組織や臓器、個体レベルでのシミュレーションを容易に行える。また、より総合的で、精度の高い生体のシミュレーションを行える環境を容易に提供することができる。例えば、心臓全体で見ると、洞房結節で発生した興奮は刺激伝導系によって心臓全体に伝播される。この過程は、電気現象の一種であり、電場解析などによりシミュレートすることができる。そして、各細胞が発生した収縮力によって心臓全体が収縮するが、これは構造力学的現象であり有限要素法などを用いて計算可能である。さらに、心臓の収縮によって心臓内の圧力が高まり血液が拍出される。これは流体力学的現象として捉えることができる。それ以外にも、冠動脈などによる心筋の酸素濃度勾配など、多くの現象が心拍動に関与している。さらに、細胞と臓器との間の相互作用も存在する。例えば、心臓の構造力学的変形によって生じる心筋細胞への加重は、興奮収縮連関を通じて細胞の電気生理学的現象に影響を与える。このように、心拍動一つみても、いくつもの現象とその相互作用を考慮する必要がある。さらに、小腸における薬物吸収など、異なる生体機能にはそれぞれに異なった多くの現象とその相互作用が関与する。これらの現象は、複数の生体機能で共通なもの、同じ手法で計算可能なもの、ある生体機能に特有のものなど、様々である。本実施の形態によれば、上記のような個々のシミュレーションを行えるシミュレーション部品を組み合わせた、生体機能を対象とした汎用的なシミュレーションプラットフォームを提供できる。【０００６】
本第二の発明の生体シミュレーション装置は、第一の発明の生体シミュレーション装置に対して、前記データ出力部品は、前記シミュレータ部品への入力データを取得する入力データ取得手段をさらに具備し、前記出力手段は、前記出力データ受付手段が受け付けた出力データと前記入力データ取得手段が取得した入力データを対にして蓄積し、出力データの入力を受け付ける出力データ受付部と、前記出力データ受付部が受け付けた出力データと対になる、または前記出力データ受付部が受け付けた出力データに近似した出力データと対になる入力データを検索する入力データ検索部と、前記入力データ検索部が検索した入力データを出力する入力データ出力部をさらに具備する生体シミュレーション装置である。
かかる構成により、結果から条件を類推できることにより、病態の原因解析や創薬ターゲット検索などに適用し、例えば、身体を手術したり、患者にとって負荷の高い検査をしたりすることを回避でき、患者の状態を知ることができる。
【発明の効果】
【０００７】
本発明は、個体、臓器・器官、細胞・組織、細胞内小器官、分子といったの生体機能を構成する機能要素に対応するシミュレータ部品を組み合わせた、種々の生体の機能がシミュレーションできる。
【発明を実施するための最良の形態】
【０００８】
以下、生体シミュレーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）【０００９】
本実施の形態において、２以上の生体要素のシミュレータ部品を利用して、複雑な生体シミュレーションを行える生体シミュレーション装置等について説明する。生体シミュレーション装置は、２以上の異なる生体要素のシミュレータ部品とデータ出力部品とシミュレーション管理部を具備する。２以上の生体要素のシミュレータ部品は、入力を受け付け、シミュレーション結果を出力するシミュレータの部品である。データ出力部品は、シミュレーションの結果を可視化するための部品である。シミュレーション管理部は、シミュレータ部品の出力を他のミュレータ部品の入力に変換し、他のシミュレータ部品に当該変換データを渡し、また、シミュレータ部品の出力をそのまま、または変換し、データ出力部品に渡す。【００１０】
つまり、シミュレータ部品は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素ごとの挙動であるミクロレベルの挙動をシミュレーションする。シミュレーション管理部は、生体構成要素間の相互作用であるマクロレベルの挙動をシミュレーション可能にする。データ出力部品は、各生体構成要素と外部環境との相互作用のシミュレーションを可能にする。【００１１】
以下、本発明の実施の形態の生体シミュレーション装置について、図面を用いて説明する。図１は、本実施の形態における生体シミュレーション装置のブロック図である。生体シミュレーション装置は、２以上の異なるシミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））、データ出力部品１０２、シミュレーション管理部１０３、シミュレーションシナリオ情報入力受付部１０４、シミュレーションシナリオ情報蓄積部１０５を具備する。シミュレータ部品の符号は、総括して、１０１とする場合もある。
シミュレータ部品１０１は、入力データ受付手段１０１１、演算手段１０１２、出力データ出力手段１０１３を具備する。
データ出力部品１０２は、出力データ受付手段１０２１、出力手段１０２２を具備する。【００１２】
シミュレーション管理部１０３は、シミュレーションシナリオ情報格納手段１０３１、データ受付手段１０３２、入力データ受渡手段１０３３、出力データ受渡手段１０３４、入力受付手段１０３５、情報蓄積手段１０３６を具備する。【００１３】
入力データ受付手段１０１１は、ユーザまたは／およびシミュレーション管理部１０３からデータを受け付ける。ユーザからのデータの受け付けは、例えば、グラフィカルユーザインターフェイス（ＧＵＩ）からの入力の受け付けである。かかる場合の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。シミュレーション管理部１０３からのデータの受け付けは、例えば、メッセージの受け取り（オブジェクト指向プログラミングによる実装の場合）や、関数の引数渡しや、データの受信などである。データの受信の場合は、シミュレーション管理部１０３とシミュレータ部品１０１は、異なる装置に実装されている。入力データ受付手段１０１１は、例えば、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。【００１４】
演算手段１０１２は、入力データ受付手段１０１１が受け付けたデータに対して所定の演算を行い、出力データを構成する。つまり、演算手段１０１２は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出するコアの要素である。演算手段１０１２は、通常、ＭＰＵやメモリ等から実現され得る。演算手段１０１２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００１５】
出力データ出力手段１０１３は、演算手段１０１２が構成した出力データをシミュレーション管理部１０３に渡す。出力データをシミュレーション管理部１０３に渡す方法は、メッセージの送信（オブジェクト指向プログラミングによる実装の場合）や、関数の引数渡しや、データの送信などである。出力データ出力手段１０１３は、通常、ＭＰＵやメモリ等から実現され得る。出力データ出力手段１０１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。なお、出力データをシミュレーション管理部１０３に渡す方法がデータの送信である場合、出力データ出力手段１０１３は、通常、無線または有線の通信手段、または放送手段で実現され得る。出力データをシミュレーション管理部１０３に渡す方法がデータの送信である場合、シミュレーション管理部１０３とシミュレータ部品１０１は、異なる装置に実装されている。【００１６】
出力データ受付手段１０２１は、シミュレーション管理部１０３から出力データを受け付ける。出力データを受け付ける手段は、イベントの発行によるもの、関数の引数渡し、データの受信などがある。出力データ受付手段１０２１は、通常、ＭＰＵやメモリ等から実現され得る。出力データ受付手段１０２１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。出力データを受け付ける手段がデータの受信である場合、シミュレーション管理部１０３とデータ出力部品１０２は、異なる装置に実装されている。【００１７】
出力手段１０２２は、出力データ受付手段１０２１が受け付けた出力データを出力する。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、記録媒体への蓄積、外部の装置への送信等を含む概念である。出力手段１０２２は、例えば、ディスプレイおよびそのドライバーソフト等から実現され得る。【００１８】
シミュレーションシナリオ情報格納手段１０３１は、２以上のシミュレータ部品１０１およびデータ出力部品１０２間のデータの流れ、および２以上のシミュレータ部品１０１およびデータ出力部品１０２の動作を制御する動作シーケンスに関する情報であるシミュレーションシナリオ情報を格納している。シミュレーションシナリオ情報格納手段１０３１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。【００１９】
データ受付手段１０３２は、２以上のシミュレータ部品１０１からデータを受け付ける。また、データ受付手段１０３２は、情報蓄積手段１０３６が蓄積した情報（データ）も受け付ける。データ受付手段１０３２が受け付けるデータは、シミュレータ部品１０１のシミュレーションの結果のデータや入力されたデータである。データ受付手段１０３２がデータを受け付ける手段は、上述したように、メッセージやイベントの発行によるもの、関数の引数渡し、データの受信などがある。データ受付手段１０３２は、通常、ＭＰＵやメモリ等から実現され得る。データ受付手段１０３２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００２０】
入力データ受渡手段１０３３は、データ受付手段１０３２で受け付けたデータを、シミュレーションシナリオ情報格納手段１０３１に格納されているシミュレーションシナリオ情報に基づいてシミュレータ部品１０１に渡す。入力データ受渡手段１０３３は、一のシミュレータ部品から受け付けたデータを、そのまま他のシミュレータ部品に渡しても良いし、何らかの加工をした後、当該加工したデータを他のシミュレータ部品に渡しても良い。入力データ受渡手段１０３３は、通常、ＭＰＵやメモリ等から実現され得る。入力データ受渡手段１０３３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００２１】
出力データ受渡手段１０３４は、２以上のシミュレータ部品１０１から受け付けたデータを、シミュレーションシナリオ情報格納手段１０３１に格納されているシミュレーションシナリオ情報に基づいてデータ出力部品１０２に渡す。出力データ受渡手段１０３４のデータの受け渡し方法は、上述したように、メッセージやイベントの発行によるもの、関数の引数渡し、データの受信などがある。出力データ受渡手段１０３４は、通常、ＭＰＵやメモリ等から実現され得る。出力データ受渡手段１０３４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００２２】
入力受付手段１０３５は、シミュレーションシナリオ情報格納手段１０３１に格納されているシミュレーションシナリオ情報に基づいて、ユーザに情報の入力を促し、情報の入力を受け付ける。かかる情報は、シミュレーションで利用される。入力受付手段１０３５は、入力を受け付けるＧＵＩ画面定義情報およびＧＵＩ画面定義情報から画面を出力し、入力を受け付けるソフトウェア等から実現され得る。【００２３】
情報蓄積手段１０３６は、入力受付手段１０３５が受け付けた情報を一時的に蓄積する。かかる情報は、所定の記録媒体（通常、揮発性の記録媒体）に蓄積される。情報蓄積手段１０３６は、通常、ＭＰＵやメモリ等から実現され得る。情報蓄積手段１０３６が情報を蓄積するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００２４】
シミュレーションシナリオ情報入力受付部１０４は、シミュレーションシナリオ情報の入力を受け付ける。シミュレーションシナリオ情報入力受付部１０４は、シミュレーションシナリオ情報の新規な入力、またはシミュレーションシナリオ情報のカスタマイズのための修正の入力を受け付ける。シミュレーションシナリオ情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。シミュレーションシナリオ情報入力受付部１０４は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。【００２５】
シミュレーションシナリオ情報蓄積部１０５は、シミュレーションシナリオ情報入力受付部１０４で受け付けたシミュレーションシナリオ情報をシミュレーションシナリオ情報格納手段１０３１に蓄積する。シミュレーションシナリオ情報蓄積部１０５は、通常、ＭＰＵやメモリ等から実現され得る。シミュレーションシナリオ情報蓄積部１０５が情報を蓄積するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００２６】
以下、本生体シミュレーション装置の動作について図２のフローチャートを用いて説明する。なお、図２のフローチャートにおいて、シミュレーションシナリオ情報は、既にシミュレーションシナリオ情報格納手段１０３１に格納されているとする。つまり、シミュレーションシナリオ情報を入力したり、カスタマイズしたりするシミュレーションシナリオ情報入力受付部１０４とシミュレーションシナリオ情報蓄積部１０５の処理は、ここでは説明しない。また、各シミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））への、ユーザからのデータ入力は完了しており、かかるデータは、予め各シミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））が保持している、とする。ただし、ユーザからの、各シミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））へのデータ入力は必須ではない。ユーザからのデータ入力が不要なシミュレータ部品も存在し得る。
（ステップＳ２０１）シミュレーション管理部１０３は、シミュレーションシナリオ情報格納手段１０３１に格納されているシミュレーションシナリオ情報を読み込む。
（ステップＳ２０２）カウンタｉに１を代入する。【００２７】
（ステップＳ２０３）入力受付手段１０３５は、シミュレーションシナリオ情報のｉ行目の情報（ｉ番目の情報）がデータの入力を指示するデータ入力指示であるか否かを判断する。データ入力指示であればステップＳ２０４に行き、データ入力指示でなければステップＳ２０８に飛ぶ。【００２８】
（ステップＳ２０４）入力受付手段１０３５は、シミュレーションシナリオ情報のｉ行目の情報に基づいてユーザにデータ入力を促す入力画面を構成し、当該入力画面を表示する。なお、入力画面を構成する情報（例えば、ＨＴＭＬやＪＡＶＡ（登録商標）などのプログラム言語で記述されている）は、予め格納されている。また、入力画面を構成し、表示する技術は公知技術であるので、詳細な説明を省略する。
（ステップＳ２０５）入力受付手段１０３５は、ユーザからデータを受け付けたか否かを判断する。データを受け付ければステップＳ２０６に行き、データを受け付けなければステップＳ２０５に戻る。
（ステップＳ２０６）情報蓄積手段１０３６は、ステップＳ２０５で受け付けたデータを一時蓄積する。
（ステップＳ２０７）カウンタｉをインクリメントする。ステップＳ２０３に戻る。【００２９】
（ステップＳ２０８）入力受付手段１０３５は、シミュレーションシナリオ情報のｉ行目の情報（ｉ番目の情報）が、シミュレータ部品１０１にデータを渡す指示である入力データ受渡指示であるか否かを判断する。入力データ受渡指示であればステップＳ２０９に行き、入力データ受渡指示でなければステップＳ２１３に飛ぶ。
（ステップＳ２０９）入力データ受渡手段１０３３は、シミュレーションシナリオ情報のｉ行目の情報に基づいて、シミュレータ部品１０１に渡す入力データを構成する。
（ステップＳ２１０）入力データ受渡手段１０３３は、ステップＳ２０９で構成した入力データを、ｉ行目の情報で特定されるシミュレータ部品１０１に渡す。
（ステップＳ２１１）シミュレータ部品１０１の入力データ受付手段１０１１は、データを受け付ける。
（ステップＳ２１２）シミュレータ部品１０１の入力データ受付手段１０１１は、ステップＳ２１１で受け付けたデータを一時蓄積する。ステップＳ２０７に行く。【００３０】
（ステップＳ２１３）出力データ受渡手段１０３４は、シミュレーションシナリオ情報のｉ行目の情報（ｉ番目の情報）が、シミュレータ部品１０１からデータを受け取る指示である出力データ受渡指示であるか否かを判断する。出力データ受渡指示であればステップＳ２１４に行き、出力データ受渡指示でなければステップＳ２１８に飛ぶ。【００３１】
（ステップＳ２１４）出力データ受渡手段１０３４は、シミュレーションシナリオ情報のｉ行目の情報が示すシミュレータ部品１０１に対して、シミュレーションの結果であるデータ（シミュレータ部品１０１の出力データ）を要求する。【００３２】
（ステップＳ２１５）シミュレータ部品１０１の演算手段１０１２は、ステップＳ２１４の要求に基づいた演算を行う。かかる演算は、一時格納されているデータまたは／およびステップＳ２１４の要求に含まれるデータを利用して行われる。
（ステップＳ２１６）出力データ出力手段１０１３は、ステップＳ２１５における演算結果のデータをシミュレーション管理部１０３に出力する。
（ステップＳ２１７）シミュレーション管理部１０３のデータ受付手段１０３２は、ステップＳ２１６で出力されたデータを取得し、一時蓄積する。ステップＳ２０７に行く。【００３３】
（ステップＳ２１８）出力データ受渡手段１０３４は、シミュレーションシナリオ情報のｉ行目の情報（ｉ番目の情報）がデータをデータ出力部品１０２に渡し、出力するという指示である出力指示であるか否かを判断する。出力指示であればステップＳ２１９に行き、出力指示でなければステップＳ２０７に行く。
（ステップＳ２１９）出力データ受渡手段１０３４は、シミュレーションシナリオ情報のｉ行目の情報に基づいて出力データを構成する。
（ステップＳ２２０）出力データ受渡手段１０３４は、ステップＳ２１９で構成した出力データをデータ出力部品１０２に送付する。
（ステップＳ２２１）出力データ受付手段１０２１は、出力データを受け付ける。そして、出力手段１０２２は、当該出力データを出力する。かかる出力が表示である場合、シミュレーションされる。【００３４】
なお、図２において、シミュレータ部品１０１、データ出力部品１０２、シミュレーション管理部１０３のすべての部品の実行を記載したが、通常、シミュレータ部品１０１、データ出力部品１０２、シミュレーション管理部１０３は、メッセージの送受信などにより、独立に実行されながら、統合して動作する。その場合、シミュレーション管理部１０３が、全体の動作を制御する機能を果たす。【００３５】
図３は、シミュレーション管理部１０３のみの動作を記載したフローチャートである。図２のフローチャートと比較して、ステップＳ２１１、ステップＳ２１２、ステップＳ２１５、ステップＳ２１６、ステップＳ２１７、ステップＳ２２１が存在しない。ステップＳ２１１、ステップＳ２１２、ステップＳ２１５、ステップＳ２１６はシミュレータ部品１０１の動作であり、ステップＳ２２１はデータ出力部品の動作である。また、ステップＳ３０１、ステップＳ３０２が加わっている。ステップＳ３０１、ステップＳ３０２は、ステップＳ２１７の動作を詳細にしたものである。以下、ステップＳ３０１、ステップＳ３０２の動作について説明する。【００３６】
（ステップＳ３０１）出力データ受渡手段１０３４は、シミュレータ部品１０１からデータを取得したか否かを判断する。データを取得すればステップＳ３０２に行き、データを取得しなければステップＳ３０１に戻る。
（ステップＳ３０２）出力データ受渡手段１０３４は、ステップＳ３０１で取得したデータを一時蓄積する。ステップＳ２０７に行く。
以下、本実施の形態における生体シミュレーション装置の具体的な動作について説明する。今、シミュレーションシナリオ情報格納手段１０３１に図４に示すシミュレーションシナリオ情報が格納されている。【００３７】
まず、図４のシミュレーションシナリオ情報について説明する。図４のシミュレーションシナリオ情報は、１５行の情報からなる。８行目、１４，１５行目を除く各行の情報は、情報の送信先と受信先を示す送受信先情報と、指示を示す指示情報を有する。送受信先情報は、"［"、"］"で囲まれている情報である。送受信先情報の"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］"は、ユーザが入力した情報がシミュレーション管理部１０３に渡されることを示す。つまり、図４において、"ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ"は、シミュレーション管理部１０３を示す。
また、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＣｅｌｌＳｉｍｕｌａｔｏｒ］"は、シミュレーション管理部１０３から細胞のシミュレーションを行う"ＣｅｌｌＳｉｍｕｌａｔｏｒ"というシミュレータ部品１０１に、データや指示が送付されることを示す。【００３８】
以下、図４のシミュレーションシナリオ情報を用いた生体シミュレーション装置の具体的な動作について説明する。ここでは、シミュレータ部品１０１は２つであり、一のシミュレータ部品１０１は、単一心筋細胞のシミュレーションを行うシミュレータ部品（以下、「細胞シミュレータ」と適宜言う。）であり、他の一のシミュレータ部品１０１は、臓器の変形を算出するシミュレータ部品（以下、「有限要素モジュール」と適宜言う。）である、とする。そして、本例において、心筋細胞のシミュレーションを行う。臓器の変形を算出するシミュレータ部品は、有限要素法を用いたシミュレータである。【００３９】
まず、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１行目の情報を読み込む。１行目の情報は、"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］ｓｅｔＭｅｓｈＤａｔａ（３ＤＭｅｓｈＤａｔａ）"である。"ｓｅｔＭｅｓｈＤａｔａ（３ＤＭｅｓｈＤａｔａ）"は、３Ｄメッシュデータを入力させるデータ入力指示である。かかる指示により、入力受付手段１０３５は、３Ｄメッシュデータを入力させるためのＧＵＩ画面を構成し、表示する。次に、入力受付手段１０３５は、ユーザからの３Ｄメッシュデータの選択入力を受け付け、設定する。通常、複数の３Ｄメッシュデータが格納されており、ユーザは複数の３Ｄメッシュデータの中から一の３Ｄメッシュデータを選択する。通常、一の３Ｄメッシュデータは、一のファイルであり、複数のファイルからユーザは選択する。設定とは、所定の記録領域に一時蓄積する処理である。なお、３Ｄメッシュデータそのものをユーザが入力し、入力受付手段１０３５が受け付けても良いことは言うまでもない。【００４０】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の２行目の情報を読み込む。２行目の情報は、"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］ｓｅｔＭａｔｅｒｉａｌＰｒｏｐｅｒｔｙ（ｙｏｕｎｇＲａｔｉｏ）"である。"ｓｅｔＭａｔｅｒｉａｌＰｒｏｐｅｒｔｙ（ｙｏｕｎｇＲａｔｉｏ）"は、材料定数（ヤング率）を入力させるデータ入力指示である。かかる材料定数（ヤング率）は、３Ｄメッシュデータに対して設定されるデータである。かかる指示により、入力受付手段１０３５は、材料定数（ヤング率）を入力させるためのＧＵＩ画面を構成し、表示する。次に、入力受付手段１０３５は、ユーザからの材料定数（ヤング率）の入力を受け付け、３Ｄメッシュデータに対して設定する。【００４１】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の３行目の情報を読み込む。３行目の情報は、"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］ｓｅｔＢｏｕｎｄａｒｙＣｏｎｄｉｔｉｏｎ（ｓｔａｔｉｃＷａｔｅｒＰｒｅｓｓｕｒｅ）"である。"ｓｅｔＢｏｕｎｄａｒｙＣｏｎｄｉｔｉｏｎ（ｓｔａｔｉｃＷａｔｅｒＰｒｅｓｓｕｒｅ）"は、静水圧を入力させるデータ入力指示である。かかる静水圧は、３Ｄメッシュデータに境界条件として内壁に設定されるデータである。かかる指示により、入力受付手段１０３５は、静水圧を入力させるためのＧＵＩ画面を構成し、表示する。次に、入力受付手段１０３５は、ユーザからの静水圧の入力を受け付け、３Ｄメッシュデータに境界条件として内壁に対して設定する。なお、心臓の場合、中に流れる血液などが細胞の挙動に影響を与る。血液の圧力データ（静水圧のデータ）はシステムの入力データの一種である。【００４２】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の４行目の情報を読み込む。４行目の情報は、"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］ｓｅｔＣｅｌｌＤｉｒｅｃｔｉｏｎ（ｓｕｒｆａｃｅＥｌｅｍｅｎｔｓ）"である。"ｓｅｔＣｅｌｌＤｉｒｅｃｔｉｏｎ（ｓｕｒｆａｃｅＥｌｅｍｅｎｔｓ）"は、細胞配列データの設定指示である。かかる指示をシミュレーション管理部１０３が受け付けることにより、シミュレーション管理部１０３は、３Ｄメッシュデータと内壁外壁要素データから細胞配列データを生成する。内壁外壁要素データとは、例えば、内壁および外壁を構成している要素の要素番号のリストである。細胞配列データとは、例えば、３Ｄメッシュデータの要素番号とｘｙｚ方向ベクトル（ｘ１，Ｙ１，ｚ１）の情報を有する。３Ｄメッシュデータの要素番号とは、３Ｄメッシュデータを複数の要素に区切った際の要素を特定する情報である。なお、単細胞の空間的の配置方向によって、その収縮方向が異なる。よって、心臓全体の挙動も異なる。細胞の空間的な配置方向をあらわすのが細胞配列データである。【００４３】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の５行目の情報を読み込む。５行目の情報は、"［ＧＵＩ−>ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ］ｓｅｔＣｅｌｌＭｏｄｅｌｓ（ｃｅｌｌＭｏｄｅｌｓ）"である。"ｓｅｔＣｅｌｌＭｏｄｅｌｓ（ｃｅｌｌＭｏｄｅｌｓ）"は、細胞モデルデータを入力させるデータ入力指示である。かかる細胞モデルデータは、３Ｄメッシュデータの各要素に対応するデータである。かかる指示により、入力受付手段１０３５は、細胞モデルデータを入力させるためのＧＵＩ画面を構成し、表示する。次に、入力受付手段１０３５は、ユーザからの細胞モデルデータの入力を受け付け、３Ｄメッシュデータの各要素に対応する細胞モデルデータとして設定する。細胞モデルデータとは、単細胞の生物的挙動を時間軸にあらわしたデータである。たとえば、細胞モデルデータには、細胞膜電位や各イオンチャネル濃度の変化データ、ADP・ATPなど代謝物質の変化データ、遺伝にかかわる蛋白質の変化データなどがある。細胞モデルデータは、例えば、ＸＭＬ形式で記述され得るが、そのデータ構造は問わない。【００４４】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の６行目の情報を読み込む。６行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＣｅｌｌＳｉｍｕｌａｔｏｒ］ｓｅｔＣｅｌｌＭｏｄｅｌｓ（ｃｅｌｌＭｏｄｅｌｓ）"である。"ｓｅｔＣｅｌｌＭｏｄｅｌｓ（ｃｅｌｌＭｏｄｅｌｓ）"は、細胞モデルデータを細胞シミュレータに設定する指示である入力データ受渡指示である。かかる入力データ受渡指示により、入力データ受渡手段１０３３は、細胞モデルデータを細胞シミュレータのシミュレータ部品１０１に渡す。そして、細胞シミュレータのシミュレータ部品１０１は、細胞モデルデータを受け取り、設定する。図４において、"ＣｅｌｌＳｉｍｕｌａｔｏｒ"は、細胞シミュレータのシミュレータ部品１０１を示す。【００４５】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の７行目の情報を読み込む。７行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−ＣｅｌｌＳｉｍｕｌａｔｏｒ］ｇｅｔＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ（ｄｔ，ｌｅｎｇｔｈ）"である。"ｇｅｔＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ（ｄｔ，ｌｅｎｇｔｈ）"は、細胞シミュレータで細胞ごとに筋節長に対するｄｔ時間後の細胞収縮力を計算させ、その結果データを取得する指示である出力データ受渡指示である。かかる指示が、シミュレーション管理部１０３から細胞シミュレータに送付される。次に、細胞シミュレータは、細胞ごとに筋節長に対するｄｔ時間後の細胞収縮力を計算し、その結果データをシミュレーション管理部１０３に送付する。その結果データは細胞収縮力データである。細胞収縮力データとは、細胞の収縮力の時系列データである。細胞収縮力データは、複数の力の値（単位：マイクロニュートン）を有するデータである。例えば、細胞収縮力データは、時刻と力の値の組を複数有するデータである。【００４６】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の８行目の情報を読み込む。そして、シミュレーション管理部１０３は、１周期分の計算が終了するまで７行目の情報が示す処理を繰り返す。そして、その結果を細胞収縮力データとして蓄積する。なお、細胞収縮力データは、例えば、要素番号と、時間を示す情報と、収縮力を示す情報を有する。細胞収縮力データは、細胞シミュレータから計算され、有限要素モジュールで解析され、心臓全体の拍動をおこす。なお、１周期分とは、1心拍に相当する区間をいう。細胞は心拍に応じて周期的に収縮力を発生する。【００４７】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の９行目の情報を読み込む。９行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｓｅｔＳｉｍｕｌａｔｉｏｎＤａｔａ（ＳｉｍｕｌａｔｉｏｎＤａｔａ）"である。"ｓｅｔＳｉｍｕｌａｔｉｏｎＤａｔａ（ＳｉｍｕｌａｔｉｏｎＤａｔａ）"は、シミュレーションデータを送付し、設定を指示する入力データ受渡指示である。かかる指示は、シミュレーション管理部１０３から有限要素モジュールに対してなされる。かかる入力データ受渡指示により、シミュレーションデータが有限要素モジュールに送付され、当該有限要素モジュールはデータを受け付け、一時蓄積する。シミュレーションデータとは、ここでは、３Ｄメッシュデータと材料特性を示すデータと境界条件を示すデータを有する。単細胞の生物的挙動モデルから組織や器官のモデルを構築するために、細胞を空間的に配置し、その力学的な相互作用（有限要素解析法）によって、組織や器官の全体の挙動をシミュレートする。その際の細胞の空間配置情報が３Ｄメッシュデータである。また、心臓の場合、楕円に近いモデルなどが用いられる。材料特性データとは、細胞の力学的性質をあらわすデータである。さらに、組織や器官の壁にある細胞は組織の中にある細胞とよく違う挙動を示すため、有限要素解析では、それを指定する（組織の中にある細胞と壁の細胞を区別する）ためのデータが境界条件データである。なお、シミュレーションデータは、例えば、ＭＦＤ形式であるが、その形式、構造は問わない。なお、ＭＦＤ形式は、有限要素モジュールの入力ファイル形式として、頻繁に利用される。なお、図４において、"ＦＥＭＳｉｍｕｌａｔｏｒ"は、有限要素モジュール（シミュレーション部品の１つ）を示す。【００４８】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１０行目の情報を読み込む。１０行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｓｅｔＣｅｌｌＤｉｒｅｃｔｉｏｎ（）"である。"ｓｅｔＣｅｌｌＤｉｒｅｃｔｉｏｎ（）"は、細胞配列データを受け渡す指示である入力データ受渡指示である。かかる指示により、細胞配列データが有限要素モジュールに送付される。そして、当該シミュレータ部品１０１は、細胞配列データを受け付け、設定する。【００４９】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１１行目の情報を読み込む。１１行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｓｅｔＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ（ＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ）"である。"ｓｅｔＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ（ＣｅｌｌＲｅｄｕｃｔｉｏｎＦｏｒｃｅ）"は、有限要素モジュールに細胞収縮力データの設定を指示する入力データ受渡指示である。かかる指示により、細胞収縮力データがシミュレーション管理部１０３から有限要素モジュールに渡され、有限要素モジュールが当該細胞収縮力データを設定する。【００５０】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１２行目の情報を読み込む。１２行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｇｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（ｄｔ）"である。"ｇｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（ｄｔ）"は、有限要素モジュールにｄｔ時間後の臓器変形を計算し、計算結果を送付することを指示する出力データ受渡指示である。かかる指示により、有限要素モジュールは、ｄｔ時間後の臓器変形を計算し、その計算結果をシミュレーション管理部１０３に送付する。【００５１】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１３行目の情報を読み込む。１３行目の情報は、"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>Ｖｉｓｕａｌｉｚｅｒ］ｓｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（ＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ）"である。なお、"Ｖｉｓｕａｌｉｚｅｒ"は、データ出力部品１０２を示す。
そして、"ｓｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（ＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ）"は、臓器変形に関する有限要素モジュールの計算結果のデータをデータ出力部品１０２に渡し、当該データを可視化する出力指示である。かかる指示により、有限要素モジュールのシミュレーション結果データがデータ出力部品１０２に送付される。そして、データ出力部品１０２は、当該データを受け取り、視覚的に出力する。かかる出力により、臓器の変形は視覚的に図的に表示される。かかる表示の様子を示したのが、図５である。図５において、心臓の動きをシミュレーションしている様子を示している。なお、シミュレーション結果データは、例えば、ｔ１９／ｔ１６形式のデータである。また、シミュレーション結果データは、例えば、３Ｄ形状、変位、応力テンソル、歪みテンソル、速度、加速度の情報を含む。３Ｄ形状とは、心臓の３Ｄ形状、入力の３Ｄメッシュの形状情報である。形状情報は、例えば、心臓の形状を構成する点の情報（ｘ，ｙ，ｚ）の集合である。また、変位とは、心臓３Ｄメッシュの各要素の空間変異データであり、かかる情報により、心臓拍動の動きがわかる。また、応力テンソルとは、有限要素モジュールから出力される各要素にかかった力データである。また、歪みテンソルとは、有限要素モジュールから出力される各要素の歪のデータである。また、速度とは、心臓３Ｄメッシュの各要素の空間動きの速度である。さらに、加速度とは、心臓３Ｄメッシュの各要素の空間動きの加速度である。【００５２】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１４行目の情報を読み込む。そして、シミュレーション管理部１０３は、１周期分の計算が終了するまで１２，１３行目の情報が示す処理を繰り返す。そして、臓器の変形のシミュレーションが実行される。【００５３】
次に、シミュレーション管理部１０３は、図４のシミュレーションシナリオ情報の１５行目の情報を読み込む。シミュレーションシナリオ情報の１行目の情報に戻る。そして、上述した処理が繰り返し実行される。なお、上記処理は、電源オフや処理終了の割り込みにより終了する。【００５４】
なお、上記の細胞シミュレータは、例えば、単一心筋細胞モデルを計算する細胞シミュレータで実現されている。また、有限要素モジュールは、構造力学的変形を計算する有限要素法ソルバ（たとえば、商用ソフト（Ｍａｒｃ））で実現でき得る。また、データ出力部品１０２は、商用の可視化ツールキット（ＡＶＳ）で実現でき得る。つまり、上述の生体シミュレーション装置は、シミュレーションシナリオ情報に基づいて、以下のように動作する。まず、選択した心筋細胞モデルを細胞シミュレータで実行する。次に、そのシミュレーション結果である収縮力の時系列データをシミュレーション管理部１０３が取得する。次に、収縮力の時系列データ、選択した細胞配列モデルと形状データを有限要素モジュールに渡し、有限要素モジュールが実行する。次に、有限要素モジュールは、形状変化の時系列データを出力する。次に、シミュレーション管理部１０３は形状変化の時系列データを取得し、データ出力部品１０２に渡す。データ出力部品１０２は、形状変化の時系列データに基づいて、心室拍動のシミュレーションを行う。かかるシミュレーションは、例えば、３次元のアニメーションで表示される。【００５５】
以上、本実施の形態によれば、個体、臓器・器官、細胞・組織、細胞内小器官、分子といった生体機能を構成する機能要素に対応するシミュレータ部品を組み合わせた、種々の生体の機能がシミュレーションできる。そして、医学分野において、種々の研究がなされ、解明されるのは、生体機能を構成する機能要素についてである場合が多い。それは研究の困難度から言えることである。また、例えば、種々の細胞等の部品の振る舞いが影響し合って、個体、臓器の振る舞いが決定される。本実施の形態における生体シミュレーション装置は、かかる医学分野の特質を考慮し、各生体の部品（心筋細胞など）をシミュレーションするシミュレータ部品と、生体の部品を制御する部位（シミュレーション管理部）を構造的に分離し、かつ、新しいシミュレータ部品の組み込みが、他の部品に影響を及ぼさず、かつ精度の高いシミュレーションを可能にする。つまり、本実施の形態によれば、解明されているシミュレータ部品を容易に組み合わせ、現在の医学の実情に合った精度の高い生体シミュレーションを可能にし、それによって将来の医学の研究と進歩が助長される。かつ、医学の進歩に合わせたシミュレーション機能の拡張が極めて容易にできる。ここで機能要素とは、上述の心筋細胞の電気生理学的な振る舞いや、細胞の代謝的な側面の振る舞いや、臓器の形状の変化などを言う。つまり、シミュレータ部品は、心筋細胞の電気生理学的な振る舞いをシミュレーションするソフトウェアや、臓器の形状をシミュレーションするソフトウェアや、細胞の代謝的な振る舞いをシミュレーションするソフトウェアなどにより実現され得る。かかることは、他の実施の形態においても同様である。
例えば、心臓全体で見ると、洞房結節で発生した興奮は刺激伝導系によって心臓全体に伝播される。この過程は、電気現象の一種であり、電場解析などによりシミュレートすることができる。そして、各細胞が発生した収縮力によって心臓全体が収縮するが、これは構造力学的現象であり有限要素法などを用いて計算可能である。さらに、心臓の収縮によって心臓内の圧力が高まり血液が拍出される。これは流体力学的現象として捉えることができる。それ以外にも、冠動脈などによる心筋の酸素濃度勾配など、多くの現象が心拍動に関与している。さらに、細胞と臓器との間の相互作用も存在する。例えば、心臓の構造力学的変形によって生じる心筋細胞への加重は、興奮収縮連関を通じて細胞の電気生理学的現象に影響を与える。このように、心拍動一つみても、いくつもの現象とその相互作用を考慮する必要がある。さらに、小腸における薬物吸収など、異なる生体機能にはそれぞれに異なった多くの現象とその相互作用が関与する。これらの現象は、複数の生体機能で共通なもの、同じ手法で計算可能なもの、ある生体機能に特有のものなど、様々である。本実施の形態によれば、生体機能を対象とした汎用的なシミュレーションプラットフォームを提供できる。かかることは、他の実施の形態においても同様である。【００５６】
また、生体機能や生体機能の機能要素は、上述したように、まだ十分に解明されていない。今後、医学の研究により、順次、解明されると考えられる。本実施の形態における生体シミュレーション装置の構造は、順次解明されるであろう生体機能や機能要素に対応して構築されたシミュレータ部品を組み込み、さらに詳細な、精度の高いシミュレーションを行う場合の好適な構造である。つまり、医学の進歩に合わせたシミュレーション機能の拡張が極めて容易にできる、という生体のシミュレーションに極めて適した構造を具備する。かかることは、他の実施の形態においても同様である。【００５７】
なお、本実施の形態によれば、シミュレーションシナリオ情報をカスタマイズする構成について、十分に説明しなかったが、シミュレーションシナリオ情報はカスタマイズ可能であっても良いことは言うまでもない。かかる場合、生体シミュレーション装置は、上記の生体シミュレーション装置の構成に加えて、シミュレーションシナリオ情報の入力を受け付けるシミュレーションシナリオ情報入力受付部と、シミュレーションシナリオ情報入力受付部で受け付けたシミュレーションシナリオ情報をシミュレーションシナリオ情報格納手段に蓄積するシミュレーションシナリオ情報蓄積部をさらに具備する。かかることは他の実施の形態においても同様である。【００５８】
また、本実施の形態によれば、シミュレータ部品は、上記例示したシミュレータ部品に限られないことは言うまでもない。つまり例示した２以上の異なるシミュレータ部品の一のシミュレータ部品は、単一心筋細胞のシミュレーションを行うシミュレータ部品であり、他の一のシミュレータ部品は、臓器の変形を算出するシミュレータ部品（有限要素モジュール）であったが、他のシミュレータ部品でも良い。かかることも他の実施の形態においても同様である。
また、本実施の形態における、各データ、情報の形式や構造は問わない。かかることも他の実施の形態においても同様である。【００５９】
また、本実施の形態によれば、データ出力部品の出力手段は、出力データ受付手段が受け付けた出力データを表示したが、出力データを蓄積したり、送信したりしても良い。かかることも他の実施の形態においても同様である。【００６０】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における生体シミュレーション装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出させる２以上の異なるシミュレーションを行わせるシミュレータプログラムと、コンピュータに、シミュレーション結果を出力させるデータ出力プログラムと、コンピュータに、前記２以上の異なるシミュレータプログラムおよび前記データ出力プログラムの間のデータの受け渡しの制御をさせるシミュレーション管理プログラムを具備する生体シミュレーションプログラムであって、前記２以上のシミュレータプログラムは、ユーザまたは／および前記シミュレーション管理部からデータを受け付ける入力データ受付ステップと、前記入力データ受付ステップで受け付けたデータに対して所定の演算を行い、出力データを構成する演算ステップと、前記出力データを前記シミュレーション管理部に渡す出力データ出力ステップを具備し、前記データ出力プログラムは、前記シミュレーション管理部から出力データを受け付ける出力データ受付ステップと、前記出力データ受付手段が受け付けた出力データを出力する出力ステップを具備し、前記シミュレーション管理プログラムは、前記２以上のシミュレータプログラムからデータを受け付けるデータ受付ステップと、格納されているシミュレーションシナリオ情報に基づいて、前記データ受付手段で受け付けたデータを前記シミュレータプログラムに渡す入力データ受渡ステップと、前記２以上のシミュレータプログラムから受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記データ出力プログラムに渡す出力データ受渡ステップを具備する生体シミュレーションプログラム、である。
また、上記のデータ出力プログラムの出力ステップは、前記出力データ受付ステップで受け付けた出力データを表示しても良い。
（実施の形態２）【００６１】
本実施の形態において、２以上の生体要素のシミュレータ部品を利用して、複雑な生体シミュレーションを行える生体シミュレーション装置等について説明する。本実施の形態において、生体シミュレーション装置は、シミュレーションの結果のデータを蓄積し、後に利用する形態である。【００６２】
生体シミュレーション装置は、２以上の異なる生体要素のシミュレータ部品とデータ出力部品とシミュレーション管理部を具備する。２以上の生体要素のシミュレータ部品は、入力を受け付け、シミュレーション結果を出力するシミュレータの部品である。データ出力部品は、シミュレーションの結果を蓄積するための部品である。シミュレーション管理部は、シミュレータ部品の出力を他のミュレータ部品の入力に変換し、他のシミュレータ部品に当該変換データを渡し、また、シミュレータ部品の出力をそのまま、または変換し、データ出力部品に渡す。シミュレータ部品は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素ごとの挙動であるミクロレベルの挙動をシミュレーションする。シミュレーション管理部は、生体構成要素間の相互作用であるマクロレベルの挙動をシミュレーション可能にする。データ出力部品は、各生体構成要素と外部環境との相互作用のシミュレーションを可能にする。【００６３】
以下、本発明の実施の形態の生体シミュレーション装置について、図面を用いて説明する。図６は、本実施の形態における生体シミュレーション装置のブロック図である。生体シミュレーション装置は、２以上の異なるシミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））、データ出力部品８０２、シミュレーション管理部１０３、シミュレーションシナリオ情報入力受付部１０４、シミュレーションシナリオ情報蓄積部１０５、出力データ受付部１０６、入力データ検索部１０７、入力データ出力部１０８を具備する。シミュレータ部品の符号は、総括して、１０１とする場合もある。
データ出力部品８０２は、出力データ受付手段１０２１、入力データ取得手段８０２１、出力手段８０２２を具備する。【００６４】
入力データ取得手段８０２１は、１以上のシミュレータ部品１０１への入力データを取得する。入力データ取得手段８０２１は、シミュレータ部品１０１から直接に入力データを取得しても良いし、シミュレーション管理部１０３を経由して入力データを取得しても良い。なお、図８のブロック図において、入力データ取得手段８０２１は、シミュレーション管理部１０３を経由して入力データを取得する構成である。入力データ取得手段８０２１は、通常、ＭＰＵやメモリ等から実現され得る。入力データ取得手段８０２１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００６５】
出力手段８０２２は、出力データ受付手段１０２１が受け付けた出力データと入力データ取得手段８０２１が取得した入力データを対にして蓄積する。出力手段８０２２が情報を蓄積する記録媒体は、不揮発性の記録媒体が好適である。なお、かかる記録媒体は、生体シミュレーション装置に内蔵のものでも外付けのものでも良い。出力手段８０２２は、通常、ＭＰＵやメモリ等から実現され得る。出力手段８０２２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００６６】
出力データ受付部１０６は、出力データの入力を受け付ける。出力データとは、シミュレーションの結果を示すシミュレーションデータである。出力データの入力を行う入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。出力データ受付部１０６は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。【００６７】
入力データ検索部１０７は、出力データ受付部１０６が受け付けた出力データと対になる、または出力データ受付部１０６が受け付けた出力データに近似した出力データと対になる入力データを検索する。２つの出力データを比較して近似しているか否かを判断する技術は公知技術であるので、ここでの詳細な説明は省略する。入力データ検索部１０７は、通常、ＭＰＵやメモリ等から実現され得る。入力データ検索部１０７の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。【００６８】
入力データ出力部１０８は、入力データ検索部１０７が検索した入力データを出力する。出力とは、通常、ディスプレイへの表示を言うが、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。入力データ出力部１０８は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。入力データ出力部１０８は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。【００６９】
以下、本生体シミュレーション装置の動作について説明する。本生体シミュレーション装置は、実施の形態１で説明したシミュレーション装置と比較して、シミュレーション結果の表示が、出力データ受付手段１０２１が受け付けた出力データと入力データ取得手段８０２１が取得した入力データを対にして蓄積する動作に変わっている。また、出力データ受付部１０６が出力データの入力を受け付けると、入力データ検索部１０７は、出力データ受付部１０６が受け付けた出力データと対になる、または出力データ受付部１０６が受け付けた出力データに近似した出力データと対になる入力データを検索する。次に、入力データ出力部１０８は、入力データ検索部１０７が検索した入力データを出力する。かかる処理により、実際の患者のデータ（出力データ）に基づいて、入力データが検索でき、患者の身体の内部の状態が把握できる。【００７０】
以下、本実施の形態における生体シミュレーション装置の具体的な動作について説明する。今、シミュレーションシナリオ情報格納手段１０３１に図４に示すシミュレーションシナリオ情報が格納されている。かかる状況において、単一心筋細胞のシミュレーションを行うシミュレータ部品と、臓器の変形を算出するシミュレータ部品に対して入力データが入力される。そして、実施の形態１で述べたシミュレーションデータが、上記の入力されたデータと対に蓄積される。そして、シミュレータ部品への入力データと、シミュレーション結果である出力データ（シミュレーションデータ）を対で有する複数のレコードを有するデータベースが構築される。【００７１】
次に、出力データ受付部１０６は、実際の患者のデータ（出力データ）の入力を受け付ける、とする。そして、入力データ検索部１０７は、受け付けた出力データと一致するまたは近似する出力データと対になる入力データを上記の処理で構築したデータベースから取得する。次に、入力データ出力部１０８は、取得した入力データを出力する。【００７２】
以上、本実施の形態によれば、シミュレーション結果を蓄積でき、利用できる。シミュレーション結果の利用方法としては、外部から観測できる患者のデータ（出力データ）を入力し、シミュレータ部品に与える入力データを取得することにより、患者の身体の内部状態を取得できる。かかることにより、生体シミュレーション装置を用いて、身体を手術したり、患者にとって負荷の高い検査をしたりすることを回避でき、患者の状態を知ることができる。【００７３】
なお、本実施の形態における生体シミュレーション装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出させる２以上の異なるシミュレーションを行わせるシミュレータプログラムと、コンピュータに、シミュレーション結果を出力させるデータ出力プログラムと、コンピュータに、前記２以上の異なるシミュレータプログラムおよび前記データ出力プログラムの間のデータの受け渡しの制御をさせるシミュレーション管理プログラムを具備する生体シミュレーションプログラムであって、前記２以上のシミュレータプログラムは、ユーザまたは／および前記シミュレーション管理プログラムからデータを受け付ける入力データ受付ステップと、前記入力データ受付ステップで受け付けたデータに対して所定の演算を行い、出力データを構成する演算ステップと、前記出力データを前記シミュレーション管理プログラムに渡す出力データ出力ステップを具備し、前記データ出力プログラムは、前記シミュレーション管理プログラムから出力データを受け付ける出力データ受付ステップと、前記シミュレータ部品への入力データを取得する入力データ取得ステップと、前記出力データ受付ステップで受け付けた出力データと前記入力データ取得ステップで取得した入力データを対にして蓄積する出力ステップを具備し、前記シミュレーション管理プログラムは、前記２以上のシミュレータ部品からデータを受け付けるデータ受付ステップと、格納されているシミュレーションシナリオ情報に基づいて、前記データ受付手段で受け付けたデータを前記シミュレータプログラムに渡す入力データ受渡ステップと、前記２以上のシミュレータプログラムから受け付けたデータを前記シミュレーションシナリオ情報に基づいて前記データ出力プログラムに渡す出力データ受渡ステップを具備し、さらに、コンピュータに、出力データの入力を受け付ける出力データ受付ステップと、前記出力データ受付ステップが受け付けた出力データと対になる、または出力データ受付部ステップで受け付けた出力データに近似した出力データと対になる入力データを検索する入力データ検索ステップと、前記入力データ検索ステップで検索した入力データを出力する入力データ出力ステップを実行させるための生体シミュレーションプログラム、である。
（実施の形態３）
上述した実施の形態の具体例等において、有限要素モジュールというシミュレータ部品１０１（"ＦＥＭＳｉｍｕｌａｔｏｒ"）と、細胞のシミュレーションを行うシミュレータ部品１０１（"ＣｅｌｌＳｉｍｕｌａｔｏｒ"）は、片方向のデータ（メッセージと言っても良い）のやりとりであった（図４参照）。つまり、シミュレータ部品１０１（"ＣｅｌｌＳｉｍｕｌａｔｏｒ"）で計算した細胞収縮力変化を一旦蓄積し、当該蓄積した細胞収縮力を要素収縮力に変換して、シミュレータ部品１０１（"ＦＥＭＳｉｍｕｌａｔｏｒ"）に入力するという構成であった。つまり、シミュレータ部品１０１（"ＦＥＭＳｉｍｕｌａｔｏｒ"）による筋長変化がシミュレータ部品１０１（"ＣｅｌｌＳｉｍｕｌａｔｏｒ"）に反映されない、というシミュレーションシナリオ情報であった。つまり、張力と筋長は独立に計算されており、片方向連成シミュレーションであった（図７参照）。したがって、シミュレーションの精度が十分ではなかった（後述の図１１参照）。
本実施の形態において、以下の具体例について述べる。つまり、まず、シミュレータ部品１０１（"ＣｅｌｌＳｉｍｕｌａｔｏｒ"）で計算した収縮力を要素収縮力に変換し、シミュレータ部品１０１（"ＦＥＭＳｉｍｕｌａｔｏｒ"）に入力する。次に、形状変化を半筋節長変化に変換して、シミュレータ部品１０１（"ＣｅｌｌＳｉｍｕｌａｔｏｒ"）に入力する。つまり、本実施の形態において述べる具体例では、張力と筋長間の相互作用をシミュレートできる。つまり、双方向連成シミュレーションである（図８参照）。その結果、非常に精度の高い生体シミュレーションが可能となる（後述の図１１参照）。
以下、本実施の形態の生体シミュレーション装置について説明する。図１は、本実施の形態における生体シミュレーション装置のブロック図である。生体シミュレーション装置は、２以上の異なるシミュレータ部品（１０１（１）、１０１（２）・・・１０１（ｎ））、データ出力部品１０２、シミュレーション管理部１０３、シミュレーションシナリオ情報入力受付部１０４、シミュレーションシナリオ情報蓄積部１０５を具備する。また、本実施の形態の生体シミュレーション装置の動作は、図２、図３のフローチャートを用いて説明した。
以下、本実施の形態における生体シミュレーション装置の具体的な動作について説明する。今、シミュレーションシナリオ情報格納手段１０３１に図９に示すシミュレーションシナリオ情報が格納されている。
まず、図９のシミュレーションシナリオ情報について説明する。図９のシミュレーションシナリオ情報は、１８行の情報からなる。１行目から６行目は、図４のシミュレーションシナリオ情報と同様であり、説明済みである。図９の７行目は図４の９行目と同様であり、説明済みである。図９の８行目は図４の１０行目と、引数を除いて同じである。
そして、まず、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１行目から順次、８行目までの情報を読み込み、それぞれの情報に基づいて、実施の形態１で述べた動作を行う。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の９行目の情報を読み込み、実行する。図９の９行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｇｅｔＣｅｌｌＬｅｎｇｔｈ（ｌｅｎｇｔｈ）"は、シミュレーション管理部１０３から有限要素モジュールに細胞の長さを取得する指示が送付されることを示す。そして、シミュレーション管理部１０３は、細胞の長さを取得する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１０行目の情報を読み込み、実行する。図９の１０行目"［［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＣｅｌｌＳｉｍｕｌａｔｏｒ］ｓｅｔＣｅｌｌＬｅｎｇｔｈ（ｌｅｎｇｔｈ）"は、シミュレーション管理部１０３が有限要素モジュールから取得した細胞の長さを細胞シミュレータに送付することを示す。そして、シミュレーション管理部１０３は、細胞シミュレータに細胞の長さを送付する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１１行目の情報を読み込み、実行する。図９の１１行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＣｅｌｌＳｉｍｕｌａｔｏｒ］ｓｔｅｐＧｏ（ｄｔ）"は、シミュレーション管理部１０３が、細胞シミュレータにｄｔ時間分、細胞収縮力を計算することを指示することを示す。そして、シミュレーション管理部１０３は、細胞シミュレータにｄｔ時間分計算することを指示し、細胞シミュレータはｄｔ時間分、細胞収縮力を計算する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１２行目の情報を読み込み、実行する。図９の１２行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＣｅｌｌＳｉｍｕｌａｔｏｒ］ｇｅｔＣｅｌｌＦｏｒｃｅ（ＣｅｌｌＦｏｒｃｅ）"は、シミュレーション管理部１０３は、細胞シミュレータが計算した細胞収縮力を取得することを示す。そして、シミュレーション管理部１０３は、細胞シミュレータから細胞収縮力を取得する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１３行目の情報を読み込み、実行する。図９の１３行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｓｅｔＣｅｌｌＦｏｒｃｅ（ＣｅｌｌＦｏｒｃｅ）"は、シミュレーション管理部１０３は、有限要素モジュールに、取得した細胞収縮力を送ることを示す。そして、細胞収縮力は、有限要素モジュールに送付される。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１４行目の情報を読み込み、実行する。図９の１４行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｓｔｅｐＧｏ（ｄｔ）"は、シミュレーション管理部１０３は、有限要素モジュールに、ｄｔ時間分、臓器形状（３Ｄ形状）を計算することを指示することを示す。そして、有限要素モジュールは、ｄｔ時間分、臓器形状を計算する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１５行目の情報を読み込み、実行する。図９の１５行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>ＦＥＭＳｉｍｕｌａｔｏｒ］ｇｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（Ｏｒｇａｎ）"は、シミュレーション管理部１０３は、有限要素モジュールが計算した臓器形状を、有限要素モジュールから取得することを示す。そして、シミュレーション管理部１０３は、有限要素モジュールから臓器形状を取得する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１６行目の情報を読み込み、実行する。図９の１６行目"［ＳｉｍｕｌａｔｉｏｎＣｏｎｔｒｏｌｌｅｒ−>Ｖｉｓｕａｌｉｚｅｒ］ｓｅｔＯｒｇａｎＤｅｆｏｒｍａｔｉｏｎ（Ｏｒｇａｎ）"は、シミュレーション管理部１０３は、データ出力部品１０２に、臓器形状を送ることを示す。そして、シミュレーション管理部１０３は、データ出力部品１０２に、臓器形状を送る。次に、データ出力部品１０２は、臓器形状を受け付け、出力する。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１７行目の情報を読み込み、実行する。図９の１７行目"ｌｏｏｐ（９，１６）"は、９行目から１６行目までの処理を繰り返すことを示す。そして、シミュレーション管理部１０３は、９行目から１６行目までの処理を、１周期分の計算が終了するまで繰り返す。
次に、シミュレーション管理部１０３は、図９のシミュレーションシナリオ情報の１８行目の情報を読み込み、実行する。図９の１８行目"ｇｏｔｏ（１）"は、１行目に戻ることを示す。そして、シミュレーション管理部１０３は、シミュレーションシナリオ情報の１行目の情報に戻る。そして、上述した処理が繰り返し実行される。なお、上記処理は、電源オフや処理終了の割り込みにより終了する。
本具体例における処理は、上述したように、張力と筋長間の相互作用をシミュレートする双方向連成シミュレーションである。
また、図１０に示す実験を行った。実験において、細胞の両端に収縮力測定装置を設置し、長さが変化しない状態にした。そして、細胞の長さ（半筋節長）を変化させて発生する収縮力を測定する実験を行った。かかる実細胞を使った実測値を、図１１のグラフに示す。図１１のグラフにおいて、横軸が半筋節長（単位：μｍ）、縦軸が正規化した細胞収縮力である。また、実施の形態１の片方向連成シミュレーションにおけるグラフと、本実施の形態の双方向連成シミュレーションにおけるグラフも、図１１に示す。
図１１のグラフにより、片方向連成シミュレーションでは、実細胞と異なる結果となるが、双方向連成シミュレーションでは実細胞とほぼ同じ結果が得られたことが分かる。
以上、本実施の形態によれば、精度の高いシミュレーションが、シミュレーションシナリオ情報等を変更するだけで簡単に実現できる。つまり、医学分野において、種々の研究がなされ、解明されるのは、生体機能を構成する機能要素についてである場合が多い。それは研究の困難度から言えることである。また、例えば、種々の細胞等の部品の振る舞いが影響し合って、個体、臓器の振る舞いが決定される。本実施の形態における生体シミュレーション装置は、かかる医学分野の特質を考慮し、各生体の部品（心筋細胞など）をシミュレーションするシミュレータ部品と、生体の部品を制御する部位（シミュレーション管理部）を構造的に分離し、かつ、新しいシミュレータ部品の組み込みが、他の部品に影響を及ぼさず、かつ精度の高いシミュレーションを可能にする。つまり、本実施の形態によれば、解明されているシミュレータ部品を容易に組み合わせ、現在の医学の実情に合った精度の高い生体シミュレーションを可能にし、それによって将来の医学の研究と進歩が助長される。かつ、医学の進歩に合わせたシミュレーション機能の拡張が極めて容易にできる。
なお、本実施の形態において述べた双方向連成シミュレーションは、実施の形態２における生体シミュレーション装置においても適用可能であることはいうまでもない。
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
つまり、例えば、上記各実施の形態において、シミュレータ部品、シミュレータ管理部、データ出力部品等は、それぞれ個別の装置により実現されており、メッセージやデータの送受信（通信機能、放送機能等を利用）により、生体シミュレーションが実現されても良い。かかる生体シミュレーションシステムは、以下のようなシステムである。つまり、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の振る舞いを算出する２以上の異なるシミュレータ部品装置と、シミュレーション結果を出力するデータ出力部品装置と、前記２以上の異なるシミュレータ部品装置および前記データ出力部品装置の間のデータの送受信の制御を行うシミュレーション管理装置を具備する生体シミュレーションシステムであって、前記２以上のシミュレータ部品装置は、ユーザまたは／および前記シミュレーション管理部からデータを受け付ける入力データ受付手段と、前記入力データ受付手段が受け付けたデータに対して所定の演算を行い、出力データを構成する演算手段と、前記出力データを前記シミュレーション管理装置に送信する出力データ出力手段を具備し、前記データ出力部品装置は、前記シミュレーション管理装置から出力データを受信する出力データ受付手段と、前記出力データ受付手段が受信した出力データを出力する出力手段を具備し、前記シミュレーション管理装置は、前記２以上のシミュレータ部品装置およびデータ出力部品装置間の、データの送受信および動作シーケンスに関する情報であるシミュレーションシナリオ情報を格納しているシミュレーションシナリオ情報格納手段と、前記２以上のシミュレータ部品からデータを受信するデータ受付手段と、前記データ受付手段が受信したデータを前記シミュレーションシナリオ情報に基づいて前記シミュレータ部品装置に送信する入力データ受渡手段と、前記２以上のシミュレータ部品から受信したデータを前記シミュレーションシナリオ情報に基づいて前記データ出力部品装置に送信する出力データ受渡手段を具備する生体シミュレーションシステム、である。
なお、上述したプログラムにおいて、情報を出力する出力ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
また、上述したプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００７４】
以上のように、本発明にかかる生体シミュレーション装置は、種々の生体の機能がシミュレーションできるという効果を有し、生体をシミュレーションする生体シミュレーション装置として有用である。
【図面の簡単な説明】
【００７５】
【図１】実施の形態１における生体シミュレーション装置のブロック図
【図２】同生体シミュレーション装置の動作について説明するフローチャート
【図３】同シミュレーション管理部の動作について説明するフローチャート
【図４】同シミュレーションシナリオ情報の例を示す図
【図５】同シミュレーションの表示例を示す図
【図６】実施の形態２における生体シミュレーション装置のブロック図
【図７】実施の形態３における片方向連成シミュレーションの概念図
【図８】同双方向連成シミュレーションの概念図
【図９】同シミュレーションシナリオ情報の例を示す図
【図１０】同実験の概要を示す図
【図１１】同実験結果グラフを示す図
【図１】
2005083615.tif 000002
【図２】
2005083615.tif 000003
【図３】
2005083615.tif 000004
【図４】
2005083615.tif 000005
【図５】
2005083615.tif 000006
【図６】
2005083615.tif 000007
【図７】
2005083615.tif 000008
【図８】
2005083615.tif 000009
【図９】
2005083615.tif 000010
【図１０】
2005083615.tif 000011
【図１１】
2005083615.tif 000012
【国際調査報告】
2005083615.tif 000013
2005083615.tif 000014
2005083615.tif 000015
2005083615.tif 000016