(57)【要約】【課題】各計算機上での処理を他の計算機の稼動状態に関わりなく実行できるようにすることによりクロスコンパイラの自動検査の稼働率を高める。【解決手段】テストプログラムをコンパイルしてオブジェクトファイルを生成するコンパイル用計算機１２と、前記生成したオブジェクトファイルを格納する共有ディスク１４と、前記共有ディスク１４に格納したオブジェクトファイル１５をもとにロードモジュール１９を生成し、生成したロードモジュール１９を実行して実行結果ファイル２０を生成するテストプログラム実行用計算機と、前記共有ディスク１４を介して前記コンパイル用計算機１２とテストプログラム実行用計算機１７間のファイルの受け渡しを実行する制御監視用計算機を備えた。【選択図】　　　　図１
2004030181.tif 000002
【特許請求の範囲】
【請求項１】
テストプログラムをコンパイルしてオブジェクトファイルを生成するコンパイル用計算機と、
前記生成したオブジェクトファイルを格納する共有ディスクと、
前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュールを実行して実行結果ファイルを生成するテストプログラム実行用計算機と、
前記共有ディスクを介して前記コンパイル用計算機とテストプログラム実行用計算機間のファイルの受け渡しを実行する制御監視用計算機を備えたことを特徴とするクロスコンパイラの自動検査装置。
【請求項２】
テストプログラムをコンパイルしてオブジェクトファイルを生成するコンパイル用計算機と、
前記生成したオブジェクトファイルを格納する共有ディスクと、
前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュールを実行して実行結果ファイルを生成するテストプログラム実行用計算機と、
前記コンパイル用計算機によるオブジェクトファイル生成処理並びにテストプログラム実行用計算機によるロードモジュール生成処理及びロードモジュールの実行処理を制御する制御監視用計算機を備え、
前記共有ディスクを介して前記コンパイル用計算機とテストプログラム実行用計算機間のファイルの受け渡しを実行することを特徴とするクロスコンパイラの自動検査装置。
【請求項３】
請求項２の記載において、
前記制御監視用計算機は、実行結果ファイルの内容と予め設定した検査結果予想値とを比較してコンパイルの正当性を検査する検査手段を備えたことを特徴とするクロスコンパイラの自動検査装置。
【請求項４】
テストプログラムをコンパイルしてオブジェクトファイルを生成する工程と、
前記生成したオブジェクトファイルを共有ディスクに格納する工程と、
前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュールを実行して実行結果ファイルを生成する工程を備え、
前記共有ディスクを介して前記コンパイル用計算機とテストプログラム実行用計算機間のファイルの受け渡しを実行することを特徴とするクロスコンパイラの自動検査方法。
【請求項５】
テストプログラムをコンパイルしてオブジェクトファイルを生成する工程と、
前記生成したオブジェクトファイルを共有ディスクに格納する工程と、
前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュールを実行して実行結果ファイルを生成する工程と、
前記コンパイル用計算機によるオブジェクトファイル生成工程並びにテストプログラム実行用計算機によるロードモジュール生成工程及びロードモジュールの実行工程を制御する手段制御監視用計算機を備え、
前記共有ディスクを介して前記コンパイル用計算機とテストプログラム実行用計算機間のファイルの受け渡しを実行することを特徴とするクロスコンパイラの自動検査方法。
【請求項６】
コンピュータを、テストプログラムをコンパイルしてオブジェクトファイルを生成する手段と、
前記生成したオブジェクトファイルを共有ディスクに格納する手段と、
前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュールを実行して実行結果ファイルを生成する手段と、
前記コンパイル用計算機によるオブジェクトファイル生成並びにテストプログラム実行用計算機によるロードモジュール生成及びロードモジュールの実行を制御する制御監視手段として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はクロスコンパイラの自動検査装置及び方法に係り、特にクロスコンパイラ環境における稼働率を向上することのできるようにしたクロスコンパイラの自動検査装置及び方法に関する。
【０００２】
【従来の技術】
特開平１０−３３３９１７号公報「分散コンパイル方式」は、コンパイルのフロントエンドとバックエンドの処理をそれぞれ別の計算機で実行することが示されている。この方式では、フロントエンドの出力をバックエンドの計算を実行する計算機に転送する転送処理部が必要となる。
【０００３】
また、この分散処理方式では、これらの一連の処理を自動的に実行するため、前記フロントエンド部、転送処理部及びバックエンド部の処理をそれぞれ前処理の終了をトリガとして自動的に開始する方式を採用している。
【０００４】
【発明が解決しようとする課題】
前記公報に示される方式では、バックエンド部の実行開始はフロントエンド部の処理終了をトリガとして行われる。このため、バックエンド部は常にフロントエンド部からの出力データの転送を待ち受ける状態となっているている。従って、バックエンド部の処理を実行する計算機が使用できない場合にはフロントエンド部の処理を停止する必要があり、また、フロントエンド部を実行する計算機が使用できない場合にはバックエンドの処理は実行できない。このため全体の処理が遅延することになる。
【０００５】
本発明はこれらの問題点に鑑みてなされたもので、稼働率を高めることのできるクロスコンパイラの自動検査装置及び自動検査方法を提供する。
【０００６】
【課題を解決するための手段】
本発明は、上記の課題を解決するために次のような手段を採用した。
【０００７】
テストプログラムをコンパイルしてオブジェクトファイルを生成するコンパイル用計算機と、前記生成したオブジェクトファイルを格納する共有ディスクと、前記共有ディスクに格納したオブジェクトファイルをもとにロードモジュールを生成し、生成したロードモジュール１９を実行して実行結果ファイルを生成するテストプログラム実行用計算機と、前記共有ディスクを介して前記コンパイル用計算機とテストプログラム実行用計算機間のファイルの受け渡しを実行する制御監視用計算機を備えた。
【０００８】
【発明の実施の形態】
以下、本発明の実施形態を添付図面を参照しながら説明する。図１は、本発明の実施形態にかかるクロスコンパイラの自動検査装置を説明する図である。図に示すように、制御監視用計算機１、コンパイル用計算機１２、テストプログラム実行用計算機１７及び共用ディスク１４がネットワーク１００に接続されている。
【０００９】
制御監視用計算機１上で動作する連続実行制御部２はコンパイル制御部３、転送処理部４及びテストプログラム実行制御部５を呼び出し、更にコンパイル用計算機スケジュールリスト２１及びテストプログラム実行用計算機スケジュールリスト２２を参照し、参照結果に応じて前記各制御部３，４，５の起動・停止を行う。
【００１０】
コンパイル制御部３は、検査対象リスト６及びコンパイル終了リスト７を参照し、コンパイル対象となるテストプログラム１１を決定し、コンパイラ１３に対してコンパイルの開始を指示し、生成したオブジェクトファイル１５を共有ディスク１４に出力し、更にコンパイルの成否を確認して確認結果をコンパイル終了リスト７に出力する。
【００１１】
転送処理部４は、コンパイル終了リスト７及び転送終了リスト８を参照し、転送するオブジェクトファイル１５を決定し、該オブジェクトファイルを共有ディスク１４からテストプログラム実行用計算機１７のローカルディスクへ転送し、更に転送前のオブジェクトファイル１５と転送後のオブジェクトファイル１６を比較して転送の成否を確認し、確認結果を転送終了リスト８に出力する。
【００１２】
テストプログラム実行制御部５は、転送終了リスト８及びテストプログラム実行用計算機での処理状態を表す処理状態リスト９を参照して、実行すべき処理、及び処理の対象となるオブジェクトファイル１６またはロードモジュール１９または実行結果ファイル２０を決定する。更にリンケージ手段１８に対してオブジェクトファイル１６に対するリンケージ開始を指示してロードモジュール１９を作成し、実行処理部２１にロードモジュール１９に対する実行処理開始を指示して実行結果ファイル２０を出力し、更に該実行結果ファイル２０に対する検査及び該検査結果に対する合否判定を行う。
【００１３】
図２は、テストプログラム１１の内容を示す図である。テストプログラム１１はテストプログラム名２３、プログラム本体２４、検査用データ２５で構成される。本実施形態においては、検査用データ２５をテストプログラム１１内に備えている。テストプログラム１１をもとに作成するロードモジュール１９は、その内部にある検査用データ２５に対してプログラム２４を実行し、実行結果ファイル２０を出力する。
【００１４】
図３は、検査対象リスト６の内容を示す図である。検査対象リスト６は実施する予定の全検査を登録するリストである。本実施形態においては、一件の検査はテストＩＤ２６、テストプログラム名２３、コンパイルオプション２７の組み合わせにより構成される。検査に際しては、テストプログラム名２３を持つテストプログラム１１に対し、コンパイルオプション２７を指定してコンパイルを行い、生成されたオブジェクトファイルの正当性を検査する。これは同じテストプログラムに対するコンパイルでも、コンパイルオプションが違う場合は出力されるオブジェクトファイルの内容が異なるためである。
【００１５】
図４は、コンパイル用計算機スケジュールリスト２１及びテストプログラム実行用計算機スケジュールリスト２２の内容を示す図である。計算機の使用可能時間を示すデータを記録したスケジュールリストは、各計算機ごとに用意する。スケジュールリストは、ＹＹＹＹＭＭＤＤｈｈｍｍ形式の開始時刻２８及び終了時刻２９の組み合わせで構成され、計算機は開始時刻２８から対応する終了時刻２９までの期間が使用可能であることを示している。終了時刻２９は開始時刻２８より遅い時刻でなければならず、終了時刻２９が開始時刻２８より早い時刻である場合は、連続実行制御部は無効なデータとして扱う。
【００１６】
図５は、コンパイル終了リスト７の内容を示す図である。コンパイル終了リスト７は全テストＩＤに対するコンパイル用計算機１２におけるコンパイル処理の進捗状況を示すリストである。これはテストＩＤ３０とコンパイル処理の成否を示すコンパイル終了状態３１により構成される。コンパイル終了状態３１のＣｏｍｐｌｅｔｅはコンパイルが終了したことを示し、Ｉｎｃｏｍｐｌｅｔｅはコンパイルを中断し完了しなかったことを示す。検査開始時点でコンパイル終了状態３１は未入力であり、検査を実行していく過程でコンパイル制御部３はコンパイル対象となった検査のテストＩＤ３０に対応するコンパイル終了状態３１を更新する。
【００１７】
図６は、転送終了リスト８の内容を示す図である。転送終了リスト８は全テストＩＤに対するオブジェクトファイル１５の、共有ディスク１４から、テストプログラム実行用計算機１７のローカルディスクへの転送処理の進捗状況を示すリストである。このリストはテストＩＤ３２と対応するファイルの転送処理の成否を示す転送終了状態３３により構成される。転送終了状態３３のＣｏｍｐｌｅｔｅは転送の成功を示し、Ｉｎｃｏｍｐｌｅｔｅは失敗を示す。検査開始時点で転送終了状態３３は未入力であり、検査を実行していく過程で転送処理部４は転送対象となったオブジェクトファイルのテストＩＤ３２に対応した転送終了状態３３を更新する。
【００１８】
図７は、処理状態リスト９の内容を示す図である。処理状態リスト９は全テストＩＤに対するテストプログラム実行用計算機１７上での処理の進捗状況を示すリストである。このリストはテストＩＤ３４及びテストプログラム実行用計算機１７上での処理がどこまで行われたかを示す処理状態３５で構成される。処理状態３５におけるＬｉｎｋはリンケージまで終了していることを示し、Ｒｕｎは実行処理まで終了していることを示し、ＣｏｍｐｌｅｔｅはテストＩＤに対する検査が完了したことを示す。検査開始時点で処理状態３５は未入力であり、検査を実行していく過程でテストプログラム実行制御部５は処理対象となった検査のテストＩＤ３４に対応する終了状態３５を更新する。
【００１９】
図８は、結果判定リスト１０の内容を示す図である。結果判定リストはテストプログラム１１及びコンパイルオプション２７の組み合わせにより生成したロードモジュール１９に対する実行処理により生成した、実行結果ファイル２０の正当性の判定結果を示すリストである。このリストはテストＩＤ３６と判定結果３７で構成される。判定結果３７は、実行結果ファイル２７と予め設定した正しい出力との比較の結果を示し、ＯＫは一致した場合、ＮＧは不一致の場合を示す。検査開始時点で結果判定リスト１０は空であり、検査を実行していく過程でテストプログラム実行制御部５は結果判定対象となった検査のテストＩＤ３６に対応する判定結果３７を更新する。
【００２０】
図９は、連続実行制御部２の動作を説明するフローチャートである。まず、連続実行制御部２は処理状態リスト９（図７）を参照し、処理状態３５が全てＣｏｍｐｌｅｔｅであるか否かを判断する。全てＣｏｍｐｌｅｔｅあれば、予定していた全ての検査を終了したと判断してループを終了し、そうでなければ（ステップ１０２）に進む（ステップ１０１）。最初のループが開始されると、コンパイル用計算機１２の使用可能時刻を記録したコンパイル用計算機スケジュールリスト２１（図４）を参照して、開始時刻２８と終了時刻２９の組で表されるコンパイル用計算機１２の使用可能時間に現在時刻が該当するか否かを判断し（ステップ１０２）、現在時刻が使用可能時間であり、且つネットワークを介してコンパイル用計算機１２へアクセス可能であり、且つコンパイル制御部が起動していなければコンパイル制御部３を呼び出し、該制御部３を起動する（ステップ１０３）。一方、現在時刻が使用可能時間内でなければ、コンパイル制御部が既に起動しているか否かを判断し、起動していればコンパイル制御部３を停止する（ステップ１０４）。
【００２１】
次いで、テストプログラム実行用計算機１７の使用可能時刻を記録したテストプログラム実行用計算機スケジュールリスト２２（図４）を参照し、現在時刻が開始時刻２８と終了時刻２９の組で表されるテストプログラム実行用計算機１７の使用可能時間に該当するか否かを判断し（ステップ１０５）、現在時刻が使用可能時間に該当し、且つネットワークを介してテストプログラム実行用計算機１７へアクセス可能であり、且つテストプログラム実行用計算機１７が使用可能であれば、転送処理部４が既に起動しているか否かを判断し、起動していなければ転送処理部４を呼び出して起動し（ステップ１０６）、さらにテストプログラム実行制御部５が既に起動しているか否かを確認し、起動していなければテストプログラム実行制御部５を起動する（ステップ１０７）。一方、現在時刻がテストプログラム実行用計算機１７の使用可能時間内でなければ、転送処理部４が既に起動しているか否かを判断し、起動していれば転送処理部４を停止し（ステップ１０８）、さらにテストプログラム実行制御部５が既に起動しているか否かを確認し、起動していればテストプログラム実行制御部５を停止する（ステップ１０９）。以上の処理を、検査対象リスト６に登録された検査を全て終了するまで繰り返す（ステップ１０１）。
【００２２】
図１０は、コンパイル制御部３の動作を説明するフローチャートである。まず、コンパイル制御部３はコンパイル終了リスト７（図５）を参照する（ステップ２０１）。コンパイル終了リスト７（図５）のコンパイル終了状態３１にＩｎｃｏｍｐｌｅｔｅがあれば、対応するテストＩＤ２６をコンパイル対象のテストＩＤとして決定する。一方コンパイル終了状態３１にＩｎｃｏｍｐｌｅｔｅがなければ、コンパイル終了状態３１が未入力である任意のテストＩＤをコンパイル対象に決定する（ステップ２０２）。
【００２３】
コンパイル対象となるテストプログラム１１を決定すると、コンパイラ１３に対しコンパイル実行を指示し、前記決定したプログラムに対してコンパイルを実行し生成したオブジェクトファイルを共有ディスク１４に出力する（ステップ２０３）。コンパイルが終了し処理がコンパイル制御部３に戻ったとき、コンパイルのリターンコードを取得してコンパイルの終了状態を判断する（ステップ２０４、２０５）。
【００２４】
コンパイルが成功した場合は、コンパイル終了リストに成功を示すデータとして、対象となったテストＩＤに対応したコンパイル終了状態３１にｃｏｍｐｌｅｔｅを出力し（ステップ２０６）、コンパイルが何らかの理由で中断してリターンコードが検出できない場合はコンパイル終了リストに失敗を示すデータとして、テストＩＤに対応したコンパイル終了状態３１にＩｎｃｏｍｐｌｅｔｅを出力する（ステップ２０７）。また、コンパイルのリターンコードがコンパイルの失敗を示すものである場合は、テストＩＤに対応したコンパイル終了リスト７（図５）のコンパイル終了状態３１、転送終了リスト８（図６）の転送終了状態３３及び処理状態リスト９（図７）の処理状態３５にそれぞれ完了を表すｃｏｍｐｌｅｔｅを出力し、結果判定リスト１０（図８）の判定結果３７に、予め設定した正しい出力との比較結果の不一致を示すＮＧを出力する（ステップ２０８）。
【００２５】
次に、コンパイル終了リスト７を参照し、コンパイル終了状態３１が全てｃｏｍｐｌｅｔｅであるか否かを判定し、全てがｃｏｍｐｌｅｔｅである場合は、全テストＩＤに対するコンパイルが終了したと判断してコンパイル制御部３の処理を終了し、そうでない場合はステップ３０１に戻る（ステップ２０９）。
【００２６】
図１１は、転送処理部４の動作を説明するフローチャートである。まず、転送処理部４は、コンパイル終了リスト７（図５）及び転送終了リスト８（図６）を参照する。転送終了リスト８（図６）の転送終了状態３３にＩｎｃｏｍｐｌｅｔｅがあれば、そのテストＩＤを転送対象として選択する。一方、転送終了状態３３にＩｎｃｏｍｐｌｅｔｅのデータがなければ、コンパイル終了リスト７（図５）のコンパイル終了状態３１がＣｏｍｐｌｅｔｅであり、且つ転送終了リスト８（図６）の転送終了状態３３が未入力であるテストＩＤを選択し、該ＩＤを転送対象をして選択する。なお、コンパイル終了リスト７（図５）のコンパイル終了状態３１がＣｏｍｐｌｅｔｅで、且つ転送終了リスト８（図６）の転送終了状態３３が未入力であるテストＩＤが存在しない場合は転送対象オブジェクトは無しとする（ステップ３０１）。
【００２７】
次いで、前記転送対象オブジェクト選択の成否を判断し、転送対象オブジェクトを選択できない場合はステップ３０７に進み、転送処理は実行しない（ステップ３０３）。転送対象オブジェクトを選択した場合は、転送対象となるオブジェクトファイル１５を共有ディスク１４からテストプログラム実行用計算機１７のローカルディスクに転送する（ステップ３０３）。
【００２８】
転送終了後にオブジェクトファイル１５の内容とオブジェクトファイル１６の内容を比較し、一致する場合は転送が成功したと判断し、そうでない場合は失敗したと判断する（ステップ３０４）。転送に成功した場合には、転送終了リスト８（図６）の転送対象となったオブジェクトファイルのテストＩＤに対応する転送終了状態３３にＣｏｍｐｌｅｔｅを出力し（ステップ３０５）、転送に失敗した場合には、転送終了リスト８（図６）の転送対象となったオブジェクトファイルのテストＩＤに対応する転送終了状態３３にＩｎｃｏｍｐｌｅｔｅを入力する（ステップ３０６）。次いで、転送対象リスト８の転送終了状態３３が全てＣｏｍｐｌｅｔｅであるか否かを大判断し、全てＣｏｍｐｌｅｔｅである場合は、全テストＩＤに対する転送が終了したと判断して転送処理部４を終了し、そうでない場合はステップ３０１に戻る（ステップ３０７）。
【００２９】
図１２は、テストプログラム実行制御部５の動作を説明するフローチャートである。テストプログラム制御部５は、まず、転送終了リスト８（図６）と処理状態リスト９（図７）を参照する。処理状態リスト９（図７）の処理状態３５にＲｕｎがあれば、対応するテストＩＤに対応する実行結果ファイル２０に対して結果判定処理を行うことを決定する。処理状態３５にＲｕｎがなくＬｉｎｋがあれば、対応するテストＩＤに対応するロードモジュール１９に対して実行処理を行うことを決定する。また、処理状態リスト９（図７）の処理状態３５にＲｕｎもＬｉｎｋもない場合は、転送終了リスト８（図６）の転送終了状態３３がＣｏｍｐｌｅｔｅ且つ処理状態リスト９の処理状態３５が未入力であるテストＩＤを選択し、そのテストＩＤに対応するオブジェクトファイル１６のリンケージを行うことを決定する。転送終了リスト８（図６）の転送終了状態３３がＣｏｍｐｌｅｔｅ且つ処理状態リスト９（図７）の処理状態３５が未入力であるテストＩＤが存在しない場合は、次に実行すべき処理とテストＩＤは無しとする（ステップ４０１）。
【００３０】
次いで、実行すべき処理とテストＩＤが決定されたか否かを判断し、決定されている場合はステップ４０３に進み、決定されていない場合（次に実行すべき処理がない場合）はステップ４１４に進む（ステップ４０２）。
【００３１】
ステップ４０３において次に実行すべき処理が、オブジェクトに対するリンケージである場合は、テストＩＤと同じ名称のオブジェクトファイル１６に対してリンケージを行い、リンケージ手段１８に対しテストＩＤに対応するロードモジュール１９を出力することを指示する（ステップ４０３，４０４）。次いで、ロードモジュール１９が出力されているか確認し、出力されていなければリンケージに失敗したとみなしリンケージ処理を再び行い、出力されていれば成功したと考えて次の処理へ移る（ステップ４０５）。リンケージに成功していれば、処理状態リスト９（図７）のリンケージ対象となったオブジェクトファイルのテストＩＤに対応する処理状態３５にリンク完了を示すＬｉｎｋを出力し、ステップ４０７に進む（ステップ４０６）。
【００３２】
ステップ４０３において次に実行すべき処理がロードモジュール１９に対する実行処理である場合は、テストＩＤと同じ名称のロードモジュール１９を実行し、実行処理手段２１に対し実行結果をテストＩＤに対応する実行結果ファイル２０に出力するように指示する（ステップ４０３，４０７）。実行処理が終了するとテストプログラム実行制御部５に処理が帰るので、その返却値から実行に成功したか否かを判断し、失敗であればステップ４０７に戻り、成功であればステップ４０９に進む（ステップ４０８）。実行処理が成功している場合は、実行を行ったテストプログラムのテストＩＤに対応する処理状態リスト９（図７）の処理状態３５に実行完了を示すＲｕｎを出力し、ステップ４１０に進む（ステップ４０９）。
【００３３】
ステップ４０３において次に実行すべき処理が結果判定処理である場合、テストＩＤと同じ名称の実行結果ファイル２０を参照する（ステップ４１０）。実行結果ファイル２０の参照に失敗した場合は再び参照を行い、成功した場合は次の処理へ移行する（ステップ４１１）。実行結果ファイル２０の参照に成功した場合は、対象になったテストプログラムのテストＩＤに対応する処理状態リスト９（図７）の処理状態３５にＣｏｍｐｌｅｔｅを出力する（ステップ４１２）。次いで、実行結果ファイル２０の内容と検査予想結果を比較して検査結果の正当性を判定し、その結果を結果判定リスト１０（図８）に出力する（ステップ４１３）。
【００３４】
最後に処理状態リスト９（図７）の終了状態３５が全てＣｏｍｐｔｅｌｅであるか否かで、全テストＩＤに対する処理が終了したかどうかを判断し、全てが終了していなければステップ４０１に戻り、全て場終了していれば処理を終了する（ステップ４１４）。
【００３５】
図１３は、テストプログラム１１に対する処理の流れを説明する図である。図において、テストプログラムＡに対する処理は、コンパイル用計算機とテストプログラム実行用計算機の両方が使用可能である場合における処理である。
【００３６】
図に示すように、コンパイル用計算機１２において、テストプログラムＡに対するコンパイル処理５０１を実行し、処理５０１が終了すると直ちに転送処理５０２が行われる。転送処理５０２の終了後にオブジェクトファイルのリンケージ、ロードモジュールの実行及び実行結果の判定を含むテストプログラムＡに対する実行処理５０３が行われる。
【００３７】
テストプログラムＢに対する処理は、コンパイル用計算機１２とテストプログラム実行用計算機１７の何れか一方が使用不可である場合の処理である。図に示すように、コンパイル用計算機１２においてコンパイル処理５０４が終了する時点では、テストプログラム実行用計算機１７の使用不可である時間帯５０７である。このため、処理を保留し、前記使用不可の時間帯５０７が終了した時点で、テストプログラムＢに対する転送処理５０５を開始する。テストプログラムＢに対する転送処理を開始する時点では、コンパイル用計算機１２が使用不可の時間帯５０８に入っている。しかし、前記転送処理においては、監視制御用計算機１にネットワークを介して接続された共有ディスク１２及びテストプログラム実行用計算機１７のみを使用するので、前記コンパイル用計算機１２が使用不可であっても転送処理を実行することができる。転送処理５０５の終了後にテストプログラムＢに対する実行処理５０６を行う。このときもコンパイル用計算機１２は使用不可の時間帯５０８に入っているが、転送処理の場合と同様にコンパイル用計算機１２が使用不可であっても実行処理５０６を行うことができる。
【００３８】
以上説明したように、テストプログラム実行用計算機が使用不可の時間帯５０７においては、転送処理、テストプログラム用計算機上での処理を行うことはできないが、コンパイル処理を行うことができる。逆にコンパイル用計算機が使用不可の時間帯５０８においては、コンパイル処理を行うことはできないが、転送処理及びテストプログラム用計算機上での実行処理は行うことができる。すなわち、使用する計算機の使用可能な時間帯がそれぞれ異なるクロスコンパイラ環境において、各計算機上での処理を他の計算機の稼動状態に関わりなく実行できるようにしているので、クロスコンパイラの自動検査の稼働率を高めることができる。また、操作員が介入すること無しに検査を連続して実行することができる。
【００３９】
【発明の効果】
以上説明したように本発明によれば、稼働率の高いクロスコンパイラの自動検査装置及び自動検査方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかるクロスコンパイラの自動検査装置を説明する図である。
【図２】テストプログラムの内容を示す図である。
【図３】検査対象リストの内容を示す図である。
【図４】スケジュールリストの内容を示す図である。
【図５】コンパイル終了リストの内容を示す図である。
【図６】転送終了リストの内容を示す図である。
【図７】処理状態リストの内容を示す図である。
【図８】結果判定リストの内容を示す図である。
【図９】連続実行制御部の動作を説明するフローチャートである。
【図１０】コンパイル制御部の動作を説明するフローチャートである。
【図１１】転送処理部の動作を説明するフローチャートである。
【図１２】テストプログラム実行制御部の動作を説明するフローチャートである。
【図１３】テストプログラムに対する処理の流れを説明する図である。
【符号の説明】
１　制御監視用計算機
２　連続実行制御部
３　コンパイル制御部
４　転送制御部
５　テストプログラム連続実行制御部
６　検査対象リスト
７　コンパイル終了リスト
８　転送終了リスト
９　処理状態リスト
１０　結果判定リスト
１１　テストプログラム
１２　コンパイル用計算機
１３　コンパイラ
１４　共有ディスク
１５、１６　オブジェクトファイル
１７　テストプログラム実行用計算機
１８　リンケージ手段
１９　ロードモジュール
２０　実行結果ファイル
２１　コンパイル用計算機スケジュールリスト
２２　テストプログラム実行用計算機スケジュールリスト
２３　実行処理手段
【図１】
2004030181.tif 000003
【図２】
2004030181.tif 000004
【図３】
2004030181.tif 000005
【図４】
2004030181.tif 000006
【図５】
2004030181.tif 000007
【図６】
2004030181.tif 000008
【図７】
2004030181.tif 000009
【図８】
2004030181.tif 000010
【図９】
2004030181.tif 000011
【図１０】
2004030181.tif 000012
【図１１】
2004030181.tif 000013
【図１２】
2004030181.tif 000014
【図１３】
2004030181.tif 000015