(57)【要約】【課題】従来のシミュレーション装置は、細胞のシミュレーションしか想定していないため、細胞の集合である組織や臓器、個体レベルでのシミュレーションができない、という課題があった。【解決手段】本発明は、個体、臓器または器官と、１以上の細胞または組織と、１以上の細胞内小器官または分子と、１以上の機能要素の関連を管理しており、当該機能要素に対応する機能をシミュレーションするプログラムを１以上保持しており、構成要素識別子とプログラムに与えるパラメータを対応付けて保持しており、受け付けた構成要素識別子が示す個体、臓器等と関連する機能要素に対応する機能をシミュレーションするプログラムに、当該シミュレーション対象識別子に対応するパラメータを渡し、当該プログラムを実行することにより個体、臓器等のシミュレーションを行うシミュレーション装置である。【選択図】図１
2005087585.tif 000002
【特許請求の範囲】
【請求項１】
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を１以上格納している機能要素情報格納部と、
生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するために必要な1以上の機能要素識別子との対応を管理している静的構造管理部と、
構成要素識別子と、当該構成要素識別子で識別される生体構成要素または個体の機能を実現するために必要な１以上のパラメータを有するパラメータ情報を管理しているパラメータ管理部と、
シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付部と、
前記シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を前記静的構造管理部から取得する機能要素識別子取得部と、
前記シミュレーション命令が有する構成要素識別子に対応する１以上のパラメータを前記パラメータ管理部から取得するパラメータ取得部と、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行部を具備するシミュレーション装置。
【請求項２】
前記静的構造管理部は、
細胞を識別する細胞識別子と臓器を識別する臓器識別子と前記細胞の前記臓器内における位置を特定する関数である配置関数を識別する配置関数識別子との対応を管理し、かつ、構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な1以上の機能要素識別子との対応を管理しており、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子と配置関数識別子を前記静的構造管理部から取得し、
前記実行部は、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する
請求項１記載のシミュレーション装置。
【請求項３】
前記静的構造管理部は、
生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している細胞機能管理手段と、
臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している臓器細胞管理手段を具備し、
前記構成要素識別子は、臓器または器官を識別する臓器識別子であり、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する臓器識別子と対応付けられる１以上の細胞識別子を前記臓器細胞管理手段から取得し、当該１以上の細胞識別子と対応付けられる１以上の機能識別子を前記細胞機能管理手段から取得する請求項１記載のシミュレーション装置。
【請求項４】
前記臓器細胞管理手段は、
臓器または器官を識別する臓器識別子と細胞識別子と、当該細胞識別子で識別される細胞の前記臓器識別子で識別される臓器または器官内における配置を算出する配置関数を識別する配置関数識別子の対応を管理し、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する臓器識別子と対応付けられる１以上の細胞識別子と配置関数識別子を前記臓器細胞管理手段から取得し、当該１以上の細胞識別子と対応付けられる１以上の機能識別子を前記細胞機能管理手段から取得し、
前記実行部は、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する請求項３記載のシミュレーション装置。
【請求項５】
前記機能要素情報格納部は、階層化された２以上の機能要素情報を格納しており、
前記実行部は、前記機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、前記パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する請求項１記載のシミュレーション装置。
【請求項６】
個体、臓器または器官と、１以上の細胞または組織と、１以上の細胞内小器官または分子と、１以上の機能要素の関連を管理しており、
当該機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムを１以上保持しており、
構成要素識別子とシミュレーション実現プログラムに与えるパラメータを対応付けて保持しており、
受け付けた構成要素識別子が示す個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子と関連する機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムに、当該シミュレーション対象識別子に対応するパラメータを渡し、当該シミュレーション実現プログラムを実行することにより個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子のシミュレーションを行うシミュレーション装置。
【請求項７】
臓器内または器官内における細胞の配置を特定する関数である配置関数をさらに管理しており、
前記配置関数を実行し、
前記ミュレーション実現プログラムの実行結果を、前記配置関数の実行結果に基づいて出力する請求項６記載のシミュレーション装置。
【請求項８】
構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付部と、
前記構成要素識別子と機能要素識別子の対応を示す情報を前記静的構造管理部に蓄積する静的構造情報蓄積部をさらに具備する請求項１から請求項７いずれか記載のシミュレーション装置。
【請求項９】
構成要素識別子と１以上のパラメータの入力を受け付ける第二入力受付部と、
前記１以上のパラメータと前記構成要素識別子を対応付けて前記パラメータ管理部に蓄積するパラメータ情報蓄積部をさらに具備する請求項１から請求項８いずれか記載のシミュレーション装置。
【請求項１０】
機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付部と、
前記機能要素情報を前記機能要素情報格納部に蓄積する機能要素情報蓄積部をさらに具備する請求項１から請求項９いずれか記載のシミュレーション装置。
【請求項１１】
コンピュータに、
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が１以上格納されており、
生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な1以上の機能要素識別子との対応が管理されており、
構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な１以上のパラメータを有するパラメータ情報が管理されており、
シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、
前記シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を取得する機能要素識別子取得ステップと、
前記シミュレーション命令が有する構成要素識別子に対応する１以上のパラメータを取得するパラメータ取得ステップと、
前記パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行ステップを実行させるためのプログラムである。
【請求項１２】
前記構成要素識別子と前記1以上の機能要素識別子との対応の管理に加えて、前記構成要素識別子と前記1以上の機能要素識別子と配置関数識別子との対応も管理されており、
前記機能要素識別子取得ステップは、
前記シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子と配置関数識別子を取得し、
前記実行ステップは、
前記パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得ステップで取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する請求項１１記載のプログラム。
【請求項１３】
前記機能要素情報は、階層化されており、
前記実行ステップは、
前記機能要素識別子取得ステップで取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、前記パラメータ取得ステップで取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する請求項１１記載のプログラム。
【請求項１４】
コンピュータに、
構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付ステップと、
前記構成要素識別子と機能要素識別子の対応を示す情報を蓄積する静的構造情報蓄積ステップをさらに実行させるための請求項１１から請求項１３いずれか記載のプログラム。
【請求項１５】
構成要素識別子と１以上のパラメータの入力を受け付ける第二入力受付ステップと、
前記１以上のパラメータと前記構成要素識別子を対応付けて蓄積するパラメータ情報蓄積ステップをさらに実行させるための請求項１１から請求項１４いずれか記載のプログラム。
【請求項１６】
機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付ステップと、
前記機能要素情報を蓄積する機能要素情報蓄積ステップをさらに実行させるための請求項１１から請求項１５いずれか記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生物の臓器や器官等をシミュレーションするシミュレーション装置およびそのプログラム等に関するものである。
【背景技術】
【０００２】
従来の生体機能のシミュレーションを行うことができるシミュレーション装置としてＥ−Ｃｅｌｌというシミュレーション装置がある（非特許文献１参照）。Ｅ−Ｃｅｌｌは、いわゆる細胞モデル構築基盤と言えるものである。
【非特許文献１】Ｍ．Ｔｏｍｉｔａ，  Ｋ．Ｈａｓｈｉｍｏｔｏ，  Ｋ．Ｔａｋａｈａｓｈｉ，  Ｔ．Ｓｈｉｍｉｚｕ，  Ｙ．Ｍａｔｓｕｚａｋｉ，  Ｆ．Ｍｉｙｏｓｈｉ，  Ｋ．Ｓａｉｔｏ，  Ｓ．Ｔａｎｉｄａ，  Ｋ．Ｙｕｇｉ，  Ｊ．Ｃ．Ｖｅｎｔｅｒ，  ａｎｄ  Ｃ．Ａ．Ｈｕｔｃｈｉｓｏｎ  ＩＩＩ，  「Ｅ−ＣＥＬＬ：ｓｏｆｔｗａｒｅ  ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  ｗｈｏｌｅ−ｃｅｌｌ  ｓｉｍｕｌａｔｉｏｎ」  ｉｎ  Ｂｉｏｉｎｆｏｒｍａｔｉｃｓ，  ｖｏｌ．１５，  ｎｏ．１，  ｐｐ．７２−８４，  １９９９
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１におけるシミュレーション装置は、細胞のシミュレーションしか想定していないため、細胞の集合である組織や臓器、個体レベルでのシミュレーションができない、という課題があった。
【０００４】
本発明は、従来の課題を解決するためになされたもので、細胞の集合である組織や臓器、個体レベルでのシミュレーションを容易に行えるシミュレーション装置を提供することを目的とする。さらに、簡単なデータの追加定義（オーサリング）により、新しい組織や臓器、個体等もシミュレーションできる環境を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本第一の発明のシミュレーション装置は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を１以上格納している機能要素情報格納部と、生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な１以上の機能要素識別子との対応を管理している静的構造管理部と、構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な１以上のパラメータを有するパラメータ情報を管理しているパラメータ管理部と、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付部と、シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を静的構造管理部から取得する機能要素識別子取得部と、シミュレーション命令が有する構成要素識別子に対応する１以上のパラメータをパラメータ管理部から取得するパラメータ取得部と、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行部を具備するシミュレーション装置である。
かかるシミュレーション装置は、生物学的知識に基づいて生体の構成要素の階層や機能や性質（電気的性質、物理的性質など）を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となる。
【０００６】
また、第二の発明のシミュレーション装置は、第一の発明のシミュレーション装置における静的構造管理部が、細胞を識別する細胞識別子と臓器を識別する臓器識別子と前記細胞の前記臓器内における位置を特定する関数である配置関数を識別する配置関数識別子との対応を管理し、かつ、構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な１以上の機能要素識別子との対応を管理しており、機能要素識別子取得部は、シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子と配置関数識別子を前記静的構造管理部から取得し、実行部は、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、シミュレーション実現プログラムの実行結果を出力するシミュレーション装置である。
かかるシミュレーション装置は、例えば、細胞の臓器内における位置を考慮した臓器全体のシミュレーションが可能であり、より高度で精密な生体のシミュレーションが可能である。
【０００７】
また、第三の発明のシミュレーション装置は、第一の発明のシミュレーション装置における静的構造管理部は、生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している細胞機能管理手段と、臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している臓器細胞管理手段を具備し、構成要素識別子は、臓器または器官を識別する臓器識別子であり、機能要素識別子取得部は、シミュレーション命令が有する臓器識別子と対応付けられる１以上の細胞識別子を前記臓器細胞管理手段から取得し、当該１以上の細胞識別子と対応付けられる１以上の機能識別子を前記細胞機能管理手段から取得するシミュレーション装置である。
かかるシミュレーション装置は、第一の発明と同様、生物学的知識に基づいて生体の構成要素の階層や機能や性質（電気的性質、物理的性質など）を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となる。
【０００８】
また、第四の発明のシミュレーション装置は、第三の発明のシミュレーション装置における臓器細胞管理手段は、臓器または器官を識別する臓器識別子と細胞識別子と、当該細胞識別子で識別される細胞の前記臓器識別子で識別される臓器または器官内における配置を算出する配置関数を識別する配置関数識別子の対応を管理し、機能要素識別子取得部は、シミュレーション命令が有する臓器識別子と対応付けられる１以上の細胞識別子と配置関数識別子を前記臓器細胞管理手段から取得し、当該１以上の細胞識別子と対応付けられる１以上の機能識別子を前記細胞機能管理手段から取得し、実行部は、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、シミュレーション実現プログラムの実行結果を出力するシミュレーション装置である。
かかるシミュレーション装置は、例えば、細胞の臓器内における位置を考慮した臓器全体のシミュレーションが可能であり、より高度で精密な生体のシミュレーションが可能である。
【０００９】
また、第四の発明のシミュレーション装置は、第一の発明のシミュレーション装置における機能要素情報格納部は、階層化された２以上の機能要素情報を格納しており、実行部は、機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行するシミュレーション装置である。つまり、第四の発明のシミュレーション装置は、オブジェクト指向に基づく、生体構造のデータ管理を有し、かつオブジェクト指向に基づくプログラム実行によるシミュレーションを行うことにより、シミュレーションの対象となる生命体の構成要素すなわち、臓器・器官、細胞・組織、機能要素という階層構造を有する生命体の構成要素等のデータを新たに定義し、格納されている機能要素に対応するプログラムをより大きなプログラムの一部として活用することにより、新しいシミュレーション対象の機能を容易にシミュレーションすることができる。このシミュレーションプログラム構築法は、対象とする生命体の構成要素から制限を受けないので、あらゆるレベルの構成要素を同時に複数シミュレーションし、結果を相互に反映させることができる。
【００１０】
また、第五の発明のシミュレーション装置は、上記のシミュレーション装置に加えてオーサリング機能を有するシミュレーション装置である。具体的には、上記のシミュレーション装置に加えて、構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付部と、構成要素識別子と機能要素識別子の対応を示す情報を静的構造管理部に蓄積する静的構造情報蓄積部をさらに具備する。また、上記のシミュレーション装置に加えて、構成要素識別子と１以上のパラメータの入力を受け付ける第二入力受付部と、１以上のパラメータと構成要素識別子を対応付けてパラメータ管理部に蓄積するパラメータ情報蓄積部をさらに具備する。さらに、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付部と、機能要素情報を機能要素情報格納部に蓄積する機能要素情報蓄積部をさらに具備する。
かかるシミュレーション装置は、新たに仕組みや構造が解明された個体、臓器、細胞等のデータやプログラムを簡単に定義でき、かかるデータ等の定義だけで、新しい個体、臓器等の機能がシミュレーションできる。
【発明の効果】
【００１１】
本発明は、個体、臓器・器官、細胞・組織、細胞内小器官、分子といったの生体機能を構成する機能要素の階層構造等のデータと、各機能要素に対応するプログラムを利用して、種々の生体の機能がシミュレーションできる。
【発明を実施するための最良の形態】
【００１２】
以下、シミュレーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００１３】
本実施の形態において、個体と生体構成要素を生物学的知識に沿って階層化した機能要素データ構造が存在し、機能要素ごとの振る舞い（関数）を保持し、１以上の生体機能をシミュレーションすることができるシミュレーション装置について説明する。なお、生体構成要素とは、臓器または器官、細胞・組織、細胞内小器官、分子等の生体を構成する要素である。また、組織とは、２以上の細胞の集合であり、生物学的に一まとまりとして考えられるものである。また、本シミュレーション装置は、任意のレベルの生体機能のシミュレーションを行える。ここで、「任意のレベル」とは、個体および種々の単位の生体構成要素を包含していることを意味する。種々の単位の生体構成要素とは、例えば、臓器または器官、細胞・組織、細胞内小器官、分子などである。また、個体とは生体そのものである。上記の個体、臓器・器官、細胞・組織、細胞内小器官、分子という階層構造は、生物学的な個体、臓器等の構造モデルと合致している。
【００１４】
以下、本発明の実施の形態のシミュレーション装置について、図面を用いて説明する。図１は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部１０１、静的構造管理部１０２、パラメータ管理部１０３、シミュレーション命令受付部１０４、機能要素識別子取得部１０５、パラメータ取得部１０６、実行部１０７を具備する。静的構造管理部１０２は、細胞機能管理手段１０２１、臓器細胞管理手段１０２２を具備する。ただし、静的構造管理部１０２が細胞機能管理手段１０２１、臓器細胞管理手段１０２２を具備することは、静的構造管理部１０２の内部構造の一例である。
【００１５】
機能要素情報格納部１０１は、生物を構成する要素である分子、細胞内小器官、細胞、組織、もしくは臓器の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を１以上格納している。機能要素情報は、機能要素識別子と、シミュレーション実現プログラムを識別するプログラム識別子と、シミュレーション実現プログラムを有していても良い。また、機能要素情報は、機能要素識別子と２以上のシミュレーション実現プログラムを有していても良い。機能要素識別子は、上記機能を識別する情報であれば何でも良い。シミュレーション実現プログラムの記述言語や、形式は問わない。つまり、シミュレーション実現プログラムは、実行形式であっても良いし、ライブラリ形式であっても良いし、プログラムの関数であっても良い。また、１以上のシミュレーション実現プログラムの中には、シミュレーション結果を出力する処理も行うプログラムがある。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。機能要素情報格納部１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００１６】
静的構造管理部１０２は、細胞内小器官、細胞、組織、臓器である生物構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物成要素の機能を実現するに必要な１以上の機能要素識別子との対応を保持している。静的構造管理部１０２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
パラメータ管理部１０３は、構成要素識別子と当該構成要素識別子で識別される生物の構成要素の機能を実現するに必要な１以上のパラメータを有するパラメータ情報を保持している。パラメータ管理部１０３は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００１７】
シミュレーション命令受付部１０４は、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付ける。シミュレーション命令の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。シミュレーション命令受付部１０４は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００１８】
機能要素識別子取得部１０５は、シミュレーション命令受付部１０４が受け付けたシミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を静的構造管理部１０２から取得する。機能要素識別子取得部１０５は、通常、ＭＰＵやメモリ等から実現され得る。機能要素識別子取得部１０５が１以上の機能要素識別子を取得するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００１９】
パラメータ取得部１０６は、シミュレーション命令受付部１０４が受け付けたシミュレーション命令が有する構成要素識別子に対応する１以上のパラメータをパラメータ管理部１０３から取得する。パラメータ取得部１０６は、通常、ＭＰＵやメモリ等から実現され得る。パラメータ取得部１０６が１以上のパラメータを取得するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００２０】
実行部１０７は、パラメータ取得部１０６が取得したパラメータの一部または全部を、機能要素識別子取得部１０５が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する。機能要素識別子取得部１０５が取得した機能要素識別子と対になるシミュレーション実現プログラムは、機能要素情報格納部１０１における管理情報から決定され得る。実行部１０７は、通常、ＭＰＵやメモリ等から実現され得る。実行部１０７の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
細胞機能管理手段１０２１は、生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している。
臓器細胞管理手段１０２２は、臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している。細胞機能管理手段１０２１および臓器細胞管理手段１０２２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
以下、本シミュレーション装置の動作について図２のフローチャートを用いて説明する。
（ステップＳ２０１）シミュレーション命令受付部１０４は、構成要素識別子（ここでは、臓器識別子）を有するシミュレーション命令を受け付けたか否かを判断する。シミュレーション命令を受け付ければステップＳ２０２に行き、シミュレーション命令を受け付けなければステップＳ２０１に戻る。
（ステップＳ２０２）シミュレーション命令が有する臓器識別子を取得する。
（ステップＳ２０３）機能要素識別子取得部１０５は、ステップＳ２０２で取得した臓器識別子に対応する１以上の細胞識別子を取得する。
（ステップＳ２０４）カウンタｉに１を代入する。
【００２１】
（ステップＳ２０５）実行部１０７は、ステップＳ２０３で取得した細胞識別子において、ｉ番目の細胞識別子が存在するか否かを判断する。ｉ番目の細胞識別子が存在すればステップＳ２０６に行き、ｉ番目の細胞識別子が存在しなければ処理を終了する。なお、図２のフローチャートが終了した場合でも、シミュレーション実現プログラムによるシミュレーション結果の出力は継続しても良いことは言うまでもない。
（ステップＳ２０６）機能要素識別子取得部１０５は、ｉ番目の細胞識別子に対応する１以上の機能要素識別子を取得する。
（ステップＳ２０７）カウンタｊに１を代入する。
（ステップＳ２０８）実行部１０７は、ステップＳ２０６で取得した機能要素識別子において、ｊ番目の機能要素識別子が存在するか否かを判断する。ｊ番目の機能要素識別子が存在すればステップＳ２０９に行き、ｊ番目の機能要素識別子が存在しなければステップＳ２１３に飛ぶ。
（ステップＳ２０９）実行部１０７は、ｊ番目の機能要素識別子に対応するシミュレーション実現プログラムを機能要素情報格納部１０１から取得する（読み出す）。
（ステップＳ２１０）パラメータ取得部１０６は、シミュレーション命令受付部１０４が受け付けたシミュレーション命令が有する臓器識別子に対応する１以上のパラメータを、パラメータ管理部１０３から取得する。
（ステップＳ２１１）実行部１０７は、ステップＳ２１０で取得した１以上のパラメータを、ステップＳ２０９で取得したシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する。
（ステップＳ２１２）カウンタｊを１インクリメントする。ステップＳ２０８に戻る。
（ステップＳ２１３）カウンタｉを１インクリメントする。ステップＳ２０５に戻る。
なお、図２のフローチャートにおいて、実行されるシミュレーション実現プログラムが２以上の場合、実行される順序が決まっていても良いし、任意でも良い。また、シミュレーション実現プログラムは、例えば、時間の経過に伴って、定期的にまたは適切なタイミングでシミュレーション結果を出力する。
【００２２】
以下、本実施の形態におけるシミュレーション装置の具体的な動作について説明する。図３は、機能要素情報格納部１０１の機能要素情報管理表の具体例である。機能要素情報管理表は、「ＩＤ」「機能要素識別子」「プログラム識別子」を有するレコードを１以上保持している。「ＩＤ」は、レコードを識別する情報であり、表管理上の要請のために存在する。また、機能要素情報格納部１０１は、別途、プログラム識別子に対応するプログラムを保持している。図３において、機能要素識別子「細胞」に対応するプログラム識別子は「ｃｅｌｌ」である。プログラム識別子「ｃｅｌｌ」で識別されるプログラム（メソッドまたは関数）は、細胞内の濃度や細胞内外の電位差を算出するプログラムである。プログラム識別子「ｉｏｎ＿ｃｈａｎｎｅｌ」で識別されるプログラムは、イオンの流量を算出するプログラムである。プログラム識別子「Ｈ／Ｋ＿ｐｕｍｐ」で識別されるプログラムは、Ｈ／Ｋポンプの力を算出するプログラムである。プログラム識別子「ｓｍｏｔｈ＿ｍｕｓｃｌｅ＿ｍｙｏｓｉｎ」で識別されるプログラムは、平滑筋が収縮する力を算出するプログラムである。プログラム識別子「ＳＲ」で識別されるプログラムは、カルシウムの放出量を算出するプログラムである。プログラム識別子「ａｃｔｏｍｙｏｓｉｎ」で識別されるプログラムは、横紋筋が収縮する力を算出するプログラムである。プログラム識別子「Ｎａ＿ｃｈａｎｎｅｌ」で識別されるプログラムは、Ｎａの流量を算出するプログラムである。プログラム識別子「Ｋ＿ｃｈａｎｎｅｌ」で識別されるプログラムは、Ｋの流量を算出するプログラムである。プログラム識別子「ＣａＬ＿ｃｈａｎｎｅｌ」で識別されるプログラムは、Ｌ型Ｃａの流量を算出するプログラムである。
図４は、細胞機能管理手段１０２１の細胞機能管理表の具体例である。細胞機能管理表は、「ＩＤ」「細胞識別子」「機能要素識別子」を有するレコードを１以上保持している。図４において、細胞識別子「上皮細胞」で識別される細胞は、機能要素識別子「細胞」「イオンチャネル」で識別される機能を有することを示す。
【００２３】
図５は、臓器細胞管理手段１０２２の臓器細胞管理表の具体例である。臓器細胞管理表は、「ＩＤ」「臓器識別子」「配置関数識別子」「細胞識別子」を有するレコードを１以上保持している。「配置関数識別子」は、対応する細胞識別子で識別される細胞が、対応する臓器識別子で識別される臓器中に、どのように配置されるかを示す関数を識別する情報である。例えば、図５の臓器細胞管理表の「ＩＤ＝１」のレコードにおいて、多数の上皮細胞は、配置関数識別子「配置関数Ａ」に基づいて、臓器「胃」に配置されることを示す。
【００２４】
図６は、パラメータ管理部１０３のパラメータ情報管理表の具体例である。「ＩＤ」「臓器識別子」「パラメータ」を有するレコードを１以上保持している。パラメータ情報管理表の「ＩＤ＝１」のレコードにおいて、臓器識別子「胃」で識別される臓器「胃」は、パラメータ「ｐａｒ１１，ｐａｒ１２・・・」を有することを意味する。パラメータ「ｐａｒ１１」は、例えば、胃が有する細胞数であり、パラメータ「ｐａｒ１２」は、例えば、胃が有するイオンチャネル数である。
以上、図３から図６の各表で示すデータやパラメータ等は、生物学的な実験や知識に基づいて取得され得るデータ等である。
【００２５】
以上の状況において、図７に示すように、ユーザは、シミュレーション対象の「構成要素識別子」を入力し、シミュレーションを実行する「実行」ボタンを押下する。次に、シミュレーション装置は、構成要素識別子「胃」を有するシミュレーション命令を受け付ける。次に、シミュレーション装置は、構成要素識別子（臓器識別子）「胃」に対応する細胞識別子「上皮細胞」「胃酸分泌細胞」「平滑筋細胞」等を図５の臓器細胞管理表から取得する。また、シミュレーション装置は、構成要素識別子（臓器識別子）「胃」に対応するパラメータ「ｐａｒ１１，ｐａｒ１２，・・・」を、図６のパラメータ情報管理表から取得する。次に、シミュレーション装置は、細胞識別子「上皮細胞」「胃酸分泌細胞」「平滑筋細胞」等に対応する機能要素識別子「細胞」「イオンチャンネル」「Ｈ／Ｋポンプ」等を、図４の細胞機能管理表から取得する。そして、シミュレーション装置は、機能要素識別子「細胞」「イオンチャンネル」「Ｈ／Ｋポンプ」等に対応するプログラム識別子「ｃｅｌｌ」「ｉｏｎ＿ｃｈａｎｎｅｌ」「Ｈ／Ｋ＿ｐｕｍｐ」等を、図３の機能要素情報管理表から取得する。そして、シミュレーション装置は、シミュレーション対象識別子「胃」に対応するパラメータ「ｐａｒ１１，ｐａｒ１２，・・・」を、プログラム識別子「ｃｅｌｌ」「ｉｏｎ＿ｃｈａｎｎｅｌ」「Ｈ／Ｋ＿ｐｕｍｐ」で識別されるシミュレーション実現プログラムに渡し（必要なパラメータのみを対応するシミュレーション実現プログラムに渡し）、当該シミュレーション実現プログラムを実行する。なお、シミュレーション装置は、配置関数識別子で識別される配置関数を実行し、多数の細胞を臓器に配置し、各細胞のふるまいを合わせ、臓器のふるまいとして出力する。
【００２６】
つまり、例えば、シミュレーション装置は、胃の収縮のシミュレーションを行う場合に、上皮細胞や胃酸分泌細胞などの個々の細胞の収縮力を時系列的に計算し、各細胞の配置を配置関数により算出する。そして、シミュレーション装置は、胃を構成するすべての細胞の各地点（胃内における位置）での収縮を、時系列的にすべて出力することにより、胃全体の収縮のシミュレーションが可能となる。
以上の処理により、シミュレーション装置は、胃等の臓器全体のシミュレーション結果を出力する。なお、シミュレーション出力は、グラフによる出力、図的、または動画による出力等、何でも良い。
以上、本実施の形態によれば、個体、臓器、組織、細胞、細胞内小器官、分子という生体の階層構造をモデル化し、当該モデルに合致するデータ構造および機能要素を定義すること等により、生体や臓器等の機能、動作をシミュレーションできる。なお、かかる構造モデルは、生物学的な構造モデルに合致している。
【００２７】
なお、本実施の形態によれば、胃などの臓器のシミュレーション結果だけではなく、個体、組織、細胞、細胞内小器官、分子などのシミュレーションも可能である。個体のシミュレーションは、複数の臓器を並行してシミュレーションすれば良い。また、細胞、細胞内小器官、分子などは、臓器を構成する要素であり、上述したように、細胞のシミュレーションができる結果、臓器等のシミュレーションができるからである。かかることは、他の実施の形態におけるシミュレーション装置においても同様である。
【００２８】
また、本実施の形態におけるシミュレーション装置によれば、上記のデータ構造（たとえば、図３から図６の管理表）にしたがって、複数の臓器（例えば、胃、心臓、肝臓など）のデータさえ用意すれば、例えば、薬を個体（生体）に与えた場合に、複数の臓器に起こり得る副作用などが容易に把握できる。その結果、例えば、胃の病気を治す薬を与えた場合に、心臓に副作用が発生するものなどを、患者に投与する前に容易に把握でき、有効な医療行為、人命の救助等に極めて有効である。
【００２９】
また、本実施の形態のシミュレーション装置において、図５の臓器細胞管理表の配置関数識別子の属性は、存在しなくても良い。かかる場合、臓器全体の比較的完成度の高いシミュレーションは困難であるが、一の臓器が有する複数種類の細胞のシミュレーションが可能となり、上記同様に、複数種類の細胞に及ぼし影響が同時に把握でき、有効な医療行為、人命の救助等に極めて有効である。ただし、配置関数識別子を用いて、複数種類の細胞の臓器内における位置も含めたシミュレーションを行った場合には、さらに有効なシミュレーションを行えることは言うまでもない。かかることは、他の実施の形態におけるシミュレーション装置においても同様である。
【００３０】
また、本実施の形態のシミュレーション装置は、上記した構造に限られない。つまり、本実施の形態のシミュレーション装置は、生物学的知識に基づいて生体の構成要素の階層や機能や性質（電気的性質、物理的性質など）を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となれば良い。つまり、本シミュレーション装置は、個体、臓器または器官と、１以上の細胞または組織と、１以上の細胞内小器官または分子と、１以上の機能要素の関連を管理しており、当該機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムを１以上保持しており、構成要素識別子とシミュレーション実現プログラムに与えるパラメータを対応付けて保持しており、受け付けた構成要素識別子が示す個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子と関連する機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムに、当該シミュレーション対象識別子に対応するパラメータを渡し、当該シミュレーション実現プログラムを実行することにより個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子のシミュレーションを行うシミュレーション装置であれば良い。また、臓器内または器官内における細胞の配置を特定する関数である配置関数をさらに管理しており、配置関数を実行し、ミュレーション実現プログラムの実行結果を、配置関数の実行結果に基づいて出力するシミュレーション装置であれば、さらに好適である。かかることは、他の実施の形態においても同様である。
【００３１】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が１以上格納されており、生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な１以上の機能要素識別子との対応が管理されており、構成要素識別子と当該構成要素識別子で識別される生物の構成要素の機能を実現するに必要な１以上のパラメータを有するパラメータ情報が管理されており、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を取得する機能要素識別子取得ステップと、シミュレーション命令が有する構成要素識別子に対応する１以上のパラメータを取得するパラメータ取得ステップと、パラメータ取得ステップで取得したパラメータの一部または全部を、機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行ステップを実行させるためのプログラム、である。
【００３２】
また、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、上記プログラムに対して、構成要素識別子と前記１以上の機能要素識別子との対応の管理に加えて、前記構成要素識別子と前記１以上の機能要素識別子と配置関数識別子との対応も管理されており、機能要素識別子取得ステップは、シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子と配置関数識別子を取得し、実行ステップは、パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得ステップで取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する記載のプログラムである。
（実施の形態２）
【００３３】
本実施の形態におけるシミュレーション装置は、実施の形態１におけるシミュレーション装置に対して、機能要素情報格納部は、階層化された２以上の機能要素情報を格納しており、実行部は、機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行するシミュレーション装置である。さらに、具体的には、本シミュレーション装置は、機能要素のシミュレーション実現プログラムをオブジェクト指向のクラス継承の機構を用いて実現する。上述した「機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに・・・」とは、オブジェクト指向のクラス継承の機構を用いることを意味する。
図８は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部８０１、静的構造管理部１０２、パラメータ管理部１０３、シミュレーション命令受付部１０４、機能要素識別子取得部１０５、パラメータ取得部１０６、実行部８０７を具備する。
機能要素情報格納部８０１は、階層化された２以上の機能要素情報を格納している。機能要素情報の具体例は、後述する。機能要素情報格納部８０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３４】
実行部８０７は、機能要素識別子取得部１０５が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部１０６が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する。つまり、実行部８０７のプログラム実行機構は、オブジェクト指向におけるクラス継承の仕組みを用いたプログラム実行機構である。実行部８０７は、通常、ＭＰＵやメモリ等から実現され得る。実行部８０７の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
以下、本シミュレーション装置の動作について図９のフローチャートを用いて説明する。
（ステップＳ９０１）シミュレーション命令受付部１０４は、シミュレーション対象の構成要素識別子を有するシミュレーション命令を受け付けたか否かを判断する。シミュレーション命令を受け付ければステップＳ９０２に行き、シミュレーション命令を受け付けなければステップＳ９０１に戻る。
（ステップＳ９０２）シミュレーション命令が有する構成要素識別子を取得する。
（ステップＳ９０３）機能要素識別子取得部１０５はステップＳ９０２で取得した構成要素識別子に対応する１以上の機能要素識別子を取得する。
（ステップＳ９０４）パラメータ取得部１０６はステップＳ９０２で取得した構成要素識別子に対応する１以上のパラメータを取得する。
（ステップＳ９０５）実行部８０７は、カウンタｉに１を代入する。
【００３５】
（ステップＳ９０６）実行部８０７は、ｉ番目の機能要素識別子が存在するか否かを判断する。ｉ番目の機能要素識別子が存在すればステップＳ９０７に行き、ｉ番目の機能要素識別子が存在しなければ処理を終了する。なお、図９のフローチャートが終了した場合でも、シミュレーション実現プログラムによるシミュレーション結果の出力は継続しても良いことは言うまでもない。
【００３６】
（ステップＳ９０７）実行部８０７は、ｉ番目の機能要素識別子が別の構成要素識別子であるか否かを判断する。別の構成要素識別子であればステップＳ９０３に戻る。別の構成要素識別子でなければステップＳ９０８に飛ぶ。つまり、ｉ番目の機能要素識別子が別の構成要素識別子であれば、再帰的にステップＳ９０３以降の処理を呼び出すことになる。ここで、上述したクラス継承の仕組みが実現されている。
（ステップＳ９０８）実行部８０７は、ｉ番目の機能要素識別子に対応するプログラム識別子を取得する。
（ステップＳ９０９）実行部８０７は、ステップＳ９０８で取得したプログラム識別子に対応するプログラムに、パラメータを渡し、実行する。なお、本パラメータは、ステップＳ９０４で取得したパラメータの一部または全部である。
（ステップＳ９１０）カウンタｉを１、インクリメントする。ステップＳ９０６に戻る。
以下、本実施の形態におけるシミュレーション装置の具体的な動作について説明する。
図１０は、機能要素情報格納部８０１の具体例である。機能要素情報格納部１０１は、プログラム識別子に対応するプログラムを保持している。プログラムはオブジェクト指向の継承を利用して実行される。また、図１０において、生物学的階層構造をクラス階層として表現している。図１０は、機能要素情報格納部８０１に格納されている機能要素情報の具体例である。機能要素情報格納部８０１は、プログラム識別子に対応するプログラムも保持している。プログラムはオブジェクト指向の継承を利用して、生物学的機能分類も同時に表現している。図１０における矢印は継承を表し、指し示す先が親クラスである。「Ｏｂｊｅｃｔ」クラスはルートクラスである。「Ｎｏｄｅ」は変数クラスである。変数クラスとは、変数に与える値を保持しているクラスであり、当該値は、微分方程式により計算される。「Ｒｅａｃｔｏｒ」は機能要素を表す抽象クラスである。「Ｍｏｌｅｃｕｌｅ」は分子レベルの機能要素を表すクラスである。「Ｍｅｍｂｒａｎｅ  Ｔｒａｎｓｐｏｒｔｅｒ」は生物学的な膜輸送体に対応し、膜を横切って物質を移動させるという機能を実現する抽象クラスである。「Ｃｈａｎｎｅｌ」クラスは生物学的なチャネルの概念に対応しており、受動的に開閉し、「Ｍｅｍｂｒａｎｅ  ｔｒａｎｓｐｏｒｔｅｒ」の一種である。「Ｃｈａｎｎｅｌ」クラスは、自身の開口確率を計算するメソッド（関数）を保持しているクラスである。「Ｎａ  ｃｈａｎｎｅｌ」クラスはＮａイオンを選択的に通過させるメソッド（関数）を保持しているクラスである。「Ｋ  ｃｈａｎｎｅｌ」クラスはＫイオンを選択的に通過させるメソッド（関数）を保持しているクラスである。一方、「Ｓｔｒｕｃｔｕｒｅ」クラスは構造情報を表すクラスである。「Ｃｏｍｐａｒｔｍｅｎｔ」は他と区画された空間を示し、イオンなどが存在しうる。「Ｃｅｌｌ」は細胞を表すクラスである。活動電位を発生させる細胞のシミュレーションモデルは、ここに示したクラスを組み合わせてシミュレートすることが出来る。そして、本シミュレーション装置は、上記のクラス階層構造のデータ、およびクラス継承によるメソッド実行の仕組みにより、複数の細胞等の集合である臓器や器官や個体をシミュレーションできる。複数の細胞のシミュレーション結果を合わせて、出力することにより、臓器等のシミュレーションが可能となる。かかる論理は、実施の形態１で述べた論理と同様である。なお、図１０における機能要素のクラス階層は、生物学的分類に一致しているために、精度の良い生体のシミュレーションが可能である。
図１１は、機能構成要素およびパラメータ管理部１０３が保持する管理表の具体例である。本管理表は、ＸＭＬで記述されている。なお、管理表は、「細胞識別子」「機能識別子」「パラメータ」を有するデータを１以上保持する構造である。ここに示したように、管理表はＸＭＬ形式以外の他の表現方法を用いても良い。
【００３７】
以上の状況において、例えば、図７に示したのと同様の入力画面から、ユーザは、シミュレーション対象の「構成要素識別子」を入力し、シミュレーションを実行する「実行」ボタンを押下する。次に、例えば、シミュレーション装置は、シミュレーション対象識別子「心臓」を有するシミュレーション命令を受け付ける。次に、シミュレーション装置は、シミュレーション対象の構成要素識別子「心臓」に対応する識別子「ペースメーカー細胞」「心筋細胞」「結合組織（図示しない）」を、例えば図５の表から取得する。次に、シミュレーション装置は、識別子「結合組織」に対応する機能要素識別子「筋細胞」「上皮細胞」等を取得する。なお、「結合組織」は、構成要素識別子である、とする。次に、シミュレーション装置は、識別子「ペースメーカー細胞」「心筋細胞」「筋細胞」「上皮細胞」等に対応する機能要素識別子「細胞」「イオンチャンネル」「筋小胞体」等を、図４の管理表から取得する。そして、シミュレーション装置は、シミュレーション対象識別子「心臓」に対応するパラメータ（ｐａｒ２１，ｐａｒ２２など（例えば、図６参照））を、「細胞」「イオンチャンネル」「筋小胞体」等の機能要素シミュレーション実現プログラムに渡し、実行する。
【００３８】
以上の処理により、シミュレーション装置は、例えば、図１２に示すシミュレーション結果を出力する。図１２において、（ａ）は心筋細胞膜電位、（ｂ）は心筋細胞カルシウム（Ｃａ）濃度変化、（ｃ）は心筋細胞発生張力である。図１２におけるグラフは、縦軸［Ａ］は電位（ｍｖ）、縦軸［Ｂ］はカルシウム濃度、縦軸［Ｃ］は張力を示す。また、グラフの横軸は時間（ｔ）である。図１２において、以下のシミュレーション結果であることが読み取れる。つまり、図１２において、Ｎａチャネルが活性化して、活動電位（ａ）のトリガーとなる。すると、Ｃａチャネルが開いてＣａが流入する。流入したＣａがＳＲに作用して、ＳＲからＣａが放出され、細胞内Ｃａ濃度（ｂ）が一過性に増加する。Ｃａ濃度に応じて、収縮蛋白が収縮（ｃ）し、力を発生する。それぞれのプログラムが反応の速度、大きさを計算する。
【００３９】
なお、図１２におけるシミュレーション出力は、グラフによる出力であったが、臓器の動作を図的、または動画として出力しても良い。臓器の動作を図的、または動画として出力するために、以下のように動作させることにより可能である。図１２におけるシミュレーション出力は、細胞の収縮などの情報を出力している。そして、臓器を構成する多数の細胞等の位置情報を有する、とする。そして、臓器のそれぞれの位置に存在する多数の細胞がそれぞれ図的に収縮すれば、臓器全体の収縮が動画として表現されえる。なお、細胞等の位置情報は、実施の形態１における配置関数を実行することにより取得しても良い。
【００４０】
以上、本実施の形態によれば、個体、臓器、組織、細胞、細胞内小器官、分子という生体の階層構造をモデル化し、当該モデルに合致するデータ構造および機能要素を定義すること等により、生体の機能、動作をシミュレーションできる。なお、かかる構造モデルは、生物学的な構造モデルに合致している。したがって、本実施の形態におけるシミュレーション装置によれば、上記のデータ構造にしたがって、複数の臓器（例えば、胃、心臓、肝臓など）のデータさえ用意すれば、例えば、薬を個体（生体）に与えた場合に、複数の臓器に起こり得る副作用などが容易に把握できる。その結果、例えば、心臓の病気に効く薬を人間に与えた場合に、他の臓器に及ぼす副作用が把握でき、医療行為、人命の救助等に極めて有効である。
【００４１】
なお、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が階層化されて２以上格納されており、生物構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物構成要素または個体の機能を実現するに必要な１以上の機能要素識別子との対応が管理されており、構成要素識別子と当該構成要素識別子で識別される生物構成要素または個体の機能を実現するに必要な１以上のパラメータを有するパラメータ情報が管理されており、シミュレーション対象の生物構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、シミュレーション命令が有する構成要素識別子と対応付けられる１以上の機能要素識別子を取得する機能要素識別子取得ステップと、シミュレーション命令が有する構成要素識別子に対応する１以上のパラメータを取得するパラメータ取得ステップと、機能要素識別子取得ステップで取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得ステップで取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する実行ステップを実行させるためのプログラムである。
（実施の形態３）
【００４２】
本実施の形態におけるシミュレーション装置は、実施の形態１、２におけるシミュレーション装置に対して、オーサリング機能を有するシミュレーション装置である。例えば、シミュレーション装置において、グラフ等の形式で、シミュレーション対象の構造を視覚的に表現し、オーサリングできる。同時に対象オブジェクトに渡すパラメータを設定し、機能要素情報とのリンクを作成し、新たな機能要素シミュレーション実現プログラムと関連づけることができる
かかるオーサリング機能により、容易に新しい臓器や器官のシミュレーションが可能になる。
【００４３】
図１３は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部１０１、静的構造管理部１０２、パラメータ管理部１０３、シミュレーション命令受付部１０４、機能要素識別子取得部１０５、パラメータ取得部１０６、実行部１０７、入力受付部１３０１、静的構造情報蓄積部１３０２、パラメータ情報蓄積部１３０３、機能要素情報蓄積部１３０４を具備する。
【００４４】
入力受付部１３０１は、以下の３種類の情報の入力を受け付ける。第一は、構成要素識別子と機能要素識別子の対応を示す情報である（以下、適宜、「第一の入力」という）。第二は、構成要素識別子と１以上のパラメータの入力である（以下、適宜、「第二の入力」という）。第三は、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力である（以下、適宜、「第三の入力」という）。入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部１３０１は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
静的構造情報蓄積部１３０２は、入力受付部１３０１が受け付けた構成要素識別子と機能要素識別子の対応を示す情報を静的構造管理部１０２に蓄積する。
パラメータ情報蓄積部１３０３は、入力受付部１３０１が受け付けた１以上のパラメータと構成要素識別子を対応付けてパラメータ管理部１０３に蓄積する。
【００４５】
機能要素情報蓄積部１３０４は、機能要素情報を機能要素情報格納部１０１に蓄積する。静的構造情報蓄積部１３０２、パラメータ情報蓄積部１３０３および機能要素情報蓄積部１３０４は、通常、ＭＰＵやメモリ等から実現され得る。静的構造情報蓄積部１３０２等が情報を蓄積するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４６】
以下、本シミュレーション装置の動作について説明する。本シミュレーション装置の入力受付部１３０１が受け付けた入力が、上記の第一の入力であるか、第二の入力であるか、第三の入力であるかを判断し、それぞれに対応した適切な管理部に情報を書き込む。つまり、本シミュレーション装置は、データを定義するオーサリング機能を保持している。また、本シミュレーション装置におけるシミュレーション機能は、実施の形態１で述べたのと同様であるので、詳細な説明は省略する。なお、本シミュレーション装置のシミュレーション機能は、実施の形態２におけるシミュレーション機能を有しても良い。
【００４７】
以下、本実施の形態におけるシミュレーション装置におけるオーサリング機能の具体的な動作について説明する。本シミュレーション装置におけるオーサリング機能は、例えば、図３、図４、図５、図６の表を画面上に表示し、キーボードやマウスなどでデータを入力する機能である。そして、オーサリング機能は、「登録」ボタンの押下を受け付けることにより、例えば、図１１のＸＭＬで記述された定義データを出力する機能を有する。
【００４８】
具体的には、例えば、図１４に示すような表構造が画面上に表示され、ユーザは、キーボードを用いて、構成要素識別子と機能要素識別子の対応を示す情報の入力や、構成要素識別子と１以上のパラメータの入力や、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力などを行う。そして、「登録」ボタンを押下する。以上の処理により、例えば、図１１のＸＭＬで記述された定義データが出力される。なお、図３、図４、図５、図６の表が出力されても良い。かかる場合、シミュレーション装置は、図３から図６の表を解釈し、生体の各種機能のシミュレーションを行う。
以上、本実施の形態によれば、シミュレーション装置が実行するデータやメソッド（プログラム）の定義が容易にできる。
なお、本実施の形態において、上述したように、グラフ等の形式で、シミュレーション対象の構造を視覚的に表現し、オーサリングしても良い。また、シミュレーション装置のシミュレーション機能は、実施の形態１、２で述べた通りである。
【００４９】
さらに、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、実施の形態１または実施の形態２で述べたプログラムに加えて以下のステップを具備する。つまり、本プログラムは、オーサリング機能を有するプログラムである。具体的には、本プログラムは、コンピュータに、構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付ステップと、構成要素識別子と機能要素識別子の対応を示す情報を蓄積する静的構造情報蓄積ステップをさらに実行させるためのプログラムである。また、構成要素識別子と１以上のパラメータの入力を受け付ける第二入力受付ステップと、１以上のパラメータと構成要素識別子を対応付けて蓄積するパラメータ情報蓄積ステップをさらに実行させるためのプログラムである。さらに、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付ステップと、機能要素情報を蓄積する機能要素情報蓄積ステップをさらに実行させるためのプログラムである。
【産業上の利用可能性】
【００５０】
以上のように、本発明にかかるシミュレーション装置は、組織や臓器、個体レベルでのシミュレーションができるという効果を有し、医学教育、患者教育、治療方針決定支援、新薬開発、医療機器の開発等に利用できる。
【図面の簡単な説明】
【００５１】
【図１】実施の形態１におけるシミュレーション装置のブロック図
【図２】実施の形態１におけるシミュレーション装置の動作について説明するフローチャート
【図３】実施の形態１における機能要素情報管理表を示す図
【図４】実施の形態１における細胞機能管理表を示す図
【図５】実施の形態１における臓器細胞管理表を示す図
【図６】実施の形態１におけるパラメータ情報管理表を示す図
【図７】実施の形態１におけるユーザインターフェイスの例を示す図
【図８】実施の形態２におけるシミュレーション装置のブロック図
【図９】実施の形態２におけるシミュレーション装置の動作について説明するフローチャート
【図１０】実施の形態２における機能要素情報格納部の例を示す図
【図１１】実施の形態２における機能構成要素およびパラメータ管理部が保持する管理表の例を示す図
【図１２】実施の形態２におけるシミュレーション結果を示す図
【図１３】実施の形態３におけるシミュレーション装置のブロック図
【図１４】実施の形態３におけるユーザインターフェイスの例を示す図
【符号の説明】
【００５２】
１０１、８０１  機能要素情報格納部
１０２  静的構造管理部
１０３  パラメータ管理部
１０４  シミュレーション命令受付部
１０５  機能要素識別子取得部
１０６  パラメータ取得部
１０７、８０７  実行部
１０２１  細胞機能管理手段
１０２２  臓器細胞管理手段
１３０１  入力受付部
１３０２  静的構造情報蓄積部
１３０３  パラメータ情報蓄積部
１３０４  機能要素情報蓄積部
【図１】
2005087585.tif 000003
【図２】
2005087585.tif 000004
【図３】
2005087585.tif 000005
【図４】
2005087585.tif 000006
【図５】
2005087585.tif 000007
【図６】
2005087585.tif 000008
【図７】
2005087585.tif 000009
【図８】
2005087585.tif 000010
【図９】
2005087585.tif 000011
【図１０】
2005087585.tif 000012
【図１１】
2005087585.tif 000013
【図１２】
2005087585.tif 000014
【図１３】
2005087585.tif 000015
【図１４】
2005087585.tif 000016