(57)【要約】【課題】アプリケーションプログラムのレガシープラットホームから新プラットホームへの移植に当たって変更を要する箇所を検出することができるレガシーマイグレーション支援システムを得る。【解決手段】リアルタイムアプリケーション特有処理パターン検出手段１３は、リアルタイムアプリケーションソースコード１１を読み込むとともに、移植に際して変更が必要になる、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース１２を読み込み、リアルタイムアプリケーションソースコード１１から特徴的な処理パターンを検出して、検出結果を変更箇所情報データベース１４に出力するようにした。【選択図】図１
2009146280.tif 000002
【特許請求の範囲】
【請求項１】
異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、上記移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、上記処理パターンデータベース中の上記処理パターンを、上記入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、上記移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたことを特徴とするレガシーマイグレーション支援システム。
【請求項２】
プラットホームごとの処理性能を格納したプラットホーム性能情報データベースを備え、上記処理パターン検出手段は、上記プラットホーム性能情報データベースを参照して、移植されるプラットホームの処理性能に基づき上記変更箇所の変更前の処理性能を算出する性能情報算出手段を有することを特徴とする請求項１記載のレガシーマイグレーション支援システム。
【請求項３】
上記処理パターン検出手段は、変更しなくても動作可能であり処理性能を改善するために変更が必要な処理パターンでは、上記性能情報算出手段により算出された上記処理パターンの変更前の処理性能が、所定の閾値以下であれば、変更箇所情報として検出しないようにすることを特徴とする請求項２記載のレガシーマイグレーション支援システム。
【請求項４】
上記処理パターンデータベースには、処理上注意すべきキーワードが格納されるとともに、上記変更箇所情報データベースにも上記キーワードが格納されることを特徴とする請求項１〜請求項３のいずれかに記載のレガシーマイグレーション支援システム。
【請求項５】
上記変更箇所情報データベース中の上記変更箇所情報を出力する変更箇所情報出力手段を備えたことを特徴とする請求項１〜請求項４のいずれかに記載のレガシーマイグレーション支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、過去に開発されたアプリケーションプログラムのソースコードを、移行したいプラットホームで動作するように変換するレガシーマイグレーション支援システムに関するものである。
【背景技術】
【０００２】
従来のレガシーマイグレーション支援システムは、コンピュータ・プログラムを適応させ、またこの際に手作業でコンピュータ・コードを生成したり修正する必要のないソフトウェア・エンジニアリング・ツールを提供するものである。ユーザが、新しい環境の所望の機能を選択し、このツールはそれに必要なコードをプログラムに自動的に挿入してこれら所望の機能を提供する。このツールにおいては、ソフトウェア・エンジニアリングあるいは非技術者のユーザであっても、必要に応じてある環境から別の環境に簡単にプログラムを適応させることができる。（特許文献１参照）
【０００３】
【特許文献１】特開平４−２１３７３０号公報（第４〜７頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のレガシーマイグレーション支援システムでは、予めわかっている一定のアプリケーションプログラムインターフェース名の集合を参照して、リアルタイムアプリケーションのソースコード中の該当個所を機械的に置き換えるものであった。
しかしながら、ある処理のパターンを移植対象として識別しなければならない場合、処理のパターンが多様であるため、人間がプログラムのソースコードをリストアップし、それらと処理のパターンを目視で付き合わせることで、移植対象とすべき位置を確認し、どこを修正すれば良いのかを判定しなければならないという問題があった。
【０００５】
この発明は、上記のような課題を解決するためになされたものであり、アプリケーションプログラムのレガシープラットホームから新プラットホームへの移植に当たって変更を要する箇所を検出することができるレガシーマイグレーション支援システムを得ることを目的としている。
【課題を解決するための手段】
【０００６】
この発明に係わるレガシーマイグレーション支援システムにおいては、異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、処理パターンデータベース中の処理パターンを、入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、処理パターンデータベース中の処理パターンを、入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたので、アプリケーションプログラムの異なるプラットホーム間の移植に当たって変更を要する箇所を検出することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
以下、この発明の実施の形態１を図１に基づいて説明する。
図１は、この発明の実施の形態１によるレガシーマイグレーション支援システムを示す構成図である。
図１において、リアルタイムアプリケーション特有処理パターン検出手段１３（処理パターン検出手段）は、リアルタイムアプリケーションソースコード１１を読み込むとともに、移植に際して変更が必要になる、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース１２（処理パターンデータベース）を読み込み、リアルタイムアプリケーションソースコード１１から特徴的な処理パターンを検出して、検出結果を変更箇所情報データベース１４に出力する。変更箇所情報データベース１４の各変更箇所は、人手による変更を要する箇所である。
図１のリアルタイムアプリケーション特有処理パターンデータベース１２は、図３のようなテーブルによって成っている。
図１の変更箇所情報データベースは、図４のテーブルによって成っている。
【０００９】
図２は、この発明の実施の形態１によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【００１０】
図３は、この発明の実施の形態１によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図３において、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース１２のテーブルは、処理パターン識別子と、これに対応する処理パターンを簡略化したコードの各フィールドを有している。
【００１１】
図４は、この発明の実施の形態１による変更箇所情報データベースのテーブル形式例を示す図である。
図４において、変更箇所情報データベース１４のテーブルは、変更箇所識別子、ファイル（移植対象のリアルタイムアプリケーションプログラム）、開始行番号、終了行番号、マッチした処理パターンの各フィールドを有し、変更箇所ごとに格納されている。
【００１２】
次に、動作について説明する。
実施の形態１は、移植対象のアプリケーションプログラム内の特徴的な処理パターンの検出を、簡略化したコードを指定し、それとの照合によって実施することで、移植元のアプリケーションソースプログラム内の多様な処理を、柔軟に移植上の検出対象とすることを可能とする。
【００１３】
次に、図２により、リアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
リアルタイムアプリケーションソースコード１１を読み込み（ステップ２５）、読み込んだリアルタイムアプリケーションソースコード１１を、さらに読み込んだリアルタイムアプリケーション特有処理パターンデータベース１２の読込み結果と照合することによって解析し（ステップ２６）、特有の処理パターンにマッチするか否かを判定し（ステップ２７）、マッチすれば、変更箇所情報データベース１４へ変更箇所情報の書き出しを実施し（ステップ２８）、マッチしなければ、リアルタイムアプリケーションソースコード１１を全て読んだかどうかを判定し（ステップ２４）、読んでいなければ、リアルタイムアプリケーションソースコード１１の読み込みを継続し、読んでいれば、処理を終了する。
【００１４】
実施の形態１によれば、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイム特有処理パターン部位を検出することで、移植対象のアプリケーションソースプログラム内の多様な処理を、柔軟に移植上の検出対象とすることを可能としている。
【００１５】
実施の形態２．
図５は、この発明の実施の形態２によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
図５において、１１、１２、１４は図２におけるものと同一のものである。図５では、プラットホームごとの単一命令処理時間が格納されたプラットホーム性能情報データベース５１がステップ５３に入力される。
【００１６】
図６は、この発明の実施の形態２によるプラットホーム性能情報データベースのテーブル形式例を示す図である。
図６において、プラットホーム性能情報データベース５１のテーブルは、プラットホーム識別子と単一命令処理時間の各フィールドを有し、プラットホーム別の単一命令処理時間が格納されている。なお、単一命令処理時間は、命令の種類ごとに格納されている。
【００１７】
図７は、この発明の実施の形態２による変更箇所情報データベースのテーブル形式例を示す図である。
図７において、変更箇所情報データベースのテーブルは、図４の変更箇所識別子、ファイル、開始行番号、終了行番号、マッチした処理パターンの各フィールドに追加して、リアルタイム性能のフィールドを有している。
【００１８】
実施の形態１では、リアルタイムアプリケーション特有処理パターン検出手段１３により、読み込んだリアルタイムアプリケーションソフトウェアソースコード１１から、リアルタイム特有処理パターン部位を検出する場合について述べたが、実施の形態２は、図５に示すように、プラットホーム性能情報データベース５１を設けるとともに、このプラットホーム性能情報データベース５１を読み込んで、リアルタイム性能情報を算出するリアルタイム性能情報算出処理を行うようにしたものである。
【００１９】
次に、図５のフローチャートを用いて、リアルタイムアプリケーション特有処理パターン検出手段１３の処理について説明する。
ステップ２４〜ステップ２８は、図２に示すものと同じものであり、その説明を省略する。図５では、ステップ２７の判定がＹＥＳのときに、プラットホーム性能情報データベース５１を読み込み、新プラットホームでの単一命令処理時間を用いて、変更箇所の変更前のリアルタイム性能情報を算出する（ステップ５３）。この新プラットホームでのリアルタイム性能情報は変更箇所情報データベース５２に格納される（ステップ２８）。
【００２０】
実施の形態２によれば、このように、リアルタイム特有処理部位について新プラットホームでのリアルタイム性能情報を算出することにより、移植に際しての検討の基となる情報を提供し、移植を支援する。
【００２１】
実施の形態３．
図８は、この発明の実施の形態３によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
図８において、１１、１２、１４、５１は図５におけるものと同一のものである。
【００２２】
図９は、この発明の実施の形態３によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図９において、図３のリアルタイムアプリケーション特有処理パターンデータベースのテーブルの各フィールドに追加して、リアルタイム性能の閾値フィールドを有している。
【００２３】
実施の形態２では、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイムアプリケーション特有処理パターン部位を検出するとともに、リアルタイム性能情報算出処理によってリアルタイム性能情報を算出する場合について述べたが、実施の形態３は、算出したリアルタイム性能が所定の閾値を超えているかどうかを判定するようにしたものである。
【００２４】
次に、図８のフローチャートを用いて、リアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
ステップ２４〜ステップ２８、ステップ５３は、図５における処理と同じ処理であり、その説明を省略する。
図８では、ステップ５３の次に、ステップ７２を設けている。
ステップ７２では、リアルタイムアプリケーション特有処理パターンデータベース７１を読み込み、当該の処理パターンに許容される閾値を得て、ステップ５３のリアルタイム性能情報算出処理によって得られたリアルタイム性能と当該閾値とを比較する。
比較の結果、算出結果が閾値を超えていれば、変更箇所情報の書出しを行い、超えていなければ、変更箇所情報の書出しを行なわず、リアルタイムアプリケーションソースコードの解析（ステップ２４）を続ける。
すなわち、変更しなくても動作可能であり処理性能を改善するために変更が必要な処理パターンでは、リアルタイム性能情報算出処理により算出された処理パターンの変更前の処理性能が、所定の閾値以下であれば、変更箇所情報として検出しないようにする。
【００２５】
実施の形態３によれば、変更箇所のリアルタイム性能の閾値を与え、その閾値と算出されたリアルタイム処理の部位の性能が閾値を超えた場合だけ、変更箇所情報の書き出しを行なうことにより、余分な移植作業が削減され、移植コストの低減に寄与する。
【００２６】
実施の形態４．
図１０は、この発明の実施の形態４によるリアルタイム特有処理パターン検出手段の処理を示すフローチャートである。
図１０において、１１、１２、１４は図８におけるものと同一のものである。
【００２７】
図１１は、この発明の実施の形態４によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図１１において、リアルタイムアプリケーション特有処理パターンデータベースは、図３のテーブルの各フィールドに追加して、リアルタイム処理上注意すべきキーワードを格納するキーワードフィールドを有している。
【００２８】
図１２は、この発明の実施の形態４による変更箇所情報データベースのテーブル形式例を示す図である。
図１２において、変更箇所情報データベースは、図４のテーブルの各フィールドに追加して、キーワードフィールドを有している。
【００２９】
実施の形態１では、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイム特有処理パターン部位を検出する場合について述べたが、実施の形態４は、変更箇所情報へキーワードを追加するようにしたものである。
【００３０】
次に、図１０のフローチャートを用いて、実施の形態４のリアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
ステップ２４〜ステップ２８は図２におけるものと同一の処理であり、その説明を省略する。
図１０では、ステップ２７のＹＥＳのときに、ステップ９２、９３を追加している。
リアルタイムアプリケーション特有処理パターンデータベース９１を読み込み、当該の処理パターンにマッチした行に予め指定されたキーワードが含まれているかどうかを判断する（ステップ９２）。
判断の結果、キーワードが含まれていれば、変更箇所情報へキーワードを追加し（ステップ９３）、含まれていなければ、何もせずに変更箇所情報の書出しを行なう。
【００３１】
実施の形態４によれば、変更箇所に特に注意すべきキーワードを与え、そのキーワードがリアルタイム処理の部位に含まれていた場合は、変更箇所情報に含めて書き出しを行なうことにより、ユーザによって移植上注目すべきポイントの判別が早くなり、移植コストの低減に寄与する。
【００３２】
実施の形態５．
図１３は、この発明の実施の形態５によるレガシーマイグレーション支援システムを示す構成図である。
図１３において、１１〜１４は図１におけるものと同一のものである。図１３では、変更箇所情報を出力する変更箇所出力手段１５を設け、画面表示１６またはファイル１７に出力する。
【００３３】
図１４は、この発明の実施の形態５による変更箇所出力手段の処理を示すフローチャートである。
図１４において、１４は図１３におけるものと同一のものである。
【００３４】
実施の形態５では、変更箇所情報データベース１４の情報を出力する変更箇所出力手段１５が追加されている。この変更箇所出力手段１５は、変更箇所情報データベース１４を読み込み、その内容をユーザに知らせるために、その出力先として、画面表示１６、ファイル１７のいずれかを選択することができる。
画面表示１６に出力する場合は、グラフィカルユーザインターフェースを利用し、よりビジュアル効果の高い表示を行ってもよい。ファイル１７に出力する場合、磁気ディスクを含むあらゆる記録メディア、ネットワークなどあらゆるメディアへ出力してよい。
【００３５】
次に、図１４のフローチャートを用いて、変更箇所出力手段１５の処理について説明する。
図１４で、変更箇所情報データベース１４を読み込み（ステップ３１）、出力先が画面表示１６であるか、ファイル１７であるかを判定し（ステップ３２）、画面表示１６ならば画面に出力し（ステップ３３）、ファイル１７ならばファイルへ出力する（ステップ３４）。
【００３６】
実施の形態５によれば、変更箇所情報を出力できるとともに、その出力先として画面表示またはファイル出力のいずれかを選択することができる。
【図面の簡単な説明】
【００３７】
【図１】この発明の実施の形態１によるレガシーマイグレーション支援システムを示す構成図である。
【図２】この発明の実施の形態１によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図３】この発明の実施の形態１によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図４】この発明の実施の形態１による変更箇所情報データベースのテーブル形式例を示す図である。
【図５】この発明の実施の形態２によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図６】この発明の実施の形態２によるプラットホーム性能情報データベースのテーブル形式例を示す図である。
【図７】この発明の実施の形態２による変更箇所情報データベースのテーブル形式例を示す図である。
【図８】この発明の実施の形態３によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図９】この発明の実施の形態３によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図１０】この発明の実施の形態４によるリアルタイム特有処理パターン検出手段の処理を示すフローチャートである。
【図１１】この発明の実施の形態４によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図１２】この発明の実施の形態４による変更箇所情報データベースのテーブル形式例を示す図である。
【図１３】この発明の実施の形態５によるレガシーマイグレーション支援システムを示す構成図である。
【図１４】この発明の実施の形態５による変更箇所出力手段の処理を示すフローチャートである。
【符号の説明】
【００３８】
１１  リアルタイムアプリケーションソフトウェアソースコード
１２  リアルタイムアプリケーション特有処理データベース
１３  リアルタイムアプリケーション特有処理パターン検出手段
１４  変更箇所情報データベース
１５  変更箇所出力手段
１６  画面表示
１７  ファイル
５１  プラットホーム性能情報データベース
【図１】
2009146280.tif 000003
【図２】
2009146280.tif 000004
【図３】
2009146280.tif 000005
【図４】
2009146280.tif 000006
【図５】
2009146280.tif 000007
【図６】
2009146280.tif 000008
【図７】
2009146280.tif 000009
【図８】
2009146280.tif 000010
【図９】
2009146280.tif 000011
【図１０】
2009146280.tif 000012
【図１１】
2009146280.tif 000013
【図１２】
2009146280.tif 000014
【図１３】
2009146280.tif 000015
【図１４】
2009146280.tif 000016