(57)【要約】【課題】  既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業を、簡単に行うことができるソースプログラム変換プログラムを提供することを目的とする。【解決手段】  予め移行先システムの言語仕様について調査し移行先システムの言語仕様に変換するためのカスタマイズ情報を用意する。カスタマイズ情報は移行先システムの言語仕様に合わない箇所をどのように変換するかを示す情報である。ソース変換プログラムは、移行元ソースプログラムの字句解析を行い、移行先システムの言語仕様に合わない箇所に対しては、内部的にエラー情報を蓄積する。次に、カスタマイズ情報に規定されている情報とエラー情報とを参照して、移行先のソースプログラムの生成に必要な変換情報を作り出し、この変換情報をもとに移行先システムで使用可能となるソースプログラムを生成する。【選択図】  図１
2006079484.tif 000002
【特許請求の範囲】
【請求項１】
移行前システムである第１のシステムで稼動しているソースプログラムをそれとは異なる移行先システムである第２のシステムに移行するために変換するソースプログラム変換プログラムであって、
コンピュータを、
前記第１のシステムで稼働しているソースプログラムを入力する手段、
入力したソースプログラムを解析して、前記第２のシステムの言語仕様から見てエラーになる部分をエラー情報として出力する字句解析手段、
前記第２のシステムの言語仕様から見てエラーになる部分をどのように変換すべきかを記述したカスタマイズ情報を記憶する手段、および、
前記エラー情報で指摘されている前記入力したソースプログラム中のエラー部分を、前記カスタマイズ情報の記述に基づいて変換し、前記第２のシステムで使用する移行先ソースプログラムを出力する手段
として機能させることを特徴とするソースプログラム変換プログラム。
【請求項２】
請求項１に記載のソースプログラム変換プログラムにおいて、
前記移行先ソースプログラムを出力する手段が、
前記エラー情報で指摘されている前記入力したソースプログラム中のエラー部分を前記カスタマイズ情報の記述に基づいてどのように変換すべきかを示す変換情報を出力する移行ソース解析手段と、
該変換情報に基づいて前記移行先ソースを生成して出力する移行ソース変換手段と
を含むことを特徴とするソースプログラム変換プログラム。
【請求項３】
請求項１に記載のソースプログラム変換プログラムにおいて、
コンピュータを、移行先システムを特定する移行先通知パラメータを入力する手段としてさらに機能させるとともに、
前記字句解析手段は、前記移行先通知パラメータで特定された移行先システムの言語仕様から見てエラーになる部分をエラー情報として出力するものとし、
前記カスタマイズ情報は、前記移行先通知パラメータで特定された移行先システムの言語仕様から見てエラーになる部分をどのように変換すべきかを記述したものとする
ことを特徴とするソースプログラム変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム移行に伴うソースプログラム修正を自動的に行う技術に関する。
【背景技術】
【０００２】
従来、あるシステムで使用していたソースプログラムを、それとは異なる別のシステムに移行する場合（システムのバージョンアップなども含む）、移行先システムで翻訳し、その移行先システムの言語仕様に合うようにエラー箇所を修正してソースプログラムを使用するのが一般的であった。
【０００３】
下記特許文献１には、外部から言語仕様と変換規則を与えることにより必要な言語に変換でき、システム・ソフトウェアを知らない者であっても容易に変換規則の変更、修正を行うことができるプログラミング言語変換装置が開示されている。
【特許文献１】特開平５−１９７５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、他社システム間、または、同社システム間などのシステム移行に伴うプログラムの開発は、移行先システム上で新規にプログラムを開発しシステムを構築するか、既存のシステムで動作しているプログラムを流用しシステムを構築するかの手法がある。新規にシステムを構築する場合、大規模システムの場合は開発工数が膨大となる。また、既存システムのプログラムを流用してシステムを構築する場合、移行先システムにプログラムがそのまま移行できるとは限らず、移行先システムの言語仕様にあったプログラムに変更する必要がある。一般的には、既存システムで実績のある資産を流用しシステムを構築するが、この場合、既存システムで使用していたソースプログラムの手直し作業が発生する場合があり、システム移行の工数増大の原因となっていた。
【０００５】
本発明は、既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業を、簡単に行うことができるソースプログラム変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明では、既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業において、あらかじめ移行先システムの言語仕様について調査し、移行先システムの言語仕様に変換するためのカスタマイズ情報を用意しておく。すなわち、移行先システムの言語仕様に合わずにエラーとなるソースの変換前パターンを調査しておき、それらの変換前パターンをどのようなソースに変換するべきかを示す変換後パターンを求めて、カスタマイズ情報として格納しておく。実際に変換を行う場合、ソースプログラム変換プログラムは、移行元ソースプログラムの字句解析を行い、移行先システムの言語仕様に合わない箇所に対しては、内部的にエラー情報を蓄積する。次に、ソースプログラム変換プログラムは、カスタマイズ情報に規定されている情報とエラー情報とを参照して、移行先のソースプログラムの生成に必要な変換情報を作り出し、この変換情報をもとに移行先システムで使用可能となるソースプログラムを生成する。
【発明の効果】
【０００７】
本発明によれば、システム移行によるソースプログラム修正を手作業で行う手間を省くことが可能となる。また、移行先システムへのソース変換指示をカスタマイズ情報で指定することが可能となり、ソースプログラム変換プログラムで容易にソースプログラムの変換が行えるので、手直しの必要を少なくし、システム移行時のプログラマの負担を軽減することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施する場合の一形態について図面を参照して具体的に説明する。
【０００９】
図１は、本発明の一実施形態に係るソースプログラム変換プログラムを利用したソースプログラム変換システムの基本構成を示す。図２は、図１のシステムにおけるソースプログラム変換処理の処理フローを示す。図１および図２を参照して、ソースプログラム変換プログラムによる処理の流れの概要を説明する。
【００１０】
移行前ソース１０９は、移行前システムで使用していたソースプログラムである。移行ソース変換プログラム１０１は、その移行前ソース１０９を、移行先システムの言語仕様に合う移行先ソース１１０に変換するプログラムである。なお、移行ソース変換プログラム１０１を実行するコンピュータは、どのようなものでもよい。移行ソース変換プログラム１０１をコンピュータ上で実行することにより、字句解析部１０２、移行ソース解析部１０３、および移行ソース変換部１０４が実現される。
【００１１】
字句解析部１０２は、移行前システムで使用していた移行前ソース１０９を入力し（ステップ２０１）、その移行前ソース１０９を解析し（ステップ２０２，２０３）、移行先システムの言語仕様に対してエラーがある場合、エラー情報１０７を出力する（ステップ２０４）。移行ソース解析部１０３は、移行先システムに対応するカスタマイズ情報１０８を入力するとともに（ステップ２０５）、字句解析部１０２で行われた字句解析により出力されたエラー情報１０７を入力する（ステップ２０６）。カスタマイズ情報１０８は、移行先システムの言語仕様に合わない箇所をどのように変換するかを示す情報である。移行ソース解析部１０３は、入力したエラー情報１０７とカスタマイズ情報１０８を解析し、変換情報１０５を内部に生成する（ステップ２０７）。変換情報１０５とは、移行前ソースの１文ごとに、その文のエラーの有無およびエラーがあるならどのようなソースに置き換えるべきかを示す情報を記述したものである。移行ソース変換部１０４は、移行ソース解析部１０３が内部に生成した変換情報１０５を１つ１つ走査して、移行先システムの言語仕様に合う移行先ソース１１０を生成し出力する（ステップ２０８）。
【００１２】
なお、移行先システムが複数ある場合は、どの移行先システムに対応する移行先ソースを生成するのかを指示する必要がある。そのような場合は、移行先通知パラメタ１０６により移行先システムを指定するものとし、字句解析部１０２は、指定された移行先システムの言語仕様に対して移行前ソースが含むエラーを検出するものとする。また、カスタマイズ情報も、指定された移行先システムの言語仕様に対応するものを用いる。
【００１３】
図３は、移行前システムで実績のある移行前ソースの例を示す。このソースを、移行先の言語仕様に合わせて変換する例を説明する。
【００１４】
図４は、字句解析部１０２が図３の移行前ソース１０９を解析して出力したエラー情報１０７を示す。エラー情報は、上述したように、移行元システムから移行先システムへの移行時に、言語仕様の相違により修正が必要な箇所を示す情報である。例えば、図４のエラー発生シーケンス００９０００は、英数字から日本語への転記エラーを示す。これは、図３の移行前ソースのシーケンスナンバ００９０００の文「ＭＯＶＥ  ＤＡＴＡＸ  ＴＯ  ＤＡＴＡＮ」に英数字から日本語への転記エラーがあることを示している。ＤＡＴＡＸはシーケンスナンバ００５０００で英数字テキストとして定義され、ＤＡＴＡＮはシーケンスナンバ００６０００で日本語テキストとして定義されており、移行先システムでは英数字から日本語へそのままデータ移動できない言語仕様になっているため、エラー情報として出力されている。同様に、図４のエラー発生シーケンス０１１０００は、図３の移行前ソースのシーケンスナンバ０１１０００に、ＣＢＬＡＢＮ呼び出し文に引数がないエラーがあることを示している。エラー発生シーケンス０１２０００は、シーケンスナンバ０１２０００に、ＯＴＨＥＲＷＩＳＥ文指定不可エラーがあることを示している。なお、エラーの種類ごとに規定のエラーメッセージ番号が付されている。
【００１５】
以上のように、字句解析部１０２は、ステップ２０２，２０３の字句解析や構文解析により、図３の移行前ソース中の移行先システムの言語仕様に合わない部分を抽出して、図４のエラー情報を出力する。
【００１６】
図５は、移行先システムの言語仕様に合わない箇所をどのように変換するかを示すカスタマイズ情報１０８の例である。「変換対象」の欄は、字句解析部１０２で出力される可能性のある全てのエラーメッセージの一覧である。「変換前パターン」と「変換後パターン」の欄は、各エラーメッセージごとに、移行前ソースのパターンをどのようなパターンの移行先ソースに変換するかを示す。例えば、エラーメッセージ００１は、図４に示したように英数字から日本語への転記エラーを示しているが、このエラーが起こる移行前ソースのパターンは「ＭＯＶＥ  データ名１  ＴＯ  データ名２」であるので、それを「ＣＡＬＬ  ’ＸＴＯＮ’  ＵＳＩＮＧ  データ名１  ＴＯ  データ名２」に変換すべきであることが示されている。このようなカスタマイズ情報は、予め移行先システムごとに用意しておく。
【００１７】
図６は、図４のエラー情報と図５のカスタマイズ情報から生成された変換情報１０５の例を示す。「変換有無」の欄は、移行前ソースプログラムの１文１文に対応して、その文が、エラーなしでそのままソース生成すべきものか（値は０）、エラーありなのでカスタマイズ情報に基づいて置き換えてソースを生成すべきものか（値は１）を示す。「シーケンス」の欄は、ソースの各文のシーケンスナンバを示す。「移行前ソース情報」は、移行前ソースの各文を示す。「変換情報」の欄は、「変換有無」が１の文について、その文を置き換える文を示す。例えば、シーケンスナンバ００９０００は、移行前ソースの「ＭＯＶＥ  ＤＡＴＡＸ  ＴＯ  ＤＡＴＡＮ」をＸＴＯＮルーチン呼び出しのＣＡＬＬ文である「ＣＡＬＬ  ’ＸＴＯＮ’  ＵＳＩＮＧ  データ名１  ＴＯ  データ名２」に変換することを示す。シーケンスナンバ０１１０００は、ＣＢＬＡＢＮ呼び出し文に引数ＨＩＫＩ１を付けて「ＣＡＬＬ  ’ＣＢＬＡＢＮ’  ＵＳＩＮＧ  ＨＩＫ１」に変換することを示す。なお、この場合は、データ項目ＨＩＫＩ１をデータ部の最後に生成することを示す情報も含んでいるものとする。シーケンスナンバ０１２０００は、ＯＴＨＥＲＷＩＳＥをＥＬＳＥに変換することを示す。
【００１８】
以上のような変換情報が、図４のエラー情報および図５のカスタマイズ情報から移行ソース解析部１０３によって内部的に生成される。
【００１９】
図７は、移行ソース変換部１０４によって最終的に出力された移行先ソース１１０を示す。図６の変換情報で「変換有無」が０の文は、変換されることなくそのまま出力されている。「変換有無」が１の文は、図６の変換情報に基づいて置き換えられている。また、シーケンスナンバ０１１０００の変換情報で新たな引数ＨＩＫＩ１を使用したので、新たにシーケンスナンバ００６１００がデータ部に付け加えられている。
【図面の簡単な説明】
【００２０】
【図１】本発明に係るソースプログラム変換システムの基本構成を示す図である。
【図２】ソースプログラム変換処理の処理フローを示す図である。
【図３】移行前システムで実績のある移行前ソースの例を示す図である。
【図４】字句解析部が出力するエラー情報の例を示す図である。
【図５】カスタマイズ情報の例を示す図である。
【図６】変換情報の例を示す図である。
【図７】移行先ソースの例を示す図である。
【符号の説明】
【００２１】
１０１…移行ソース変換プログラム、１０２…字句解析部、１０３…移行ソース解析部、１０４…移行ソース変換部、１０５…変換情報、１０６…移行先通知パラメタ、１０７…エラー情報、１０８…カスタマイズ情報、１０９…移行前ソース、１１０…移行先ソース。
【図１】
2006079484.tif 000003
【図２】
2006079484.tif 000004
【図３】
2006079484.tif 000005
【図４】
2006079484.tif 000006
【図５】
2006079484.tif 000007
【図６】
2006079484.tif 000008
【図７】
2006079484.tif 000009