(57)【要約】【課題】使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なプログラムのデバッグを行う。【解決手段】取得手段３により取得したメモリ部５の保存内容に従って、プログラム実行手段２によりプログラムを実行する。また、プログラム実行手段２によりプログラムの内部状態の保存に必要なメモリ容量を算出し、メモリ制御手段４によりメモリ部５の残りの保存容量を算出し、それらの算出結果に基づいてメモリ部５に保存すべきプログラムの内容状態を決定する。【選択図】  図１
2006172102.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを構成する要素の一状態を表す内部状態を保存するメモリと、
前記メモリの残りの保存容量を算出し、かつ前記メモリを制御するメモリ制御手段と、
前記メモリに保存された内容を取得する取得手段と、
前記内部状態の保存に必要な容量を算出し、かつ前記取得手段により取得した内容に従ってプログラムの実行を行うプログラム実行手段とを備え、
前記メモリ制御手段は、前記算出したメモリの残りの保存容量と前記内部状態の保存に必要な容量に基づいて保存すべき内部状態を決定することを特徴とするシミュレーション装置。
【請求項２】
前記プログラム実行手段は、
前記メモリに保存された内部状態を用いることにより、過去に実行したプログラム全域における一状態からシミュレーションの実行を再開することを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
前記メモリ制御手段は、
前記メモリに保存された内容を消去することにより、前記内部状態の追加保存を行うことを特徴とする請求項１または２記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのシミュレーション装置に関し、特に、保存されたプログラムの内部状態からプログラムの実行状態を復帰させ、再開実行を行うシミュレーション装置に関する。
【背景技術】
【０００２】
一般的に、ソフトウェア開発においては、記述されたプログラムのデバッグ作業を行い、不具合箇所を発見・修正する作業を繰り返して開発を進めていくことが行われている。通常行われるプログラムのデバッグ作業においては、プログラムを開始点から終了点まで実行させ、動作中に不具合等が発見された場合には、その不具合を再現させるために、再度開始点からプログラムを実行させる方法がとられている。このように、再度、不具合点までプログラムを実行させることは、シミュレーション時間を費やすことになり、デバッグ効率を下げる原因の一つとなっている。
【０００３】
そこで、上記のようなソフトウェアのデバッグ作業において、従来次のような改善方法が提案されている。プログラムの実行に際し、１ステップ毎にプログラムの実行状態を保存して、通常プログラムの実行をやり直さなければ再現できない途中の実行状態を、あらかじめ保存した実行状態から復帰させることで、デバッグ作業の時間短縮を実現する方法が提案されている（例えば特許文献１参照）。また、上記のようなデバッグ方法において、メニュー表示によりデバッグに必要な保存情報の取捨選択を可能にすることで、デバッグの効率化を図ろうとする方法が提案されている（例えば特許文献２参照）。
【特許文献１】特開平７−１９１８７５号公報
【特許文献２】特許第２７３７７６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来のプログラムのデバッグ方法においては、プログラムの実行を再開させる場合、指定可能な再開ポイント（プログラム全域における一実行時点）の範囲は、内部状態の保存に使用可能なメモリ容量に依存し、制限されるという問題があった。
【０００５】
本発明は、かかる問題に鑑みてなされたものであり、プログラムのデバックのためにプログラムの内部状態を保存し、保存内容を用いてプログラム実行を再開させるシミュレーション装置において、使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なデバッグ作業を行うことができるシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のシミュレーション装置は、プログラムを構成する要素の一状態を表す内部状態を保存するメモリと、前記メモリの残りの保存容量を算出し、かつ前記メモリを制御するメモリ制御手段と、前記メモリに保存された内容を取得する取得手段と、前記内部状態の保存に必要な容量を算出し、かつ前記取得手段により取得した内容に従ってプログラムの実行を行うプログラム実行手段とを備え、前記メモリ制御手段は、前記算出したメモリの残りの保存容量と前記内部状態の保存に必要な容量に基づいて保存すべき内部状態を決定する構成を有している。この構成により、使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なデバッグ作業を行うことができる。
【０００７】
また、本発明のシミュレーション装置において、前記プログラム実行手段は、前記メモリに保存された内部状態を用いることにより、過去に実行したプログラム全域における一状態からシミュレーションの実行を再開する構成を有している。この構成により、過去に実行したプログラムのデバッグ作業を行うことができる。
【０００８】
さらに、本発明のシミュレーション装置において、前記メモリ制御手段は、前記メモリに保存された内容を消去することにより、前記内部状態の追加保存を行う構成を有している。この構成により、メモリの容量を小さくすることができる。
【発明の効果】
【０００９】
本発明は、メモリの残りの保存容量と内部状態の保存に必要な容量に基づいてメモリに保存すべき内容状態を決定することにより、使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なデバッグ作業を行うことができるシミュレーション装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
図１は本発明の第１の実施の形態におけるシミュレーション装置の構成を示すブロック図である。図１に示すように、このシミュレーション装置は、複数のプログラムソースコード１と、プログラムを実行するプログラム実行手段２と、デバッグのためのメモリ保存内容を取得する取得手段３と、メモリ制御手段４と、プログラムを構成する要素の一状態を表す内部状態を保存するメモリ部５から構成されている。
【００１１】
メモリ制御手段４は、メモリ部５の残りの保存容量を算出し、かつメモリ部５を制御し、プログラム実行手段２は、メモリ部５の内部状態の保存に必要な容量を算出し、かつ上記取得手段３により取得した内容に従ってプログラムの実行を行う。そして、メモリ制御手段４は、上記算出したメモリ部５の残りの保存容量と上記内部状態の保存に必要な容量に基づいて保存すべき内部状態を決定する。また、本構成において、プログラムソースコード１は、デバッグの対象であるプログラムのソースコードである。
【００１２】
プログラム実行手段２は、プログラムソースコード１を入力してコンパイルを行い、オブジェクト形式及び実行形式を生成するとともに、その実行形式を実行する。また、オブジェクト形式などの内部状態を表す情報から、内部状態の保存に必要なメモリ容量を取集し、収集結果をメモリ制御手段４に通知する。さらに、内部状態の出力要求があった場合はプログラムの内部状態を取得手段３に出力し、入力要求を出して取得した内部状態を用いて実行形式を実行する。
【００１３】
取得手段３は、メモリ制御手段４から指示された内部状態の保存タイミングにおいて、プログラム実行手段２に内部状態の出力を指示し、プログラム実行手段２から受け取った内部情報をメモリ部５に出力するとともに、シミュレーションの実行の再開時にプログラム実行手段２から内部状態の反映要求があった場合に、メモリ部５からデータを収集してプログラム実行手段２に渡す。すなわち、予めプログラムソースコード１に記述された内部状態の保存タイミングにおいて、変数値、実行関数名などのプログラムの内部状態を保存し、かつプログラムの実行の再開の際に内部状態を反映させる。
【００１４】
メモリ制御手段４は、上記プログラム実行手段２から得たメモリ容量の情報と、メモリ部５の残容量の監視などのメモリ制御結果を受け、取得手段３に内部状態の保存タイミングを指示する。
【００１５】
次に、図２を参照して、上記内部状態の保存タイミングとメモリ部５の関係について説明する。図２は予めプログラムソースコード１に記述された保存ポイントにおいて内部状態がメモリ部５に保存される様子を示す概念図である。図２において、１０、１１は上記プログラムソースコード１に記述された内部状態の各保存タイミングの保存ポイントであり、１１０、１１１は保存ポイント１０、１１において内部状態の保存に必要なメモリ容量を示している。すなわち、保存タイミング１０、１１ではそれぞれ例えば１０ＭＢ、１００ＭＢのメモリ容量が必要であることを示している。
【００１６】
プログラムソースコード１における内部状態の保存処理においては、例えばプログラムソースコード１中の各関数のリターン命令直前に記述することで、ローカルな変数など関数特有の情報を含めた内部状態を保存可能である。すなわち、図２において保存ポイント１０、１１は、プログラムソースコード１に記述された保存処理に相当する。
【００１７】
また、保存ポイント１０、１１はそれぞれ、プログラムソースコード１における上位階層（ｍａｉｎ関数内など白丸○で図示）と下位階層（各関数内など黒丸●で図示）の処理位置であり、上位階層及び下位階層で保存される内部状態の情報の内容を比べると、例えば下位階層では変数が属する関数情報など内部状態を表すために、保存すべき情報が詳細になり、上位階層でのメモリ容量１１０と下位階層での同様のメモリ容量１１１を比べると、下位階層のメモリ容量が多くなる。
【００１８】
次に、図３を参照して、上述したプログラムの内部状態を表す情報がプログラム実行手段２においてどのように収集されるかを説明する。図３は内部状態の保存に必要なメモリ容量の収集結果を示す概念図である。図３において、２０〜２６はそれぞれ、上記プログラムの内部状態の保存ポイントであり、２１０〜２１６はそれぞれの保存ポイント２０〜２６における内部状態の保存に必要なメモリ容量を示している。
【００１９】
上記の情報は、プログラム実行手段２が生成するオブジェクト情報等のプログラムの内部状態を示す情報などを参照することで収集することが可能である。また、保存ポイント２０〜２６とメモリ容量２１０〜２１６を対応させることで、保存ポイント対必要メモリ容量の対応表２２０を作成し、対応表２２０を内部状態を表す情報として用いる。
【００２０】
次に、上記のような情報を得たメモリ制御手段４が、どのように実際に有効とする保存ポイントを選定するかを、図４を参照して説明する。図４はメモリ制御手段４が上記の対応表２２０とメモリ制御によるメモリ部５の残メモリ容量（図例では１００ＭＢ）を参照して、メモリ部５に許容されるように保存ポイントを選定した様子を示す図である。
【００２１】
すなわち、保存ポイント２０、２１、２２、２３、２４、２５、２６では、内部状態の保存のためにそれぞれ２５ＭＢ、１５０ＭＢ、２００ＭＢ、３０ＭＢ、１００ＭＢ、１８０ＭＢ、３５ＭＢのメモリ容量が必要であり、これらの保存ポイントの中からメモリ部５の残容量１００ＭＢに許容されるように、かつシミュレーションの実行再開の際にプログラム全域を開始点と設定可能なように、上記保存ポイントの中から実際に保存処理として有効とすべき保存ポイントを選定すると、保存ポイント３０、３１、３２が選ばれ、それぞれのメモリ容量３１０、３１１、３１２の対応表３２０が作成される。
【００２２】
次に、第１の実施の形態のシミュレーション装置の動作全体について説明する。図１に示す構成において、上述のようにプログラム実行手段２はプログラムソースコード１を入力として、実行に必要な実行形式をコンパイルによって生成する。同時に、オブジェクト形式などのプログラムソースコード１の内部状態を表す情報も同時に生成する。そして、この情報を基に、図３に示すように保存ポイント２０〜２６と必要なメモリ容量２１０〜２１６を対応させた対応表２２０を作成し、この対応表２２０をプログラムの内部状態を示す情報の一つとしてメモリ制御手段４に渡す。一方、メモリ制御手段４は、プログラム実行手段２によるプログラム実行の前に、内部状態の保存に使用可能なメモリ容量を収集するためメモリ部５を制御し（例えば残メモリ容量を通知する指示を与える）、制御結果として残メモリ容量を収集する。
【００２３】
対応表２２０と制御結果から、メモリ制御手段４は、メモリ部５の残メモリ容量に許容可能なように、かつプログラム全域においてシミュレーションの実行の再開が可能なように保存すべき内部状態を選定すると、図４に示すように、保存ポイント３０、３１、３２が選ばれる。すなわち、図例の残メモリ容量である１００ＭＢを考慮し、メモリ部５に許容できるようにプログラムの全域からシミュレーションの実行の再開できる保存ポイントを選定すると、図３に示すような各保存ポイント２０〜２６での必要なメモリ容量２１０〜２１６から判断して、図４の保存ポイント３０、３１、３２が選定される。
【００２４】
以上のように、プログラム実行の前に予め内部状態の保存ポイントを決定し、プログラム実行を開始する。また、プログラム実行手段１０１は、その内部情報を取得手段３へ出力し、取得手段３は内部情報をメモリ部５へ保存する。すなわち、メモリ部５の残りの保存容量と内部状態の保存に必要な容量に基づいてメモリ部５に保存すべき内容状態を決定することにより、使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なデバッグ作業を行うことができるシミュレーション装置を実現することができる。
【００２５】
図５は本発明の第２の実施の形態における保存ポイントが選定された様子を示す概念図である。シミュレーション装置の構成は、図１と同様であるので説明は省略する。図５において、図４と同様４０〜４２は選定された内部状態の保存ポイントであり、４１０〜４１２は保存ポイント４０〜４２にそれぞれ対応した必要なメモリ容量である。また、４２０は保存ポイント４０〜４２とメモリ容量４１０〜４１２を対応させた対応表であり、４２１は内部情報保存条件であり、内部状態の保存ポイントの指定を表している。ここでは、図５における保存ポイント４０の実行時点以後の保存ポイントを指定している。
【００２６】
次に、第２の実施の形態のシミュレーション装置の動作について説明する。本実施の形態においては、第１の実施の形態に加えて、メモリ制御手段４に内部状態保存条件４２１に示すシミュレーションの実行の再開開始点の範囲を与えることを可能にする。すなわち、選定される保存ポイントに制約条件を加えるようにする。これは、ユーザーなどが設定するパラメータとして、メモリ制御手段４に与えることで実現可能である。このような条件による拡張により、例えばプログラム全体処理の後半からのシミュレーションの実行の再開点を詳細に設定可能となる。図例では、保存ポイント４０以後のポイントを上記開始範囲として指定した場合を示している。
【００２７】
図６は本発明の第３及び第４の実施の形態におけるシミュレーション装置の構成を示すブロック図であり、図１と同一符号は同一構成部分を示している。図６において、６はメモリ制御手段で、図１におけるメモリ制御手段４と同様の手段であるが、加えてメモリ部５に対して保存内容を消去する命令指示を行う手段である。
【００２８】
図７は第３の実施の形態における保存ポイントが選定された様子を示す概念図である。図７において、図４と同様５０、５１は選定された内部状態の保存ポイントであり、５１０、５１１は保存ポイント５０、５１にそれぞれ対応した必要なメモリ容量である。また、５２０は保存ポイント５０、５１とメモリ容量５１０、５１１を対応させた対応表であり、５２１は内部情報保存条件である。ここで、内部情報保存条件５２１は、内部状態の保存に関して、保存する内部状態は最新の保存タイミング五つ分（５Ｐｏｉｎｔｓ）のみをメモリ部５に保存するという指定条件である。
【００２９】
次に、第３の実施の形態のシミュレーション装置の動作について説明する。本実施の形態におけるシミュレーション装置では、メモリ制御手段６はプログラム実行中にメモリ部５を監視するとともに、メモリ部５の残容量と内部状態保存条件５２１に基づいて内部状態の保存を行う。すなわち、メモリ部５の使用可能メモリ容量が不明な場合や変化した場合などに、内部状態の保存に関して、内部状態の保存にメモリ部５の残容量が不十分と判断された場合で、内部状態保存条件５２１から外れる内部状態がメモリ部５に保存されている場合には、内部状態の保存を継続するために、メモリ制御手段６はメモリ部５に対してその情報の消去指示を行う。
【００３０】
ここで、内部情報保存条件５２１は、内部状態の保存に関して、保存された最新の保存ステップの内部状態から、五つの保存タイミング分は内部状態を保存しておく条件である。すなわち、現処理が保存ポイント５１である場合に、保存ポイント５１を含めて過去５保存ステップ分の保存内容を維持し、かつ残メモリ容量（図例では１００ＭＢ）に許容されるように、メモリ部５に内部状態を保存する条件である。内部状態保存条件５２１と、図例における残メモリ容量１００ＭＢから考慮し、保存ポイント５０、５１において保存処理が行われる。また、第１の実施の形態において図４の保存ポイント３０、３１、３２と選定されていた保存対象のうち、上記条件から外れるポイント３０の保存情報は、プログラム実行の進行に伴って条件外となるので、メモリ部５から消去される。
【００３１】
以上のような第３の実施の形態によれば、メモリ部５の残容量に依存することなく、継続的にプログラムの内部状態を保存可能になる。
【００３２】
図８は第４の実施の形態における保存ポイントが選定された様子を示す概念図である。図８において、図７と同様６０、６１は選択された内部状態の保存ポイントであり、６１０、６１１は保存ポイント６０、６１にそれぞれ対応した必要なメモリ容量である。また、６２０は保存ポイント６０、６１とメモリ容量６１０、６１１を対応させた対応表であり、６２１は内部情報保存条件である。ここで、内部情報保存条件６２１は、内部状態の保存に関して、保存する内部状態は最新の保存タイミング五つ分（５Ｐｏｉｎｔｓ）のみをメモリ部５に保存するという指定条件である。
【００３３】
次に、第４の実施の形態の全体動作について説明する。本実施の形態においては、図６に示すように第３の実施の形態と同様の構成を有し、図８における情報保存設定６２１を与えることで、内部状態の保存に関しての条件を与える。ここで、内部情報保存条件６２１は、内部状態の保存に関して、保存する内部状態の保存ポイントの最小間隔を五つの保存タイミング分維持する条件である。すなわち、図８において、例えば現処理が保存ポイント６１である場合に、保存ポイント６１から過去五つの保存ステップでの保存情報は維持しないという条件である。
【００３４】
上記の条件６２１と図例における残メモリ容量１００ＭＢを考慮すると、保存ポイント６０、６１において保存処理が行われ、上記条件から外れる図４における保存ポイント３１の情報は、プログラム実行の進行に伴って条件外となるので、メモリ部５から消去される。
【００３５】
以上のような第４の実施の形態によれば、メモリ部５の残容量に依存することなく、継続的に内部状態を保存可能になる。
【００３６】
図９及び図１０は上述の第１、第２、第３及び第４の実施の形態における全体の処理動作を示すフロー図である。なお、同一ステップ番号は同一の処理内容を示している。図９において、ステップＳ１の処理は、プログラム実行手段２の各保存タイミングにおける必要メモリ容量の収集処理（図３における対応表２２０の作成に相当）、ステップＳ２の処理は、実際に有効になる保存タイミングの選定処理（図４における対応表３２０または図５における対応表４２０の作成に相当）、ステップＳ３の処理は、プログラムの終了までの処理繰り返し処理、ステップＳ４の処理は、プログラムの各論理処理の実行である。また、ステップＳ５の処理は、取得手段３における処理対象の保存タイミング（図３における保存ポイント２０〜２６のタイミングに該当）がステップＳ２において選定された保存タイミングであるかどうかの判断処理、ステップＳ６の処理は、取得手段３における内部状態の保存ポイントでの保存処理（図４におけるポイント３０〜３２などでの保存処理に該当）、ステップＳ７の処理は、ステップＳ３の処理と同じである。
【００３７】
図１０において、ステップＳ１０の処理は、取得手段３における処理対象が内部状態の保存タイミングかどうかの判断処理（図３における保存タイミング２０〜２６が各論理処理かどうかの判断処理）、ステップＳ１１の処理は、メモリ制御手段６によるメモリ部５の残容量の判断処理、ステップＳ１２の処理は、現在メモリ部５に保存されている各保存内容が内部状態保存条件５２０あるいは６２０に該当するかどうかの判断処理、ステップＳ１３の処理は、内部状態保存条件５２０、６２０などの条件の再設定処理、ステップＳ１４の処理は、内部状態保存条件５２０、６２０などに該当しない内部情報の消去処理、ステップＳ１５の処理は、ステップＳ６と同様の内部状態の保存処理である。
【００３８】
次に、図９を参照して第１及び第２の実施の形態における動作フローを説明する。プログラム実行手段２は、ステップＳ１において、プログラムソースコード１に記述された内部状態の各保存タイミングにおいて必要なメモリ容量を内部状態を表す情報から収集する。次に、ステップＳ２において、メモリ制御手段４はステップＳ１で収集した情報などから、実際にプログラム実行中において有効にする保存タイミングを選定する。すなわち、図３、図４に示すように、プログラムソースコード１には保存ポイント２０〜２６が記述されているが、この中から条件を満たす保存条件を選定して有効にする保存ポイントとしては、ポイント３０〜３２を選定する。
【００３９】
その後、ステップＳ３での繰り返し処理によるプログラム終了までの間、ステップＳ４においてプログラムの各処理が行われる。この各処理が行われる過程にて、各関数のリターン命令直前などに記述された内部状態の各保存処理に到達すると（保存ポイント２０〜２６に相当）、ステップＳ５において処理がステップＳ２で選定された保存タイミングかどうか判定する。すなわち、第１の実施の形態では、保存ポイント３０〜３２であるかどうかの判断を行う。この判断の結果が真である場合（保存ポイント３０〜３２などの場合）には、保存タイミングにおいて内部状態の保存処理を行い、偽である場合には、保存処理を行わずに次処理へ移る。
【００４０】
最後に、図１０を参照して第３及び第４の実施の形態における動作フローを説明する。まず、ステップＳ１、Ｓ３、Ｓ４の処理は、図９と同様に行われる。ステップＳ１０では、プログラム実行において、処理対象が内部状態の保存ステップであるかどうかの判断を行う。すなわち、保存ポイント２０〜２６が各論理処理であるかどうかの判断を行う。この判断の結果が真である場合には、ステップＳ１１においてメモリ制御手段６によるメモリ部５の残容量の判断が行われ、偽の場合には内部状態の保存処理に関しては何も実行しない。
【００４１】
ステップＳ１１での判断が真の場合には、ステップＳ６においてステップＳ６での内部状態の保存処理を行い、偽である場合には、ステップＳ１２において現在メモリ部５に保存されている内部状態の情報が、上記内部状態保存条件５２０及び６２０に該当するかどうかの判断が行われる。この判断の結果が真である場合には、メモリ部５の残容量が不十分で、かつ現在保存されている保存内容は、内部状態保存条件５２０及び６２０を満たすことを意味しており、この状態はすなわち、メモリ部５に許容されるようにそれ以上の保存もしくは消去は不可能であることを意味する。この場合は、ステップＳ１３において内部状態保存条件５２０及び６２０を再設定する（例えば条件５２１を７ポイントなどと条件を緩める）ことで、内部状態の保存を継続させる。ステップＳ１２における判断が偽の場合には、保存条件５２１などから外れる内部情報をステップＳ１４において消去し、ステップＳ１５において上記の内部状態の保存タイミングで保存処理を行う。
【００４２】
以上のような本実施の形態によれば、プログラム実行手段２による内部状態の保存に必要なメモリ容量の判断と、メモリ制御手段４、６によるメモリ部５のメモリ制御によって、メモリ部５の残容量に依存せず、プログラム全域における内部状態の保存が可能となるので、使用可能なメモリ容量を制限された場合でも、プログラムの内部状態の保存処理を行い、シミュレーションの実行の再開点を指定できるシミュレーション装置を提供することができる。
【産業上の利用可能性】
【００４３】
本発明のシミュレーション装置は、メモリの残りの保存容量と内部状態の保存に必要な容量に基づいてメモリに保存すべき内容状態を決定することにより、使用可能なメモリ容量に依存せず、プログラム全域においてシミュレーションの実行を再開することができ、効率的なデバッグ作業を行うことができるシミュレーション装置を提供することができるという効果を有し、保存されたプログラムの内部状態からプログラムの実行状態を復帰させ、再開実行を行うシミュレーション装置等として有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の第１及び第２の実施の形態におけるシミュレーション装置の構成を示すブロック図
【図２】第１の実施の形態におけるプログラムの内部状態の保存の様子を示す概念図
【図３】第１の実施の形態における内部状態の保存に必要なメモリ容量の収集結果を示す概念図
【図４】第１の実施の形態における内部状態の保存ポイントが選定された様子を示す概念図
【図５】本発明の第２の実施の形態における内部状態の保存ポイントが選定された様子を示す概念図
【図６】本発明の第３の実施の形態におけるシミュレーション装置の構成を示すブロック図
【図７】本発明の第３の実施の形態における内部状態の保存ポイントが選定された様子を示す概念図
【図８】本発明の第４の実施の形態における内部状態の保存ポイントが選定された様子を示す概念図
【図９】本発明の第１及び第２の実施の形態における全体の処理動作を示すフロー図
【図１０】本発明の第３及び第４の実施の形態における全体の処理動作を示すフロー図
【符号の説明】
【００４５】
１  プログラムソースコード
２  プログラム実行手段
３  取得手段
４  メモリ制御手段
５  メモリ部
６  メモリ制御手段
１０  プログラムの上位階層における内部状態の保存ポイント
１１  プログラムの下位階層における内部状態の保存ポイント
１１０  図２の保存ポイントにおける内部状態の保存に必要なメモリ容量
１１１  図２の保存ポイントにおける内部状態の保存に必要なメモリ容量
２０  内部状態の保存ポイント（１）
２１  内部状態の保存ポイント（２）
２２  内部状態の保存ポイント（３）
２３  内部状態の保存ポイント（４）
２４  内部状態の保存ポイント（５）
２５  内部状態の保存ポイント（６）
２６  内部状態の保存ポイント（７）
２１０  図３の保存ポイント（１）における内部状態の保存に必要なメモリ容量
２１１  図３の保存ポイント（２）における内部状態の保存に必要なメモリ容量
２１２  図３の保存ポイント（３）における内部状態の保存に必要なメモリ容量
２１３  図３の保存ポイント（４）における内部状態の保存に必要なメモリ容量
２１４  図３の保存ポイント（５）における内部状態の保存に必要なメモリ容量
２１５  図３の保存ポイント（６）における内部状態の保存に必要なメモリ容量
２１６  図３の保存ポイント（７）における内部状態の保存に必要なメモリ容量
２２０  対応図
３０  内部状態の保存ポイント（１）
３１  内部状態の保存ポイント（４）
３２  内部状態の保存ポイント（７）
３１０  図４の保存ポイント（１）における内部状態の保存に必要なメモリ容量
３１１  図４の保存ポイント（４）における内部状態の保存に必要なメモリ容量
３１２  図４の保存ポイント（７）における内部状態の保存に必要なメモリ容量
３２０  対応図
４０  内部状態の保存ポイント（４）
４１  内部状態の保存ポイント（６）
４２  内部状態の保存ポイント（７）
４１０  図５の保存ポイント（４）における内部状態の保存に必要なメモリ容量
４１１  図５の保存ポイント（６）における内部状態の保存に必要なメモリ容量
４１２  図５の保存ポイント（７）における内部状態の保存に必要なメモリ容量
４２０  対応図
４２１  内部状態保存条件
５０  内部状態の保存ポイント（４）
５１  内部状態の保存ポイント（７）
５１０  図７の保存ポイント（４）における内部状態の保存に必要なメモリ容量
５１１  図７の保存ポイント（７）における内部状態の保存に必要なメモリ容量
５２０  対応図
５２１  内部状態保存条件
６０  内部状態の保存ポイント（４）
６１  内部状態の保存ポイント（７）
６１０  図８の保存ポイント（４）における内部状態の保存に必要なメモリ容量
６１１  図８の保存ポイント（７）における内部状態の保存に必要なメモリ容量
６２０  対応図
６２１  内部状態保存条件
【図１】
2006172102.tif 000003
【図２】
2006172102.tif 000004
【図３】
2006172102.tif 000005
【図４】
2006172102.tif 000006
【図５】
2006172102.tif 000007
【図６】
2006172102.tif 000008
【図７】
2006172102.tif 000009
【図８】
2006172102.tif 000010
【図９】
2006172102.tif 000011
【図１０】
2006172102.tif 000012