(57)【要約】  複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションするシミュレーション装置およびその方法に関する。シミュレーション装置は、複数の処理モデル（１０）のうちの少なくとも１つの処理モデルに資源（８）の利用を開始させる開始操作部（２０２）と、資源の利用を開始した処理モデルの資源の利用を停止させることによって、当該処理モデルの仮想時間の経過を止める停止操作部（２０３）と、資源の利用を停止した処理モデルの、残りの仮想時間を計算する残り時間計算部（２０７）とを備え、開始操作部は、資源の利用を停止した処理モデルに再度資源を利用させることによって、当該処理モデルの残りの仮想時間を経過させる。
2017149770.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理モデル（１０）の実行をシミュレーションするシミュレーション装置であり、
それぞれの前記処理モデル（１０）の開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデル（１０）のうちの少なくとも１つの前記処理モデル（１０）は、複数の前記処理モデル（１０）のうちの少なくとも２つの前記処理モデル（１０）の間で共有可能な複数の資源（８）のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデル（１０）のうちの少なくとも１つの前記処理モデル（１０）に前記資源（８）の利用を開始させることによって、当該処理モデル（１０）の前記仮想時間を経過させる開始操作部（２０２）と、
あらかじめ定められた第２の条件下において、前記資源（８）の利用を開始した前記処理モデル（１０）の前記資源（８）の利用を停止させることによって、当該処理モデル（１０）の前記仮想時間の経過を止める停止操作部（２０３）と、
前記資源（８）の利用を停止した前記処理モデル（１０）の、残りの前記仮想時間を計算する残り時間計算部（２０７）とを備え、
前記開始操作部（２０２）は、前記第１の条件下において、前記資源（８）の利用を停止した前記処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させる、
シミュレーション装置。
【請求項２】
前記開始操作部（２０２）は、少なくとも１つの前記資源（８）を複数の前記処理モデル（１０）のいずれもが利用していない前記第１の条件下において、複数の前記処理モデル（１０）のうちの少なくとも１つの前記処理モデル（１０）に当該資源（８）の利用を開始させることによって、当該処理モデル（１０）の前記仮想時間を経過させる、
請求項１に記載のシミュレーション装置。
【請求項３】
前記停止操作部（２０３）は、すべての前記資源（８）それぞれを、複数の前記処理モデル（１０）のいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源（８）を利用している前記第１の処理モデル（１０）の当該資源（８）の利用を停止させることによって、当該処理モデル（１０）の前記仮想時間の経過を止め、
前記開始操作部（２０２）は、いずれの前記資源（８）も利用していなかった、複数の前記処理モデル（１０）のうちの少なくとも１つの第２の処理モデル（１０）に前記資源（８）の利用を停止した前記第１の処理モデル（１０）が利用していた前記資源（８）の利用を開始させることによって、当該処理モデル（１０）の前記仮想時間を経過させ、
前記残り時間計算部（２０７）は、前記資源（８）の利用を停止した前記第１の処理モデル（１０）の、残りの前記仮想時間を計算し、
前記開始操作部（２０２）は、前記第２の処理モデル（１０）が前記仮想時間の分だけ前記資源（８）を利用した後に、前記資源（８）の利用を停止した前記第１の処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させる、
請求項１に記載のシミュレーション装置。
【請求項４】
複数の前記処理モデル（１０）には、それぞれ優先度が設定され、
前記資源（８）の利用を停止した前記第１の処理モデル（１０）の優先度は、前記資源（８）の利用を開始した前記第２の処理モデル（１０）の優先度よりも低い、
請求項３に記載のシミュレーション装置。
【請求項５】
複数の前記処理モデル（１０）には、それぞれ開始予定時刻が設定され、
前記資源（８）の利用を停止した前記第１の処理モデル（１０）の開始予定時刻は、前記資源（８）の利用を開始した前記第２の処理モデル（１０）の開始予定時刻よりも時間的に後である、
請求項３に記載のシミュレーション装置。
【請求項６】
前記仮想時間は、それぞれの前記処理モデル（１０）に関連するデータの転送にかかることが予定される時間を含み、
前記開始操作部（２０２）は、それぞれの前記処理モデル（１０）の、前記停止操作部（２０３）が前記資源（８）の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源（８）の利用を停止した前記処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させる、
請求項１から請求項５のうちのいずれか１項に記載のシミュレーション装置。
【請求項７】
それぞれの前記処理モデル（１０）に関連するデータの転送にかかることが予定される時間は、既定される計算方式で算出可能である、
請求項６に記載のシミュレーション装置。
【請求項８】
前記開始操作部（２０２）は、
それぞれの前記処理モデル（１０）の、前記停止操作部（２０３）が前記資源（８）の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源（８）の利用を停止した前記処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させるか、
それぞれの前記処理モデル（１０）に関連するすべてのデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源（８）の利用を停止した前記処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させるかを選択可能である、
請求項６に記載のシミュレーション装置。
【請求項９】
それぞれの前記処理モデル（１０）と、当該処理モデル（１０）が利用している前記資源（８）との関係を変更可能に表形式で記述する記憶装置（１０３）をさらに備え、
前記開始操作部（２０２）および前記停止操作部（２０３）は、前記記憶装置（１０３）を参照しつつ、それぞれの前記資源（８）を複数の前記処理モデル（１０）のいずれかが利用しているか否かを判断する、
請求項１から請求項５のうちのいずれか１項に記載のシミュレーション装置。
【請求項１０】
複数の処理モデル（１０）の実行をシミュレーションするシミュレーション方法であり、
それぞれの前記処理モデル（１０）の開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデル（１０）のうちの少なくとも１つの前記処理モデル（１０）は、複数の前記処理モデル（１０）のうちの少なくとも２つの前記処理モデル（１０）の間で共有可能な複数の資源（８）のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデル（１０）のうちの少なくとも１つの前記処理モデル（１０）に前記資源（８）の利用を開始させることによって、当該処理モデル（１０）の前記仮想時間を経過させ、
あらかじめ定められた第２の条件下において、前記資源（８）の利用を開始した前記処理モデル（１０）の前記資源（８）の利用を停止させることによって、当該処理モデル（１０）の前記仮想時間の経過を止め、
前記資源（８）の利用を停止した前記処理モデル（１０）の、残りの前記仮想時間を計算し、
前記第１の条件下において、前記資源（８）の利用を停止した前記処理モデル（１０）に再度前記資源（８）を利用させることによって、当該処理モデル（１０）の残りの前記仮想時間を経過させる、
シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書に開示される技術は、たとえば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションするシミュレーション装置、および、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションするシミュレーション方法に関するものである。
【背景技術】
【０００２】
電子システムの設計を含むシステム設計の初期段階において実施されるシステム設計手法では、早期に、処理性能、または、必要となるメモリ資源などのシステム特性を把握し、適切なシステムアーキテクチャを決定することが重要である。【０００３】
適切なシステムアーキテクチャの決定のため、設計されるシステムにおける必要機能を「処理」と「通信」とに分けてモデル化を行い、さらに、当該モデルを用いてシステム動作を模擬するシミュレーション手法によって、システムのシミュレーションを実施する。そして、その結果からシステムアーキテクチャを策定するという方法が用いられる場合が多い。【０００４】
システム設計の初期段階では、システム機能の詳細、または、基本的なシステムアーキテクチャが決定されていない場合が多いため、システムにおける必要機能の「処理」および「通信」の実現方式、または、システムにおける必要機能の「処理」および「通信」の処理時間を、何かしらの仮定に基づきモデル化することが多い。【０００５】
そのようなモデル化例としては、「処理」は、仮想時間０で実行される「アルゴリズム実行」部と、本アルゴリズムにより消費される仮想時間に対応する「時間待ち」部としてモデル化することが行われる。【０００６】
また、「通信」では、「処理」間の同期と、「処理」間に流れる「データ転送」とをモデル化することが行われており、データ転送に関しては、転送するデータ量と、当該データ量に関連する転送時間とをモデル化し、それにより仮想的な通信時間をモデル化することが行われる。【０００７】
この「処理」および「通信」のモデル化により、システムの機能的な挙動、システム性能に関連する時間、または、通信性能などが規定され、これらのシミュレーション結果としてシステムの実行性能が評価される。【０００８】
今日の電子システムにおいては、システム機能における「処理」の多くの機能が、ソフトウェアとして中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、すなわち、ＣＰＵ）上で動作する機能として実現される場合が多い。また、このような場合においては、複数の「処理」が単独のＣＰＵを共有し、時間軸上で処理の切り換えを行いながら実行される場合が多い。また、このような状況は、システム設計の初期段階であらかじめ想定される場合が多い。【０００９】
たとえば、特許文献１においては、システム上の機能を上記の「処理」としてモデル化を行い、システム動作の結果として、実際の実行時間が規定の時間を超えるかどうかを判定するための技術が説明される。特許文献１においては、システム中に存在する処理、すなわち、タスクを切り換えながらシミュレーションする方式が示されており、特に、タスクの遅延時間分を経過させながらシミュレーションを進めていくこと、および、ある処理が別の処理に切り換わり、遅延時間を更新しながらシミュレーションを進めていくための方式が示される。【００１０】
また、たとえば、非特許文献１においては、そのような処理および通信のモデル化を行い、ソフトウェアの挙動をシミュレーションする際の処理の切り換え手段に関する方法が示される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１１−１５４５２１号公報
【非特許文献】
【００１２】
【非特許文献１】中村他、「ＲＴＯＳシミュレーションのための性能と移植性が高いスケジューラ」、情報処理学会論文誌、Ｓｅｐ．２００７
【発明の概要】
【発明が解決しようとする課題】
【００１３】
電子システムの設計の初期段階において、システムで実現するすべての処理が共有可能な資源であるＣＰＵ上で動作するソフトウェアによるものであると規定される場合、または、システムでの使用が想定される共有可能な資源であるＣＰＵが単一である場合には、上記の文献に開示された技術によってシステムの実行性能に関するシミュレーション評価を実施することができる。【００１４】
しかしながら、システムが共有可能な資源であるＣＰＵを搭載する場合に、そのＣＰＵの個数が複数であると想定される場合がある。そのような構成に対応したシステム性能のシミュレーション評価を実施することは、上記の文献に開示された技術では困難であった。【００１５】
本願明細書に開示される技術は、以上に記載されたような問題を解決するためになされたものであり、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションするシミュレーション装置、および、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションするシミュレーション方法に関するものである。
【課題を解決するための手段】
【００１６】
本願明細書に開示される技術の一の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。【００１７】
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。
【発明の効果】
【００１８】
本願明細書に開示される技術の一の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させるものである。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。具体的には、特定の条件下において、複数の処理モデルのうちの少なくとも１つの処理モデルの共有可能な資源の利用を停止することによって、当該処理モデルの仮想時間の経過を止める。そして、特定の条件下において、共有可能な資源の利用を停止した当該処理モデルに再度資源を利用させることによって、当該処理モデルの残りの仮想時間を経過させる。このようにすることで、複数の処理モデルを用いて、効率的に共有可能な資源を利用しつつ、それぞれの処理モデルの仮想時間を効率的に経過させることができる。【００１９】
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。【００２０】
本願明細書に開示される技術に関する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態に関する、電子システムのシミュレーション装置を実現するための構成をさらに具体的に例示する図である。
【図２】実施の形態に関する、シミュレーション実行部が保有する機能を概念的に例示する図である。
【図３】実施の形態に関する、シミュレーション操作部が保有する機能を概念的に例示する図である。
【図４】実施の形態に関する、共有資源管理部の構成を概念的に例示する図である。
【図５】実施の形態に関する、資源割り当て管理部の構成を概念的に例示する図である。
【図６】実施の形態に関する、処理管理部の構成を概念的に例示する図である。
【図７】実施の形態に関する、通信管理部の構成を概念的に例示する図である。
【図８】実施の形態に関する、資源割り当て管理部が、共有資源モデルと処理モデルとを割り当てる際の操作表を例示する図である。
【図９】実施の形態に関する、シミュレーション実行部がシミュレーション実行操作を行う場合を例示するフローチャートである。
【図１０】実施の形態に関する、シミュレーション装置の動作を例示する図である。
【図１１】図１に例示されるシミュレーション装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。
【図１２】図１に例示されるシミュレーション装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。
【図１３】実施の形態に関する、電子システムのシミュレーション装置を実現するための構成を概念的に例示する図である。
【発明を実施するための形態】
【００２２】
以下、添付される図面を参照しながら実施の形態について説明する。
【００２３】
なお、図面は概略的に示されるものであり、異なる図面にそれぞれ示される画像の大きさと位置との相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。
【００２４】
また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。したがって、それらについての詳細な説明を省略する場合がある。
【００２５】
＜実施の形態＞
以下、本実施の形態に関するシミュレーション装置およびシミュレーション方法について説明する。
【００２６】
産業用コントローラを一例とする電子システムのシステム設計について説明する。電子システムのシステム設計の初期段階においては、その機能として必要となる制御処理、各種のデータ処理、または、ネットワーク通信処理などの処理機能と、処理機能同士が連動するために必要となる同期、および、データの通信機能とをシステムモデルとしてモデル化する。そして、そのシステムモデルの動作シミュレーションを実施する。
【００２７】
この場合において、いくつかの処理をソフトウェアとして機能的に実現し、複数の中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、すなわち、ＣＰＵ）上で実行したいという要求が存在する。
【００２８】
また、いくつかの処理はハードウェアとして機能的に実現し、ハードウェア回路上で実行することを想定する。このような場合のモデル化を、想定される様々な組み合わせのパターンで実施した上で、シミュレーション評価を簡単、かつ、短時間で実行したいという要求が存在する。
【００２９】
また、ＣＰＵ上に、ソフトウェアを実行可能であるいわゆる「ＣＰＵコア」が１つだけではなく複数存在する場合に、当該複数のＣＰＵコアを持つＣＰＵ上で複数の処理を割り振ることを想定する。そして、そのような場合のシミュレーション評価を実行したいという要求も存在する。
【００３０】
また、処理をハードウェアによって実現したい場合に、その処理専用の論理回路、その処理専用の演算回路、または、その処理専用の大規模集積回路（ｌａｒｇｅ−ｓｃａｌｅ  ｉｎｔｅｇｒａｔｉｏｎ、すなわち、ＬＳＩ）を用いて実現したいという要求も存在する。
【００３１】
また、一般的にマイコンと呼ばれるｍｉｃｒｏ  ｃｏｎｔｒｏｌｌｅｒ  ｕｎｉｔ（ＭＣＵ）が保有する様々なペリフェラル回路の機能を使用することにより、処理をハードウェア実現したいという要求も存在する。
【００３２】
また、複数のペリフェラル回路の機能を互いに組み合わせ、連動させることによって、処理をハードウェア実現したいという要求も存在する。
【００３３】
また、複数のペリフェラル回路の使用により実現を所望する複数の処理においては、複数の処理中に含まれる一部の機能を、特定のペリフェラル回路を複数の処理間で共有することにより実現したいという要求も存在する。
【００３４】
このように、所望する電子システムを実現するための設計の選択肢は多様である。多様な選択肢のうちから、機能実現を行うことができる様々な組み合わせを、その電子システムの結果となる性能、または、システムコストの観点から選択する。
【００３５】
このようにして、電子システム設計の初期段階では、システム検討、および、評価を実施し、そのシステム構成（システムアーキテクチャ）を決定する必要がある。
【００３６】
＜シミュレーション装置の構成について＞
以上を実現するための本実施の形態に関するシミュレーション装置の、機能および動作について以下に説明する。
【００３７】
図１３は、本実施の形態に関する電子システムのシミュレーション装置（以下、シミュレーション装置と記載する）を実現するための構成を概念的に例示する図である。シミュレーション装置は、設計を行う電子システムが有する機能モデルに対して、システム性能評価のためのシミュレーションを行うものである。また、シミュレーション装置は、パーソナルコンピュータ、または、ワークステーションなどの汎用計算機上で実行されるものである。
【００３８】
図１３に例示されるシミュレーション装置は、開始操作部２０２と、停止操作部２０３と、残り時間計算部２０７とを備える。
【００３９】
開始操作部２０２は、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる機能部である。ここで、それぞれの処理モデル１０の開始から完了までにかかることが予定される時間を仮想時間とする。また、時間待ちとは、アルゴリズムなどの実行により消費される仮想時間に対応する時間分、資源を利用する動作である。停止操作部２０３は、共有資源モデル８の利用を開始した処理モデル１０の共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める機能部である。残り時間計算部２０７は、時間待ちが停止された処理モデル１０の、残りの仮想時間を計算する機能部である。なお、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０は、複数の処理モデル間で共有可能な複数の資源である共有資源モデル８のうちの少なくとも１つを利用して時間待ちを行う。
【００４０】
図１は、図１３に例示される本実施の形態に関するシミュレーション装置を実現するための構成をさらに具体的に例示する図である。
【００４１】
図１に例示されるように、シミュレーション装置は、シミュレーション動作を管理するためのシミュレーション実行部２と、利用者によるシミュレーションに必要となる処理、通信、資源、または、資源割り当てそれぞれの、登録、編集、または、削除を行うためのシミュレーション操作部３と、内部に複数の共有資源モデル８を保有し、かつ、それらの管理を行うための共有資源管理部４と、内部に複数の資源割り当てモデル９を保有し、かつ、それらの管理を行うための資源割り当て管理部５と、内部に複数の処理モデル１０を保有し、かつ、それらの管理を行うための処理管理部６と、内部に複数の通信モデル１１を保有し、かつ、それらの管理を行うための通信管理部７とを備える。
【００４２】
シミュレーション操作部３は、共有資源管理部４、資源割り当て管理部５、処理管理部６、および、通信管理部７と連携し、かつ、それら管理部が保有する各種モデルに対して追加、編集、または、削除の操作を実施することができる。
【００４３】
また、シミュレーション実行部２は、共有資源管理部４、資源割り当て管理部５、処理管理部６、および、通信管理部７と連携し、かつ、シミュレーションに必要となるそれぞれのモデルを取得することによって、実際のシミュレーション動作を実施することができる。
【００４４】
図２は、シミュレーション実行部２が保有する機能を概念的に例示する図である。図２に例示されるように、シミュレーション実行部２は、処理管理部６における複数の処理モデル１０と、資源割り当て管理部５における複数の資源割り当てモデル９と、通信管理部７における複数の通信モデル１１とを用いて、実際にシミュレーション動作を行うことが可能である。
【００４５】
シミュレーション実行部２は、仮想的なシミュレーション現在時刻２００を保有する。また、シミュレーション実行部２は、シミュレーションの現在時刻を更新する現在時刻更新部２０１と、時間待ちを行っている途中である処理モデル１０を検索する処理検索部２０４と、処理モデル１０に割り当てられている共有資源モデルが存在するか否かを検索する割り当て検索部２０５と、処理記録部２０６と、残り時間計算部２０７とを有する。また、シミュレーション実行部２は、外部に対し操作を行うための、開始操作部２０２と、停止操作部２０３とを有する。
【００４６】
シミュレーション実行部２がシミュレーションを行うために使用する処理モデル１０は、そのデータとして少なくとも、内部に処理開始予定時刻１００４と、時間待ち状態１００５とを保有する。
【００４７】
シミュレーション実行部２は、処理キュー１２を保有する。処理キュー１２は、シミュレーションを行うにあたり、それぞれの処理モデル１０の開始時刻の順番で処理モデル１０を並べる処理モデルリストである。処理キュー１２は、処理モデルリストにおける先頭の処理モデル１０を取り出す取り出し操作部１２０と、処理キュー１２に処理モデル１０を登録する登録操作部１２１と、開始時刻の順番で並べられた処理モデル１０を検索するキュー検索部１２２と、開始時刻の順番で並べられた処理モデル１０における適切な時刻位置に処理モデル１０を登録するキュー登録部１２３とを有する。
【００４８】
シミュレーション実行部２は、シミュレーションの実行に合わせて、処理キュー１２の中から順番に処理モデル１０を取り出す。そして、シミュレーション実行部２は、取り出した処理モデル１０を実行するとともに、規定の時間待ちを発行する。ここで、「時間待ちを発行する」とは、処理モデル１０の開始から完了までにかかることが予定される仮想時間に対応する時間を宣言することを意味する。
【００４９】
シミュレーション実行部２は、処理キュー１２に処理モデル１０を登録する際に、処理モデル１０から処理開始予定時刻１００４を取得する。そして、シミュレーション実行部２は、処理キュー１２が保有するキュー登録部１２３を呼び出す。そして、シミュレーション実行部２は、処理キュー１２中の開始時刻の順番で並べられた処理モデル１０における適切な時刻位置に、処理モデル１０を登録する。
【００５０】
図３は、シミュレーション操作部３が保有する機能を概念的に例示する図である。シミュレーション操作部３は、本実施の形態に関するシミュレーション装置をその利用者が操作するための機能を提供する機能部である。
【００５１】
図３に例示されるように、シミュレーション操作部３は、開始操作部３００と、停止操作部３０１と、資源割り当て操作部３０２と、時間待ち中の処理モデル１０を表示する表示操作部３０３と、処理検索操作部３０４と、処理登録操作部３０５と、処理変更操作部３０６と、処理割り当て操作部３０７と、通信検索操作部３０８と、通信登録操作部３０９と、通信変更操作部３１０とを有する。
【００５２】
図４は、共有資源管理部４の構成を概念的に例示する図である。共有資源管理部４は、シミュレーションの実行において、複数の処理モデル１０に割り当てる複数の共有資源モデル８を管理する。
【００５３】
図４に例示されるように、共有資源モデル８は、そのデータとして、自身が保有する共有資源数８００と、自身を処理モデル１０が指定するための共有資源名８０１と、少なくとも１つの共有資源８０２とを有する。
【００５４】
図５は、資源割り当て管理部５の構成を概念的に例示する図である。資源割り当て管理部５は、処理モデル１０の共有資源モデル８への割り当てを指定する資源割り当てモデル９を複数保有する。また、資源割り当て管理部５は、資源割り当て操作部５００を有する。そして、資源割り当て操作部５００は、シミュレーション操作部３の資源割り当て操作部３０２を介して利用者が呼び出すことによって実施することができる。
【００５５】
図５に例示されるように、資源割り当てモデル９は、そのデータとして、名前９００と、処理優先度９０１と、資源獲得方法９０２と、共有資源獲得状態９０３と、共有資源モデルへの参照９０４と、処理モデルへの参照９０５とを有する。
【００５６】
図６は、処理管理部６の構成を概念的に例示する図である。処理管理部６は、複数の処理モデル１０を有する。また、処理管理部６は、外部にその機能を操作させるための、処理登録操作部６００と、処理検索操作部６０１と、処理変更操作部６０２と、処理割り当て操作部６０３とを有する。そして、これらのシミュレーションに関する操作は、シミュレーション操作部３を介して利用者が呼び出すことによって実施することができる。具体的には、処理登録操作部６００は、シミュレーション操作部３の処理登録操作部３０５を介して利用者が呼び出すことによって実施することができる。また、処理検索操作部６０１は、シミュレーション操作部３の処理検索操作部３０４を介して利用者が呼び出すことによって実施することができる。また、処理変更操作部６０２は、シミュレーション操作部３の処理変更操作部３０６を介して利用者が呼び出すことによって実施することができる。また、処理割り当て操作部６０３は、シミュレーション操作部３の処理割り当て操作部３０７を介して利用者が呼び出すことによって実施することができる。
【００５７】
図６に例示されるように、処理モデル１０は、そのデータとして、仮想時間１０００と、名前１００１と、処理機能１００２と、複数の通信モデルへの参照１００３と、処理開始予定時刻１００４と、時間待ち状態１００５とを有する。
【００５８】
図７は、通信管理部７の構成を概念的に例示する図である。通信管理部７は、外部にその機能を操作させるための、通信登録操作部７００と、通信検索操作部７０１と、通信変更操作部７０２とを有する。そして、通信登録操作部７００は、シミュレーション操作部３の通信登録操作部３０９を介して利用者が呼び出すことによって実施することができる。また、通信検索操作部７０１は、シミュレーション操作部３の通信検索操作部３０８を介して利用者が呼び出すことによって実施することができる。また、通信変更操作部７０２は、シミュレーション操作部３の通信変更操作部３１０を介して利用者が呼び出すことによって実施することができる。
【００５９】
また、通信管理部７は、複数の通信モデル１１を有する。通信モデル１１は、そのデータとして、データ転送量に関するデータであるデータ転送量１１００を有する。また、通信モデル１１は、データ通信を操作するための送信操作１１０１および受信操作１１０２の操作機能を有する。
【００６０】
図８は、資源割り当て管理部５が、共有資源モデル８と処理モデル１０とを割り当てる際の操作表を例示する図である。図８に例示される表において、共有資源モデル８と処理モデル１０との関係は変更可能に記述される。
【００６１】
＜シミュレーション装置の動作について＞
次に、図９、および、図１０を参照しつつ、本実施の形態に関するシミュレーション装置の動作を説明する。
【００６２】
図９は、シミュレーション実行部２がシミュレーション実行操作を行う場合を例示するフローチャートである。以下、その動作について説明する。
【００６３】
シミュレーション実行部２は、内部に保有する処理キュー１２に登録された処理モデル１０の中で、開始時刻が最も早い処理モデル１０である先頭の処理モデル１０を取得する（ステップＳＴ１０１を参照）。
【００６４】
そして、シミュレーション実行部２の割り当て検索部２０５は、取り出した処理モデル１０に対して、資源割り当て管理部５を参照しつつ、当該処理モデル１０が割り当てられている共有資源モデル８、すなわち、当該処理モデル１０が利用する予定である共有資源モデル８が共有資源管理部４に存在するかどうかを検索する（ステップＳＴ１０２を参照）。すなわち、共有資源モデル８を共有する処理モデル１０であるか、または、独立して動作する処理モデル１０であるかを判断する。
【００６５】
取り出した処理モデル１０が共有資源が割り当てられていない処理モデル１０である場合（ＮＯに対応）には、シミュレーション実行部２は、当該処理モデル１０の時間待ちを行うことによって当該処理モデル１０の仮想時間を完了させ、次の処理開始予定時刻のキュー位置に当該処理モデル１０を登録する（ステップＳＴ１０５を参照）。
【００６６】
取り出した処理モデル１０が共有資源が割り当てられている処理モデル１０である場合（ＹＥＳに対応）には、シミュレーション実行部２の割り当て検索部２０５は、当該共有資源モデル８を他の処理モデル１０が現に利用しているかどうかについて、資源割り当て管理部５を参照しつつ、さらに検索する（ステップＳＴ１０３を参照）。
【００６７】
他の処理モデル１０が共有資源モデル８を現に利用している場合（ＹＥＳに対応）、シミュレーション実行部２の割り当て検索部２０５は、割り当てられているすべての処理モデル１０を抽出する。その際、シミュレーション実行部２は、それらの処理モデル１０にあらかじめ設定される優先度も合わせて取得する（ステップＳＴ１０４を参照）。
【００６８】
他の処理モデル１０が共有資源モデル８を現に利用していない場合（ＮＯに対応）、シミュレーション実行部２の開始操作部２０２は、取り出した処理モデル１０に共有資源を利用させる。そして、シミュレーション実行部２は、当該処理モデル１０の時間待ちを行うことによって当該処理モデル１０の仮想時間を完了させ、次の処理開始予定時刻のキュー位置に当該処理モデル１０を登録する（ステップＳＴ１０６を参照）。
【００６９】
他の処理モデル１０が共有資源モデル８を現に利用している場合で、共有資源モデル８を現に利用している処理モデル１０の優先度よりも、取り出した処理モデル１０の優先度の方が高い場合（ＹＥＳに対応）は、シミュレーション実行部２は、取り出した処理モデル１０に共有資源を利用させる。そして、シミュレーション実行部２は、当該処理モデル１０の時間待ちを行うことによって当該処理モデル１０の仮想時間を完了させる（ステップＳＴ１０８を参照）。一方で、共有資源モデル８を利用していた処理モデル１０に関しては、時間待ちを停止させることによって、当該処理モデル１０の仮想時間の経過を止める。
【００７０】
共有資源を横取りされた処理モデル１０に関して、シミュレーション実行部２の残り時間計算部２０７は、それまでに経過した当該処理モデル１０の仮想時間に基づいて、当該処理モデル１０の残りの仮想時間を計算する。そして、シミュレーション実行部２は、共有資源を横取りされた処理モデル１０の時間待ちが終了させられた時刻のキュー位置に、計算した残りの仮想時間に基づく時間待ちの発行とともに、共有資源を横取りされた処理モデル１０を登録する（ステップＳＴ１０８を参照）。
【００７１】
他の処理モデル１０が共有資源モデル８を現に利用している場合で、共有資源モデル８を現に利用している処理モデル１０の優先度よりも、取り出した処理モデル１０の優先度が高くない場合（ＮＯに対応）には、シミュレーション実行部２は、共有資源を現に利用している処理モデル１０の仮想時間が完了する時刻まで、取り出した処理モデル１０の時間待ちの開始を延期させる。そして、シミュレーション実行部２は、次の処理開始予定時刻のキュー位置に処理モデル１０を登録する（ステップＳＴ１０７を参照）。
【００７２】
図１０は、これらの機能によるシミュレーション装置の動作を例示する図である。ここでは、処理モデル１０として、第１の処理モデル、第２の処理モデル、第３の処理モデル、第４の処理モデル、および、第５の処理モデルの５つの処理モデルが存在する。
【００７３】
第１の処理モデル、および、第２の処理モデルは、それぞれが独立して動作する処理モデルである。また、第３の処理モデル、第４の処理モデル、および、第５の処理モデルは、第１の共有資源モデルを共有する処理モデルである。ここで、第１の共有資源モデルは、２つの資源である第１の資源、および、第２の資源を保有する。
【００７４】
また、図１０の横軸は、シミュレーション実行部２が保有するシミュレーション時刻を示す。また、それぞれの処理モデルは、処理モデルの仮想時間をモデル化し、それを時間待ちとしてシミュレーション上で実現するものである。それぞれの処理モデルの時間待ちを行うために、それぞれの処理モデルについてシミュレーション実行部２が時間待ちを発行する。図１０においては、発行された時間待ちは、ｗａｉｔ（）と表示される。
【００７５】
時間待ち、すなわち、ｗａｉｔ（）は、シミュレーション実行部２が提供する、時間待ちを行わせるための操作機能である。ｗａｉｔ（）の引数は、シミュレーション時間上で処理モデルの仮想時間の完了までに時間待ちをどのくらいの時間だけ行うかを示すものである。
【００７６】
シミュレーション動作としては、シミュレーション時刻１の時点で、シミュレーション実行部２が、第１の処理モデルに関してシミュレーション時間（３）の時間待ちを発行する。同じく、シミュレーション時刻１の時点で、シミュレーション実行部２が、第５の処理モデルに関してシミュレーション時間（４）の時間待ちを発行する。
【００７７】
第１の処理モデルと第５の処理モデルとは、独立して動作可能であり、シミュレーション実行部２は、シミュレーション上で同時にそれらの処理モデルに関して時間待ちを発行する。その際、第５の処理モデルは、第１の共有資源の中で、他の処理モデルに利用されていない第１の資源を利用する。そして、第５の処理モデルは、当該処理モデルの仮想時間を経過させる。
【００７８】
シミュレーションを進める中で、シミュレーション実行部２は、次に処理キュー１２上で先頭に登録された第２の処理モデルを取り出す。シミュレーション実行部２は、第２の処理モデルに関して、規定の時刻でシミュレーション時間（３）の時間待ちを発行する。
【００７９】
第２の処理モデルは、独立して動作可能な処理モデルである。したがって、第１の処理モデル、および、第５の処理モデルと並行して、第２の処理モデルの時間待ちが行われる。
【００８０】
その後、シミュレーション実行部２は、処理キュー１２の先頭に登録された第４の処理モデルを取り出す。シミュレーション実行部２は、第４の処理モデルに関して、シミュレーション時間（３）の時間待ちを発行する。第４の処理モデルは、第５の処理モデルと同じく、第１の共有資源の利用を要求する。第１の共有資源は、その時点で、第１の資源が第５の処理モデルに現に利用されているが、第２の資源は空いている状態である。そのため、第４の処理モデルは、第２の資源を利用することができる。そして、第４の処理モデルは、第１の処理モデル、第２の処理モデル、および、第５の処理モデルとともに時間待ちを行うことによって、当該処理モデルの仮想時間を経過させる。
【００８１】
その後、シミュレーション実行部２は、処理キュー１２の先頭に登録された第３の処理モデルを取り出す。シミュレーション実行部２は、第３の処理モデルに関しても同じく、シミュレーション時間（３）の時間待ちを発行する。
【００８２】
第３の処理モデルは、第４の処理モデル、および、第５の処理モデルと同じく、第１の共有資源の共有する処理モデルである。しかしながら、その時点で、第１の共有資源が保有する第１の資源は、第５の処理モデルに現に利用されており、第１の共有資源が保有する第２の資源は、第４の処理モデルに現に利用されている。
【００８３】
ここで、第１の資源を現に利用している第５の処理モデルの優先度と、第２の資源を現に利用している第４の処理モデルの優先度と、当該第３の処理モデルの優先度とを比較する。
【００８４】
第３の処理モデルの優先度は、第４の処理モデルの優先度よりも高く、また、第５の処理モデルの優先度よりも高い。この場合、シミュレーション実行部２は、第３の処理モデルの優先度よりも低い優先度の中で最も優先度が低い第５の処理モデルが現に利用している第１の資源を、第３の処理モデルに第５の処理モデルから横取りさせる。そして、第３の処理モデルの時間待ちが行われる。一方で、第５の処理モデルの時間待ちは停止される。
【００８５】
この際、シミュレーション実行部２の残り時間計算部２０７は、第５の処理モデルについて、その時点までに経過した第５の処理モデルの仮想時間を、第５の処理モデルが時間待ちを開始した時点で指定された、第５の処理モデルの仮想時間の完了までにかかることが予定される仮想時間から差し引き、第５の処理モデルの残りの仮想時間を計算する。
【００８６】
図１０に例示される場合では、第５の処理モデルに関してその時点までに経過した仮想時間は、シミュレーション時刻１からシミュレーション時刻３までのシミュレーション時間（２）である。また、図１０に例示される場合では、その時点までに経過した第５の処理モデルの仮想時間を、第５の処理モデルが時間待ちを開始した時点で指定された、第５の処理モデルの仮想時間の完了までにかかることが予定される仮想時間から差し引いた残りの仮想時間は、
【数１】
2017149770.tif 000003
となるため、シミュレーション時間（２）である。したがって、シミュレーション実行部２は、第５の処理モデルに関して、第３の処理モデルによって時間待ちが停止させられたその時点で、シミュレーション時間（２）の時間待ちを発行する。
【００８７】
上述されたように、第５の処理モデルは、第１の共有資源を共有する第３の処理モデルよりも優先度が低い。また、第５の処理モデルは、第１の共有資源を共有する第４の処理モデルよりも優先度が低い。また、第１の共有資源が保有する第１の資源は、第３の処理モデルに現に利用されており、かつ、第１の共有資源が保有する第２の資源は、第４の処理モデルに現に利用されているため、第５の処理モデルは、第１の共有資源を利用することができない。そのため、第５の処理モデルの時間待ちは保留される。
【００８８】
その後、シミュレーション時間は進み、シミュレーション時刻５の時点で、第４の処理モデルの仮想時間が完了する。第４の処理モデルの仮想時間が完了した結果、第１の共有資源が利用していた第２の資源は解放される。
【００８９】
そのため、第５の処理モデルは第２の資源を利用して時間待ちを再開することができ、この時点から残りの仮想時間であるシミュレーション時間（２）の時間待ちを開始する。
【００９０】
本実施の形態で例示されたシミュレーション装置では、このように、シミュレーションを実行することが可能である。
【００９１】
これにより、たとえば、第３の処理モデル、第４の処理モデル、および、第５の処理モデルがソフトウェア動作であり、第１の共有資源における第１の資源および第２の資源がそれを実行可能な複数のＣＰＵである場合、または、複数のＣＰＵコアを有するＣＰＵである場合のソフトウェア実行動作を模擬することができる。ここで、複数のＣＰＵコアには、たとえば、図１０における第１の資源、および、第２の資源が対応する。
【００９２】
また、第１の処理モデル、および、第２の処理モデルが何かしらのハードウェア回路で実現される処理である場合に、システム上で、たとえば、２つのコアを持つマルチコアＣＰＵ上で動作するソフトウェア処理と、当該ＣＰＵ周辺におけるハードウェア回路で実現される２つのハードウェア処理により構成されるシステムのシミュレーションを実行することが可能になる。ここで、複数のＣＰＵコアには、たとえば、図１０における第１の資源、および、第２の資源が対応する。また、マルチコアＣＰＵ上で動作するソフトウェア処理には、たとえば、図１０における第３の処理モデル、第４の処理モデル、および、第５の処理モデルが対応する。また、ＣＰＵ周辺におけるハードウェア回路で実現される２つのハードウェア処理には、たとえば、図１０における第１の処理モデル、および、第２の処理モデルが対応する。
【００９３】
また、本実施の形態で例示されたシミュレーション装置では、シミュレーション実行部２の内部で、仮想的な時間に基づいて行われるシミュレーション動作において、どの時点で、どの処理が実行されたか、具体的には、処理モデルの時間待ちが発行された時点、または、実際に時間待ちが行われた時間などについての情報を、シミュレーション実行とともに内部保持し、利用者の操作により確認することができる処理記録部２０６を有する。
【００９４】
当該機能により、利用者は、想定また評価するシステム構成に関連する、処理実行の仮想的な時間軸上での流れを確認することができる。また、利用者は、それらの動作の中で、たとえば、処理の開始から処理の終了までの経過時間が比較的長い処理などの動作内容を確認することができ、検討および評価を行っているシステム構成の問題点を把握し、または、他のシステム構成との比較を実施することが可能となる。
【００９５】
また、処理モデルに対する共有資源の割り当ては、図８に例示されたように、処理モデル、共有資源、および、優先度の対応付けとして簡単に行うことができる。そのため、たとえば、ＣＰＵを想定した第１の共有資源が、シングルコアＣＰＵである場合には、共有資源の数を２ではなく１とする。そうすれば、第２の資源は存在せず、シングルコアＣＰＵと２つのハードウェア回路によるシミュレーションを実現することが可能になる。
【００９６】
また、第１の共有資源を共有する第５の処理モデルに関し、第１の共有資源の割り当てを解除した場合には、第３の処理モデル、および、第４の処理モデルのみがマルチコアＣＰＵ上で動作するソフトウェア処理で、第１の処理モデル、第２の処理モデル、および、第５の処理モデルは、独立に動作するハードウェア回路とみなすシミュレーションを実行することが可能となる。すなわち、複数の処理モデルのうちの一部について、共有資源を共有する処理モデルか、または、独立に動作する処理モデルかを適宜変更することで、様々な態様のシミュレーションを実行することができる。ここで、マルチコアＣＰＵは、たとえば、図１０における第１の資源、および、第２の資源を有する第１の共有資源に対応する。
【００９７】
また、シミュレーションを実行する際に、通信に必要となる時間も合わせてシミュレーション実行することも可能である。それらは、通信モデル１１に対し、その内部に持つデータ転送量１１００により規定される時間分だけ転送時間として時間待ちを行うモデルとして、モデル化、および、シミュレーションを行うことが可能である。なお、データの転送にかかる時間は、通信モデル１１が保有するデータ転送単位時間（ここでは、図示しない）の設定値に基づいて、データ転送量１１００と当該データ転送単位時間とを乗算するように規定される計算方式で算出可能である。
【００９８】
処理モデルの時間待ちが停止された場合、停止操作部２０３は、処理モデルに関連するデータのうち、時間待ちが停止された時点より後に関連するデータの転送を停止することができる。すなわち、処理モデルの時間待ちが停止された時点よりも後に関連するデータの転送にかかることが予定される時間を除いて、残りの仮想時間とすることができる。または、停止操作部２０３は、処理モデルの時間待ちが停止された場合、処理モデルに関連するすべてのデータの転送を停止することも可能である。すなわち、処理モデルに関連するすべてのデータの転送にかかることが予定される時間を除いて、残りの仮想時間とすることができる。
【００９９】
また、通信のモデル化、および、シミュレーション方式においても、先の「処理」に対する「共有資源」と同等の、「通信」に対する「共有資源」を想定し、その資源獲得の順番により通信が遅延され、さらに、通信終了時間が延びるということも実現可能である。
【０１００】
シミュレーション装置は、先述の通り、パーソナルコンピュータ、または、ワークステーションなどの汎用計算機で実現されるとともに、それぞれの管理機能、すなわち、共有資源管理部４、資源割り当て管理部５、処理管理部６、および、通信管理部７が管理を行っている各種モデル群は、当該汎用計算機に接続されているハードディスクなどのデータ保持機能により保持される。
【０１０１】
それとともに、シミュレーション操作部３は、当該汎用計算機が保有するユーザーインターフェイス機能、具体的には、マウス、キーボード、または、ディスプレイなどにより情報提示され、利用者からの指示を受け取る形態とすることができる。
【０１０２】
図１１および図１２は、図１に例示されるシミュレーション装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。なお、図１１および図１２に例示されるハードウェア構成は、図１に例示される構成とは数などが整合しない場合があるが、これは図１に例示される構成が概念的な単位を示すものであることに起因する。したがって、少なくとも、図１に例示される１つの構成が、図１１および図１２に例示される複数のハードウェア構成から成る場合と、図１に例示される１つの構成が、図１１および図１２に例示されるハードウェア構成の一部に対応する場合と、さらには、図１に例示される複数の構成が、図１１および図１２に例示される１つのハードウェア構成に備えられる場合とが想定され得る。
【０１０３】
また、図１１および図１２に例示されるハードウェア構成は、図１に例示されるシミュレーション装置の概念的な構成を具体化して例示するものである。したがって、図１に例示されるシミュレーション装置の概念的な構成に対応するハードウェア構成に加えて、新たなハードウェア構成が追加される場合があるが、新たに追加されるそれらのハードウェア構成が備えられない場合であっても、本実施の形態に関する電力制御装置は成立し得る。
【０１０４】
図１１では、図１に例示されたシミュレーション装置を実現するためのハードウェア構成として、演算を行う処理回路１０２Ａと、情報を記憶することができる記憶装置１０３と、マウスまたはキーボードなどの、情報を入力することができる入力装置１０４と、ディスプレイなどの、情報を出力することができる出力装置１０５とが示される。
【０１０５】
図１２では、図１に例示されたシミュレーション装置を実現するためのハードウェア構成として、演算を行う処理回路１０２Ｂと、マウスまたはキーボードなどの、情報を入力することができる入力装置１０４と、ディスプレイなどの、情報の出力を行うことができる出力装置１０５とが示される。
【０１０６】
共有資源管理部４と、資源割り当て管理部５と、処理管理部６と、通信管理部７とは、記憶装置１０３または別の記憶装置（ここでは、図示しない）によって実現される。記憶装置１０３は、たとえば、ハードディスク（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、すなわち、ＨＤＤ）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、すなわち、ＲＡＭ）、リードオンリーメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、すなわち、ＲＯＭ）、フラッシュメモリ、ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ（ＥＰＲＯＭ）、および、ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ（ＥＥＰＲＯＭ）などの、揮発性または不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤなどを含むメモリ（記憶媒体）などによって構成されるなどを含むメモリ（記憶媒体）などによって構成される。
【０１０７】
処理回路１０２Ａは、記憶装置１０３に格納されたプログラムを実行するものであってもよい。すなわち、たとえば、中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、すなわち、ＣＰＵ）、マイクロプロセッサ、マイクロコンピュータ、デジタルシグナルプロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｏｃｅｓｓｏｒ、すなわち、ＤＳＰ）であってもよい。
【０１０８】
処理回路１０２Ａが記憶装置１０３に格納されたプログラムを実行するものである場合、シミュレーション実行部２は、記憶装置１０３に格納されたプログラムが処理回路１０２Ａによって実行されるソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、シミュレーション実行部２の機能は、たとえば、複数の処理回路が連携することによって実現されてもよい。
【０１０９】
ソフトウェアおよびファームウェアはプログラムとして記述され、記憶装置１０３に記憶されるものであってもよい。その場合、処理回路１０２Ａは、記憶装置１０３に格納されたプログラムを読み出して実行することにより、上記の機能を実現する。すなわち、記憶装置１０３は、処理回路１０２Ａに実行されることにより、上記の機能が結果的に実現されるプログラムを記憶するものであってもよい。
【０１１０】
また、処理回路１０２Ｂは、専用のハードウェアであってもよい。すなわち、たとえば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、すなわち、ＡＳＩＣ）、ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ（ＦＰＧＡ）またはこれらを組み合わせた回路であってもよい。
【０１１１】
処理回路１０２Ｂが専用のハードウェアである場合、シミュレーション実行部２は、処理回路１０２Ｂが動作することにより実現される。なお、シミュレーション実行部２の機能は、別々の回路で実現されてもよいし、単一の回路で実現されてもよい。
【０１１２】
なお、シミュレーション実行部２の機能は、一部が記憶装置１０３に格納されたプログラムを実行するものである処理回路１０２Ａにおいて実現され、一部が専用のハードウェアである処理回路１０２Ｂにおいて実現されてもよい。
【０１１３】
また、シミュレーション操作部３は、入力装置１０４によって実現される。
【０１１４】
＜以上に記載された実施の形態によって生じる効果について＞
以下に、以上に記載された実施の形態によって生じる効果を例示する。なお、以下では、以上に記載された実施の形態に例示された具体的な構成に基づいて当該効果が記載されるが、同様の効果が生じる範囲で、本願明細書に例示される他の具体的な構成と置き換えられてもよい。
【０１１５】
以上に記載された実施の形態によれば、シミュレーション装置は、開始操作部２０２と、停止操作部２０３と、残り時間計算部２０７とを備える。ここで、それぞれの処理モデル１０の開始から完了までにかかることが予定される時間を仮想時間とする。また、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０は、複数の処理モデル１０のうちの少なくとも２つの処理モデル１０の間で共有可能な複数の資源のうちの少なくとも１つを、仮想時間の分だけ利用する。ここで、共有資源モデル８は、共有可能な複数の資源に対応するものである。また、開始操作部２０２は、あらかじめ定められた第１の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。また、停止操作部２０３は、あらかじめ定められた第２の条件下において、共有資源モデル８の利用を開始した処理モデル１０の共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める。また、残り時間計算部２０７は、共有資源モデル８の利用を停止した処理モデル１０の、残りの仮想時間を計算する。そして、開始操作部２０２は、第１の条件下において、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。
【０１１６】
また、上記の実施の形態によれば、シミュレーション装置は、プログラムを実行する処理回路１０２Ａと、実行されるプログラムを記憶する記憶装置１０３とを備える。そして、処理回路１０２Ａがプログラムを実行することによって、以下の動作が実現される。すなわち、それぞれの処理モデル１０の開始から完了までにかかることが予定される時間を仮想時間とし、また、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０は、複数の処理モデル１０のうちの少なくとも２つの処理モデル１０の間で共有可能な複数の資源のうちの少なくとも１つを、仮想時間の分だけ利用するものとする場合に、シミュレーション実行部２における開始操作部２０２は、あらかじめ定められた第１の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。また、シミュレーション実行部２における停止操作部２０３は、あらかじめ定められた第２の条件下において、共有資源モデル８の利用を開始した処理モデル１０の共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める。また、シミュレーション実行部２における残り時間計算部２０７は、共有資源モデル８の利用を停止した処理モデル１０の、残りの仮想時間を計算する。そして、シミュレーション実行部２における開始操作部２０２は、第１の条件下において、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。
【０１１７】
また、上記の実施の形態によれば、シミュレーション装置は、専用のハードウェアである処理回路１０２Ｂを備える。そして、専用のハードウェアである処理回路１０２Ｂは、以下の動作を行う。すなわち、それぞれの処理モデル１０の開始から完了までにかかることが予定される時間を仮想時間とし、また、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０は、複数の処理モデル１０のうちの少なくとも２つの処理モデル１０の間で共有可能な複数の資源のうちの少なくとも１つを、仮想時間の分だけ利用するものとする場合に、専用のハードウェアである処理回路１０２Ｂは、あらかじめ定められた第１の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。また、専用のハードウェアである処理回路１０２Ｂは、あらかじめ定められた第２の条件下において、共有資源モデル８の利用を開始した処理モデル１０の共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める。また、専用のハードウェアである処理回路１０２Ｂは、共有資源モデル８の利用を停止した処理モデル１０の、残りの仮想時間を計算する。そして、専用のハードウェアである処理回路１０２Ｂは、第１の条件下において、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。
【０１１８】
このような構成によれば、複数の共有可能な資源を利用する複数の処理モデル１０の実行をシミュレーションすることができる。具体的には、特定の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０の共有可能な資源の利用を停止することによって、当該処理モデル１０の仮想時間の経過を止める。そして、特定の条件下において、共有可能な資源の利用を停止した当該処理モデル１０に再度資源を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。このようにすることで、複数の処理モデル１０を用いて、効率的に共有可能な資源を利用しつつ、それぞれの処理モデル１０の仮想時間を効率的に経過させることができる。また、システムが機能として有するすべての処理に対して、想定されるすべての処理の実現方法、たとえば、単独のＣＰＵ上のソフトウェアによって実現されるのか、ハードウェア回路によって実現されるのか、または、複数のＣＰＵ上でそれぞれが独立して動作するソフトウェアによって実現されるのかなどを考慮した上で、システム全体としての性能評価を実施しようとする場合、それぞれの処理の実現方法についての組み合わせ数は膨大となる。そのため、それぞれの処理の実現方法についてのすべての組み合わせに関するシミュレーション実行、および、シミュレーション結果の取得には多大な時間が必要となる。結果として、取りうるすべての可能な組み合わせを評価することは、一般的な電子システム設計においては困難である。これに対し、本実施の形態に例示される構成によれば、複数の共有資源を共有しない処理モデル１０を同時に備えることができるため、実現される態様がソフトウェアであるかハードウェアであるかを考慮しない統一的なモデル化手法を実現することができる。したがって、電子システム設計の初期段階で、様々な処理実現方式の組み合わせを簡単に試すことができる。そのため、システム設計時間を短縮することができる。また、より多くの設計モデルを限られた設計時間内で評価することができるため、効果的に電子システム設計を実施することができる。さらには、複数搭載されるＣＰＵで、当該ＣＰＵ上で動作するソフトウェアの実行性能がそれぞれ異なるという場合にも適用することができる。
【０１１９】
なお、これらの構成以外の本願明細書に例示される他の構成については適宜省略することができる。すなわち、これらの構成のみで、以上に記載された効果を生じさせることができる。しかしながら、本願明細書に例示される他の構成のうちの少なくとも１つを以上に記載された構成に適宜追加した場合、すなわち、以上に記載された構成としては記載されなかった本願明細書に例示される他の構成を以上に記載された構成に追加した場合でも、同様に以上に記載された効果を生じさせることができる。
【０１２０】
また、以上に記載された実施の形態によれば、開始操作部２０２は、少なくとも１つの共有資源モデル８を複数の処理モデル１０のいずれもが利用していない第１の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に当該共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。このような構成によれば、他の処理モデル１０と共有する資源を効率的に利用することによって、仮想時間を経過させることができる。
【０１２１】
また、以上に記載された実施の形態によれば、停止操作部２０３は、すべての共有資源モデル８それぞれを、複数の処理モデル１０のいずれかが利用している第２の条件下において、少なくとも１つの共有資源モデル８を利用している第１の処理モデル１０の当該共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める。そして、開始操作部２０２は、いずれの共有資源モデル８も利用していなかった、複数の処理モデル１０のうちの少なくとも１つの第２の処理モデル１０に共有資源モデル８の利用を停止した第１の処理モデル１０が利用していた共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。そして、残り時間計算部２０７は、共有資源モデル８の利用を停止した第１の処理モデル１０の、残りの仮想時間を計算する。そして、開始操作部２０２は、第２の処理モデル１０が仮想時間の分だけ共有資源モデル８を利用した後に、共有資源モデル８の利用を停止した第１の処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。このような構成によれば、共有する資源が他の処理モデル１０によって現に利用されている場合であっても、他の処理モデル１０の当該資源の利用を停止することによって、取り出された処理モデル１０の当該資源の利用を優先することができる。したがって、取り出された処理モデル１０の仮想時間を優先的に経過させることができる。
【０１２２】
また、以上に記載された実施の形態によれば、複数の処理モデル１０には、それぞれ優先度が設定される。そして、共有資源モデル８の利用を停止した第１の処理モデル１０の優先度は、共有資源モデル８の利用を開始した第２の処理モデル１０の優先度よりも低い。このような構成によれば、共有する資源が他の処理モデル１０によって現に利用されている場合であっても、優先度の低い他の処理モデル１０の当該資源の利用を停止することによって、優先度の高い処理モデル１０の当該資源の利用を優先することができる。したがって、優先度の高い処理モデル１０の仮想時間を優先的に経過させることができる。
【０１２３】
また、以上に記載された実施の形態によれば、複数の処理モデル１０には、それぞれ開始予定時刻が設定される。そして、共有資源モデル８の利用を停止した第１の処理モデル１０の開始予定時刻は、共有資源モデル８の利用を開始した第２の処理モデル１０の開始予定時刻よりも時間的に後である。このような構成によれば、処理モデル１０の開始予定時刻に基づいて、共有する資源を利用することができる。
【０１２４】
また、以上に記載された実施の形態によれば、仮想時間は、それぞれの処理モデル１０に関連するデータの転送にかかることが予定される時間を含む。そして、開始操作部２０２は、それぞれの処理モデル１０の、停止操作部２０３が共有資源モデル８の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの仮想時間の分だけ、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。このような構成によれば、それぞれの処理モデル１０に関連するデータの転送にかかることが予定される時間を含めて、処理モデル１０の実行をシミュレーションすることができる。
【０１２５】
また、以上に記載された実施の形態によれば、それぞれの処理モデル１０に関連するデータの転送にかかることが予定される時間は、既定される計算方式で算出可能である。このような構成によれば、データの転送にかかることが予定される時間を適切に算出することができる。
【０１２６】
また、以上に記載された実施の形態によれば、開始操作部２０２は、それぞれの処理モデル１０の、停止操作部２０３が共有資源モデル８の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの仮想時間の分だけ、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させるか、それぞれの処理モデル１０に関連するすべてのデータの転送にかかることが予定される時間を除く残りの仮想時間の分だけ、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させるかを選択可能である。このような構成によれば、処理モデル１０に関連するデータの転送にかかることが予定される時間の設定方法に関して、動作のモデル化に対する自由度が高まる。
【０１２７】
また、以上に記載された実施の形態によれば、シミュレーション装置は、それぞれの処理モデル１０と、当該処理モデル１０が利用している共有資源モデル８との関係を変更可能に表形式で記述する記憶装置１０３を備える。そして、開始操作部２０２および停止操作部２０３は、記憶装置１０３を参照しつつ、それぞれの共有資源モデル８を複数の処理モデル１０のいずれかが利用しているか否かを判断する。このような構成によれば、それぞれの処理モデル１０と、当該処理モデル１０が利用する資源との関係を容易に変更することができる。
【０１２８】
また、以上に記載された実施の形態によれば、シミュレーション方法において、それぞれの処理モデル１０の開始から完了までにかかることが予定される時間を仮想時間とする。また、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０は、複数の処理モデル１０のうちの少なくとも２つの処理モデル１０の間で共有可能な複数の共有資源モデル８のうちの少なくとも１つを、仮想時間の分だけ利用する。そして、あらかじめ定められた第１の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０に共有資源モデル８の利用を開始させることによって、当該処理モデル１０の仮想時間を経過させる。そして、あらかじめ定められた第２の条件下において、共有資源モデル８の利用を開始した処理モデル１０の共有資源モデル８の利用を停止させることによって、当該処理モデル１０の仮想時間の経過を止める。そして、共有資源モデル８の利用を停止した処理モデル１０の、残りの仮想時間を計算する。そして、第１の条件下において、共有資源モデル８の利用を停止した処理モデル１０に再度共有資源モデル８を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。
【０１２９】
このような構成によれば、複数の共有可能な資源を利用する複数の処理モデル１０の実行をシミュレーションすることができる。具体的には、特定の条件下において、複数の処理モデル１０のうちの少なくとも１つの処理モデル１０の共有可能な資源の利用を停止することによって、当該処理モデル１０の仮想時間の経過を止める。そして、特定の条件下において、共有可能な資源の利用を停止した当該処理モデル１０に再度資源を利用させることによって、当該処理モデル１０の残りの仮想時間を経過させる。このような動作によって、共有可能な資源を利用しつつ、複数の処理モデル１０の仮想時間を効率的に経過させることができる。
【０１３０】
なお、これらの構成以外の本願明細書に例示される他の構成については適宜省略することができる。すなわち、これらの構成のみで、以上に記載された効果を生じさせることができる。しかしながら、本願明細書に例示される他の構成のうちの少なくとも１つを以上に記載された構成に適宜追加した場合、すなわち、以上に記載された構成としては記載されなかった本願明細書に例示される他の構成を以上に記載された構成に追加した場合でも、同様に以上に記載された効果を生じさせることができる。
【０１３１】
＜以上に記載された実施の形態における変形例について＞
また、処理モデルと通信モデルとの関連において、処理機能としてアルゴリズム実現する内容の特定の動作により、処理モデルの開始から完了までにかかることが予定される仮想時間が変動する場合も考えられる。その場合、処理内容に応じて、シミュレーション上でシミュレーション実行部２が発行する時間待ちの長さを変更することも容易に実現可能である。
【０１３２】
また、処理モデルにおける処理の実行開始時刻に関して、明示した処理の開始時刻で開始する、または、現在実行されている時間待ちが完了した時点で即座に次の時間待ちを実行する場合も考えられる。
【０１３３】
また、通信モデルを介して外部からのデータ受信のタイミングにより、処理モデルの実行が開始される場合も存在する。このような場合も本実施の形態に関するシミュレーション装置では容易に実現可能である。
【０１３４】
また、シミュレーション操作部３において、そのシミュレーション実行の仮想的な終了時間を利用者によりあらかじめ規定し、シミュレーション実行を行うことも可能である。
【０１３５】
なお、図８では、処理モデル、共有資源、および、優先度の割り当てが表形式で指定されるように説明されたが、表形式に限定されるものではなく、共有資源ごとにリスト形式などで表現することも可能である。
【０１３６】
また、図８では、独立した処理モデルに基づく、複数の共有する共有資源側を指定するように説明しているが、必ずしもこれに限定するわけではなく、独立した共有資源に対し、それに割り当てる処理モデル側を指定することも可能である。
【０１３７】
また、図８に関する説明の、処理モデル、共有資源、および、優先度の割り当てにおいて、整数値として優先度が割り当てられたが、必ずしも整数値である必要はなく、実数値としても問題はなく、優先度として規定されたデータに対し、データ間での大小比が可能であるものであれば、どのようなデータ形式も使用可能である。
【０１３８】
また、優先度の大小比較結果が大きい方が優先度が高いことを示すのか、または、小さい方が優先度が高いことを示すのかについては、どちらの設定も可能である。
【０１３９】
以上に記載された実施の形態では、それぞれの構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載する場合があるが、これらはすべての局面において例示であって、本願明細書に記載されたものに限られることはないものとする。
【０１４０】
したがって、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。たとえば、少なくとも１つの構成要素を変形する場合、追加する場合または省略する場合が含まれるものとする。
【０１４１】
また、矛盾が生じない限り、以上に記載された実施の形態において「１つ」備えられるものとして記載された構成要素は、「１つ以上」備えられていてもよいものとする。さらに、それぞれの構成要素は概念的な単位であって、１つの構成要素が複数の構造物から成る場合と、１つの構成要素がある構造物の一部に対応する場合と、さらには、複数の構成要素が１つの構造物に備えられる場合とを含むものとする。また、それぞれの構成要素には、同一の機能を発揮する限り、他の構造または形状を有する構造物が含まれるものとする。
【０１４２】
また、本願明細書における説明は、本技術に関するすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
【０１４３】
また、以上に記載された実施の形態で記載されたそれぞれの構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、それぞれの構成要素は「部」または「処理回路」などと称される。
【０１４４】
本願明細書に開示される技術は、それぞれの構成要素が複数の装置に分散して備えられる場合（すなわち、システムのような態様）であってもよいものとする。
【符号の説明】
【０１４５】
２  シミュレーション実行部、３  シミュレーション操作部、４  共有資源管理部、５  資源割り当て管理部、６  処理管理部、７  通信管理部、８  共有資源モデル、９  資源割り当てモデル、１０  処理モデル、１１  通信モデル、１２  処理キュー、１０２Ａ，１０２Ｂ  処理回路、１０３  記憶装置、１０４  入力装置、１０５  出力装置、１２０  取り出し操作部、１２１  登録操作部、１２２  キュー検索部、１２３  キュー登録部、２００  シミュレーション現在時刻、２０１  現在時刻更新部、２０２，３００  開始操作部、２０３，３０１  停止操作部、２０４  処理検索部、２０５  割り当て検索部、２０６  処理記録部、２０７  残り時間計算部、３０２，５００  資源割り当て操作部、３０３  表示操作部、３０４，６０１  処理検索操作部、３０５，６００  処理登録操作部、３０６，６０２  処理変更操作部、３０７，６０３  処理割り当て操作部、３０８，７０１  通信検索操作部、３０９，７００  通信登録操作部、３１０，７０２  通信変更操作部、８００  共有資源数、８０１  共有資源名、８０２  共有資源、９００，１００１  名前、９０１  処理優先度、９０２  資源獲得方法、９０３  共有資源獲得状態、９０４  共有資源モデルへの参照、９０５  処理モデルへの参照、１０００  仮想時間、１００２  処理機能、１００３  通信モデルへの参照、１００４  処理開始予定時刻、１００５  時間待ち状態、１１００  データ転送量、１１０１  送信操作、１１０２  受信操作。
【図１】
2017149770.tif 000004
【図２】
2017149770.tif 000005
【図３】
2017149770.tif 000006
【図４】
2017149770.tif 000007
【図５】
2017149770.tif 000008
【図６】
2017149770.tif 000009
【図７】
2017149770.tif 000010
【図８】
2017149770.tif 000011
【図９】
2017149770.tif 000012
【図１０】
2017149770.tif 000013
【図１１】
2017149770.tif 000014
【図１２】
2017149770.tif 000015
【図１３】
2017149770.tif 000016
【手続補正書】
【提出日】平成30年2月15日(2018.2.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、
それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、
あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、
前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、
前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
前記停止操作部は、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、
前記開始操作部は、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、
前記残り時間計算部は、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、
前記開始操作部は、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
複数の前記処理モデルには、それぞれ開始予定時刻が設定され、
前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である、
シミュレーション装置。
【請求項２】
それぞれの前記処理モデルと、当該処理モデルが利用している前記資源との関係を変更可能に表形式で記述する記憶装置をさらに備え、
前記開始操作部および前記停止操作部は、前記記憶装置を参照しつつ、それぞれの前記資源を複数の前記処理モデルのいずれかが利用しているか否かを判断する、
請求項１に記載のシミュレーション装置。
【請求項３】
複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、
それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、
あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、
前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、
前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、
前記開始操作部は、それぞれの前記処理モデルの、前記停止操作部が前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる、
シミュレーション装置。
【請求項４】
前記開始操作部は、少なくとも１つの前記資源を複数の前記処理モデルのいずれもが利用していない前記第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに当該資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる、
請求項３に記載のシミュレーション装置。
【請求項５】
前記停止操作部は、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、
前記開始操作部は、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、
前記残り時間計算部は、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、
前記開始操作部は、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる、
請求項３に記載のシミュレーション装置。
【請求項６】
複数の前記処理モデルには、それぞれ優先度が設定され、
前記資源の利用を停止した前記第１の処理モデルの優先度は、前記資源の利用を開始した前記第２の処理モデルの優先度よりも低い、
請求項５に記載のシミュレーション装置。
【請求項７】
それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間は、既定される計算方式で算出可能である、
請求項３に記載のシミュレーション装置。
【請求項８】
前記開始操作部は、
それぞれの前記処理モデルの、前記停止操作部が前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させるか、
それぞれの前記処理モデルに関連するすべてのデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させるかを選択可能である、
請求項３に記載のシミュレーション装置。
【請求項９】
それぞれの前記処理モデルと、当該処理モデルが利用している前記資源との関係を変更可能に表形式で記述する記憶装置をさらに備え、
前記開始操作部および前記停止操作部は、前記記憶装置を参照しつつ、それぞれの前記資源を複数の前記処理モデルのいずれかが利用しているか否かを判断する、
請求項３から請求項８のうちのいずれか１項に記載のシミュレーション装置。
【請求項１０】
複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、
それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、
あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、
前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、
前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、
いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、
前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、
前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
複数の前記処理モデルには、それぞれ開始予定時刻が設定され、
前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である、
シミュレーション方法。
【請求項１１】
複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、
それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、
複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、
あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、
あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、
前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、
前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、
前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、
それぞれの前記処理モデルの、前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる、
シミュレーション方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本願明細書に開示される技術の一の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記停止操作部は、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記開始操作部は、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、前記残り時間計算部は、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、前記開始操作部は、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、複数の前記処理モデルには、それぞれ開始予定時刻が設定され、前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である。
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、前記開始操作部は、それぞれの前記処理モデルの、前記停止操作部が前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、複数の前記処理モデルには、それぞれ開始予定時刻が設定され、前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である。
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、それぞれの前記処理モデルの、前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本願明細書に開示される技術の一の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記停止操作部は、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記開始操作部は、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、前記残り時間計算部は、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、前記開始操作部は、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、複数の前記処理モデルには、それぞれ開始予定時刻が設定され、前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。具体的には、特定の条件下において、複数の処理モデルのうちの少なくとも１つの処理モデルの共有可能な資源の利用を停止することによって、当該処理モデルの仮想時間の経過を止める。そして、特定の条件下において、共有可能な資源の利用を停止した当該処理モデルに再度資源を利用させることによって、当該処理モデルの残りの仮想時間を経過させる。このようにすることで、複数の処理モデルを用いて、効率的に共有可能な資源を利用しつつ、それぞれの処理モデルの仮想時間を効率的に経過させることができる。
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション装置であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させる開始操作部と、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止める停止操作部と、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算する残り時間計算部とを備え、前記開始操作部は、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、前記開始操作部は、それぞれの前記処理モデルの、前記停止操作部が前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。具体的には、特定の条件下において、複数の処理モデルのうちの少なくとも１つの処理モデルの共有可能な資源の利用を停止することによって、当該処理モデルの仮想時間の経過を止める。そして、特定の条件下において、共有可能な資源の利用を停止した当該処理モデルに再度資源を利用させることによって、当該処理モデルの残りの仮想時間を経過させる。このようにすることで、複数の処理モデルを用いて、効率的に共有可能な資源を利用しつつ、それぞれの処理モデルの仮想時間を効率的に経過させることができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、すべての前記資源それぞれを、複数の前記処理モデルのいずれかが利用している前記第２の条件下において、少なくとも１つの前記資源を利用している第１の処理モデルの当該資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、いずれの前記資源も利用していなかった、複数の前記処理モデルのうちの少なくとも１つの第２の処理モデルに前記資源の利用を停止した前記第１の処理モデルが利用していた前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、前記資源の利用を停止した前記第１の処理モデルの、残りの前記仮想時間を計算し、前記第２の処理モデルが前記仮想時間の分だけ前記資源を利用した後に、前記資源の利用を停止した前記第１の処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、複数の前記処理モデルには、それぞれ開始予定時刻が設定され、前記資源の利用を停止した前記第１の処理モデルの開始予定時刻は、前記資源の利用を開始した前記第２の処理モデルの開始予定時刻よりも時間的に後である。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。
また、本願明細書に開示される技術の別の態様は、複数の処理モデルの実行をシミュレーションするシミュレーション方法であり、それぞれの前記処理モデルの開始から完了までにかかることが予定される時間を仮想時間とし、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルは、複数の前記処理モデルのうちの少なくとも２つの前記処理モデルの間で共有可能な複数の資源のうちの少なくとも１つを、前記仮想時間の分だけ利用し、あらかじめ定められた第１の条件下において、複数の前記処理モデルのうちの少なくとも１つの前記処理モデルに前記資源の利用を開始させることによって、当該処理モデルの前記仮想時間を経過させ、あらかじめ定められた第２の条件下において、前記資源の利用を開始した前記処理モデルの前記資源の利用を停止させることによって、当該処理モデルの前記仮想時間の経過を止め、前記資源の利用を停止した前記処理モデルの、残りの前記仮想時間を計算し、前記第１の条件下において、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させ、前記仮想時間は、それぞれの前記処理モデルに関連するデータの転送にかかることが予定される時間を含み、それぞれの前記処理モデルの、前記資源の利用を停止させる時点より後に関連するデータの転送にかかることが予定される時間を除く残りの前記仮想時間の分だけ、前記資源の利用を停止した前記処理モデルに再度前記資源を利用させることによって、当該処理モデルの残りの前記仮想時間を経過させる。このような構成によれば、複数の共有可能な資源を利用する複数の処理モデルの実行をシミュレーションすることができる。
【国際調査報告】
2017149770.tif 000017
2017149770.tif 000018