(57)【要約】【課題】  ハードウェアに依存する命令が含まれるプログラムをより容易に移行する技術を提供する。【解決手段】  プログラム変換装置であって、コンピューターに対する処理の所定の命令を特定する命令特定部と、命令に係る処理に用いる装置を特定する装置特定部と、命令において装置へ書き込むデータのフォーマットを特定するデータフォーマット特定部と、命令において装置へのデータの書き込み後に終了処理を行うか否かを特定する終了特定部と、特定された装置、データのフォーマット、終了処理を行うか否かに応じて呼び出すプログラムを特定し、所定の命令を、プログラムを呼び出す命令に置換する命令置換部と、を備えることを特徴とする。【選択図】図１
2014194705.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターに対する処理の所定の命令を特定する命令特定部と、
前記命令に係る処理に用いる装置を特定する装置特定部と、
前記命令において前記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定部と、
前記命令において前記装置への前記データの書き込み後に終了処理を行うか否かを特定する終了特定部と、
特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じて呼び出すプログラムを特定し、前記所定の命令を、前記プログラムを呼び出す命令に置換する命令置換部と、
を備えることを特徴とするプログラム変換装置。
【請求項２】
請求項１に記載のプログラム変換装置であって、
前記データフォーマット特定部は、前記装置がＣＭＴ装置である場合には、前記命令に応じて、ノンラベル形式と標準ラベル形式とを含む複数のフォーマットのうち一つのフォーマットを特定する、
ことを特徴とするプログラム変換装置。
【請求項３】
請求項１または２に記載のプログラム変換装置であって、
ファイルごとに可変長あるいは固定長の形式を対応付けるカタログ情報を格納する記憶部を備え、
前記データフォーマット特定部は、前記装置がＣＭＴ装置である場合には、前記データが固定長または可変長のいずれであるかを、前記データに係るファイルについて前記カタログ情報を用いて特定する、
ことを特徴とするプログラム変換装置。
【請求項４】
請求項１〜３のいずれか一項に記載のプログラム変換装置であって、
前記データフォーマット特定部は、前記装置がＦＤ装置である場合には、前記命令の種類に応じて、ＤＯＳフォーマットあるいはＩＢＭフォーマットを含む複数のフォーマットのうち一つのフォーマットを特定する、
ことを特徴とするプログラム変換装置。
【請求項５】
請求項１〜４のいずれか一項に記載のプログラム変換装置であって、
前記終了特定部は、前記所定の命令の次に実行する命令が前記装置を用いるものである場合には、前記終了処理を行わないと特定する、
ことを特徴とするプログラム変換装置。
【請求項６】
請求項１〜５のいずれか一項に記載のプログラム変換装置であって、
前記所定の命令は、ＪＣＬで記述された命令である、
ことを特徴とするプログラム変換装置。
【請求項７】
請求項１〜６のいずれか一項に記載のプログラム変換装置であって、
前記呼び出すプログラムは、特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じた制御を記憶装置に対して行うプログラムである、
ことを特徴とするプログラム変換装置。
【請求項８】
コンピューターに対する処理の所定の命令を実行する命令実行部と、
前記命令に係る処理に用いる装置を特定する装置特定部と、
前記命令において前記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定部と、
前記命令において前記装置への前記データの書き込み後に終了処理を行うか否かを特定する終了特定部と、
特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じて呼び出すプログラムを特定し、前記所定の命令を、前記プログラムを呼び出す命令に置換する命令置換部と、を備え、
前記命令実行部は、前記所定の命令に代えて、前記プログラムを呼び出す命令を実行する、
ことを特徴とするプログラム実行装置。
【請求項９】
コンピューターを用いたプログラム変換方法であって、
前記コンピューターは、
コンピューターに対する処理の所定の命令を特定する命令特定ステップと、
前記命令に係る処理に用いる装置を特定する装置特定ステップと、
前記命令において前記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定ステップと、
前記命令において前記装置への前記データの書き込み後に終了処理を行うか否かを特定する終了特定ステップと、
特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じて呼び出すプログラムを特定し、前記所定の命令を、前記プログラムを呼び出す命令に置換する命令置換ステップと、
を実施することを特徴とするプログラム変換方法。
【請求項１０】
コンピューターに、プログラム変換手順を実行させるプログラムであって、
前記コンピューターを、制御手段として動作させ、
前記制御手段に対して、
コンピューターに対する処理の所定の命令を特定する命令特定手順と、
前記命令に係る処理に用いる装置を特定する装置特定手順と、
前記命令において前記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定手順と、
前記命令において前記装置への前記データの書き込み後に終了処理を行うか否かを特定する終了特定手順と、
特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じて呼び出すプログラムを特定し、前記所定の命令を、前記プログラムを呼び出す命令に置換する命令置換手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム変換の技術に関するものである。
【背景技術】
【０００２】
従来、ホストプログラムソースにランタイムテーブルに格納されたＯＳ等が含まれていると判定したとき、ランタイムをコンパイラのパラメーターとして指定してホスト用のプログラムソースを読み込み、これをトークンに分解してオブジェクトコードを生成し、該オブジェクトコードの命令文にランタイム呼出が必要と判定し且つコンパイルにパラメーター指定があると判定したとき、ランタイムテーブルに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバー実行オブジェクトに挿入する技術が存在する。特許文献１には、このような技術についての技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０５０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術では、ホストプログラムソースに、ハードウェアに依存する命令が含まれる場合を考慮されておらず、例えばＦＤ装置（フレキシブルディスク駆動装置）やＣＭＴ装置（カートリッジ磁気テープ駆動装置）を制御する命令動作を移行させることは難しかった。
【０００５】
本発明の目的は、ハードウェアに依存する命令が含まれるプログラムをより容易に移行する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明に係るプログラム変換装置は、コンピューターに対する処理の所定の命令を特定する命令特定部と、前記命令に係る処理に用いる装置を特定する装置特定部と、前記命令において前記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定部と、前記命令において前記装置への前記データの書き込み後に終了処理を行うか否かを特定する終了特定部と、特定された前記装置、前記データのフォーマット、前記終了処理を行うか否かに応じて呼び出すプログラムを特定し、前記所定の命令を、前記プログラムを呼び出す命令に置換する命令置換部と、を備えることを特徴とする。
【０００７】
また、上記のプログラム変換装置においては、上記データフォーマット特定部は、上記装置がＣＭＴ装置である場合には、上記命令に応じて、ノンラベル形式と標準ラベル形式とを含む複数のフォーマットのうち一つのフォーマットを特定する、ことを特徴とするものであってもよい。
【０００８】
また、上記のプログラム変換装置においては、ファイルごとに可変長あるいは固定長の形式を対応付けるカタログ情報を格納する記憶部を備え、上記データフォーマット特定部は、上記装置がＣＭＴ装置である場合には、上記データが固定長または可変長のいずれであるかを、上記データに係るファイルについて上記カタログ情報を用いて特定する、ことを特徴とするものであってもよい。
【０００９】
また、上記のプログラム変換装置においては、上記データフォーマット特定部は、上記装置がＦＤ装置である場合には、上記命令の種類に応じて、ＤＯＳフォーマットあるいはＩＢＭフォーマットを含む複数のフォーマットのうち一つのフォーマットを特定する、ことを特徴とするものであってもよい。
【００１０】
また、上記のプログラム変換装置においては、上記終了特定部は、上記所定の命令の次に実行する命令が上記装置を用いるものである場合には、上記終了処理を行わないと特定する、ことを特徴とするものであってもよい。
【００１１】
また、上記のプログラム変換装置においては、上記所定の命令は、ＪＣＬで記述された命令である、ことを特徴とするものであってもよい。
【００１２】
また、上記のプログラム変換装置においては、上記プログラムは、特定された上記装置、上記データのフォーマット、上記終了処理を行うか否かに応じた制御を記憶装置に対して行うプログラムである、ことを特徴とするものであってもよい。
【００１３】
また、本発明に係るプログラム実行装置は、コンピューターに対する処理の所定の命令を実行する命令実行部と、上記命令に係る処理に用いる装置を特定する装置特定部と、上記命令において上記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定部と、上記命令において上記装置への上記データの書き込み後に終了処理を行うか否かを特定する終了特定部と、特定された上記装置、上記データのフォーマット、上記終了処理を行うか否かに応じて呼び出すプログラムを特定し、上記所定の命令を、上記プログラムを呼び出す命令に置換する命令置換部と、を備え、上記命令実行部は、上記所定の命令に代えて、上記プログラムを呼び出す命令を実行する、ことを特徴とする。
【００１４】
また、本発明に係るプログラム変換方法は、コンピューターを用いたプログラム変換方法であって、上記コンピューターは、コンピューターに対する処理の所定の命令を特定する命令特定ステップと、上記命令に係る処理に用いる装置を特定する装置特定ステップと、上記命令において上記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定ステップと、上記命令において上記装置への上記データの書き込み後に終了処理を行うか否かを特定する終了特定ステップと、特定された上記装置、上記データのフォーマット、上記終了処理を行うか否かに応じて呼び出すプログラムを特定し、上記所定の命令を、上記プログラムを呼び出す命令に置換する命令置換ステップと、を実施することを特徴とする。
【００１５】
また、本発明に係る変換プログラムは、コンピューターに、プログラム変換手順を実行させるプログラムであって、上記コンピューターを、制御手段として動作させ、上記制御手段に対して、コンピューターに対する処理の所定の命令を特定する命令特定手順と、上記命令に係る処理に用いる装置を特定する装置特定手順と、上記命令において上記装置へ書き込むデータのフォーマットを特定するデータフォーマット特定手順と、上記命令において上記装置への上記データの書き込み後に終了処理を行うか否かを特定する終了特定手順と、特定された上記装置、上記データのフォーマット、上記終了処理を行うか否かに応じて呼び出すプログラムを特定し、上記所定の命令を、上記プログラムを呼び出す命令に置換する命令置換手順と、を実行させることを特徴とする。
【００１６】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【発明の効果】
【００１７】
本発明によると、ハードウェアに依存する命令が含まれるプログラムをより容易に移行することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る移行システムの構成例を示す図である。
【図２】プログラム使用装置対応情報記憶部に格納されるデータ構造を示す図である。
【図３】命令使用装置対応情報記憶部に格納されるデータ構造を示す図である。
【図４】フォーマット情報記憶部に格納されるデータ構造を示す図である。
【図５】カタログ情報記憶部に格納されるデータ構造を示す図である。
【図６】プログラム変換装置のハードウェア構成を示す図である。
【図７】プログラム移行処理フローを示す図である。
【図８】命令解析処理フローを示す図である。
【発明を実施するための形態】
【００１９】
以下に、本発明に係る第一の実施形態を適用した移行システム１について、図面を参照して説明する。
【００２０】
図１は、本発明の第一の実施形態における移行システム１の構成例を示す図である。移行システム１には、プログラム変換装置１００が含まれる。
【００２１】
近年、オープンシステムの性能向上や低価格化が進み、レガシーシステムにかかる運用コストを圧縮するため、レガシーマイグレーションが進んでいる。レガシーマイグレーションとは、汎用機を用いたレガシーシステムを、サーバーを用いたオープンシステムへ移行することをいう。オープンシステムとは、システムに参加する装置間に規格の互換性を持たせて相互運用性を高め、主に、クライアントからサーバーに対して処理の要求を行い、サーバーからクライアントが処理結果を受け取ることで所定の処理を実現するクライアントサーバー型のシステムをいう。
【００２２】
本発明に係る移行システム１においては、汎用機のＦＤ装置、ＣＭＴ装置の自動制御方式を、汎用機のＪＣＬ（ジョブ制御言語）を解析し、装置制御部分のＪＣＬの構文を所定の変換ルールに従ってオープンシステム用のＪＣＬに変換することで、ハードウェア機種依存の構文を吸収し、オープンシステムでのＦＤ装置、ＣＭＴ装置の自動制御を確立する。
【００２３】
ストレートコンバージョンによるシステムのオープン化によれば、汎用機で使用していたＣＯＢＯＬやＪＣＬを含め、プログラムはサーバーへの移行後もそのまま使用することができるが、ＦＤ装置、ＣＭＴ装置に対する制御はハードウェアに対する依存性があることから、オープン化後にＦＤ装置、ＣＭＴ装置を制御するためにＪＣＬ上でハードウェアの依存性を吸収する必要がある。
【００２４】
通常、ストレートコンバージョンによるオープン化手段を採用する場合は、短期間で汎用機環境からサーバー環境へと移行することが期待されているため、ＪＣＬの変換に必要な情報の調査などによる工数の増大を避けるため、装置を手動制御するという運用手順の変更で対応する場合も多い。しかし、このような移行を行ったシステムは、手動でＦＤ装置、ＣＭＴ装置を操作することによる作業効率の低下や人為的ミスが発生する問題をはらむ。
【００２５】
移行後のオープンシステムではＦＤ装置やＣＭＴ装置の使用を廃止する場合においては、これまでＦＤ媒体やＣＭＴ媒体で保存していたデータをディスクへ移行する必要があるが、データの移行作業は使用している媒体の数に応じて幅が生じるのみならず、工数の増大につながってしまう場合が多い。
【００２６】
そこで、本発明に係る移行システム１においては、後述する図７のプログラム変換処理において、命令解析処理と、プログラム変換処理と、をプログラム変換装置１００において行うことで、ＦＤ装置やＣＭＴ装置を用いる既存のＪＣＬ等のオープンシステムに対応する変換を実現する方式とする。
【００２７】
図１の説明に戻る。プログラム変換装置１００は、サーバー等の情報処理装置である。ほかにも例えば、プログラム変換装置１００は、パソコンやスマートフォン、ワークステーション等各種の情報処理装置であればよい。
【００２８】
プログラム変換装置１００は、制御部１１０と、記憶部１２０と、が含まれる。制御部１１０には、命令解析部１１１と、使用装置特定部１１２と、媒体フォーマット特定部１１３と、プログラム変換部１１４と、プログラム実行制御部１１５と、外部機器制御部１１６と、が含まれる。記憶部１２０には、プログラム記憶部１２１と、プログラム使用装置対応情報記憶部１２２と、命令使用装置対応情報記憶部１２３と、フォーマット情報記憶部１２４と、カタログ情報記憶部１２５と、ラッパープログラム記憶部１２６と、変換後プログラム記憶部１２７と、が含まれる。
【００２９】
図２は、プログラム使用装置対応情報記憶部１２２のデータ構造の例を示す図である。プログラム使用装置対応情報記憶部１２２には、条件１２２Ａと、使用装置１２２Ｂと、が対応付けられて格納される。
【００３０】
条件１２２Ａは、条件を特定する情報である。例えば、条件１２２Ａは、「実行ステップにＦＤフォーマット指定情報あり」や「実行ステップにＦＤフォーマット指定情報なし」等の具体的な条件を特定する情報が格納される。
【００３１】
使用装置１２２Ｂは、条件１２２Ａに応じて使用する装置の関連性を特定する情報である。例えば、条件１２２Ａが「実行ステップにＦＤフォーマット指定情報あり」の場合に、使用装置１２２Ｂは「ＦＤ装置」を使用するという情報である。
【００３２】
図３は、命令使用装置対応情報記憶部１２３のデータ構造の例を示す図である。命令使用装置対応情報記憶部１２３には、条件１２３Ａと、使用装置１２３Ｂと、が対応付けられて格納される。
【００３３】
条件１２３Ａは、条件を特定する情報である。例えば、条件１２３Ａは、「プログラム内にＣＭＴ装置指定情報あり」や「プログラム内にＣＭＴ装置指定情報なし」等の具体的な条件を特定する情報が格納される。
【００３４】
使用装置１２３Ｂは、条件１２３Ａに応じて使用する装置の関連性を特定する情報である。例えば、条件１２３Ａが「プログラム内にＣＭＴ装置指定情報あり」の場合に、使用装置１２３Ｂは「ＣＭＴ装置」を使用するという情報である。
【００３５】
図４は、フォーマット情報記憶部１２４のデータ構造の例を示す図である。フォーマット情報記憶部１２４には、条件１２４Ａと、媒体フォーマット１２４Ｂと、が対応付けられて格納される。
【００３６】
条件１２４Ａは、条件を特定する情報である。例えば、条件１２４Ａは、「プログラム内にノンラベル形式の指定情報あり」や「プログラム内にノンラベル形式の指定情報なし」等の具体的な条件を特定する情報が格納される。
【００３７】
媒体フォーマット１２４Ｂは、条件１２４Ａに応じて記録する媒体のフォーマットの関連性を特定する情報である。例えば、条件１２４Ａが「プログラム内にノンラベル形式の指定情報あり」の場合に、媒体フォーマット１２４Ｂは「ノンラベル形式」を使用するという情報である。
【００３８】
図５は、カタログ情報記憶部１２５のデータ構造の例を示す図である。カタログ情報記憶部１２５には、ファイル１２５Ａと、ファイル形式１２５Ｂと、レコード長１２５Ｃと、ブロック長１２５Ｄと、が対応付けられて格納される。
【００３９】
ファイル１２５Ａは、ファイルを特定する情報である。例えば、ファイル１２５Ａは、「ファイル１」や「ファイル２」等の具体的なファイルを特定する情報が格納される。
【００４０】
ファイル形式１２５Ｂは、ファイル１２５Ａのデータの形式を特定する情報である。例えば、ファイル１２５Ａが「ファイル１」の場合に、ファイル形式１２５Ｂは「固定長」であるとの情報である。
【００４１】
レコード長１２５Ｃは、ファイル１２５Ａのデータのレコード長を特定する情報である。例えば、ファイル１２５Ａが「ファイル１」の場合に、レコード長１２５Ｃは「１１１」バイトであるという情報である。
【００４２】
ブロック長１２５Ｄは、ファイル１２５Ａのデータのブロック長を特定する情報である。例えば、ファイル１２５Ａが「ファイル１」の場合に、ブロック長１２５Ｄは「９９９」バイトであるという情報である。
【００４３】
図１の説明に戻る。命令解析部１１１は、移行元のプログラムすなわちＪＣＬ等のプログラムを解析し、変換を要するハードウェア駆動制御の命令を特定する。また、命令解析部１１１は、命令において装置へのデータの書き込み後に終了処理を行うか否についての特定も行う。すなわち、命令解析部１１１は、コンピューターに対する処理の所定の命令を特定し、終了処理の必要性についての判断を行うといえる。
【００４４】
使用装置特定部１１２は、プログラム使用装置対応情報記憶部１２２および命令使用装置対応情報記憶部１２３を読み込んで、条件１２２Ａおよび条件１２３Ａの条件を満たすか否かを判定し、満たす場合にはそれぞれに対応する使用装置１２２Ｂ、使用装置１２３Ｂの情報を用いて、関連性のある装置を対応付ける。なお、使用装置１２２Ｂが「未詳」である場合また使用装置１２３Ｂが「不使用」である場合には、使用装置特定部１１２は装置を対応付けることはしない。すなわち、使用装置特定部１１２は、命令に係る処理に用いる装置を特定するといえる。
【００４５】
媒体フォーマット特定部１１３は、フォーマット情報記憶部１２４を読み込んで、条件１２４Ａの条件を満たすか否かを判定し、満たす場合には対応する媒体フォーマット１２４Ｂの情報を用いて関連性のある媒体フォーマットを対応付ける。すなわち、媒体フォーマット特定部１１３は、命令において装置へ書き込むデータのフォーマットを特定するといえる。特に、媒体フォーマット特定部１１３は、使用装置がＣＭＴ装置である場合には、命令に応じて、ノンラベル形式と標準ラベル形式とを含む複数のフォーマットのうち一つのフォーマットを特定する。さらに、媒体フォーマット特定部１１３は、書き込むデータが固定長または可変長のいずれであるかを、データに係るファイルについてカタログ情報を用いて特定する。また、媒体フォーマット特定部１１３は、使用装置がＦＤ装置である場合には、命令の種類に応じて、ＤＯＳフォーマットとＩＢＭフォーマットとを含む複数のフォーマットのうち一つのフォーマットを特定する。
【００４６】
プログラム変換部１１４は、命令解析部１１１により解析された結果対応付けられた装置やフォーマットの情報を用いて、ラッパープログラム記憶部１２６に格納されたＦＤ装置やＣＭＴ装置の制御を行う命令文を特定する。そして、プログラム変換部１１４は、移行元のプログラムすなわちＪＣＬの命令を当該ラッパープログラムの呼び出し命令に置換する。そして、プログラム変換部１１４は、命令を置換されたプログラムを変換後プログラム記憶部１２７に格納させる。すなわち、プログラム変換部１１４は、特定された装置、データのフォーマット、終了処理を行うか否かに応じて呼び出すプログラムを特定し、所定の命令を、プログラムを呼び出す命令に置換する命令置換部であるといえる。
【００４７】
プログラム実行制御部１１５は、変換後プログラム記憶部１２７に格納されたプログラムの実行を制御する。具体的には、ＪＣＬに含まれる命令にしたがって処理を実行し、ラッパープログラムの呼び出し命令については、ラッパープログラム記憶部１２６から対応するラッパープログラムを特定し、実行を開始させる。
【００４８】
外部機器制御部１１６は、プログラム変換装置１００の外部に接続された機器の動作を制御する。例えば、外部機器制御部１１６は、ＦＤ装置、ＣＭＴ装置等の機器の動作を制御する。
【００４９】
図６は、プログラム変換装置１００のハードウェア構成例を示す図である。プログラム変換装置１００は、演算装置１０２と、外部記憶装置１０３と、主記憶装置１０４と、出力装置１０５と、通信装置１０６と、ＦＤ装置１０７と、ＣＭＴ装置１０８と、各装置をつなぐバス１０９と、を少なくとも備える。また、他に、プログラム変換装置１００は、キーボード、マウスといった入力装置１０１を備えるものであってもよい。
【００５０】
演算装置１０２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置である。
【００５１】
外部記憶装置１０３は、デジタル情報を記憶可能な、いわゆるハードディスク（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）あるいはフラッシュメモリなどの不揮発性記憶装置である。
【００５２】
主記憶装置１０４は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリ装置である。
【００５３】
出力装置１０５は、例えば液晶ディスプレイや、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示装置である。
【００５４】
通信装置１０６は、図示しないネットワーク等を介して他の装置と通信経路を確立し、情報を送受信するネットワークカード等の装置である。
【００５５】
ＦＤ装置１０７は、フレキシブルディスクを駆動して記憶されたデータの読み出しを行う。また、ＦＤ装置１０７は、フレキシブルディスクを駆動して所定のデータを書き込む。
【００５６】
ＣＭＴ装置１０８は、カートリッジ型の磁気テープを駆動して記憶されたデータの読み出しを行う。また、ＣＭＴ装置１０８は、カートリッジ型の磁気テープを駆動して所定のデータを書き込む。
【００５７】
入力装置１０１は、キーボードやマウス、タッチパネル等の各種入力装置である。
【００５８】
入力装置１０１と、演算装置１０２と、外部記憶装置１０３と、主記憶装置１０４と、出力装置１０５と、通信装置１０６と、ＦＤ装置１０７と、ＣＭＴ装置１０８とは、バス１０９等の接続導線により互いに接続される。
【００５９】
上記したプログラム変換装置１００の命令解析部１１１、使用装置特定部１１２、媒体フォーマット特定部１１３、プログラム変換部１１４、プログラム実行制御部１１５、外部機器制御部１１６は、演算装置１０２に処理を行わせるプログラムによって実現される。このプログラムは、主記憶装置１０４、外部記憶装置１０３または図示しないＲＯＭ装置内に記憶され、実行にあたって主記憶装置１０４上にロードされ、演算装置１０２により実行される。
【００６０】
また、プログラム変換装置１００の記憶部１２０は、主記憶装置１０４及び外部記憶装置１０３により実現される。以上が、プログラム変換装置１００のハードウェア構成例である。
【００６１】
[動作の説明] 次に、本実施形態におけるプログラム変換装置１００の動作を説明する。図７は、本実施形態におけるプログラム変換装置１００が実施するプログラム移行処理のフロー図である。
【００６２】
プログラム移行処理は、プログラム変換装置１００が稼動を開始し、処理の開始を指示されると、開始される。
【００６３】
まず、命令解析部１１１は、命令解析処理を開始する（ステップＳ００１）。具体的には、命令解析処理においては、命令解析部１１１は、プログラム記憶部１２１と、プログラム使用装置対応情報記憶部１２２と、命令使用装置対応情報記憶部１２３と、フォーマット情報記憶部１２４と、カタログ情報記憶部１２５と、を用いて、図８に示す命令解析処理を実行する。
【００６４】
そして、プログラム変換部１１４は、命令解析処理の結果を受け取り、プログラムの変換を開始する（ステップＳ００２）。具体的には、プログラム変換部１１４は、プログラム記憶部１２１に格納されたプログラムおよびラッパープログラム記憶部１２６に格納されたラッパープログラムを用いてプログラムを
変換する。そして、プログラム変換部１１４は、変換したプログラムを変換後プログラム記憶部１２７に格納させる。
【００６５】
以上が、プログラム移行処理の処理フローである。プログラム移行処理を実行することで、汎用機で用いるＪＣＬ等のプログラムを、オープン系システムにて用いるＪＣＬ等のプログラムに変換することができる。
【００６６】
図８は、本実施形態におけるプログラム変換装置１００が実施する命令解析処理のフロー図である。命令解析処理は、プログラム移行処理のステップＳ００１において、変換する対象のプログラムに記述された各実行ステップを対象として、開始される。
【００６７】
まず、使用装置特定部１１２は、実行ステップはＦＤ装置を使用するか否かを判定する（ステップＳ１０１）。具体的には、使用装置特定部１１２は、実行ステップにおいて呼び出すプログラムについて、プログラム使用装置対応情報記憶部１２２の条件１２２Ａに相当するか否かを特定し、相当する場合には、使用装置１２２Ｂの情報を取得して、ＦＤ装置を使用するか否か判定する。
【００６８】
実行ステップはＦＤ装置を使用する場合（ステップＳ１０１において「Ｙｅｓ」の場合）には、媒体フォーマット特定部１１３は、実行ステップで使用するＦＤのフォーマットを特定する（ステップＳ１０２）。具体的には、媒体フォーマット特定部１１３は、実行ステップにて呼び出すプログラムにおいて指定するフォーマット情報（例えば、ＩＢＭフォーマットまたはＤＯＳフォーマット等）を特定する。
【００６９】
そして、命令解析部１１１は、実行ステップでＦＤアクセスを継続させるか否かを特定する（ステップＳ１０３）。具体的には、命令解析部１１１は、実行ステップの次の実行ステップにおいてＦＤアクセスを行う処理が実施されるか否かを特定し、ＦＤアクセスを行う処理が実施される場合には、ＦＤアクセスを継続させ、実施されない場合には、ＦＤアクセスを継続させないことを特定する。
【００７０】
そして、命令解析部１１１は、実行ステップにおいて呼び出すラッパープログラムを引き当て、特定する（ステップＳ１０４）。具体的には、命令解析部１１１は、実行ステップにて使用する装置、使用するフォーマット、次の実行ステップにおいても継続してアクセスするか否かに応じて、使用するラッパープログラムをラッパープログラム記憶部１２６から特定する。そして、命令解析部１１１は、命令解析処理を終了させる。なお、本実施形態にかかるラッパープログラムとしては、以下の１３パターンを想定している。
【００７１】
第１のパターンは、ＦＤ装置に対して、ＤＯＳフォーマットにより指定ファイルをコピーする処理であって、終了処理を行わない（継続処理を行う）コマンドを実行する第１のラッパープログラムである。
【００７２】
第２のパターンは、ＦＤ装置に対して、ＤＯＳフォーマットにより指定ファイルをコピーする処理であって、終了処理を行う（継続処理を行わない）コマンドを実行する第２のラッパープログラムである。
【００７３】
第３のパターンは、ＦＤ装置に対して、ＩＢＭフォーマットにより指定ファイルをコピーする処理であって、終了処理を行わない（継続処理を行う）コマンドを実行する第３のラッパープログラムである。
【００７４】
第４のパターンは、ＦＤ装置に対して、ＩＢＭフォーマットにより指定ファイルをコピーする処理であって、終了処理を行う（継続処理を行わない）コマンドを実行する第４のラッパープログラムである。
【００７５】
第５のパターンは、ＣＭＴ装置に対して、ノンラベル形式により指定ファイルをコピーする処理であって、終了処理を行わない（継続処理を行う）コマンドを実行する第５のラッパープログラムである。
【００７６】
第６のパターンは、ＣＭＴ装置に対して、ノンラベル形式により指定ファイルをコピーする処理であって、終了処理を行う（継続処理を行わない）コマンドを実行する第６のラッパープログラムである。
【００７７】
第７のパターンは、ＣＭＴ装置に対して、ノンラベル形式によりテープ内のデータを全件コピーする処理を行うコマンドを実行する第７のラッパープログラムである。
【００７８】
第８のパターンは、ＣＭＴ装置に対して、標準ラベル形式により固定長の指定ファイルをコピーする処理であって、終了処理を行わない（継続処理を行う）コマンドを実行する第８のラッパープログラムである。
【００７９】
第９のパターンは、ＣＭＴ装置に対して、標準ラベル形式により固定長の指定ファイルをコピーする処理であって、終了処理を行う（継続処理を行わない）コマンドを実行する第９のラッパープログラムである。
【００８０】
第１０のパターンは、ＣＭＴ装置に対して、標準ラベル形式によりテープ内の固定長の指定ファイルを全件コピーする処理を行う第１０のラッパープログラムである。
【００８１】
第１１のパターンは、ＣＭＴ装置に対して、標準ラベル形式により可変長の指定ファイルをコピーする処理であって、終了処理を行わない（継続処理を行う）コマンドを実行する第１１のラッパープログラムである。
【００８２】
第１２のパターンは、ＣＭＴ装置に対して、標準ラベル形式により可変長の指定ファイルをコピーする処理であって、終了処理を行う（継続処理を行わない）コマンドを実行する第１２のラッパープログラムである。
【００８３】
第１３のパターンは、ＣＭＴ装置に対して、標準ラベル形式によりテープ内の可変長の指定ファイルを全件コピーする処理を行う第１３のラッパープログラムである。
【００８４】
なお、以上１３パターンそれぞれについて別個独立したラッパープログラムを対応付ける必要はなく、複数のパターンを入力引数等のパラメーターにより切り替えることのできるラッパープログラムを対応付けるようにしてもよい。
【００８５】
実行ステップはＦＤ装置を使用しない場合（ステップＳ１０１において「Ｎｏ」の場合）には、使用装置特定部１１２は、実行ステップの入出力にＣＭＴの指定があるか否か判定する（ステップＳ１０５）。具体的には、使用装置特定部１１２は、実行ステップにおいて呼び出すプログラムについて、命令使用装置対応情報記憶部１２３の条件１２３Ａに相当するか否かを特定し、相当する場合には、使用装置１２３Ｂの情報を取得して、ＣＭＴ装置を使用するか否か判定する。実行ステップではＣＭＴ装置の指定がない場合には、命令解析部１１１は、命令解析処理を終了させる。
【００８６】
実行ステップの入出力にＣＭＴの指定がある場合（ステップＳ１０５にて「Ｙｅｓ」の場合）には、媒体フォーマット特定部１１３は、実行ステップの入出力はノンラベル指定があるか否かを判定する（ステップＳ１０６）。具体的には、媒体フォーマット特定部１１３は、実行ステップにおいて、フォーマット情報記憶部１２４の条件１２４Ａに相当するか否かを特定し、相当する場合には、媒体フォーマット１２４Ｂの情報を取得してノンラベル形式に該当するか否かに応じてノンラベル指定があると判定する。そうでない場合には、標準ラベル指定があると判定する。
【００８７】
実行ステップの入出力はノンラベル指定がある場合（ステップＳ１０６にて「Ｙｅｓ」の場合）には、命令解析部１１１は、実行ステップの入出力は共にＣＭＴであるか否かを判定する（ステップＳ１０７）。具体的には、命令解析部１１１は、実行ステップの入出力が共にＣＭＴであるか否かを判定する。共にＣＭＴである場合には、命令解析部１１１は、制御をステップＳ１０４に進める。
【００８８】
実行ステップの入出力のいずれかがＣＭＴではない場合（ステップＳ１０７にて「Ｎｏ」の場合）には、命令解析部１１１は、実行ステップの次のステップでもＣＭＴ指定を行っているか否か特定する（ステップＳ１０８）。具体的には、命令解析部１１１は、実行ステップの次の実行ステップにおいてＣＭＴアクセスを行う処理が実施されるか否かを特定し、ＣＭＴアクセスを行う処理が実施される場合には、ＣＭＴアクセスを継続させ、実施されない場合には、ＣＭＴアクセスを継続させないことを特定する。そして、命令解析部１１１は、制御をステップＳ１０４に進める。
【００８９】
実行ステップの入出力はノンラベル指定がない場合（ステップＳ１０６にて「Ｎｏ」の場合）には、命令解析部１１１は、実行ステップで使用するファイルは固定長か否かを特定する（ステップＳ１０９）。具体的には、命令解析部１１１は、カタログ情報記憶部１２５を参照して、実行ステップで使用するファイルのファイル形式１２５Ｂの情報を読み出し、読み出した情報が「固定長」であれば、固定長であると特定する。そうでない場合には、固定長でないと特定する。
【００９０】
次に、命令解析部１１１は、実行ステップの入出力は共にＣＭＴであるか否かを判定する（ステップＳ１１０）。具体的には、命令解析部１１１は、実行ステップの入出力が共にＣＭＴであるか否かを判定する。共にＣＭＴである場合には、命令解析部１１１は、制御をステップＳ１０４に進める。
【００９１】
実行ステップの入出力のいずれかがＣＭＴではない場合（ステップＳ１１０にて「Ｎｏ」の場合）には、命令解析部１１１は、実行ステップの次のステップでもＣＭＴ指定を行っているか否か特定する（ステップＳ１１１）。具体的には、命令解析部１１１は、実行ステップの次の実行ステップにおいてＣＭＴアクセスを行う処理が実施されるか否かを特定し、ＣＭＴアクセスを行う処理が実施される場合には、ＣＭＴアクセスを継続させ、実施されない場合には、ＣＭＴアクセスを継続させないことを特定する。そして、命令解析部１１１は、制御をステップＳ１０４に進める。
【００９２】
以上が、命令解析処理の処理フローである。命令解析処理によると、汎用機で用いるＪＣＬ等のプログラムを、オープン系システムにて用いるＪＣＬ等のプログラムに変換する際に、置換すべき命令を特定することができる。
【００９３】
以上が、本発明に係る第一の実施形態を適用した移行システム１について説明した。当該実施形態によると、汎用機において用いていたハードウェア依存の既存のプログラムについて、ハードの依存性を低く抑えることができる。
【００９４】
本発明は、上記の第一の実施形態に制限されない。上記の第一の実施形態は、本発明の技術的思想の範囲内で様々な変形が可能である。例えば、上記の第一の実施形態においては、ＪＣＬをオープンシステムにおいて実行可能なＪＣＬとして変換して保管する例を示しているが、これに限られず、ＪＣＬの実行時に変換して実行するようにしてもよい。このようにすることで、ＪＣＬの変換作業を予めせずとも、オープン環境においてオンデマンドで実行可能となる技術を提供することができる。
【００９５】
なお、本実施形態のプログラム移行処理においては、命令解析処理と、プログラム変換処理とを別のステップとしているが、命令解析処理の途中でプログラムの変換が可能となった場合には随時変換するようにしてもよい。
【００９６】
また、本実施形態のプログラム移行処理は、工程を下記５つのステップに分割するようにしてもよい。例えば、第１の工程「使用命令の調査」では、プログラム使用装置対応情報記憶部１２２を参照して、ＪＣＬ中に指定されているプログラム名やユーティリティ名からＦＤ装置やＣＭＴ装置を使用しているかの判定を行う。第２の工程「装置指定の調査」では、命令使用装置対応情報記憶部１２３を参照して、ＪＣＬ中の記述がどの媒体を指定しているかを判定する。たとえば、本判定でＤＯＳ形式のＦＤを使用するユーティリティまたは、ＩＢＭ形式のＦＤを使用するユーティリティを使用している場合には、ＦＤを使用していることを確定する。
【００９７】
また、第３の工程「媒体フォーマットの調査」では、フォーマット情報記憶部１２４を参照して、ＪＣＬ中の記述が媒体のどのフォーマットを指定しているかを特定する。前判定でＤＯＳフォーマットのＦＤを使用するユーティリティを使用している場合には、ＤＯＳフォーマット形式であり、ＩＢＭフォーマットのＦＤを使用するユーティリティを使用している場合には、ＩＢＭフォーマットのＦＤを使用する処理であることが特定される。
【００９８】
また、本判定においては、ＣＭＴを指定してあり、かつノンラベル形式をしていている場合には、ノンラベル形式のＣＭＴを使用していると判定する。前述の指定がない場合には、標準ラベル形式のＣＭＴを使用していると判定する。
【００９９】
また、第４の工程「処理内容の調査」では、次ステップの後続処理の有無などを調べる。たとえば、ＦＤの入れ替えが指定されている場合などは後続処理があると判定する。第５の工程「ファイル情報の調査」ではＦＤ、ＣＭＴ処理で使用されているファイルの形式などをＪＣＬ中のファイル名でカタログテーブルを検索して特定する。これらのステップを通して既存のＪＣＬ中にどのような処理が指定されているかを分類する。
【０１００】
上記５つのステップでＦＤ装置、ＣＭＴ装置を使用していないと判定されたものは修正対象としないと判定する。既存ＪＣＬ修正に先立ち、既存ＪＣＬ構文解析で分類したパターンごとにラッパープログラムを作成しておき、ラッパープログラムを介してユーティリティの制御を行うようにする。既存ＪＣＬのＦＤ処理、ＣＭＴ処理が記述されたステップを、対応するラッパープログラムを呼び出す形に修正を行い、得られた修正版のＪＣＬをサーバー用ＪＣＬとする。
【０１０１】
ＪＣＬ実行では、前工程で変換した個々のサーバー用ＪＣＬを実行することでラッパープログラムを介してＦＤ装置、ＣＭＴ装置を汎用機と同様に自動制御を実現する。
【０１０２】
また、上記した実施形態の技術的要素は、単独で適用されてもよいし、プログラム部品とハードウェア部品のような複数の部分に分けられて適用されるようにしてもよい。
【０１０３】
また、上記した第一の実施形態においては、ＦＤ装置１０７とＣＭＴ装置１０８とは、プログラム変換装置１００のバスに接続されているが、これに限られない。例えば、ネットワーク等を介してプログラム変換装置１００とは異なる他の装置にＦＤ装置１０７およびＣＭＴ装置１０８が接続されるものであってもよい。その場合、ラッパープログラムは、ネットワーク等を介して他の装置に接続してＦＤ装置１０７およびＣＭＴ装置１０８を制御するプログラムとなる。
【０１０４】
以上、本発明について、実施形態を中心に説明した。
【符号の説明】
【０１０５】
１・・・移行システム、１００・・・プログラム変換装置、１１０・・・制御部、１１１・・・命令解析部、１１２・・・使用装置特定部、１１３・・・媒体フォーマット特定部、１１４・・・プログラム変換部、１１５・・・プログラム実行制御部、１１６・・・外部機器制御部、１２０・・・記憶部
【図１】
2014194705.tif 000003
【図２】
2014194705.tif 000004
【図３】
2014194705.tif 000005
【図４】
2014194705.tif 000006
【図５】
2014194705.tif 000007
【図６】
2014194705.tif 000008
【図７】
2014194705.tif 000009
【図８】
2014194705.tif 000010