説明

レガシーマイグレーション支援システム

【課題】アプリケーションプログラムのレガシープラットホームから新プラットホームへの移植に当たって変更を要する箇所を検出することができるレガシーマイグレーション支援システムを得る。
【解決手段】リアルタイムアプリケーション特有処理パターン検出手段13は、リアルタイムアプリケーションソースコード11を読み込むとともに、移植に際して変更が必要になる、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース12を読み込み、リアルタイムアプリケーションソースコード11から特徴的な処理パターンを検出して、検出結果を変更箇所情報データベース14に出力するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、過去に開発されたアプリケーションプログラムのソースコードを、移行したいプラットホームで動作するように変換するレガシーマイグレーション支援システムに関するものである。
【背景技術】
【0002】
従来のレガシーマイグレーション支援システムは、コンピュータ・プログラムを適応させ、またこの際に手作業でコンピュータ・コードを生成したり修正する必要のないソフトウェア・エンジニアリング・ツールを提供するものである。ユーザが、新しい環境の所望の機能を選択し、このツールはそれに必要なコードをプログラムに自動的に挿入してこれら所望の機能を提供する。このツールにおいては、ソフトウェア・エンジニアリングあるいは非技術者のユーザであっても、必要に応じてある環境から別の環境に簡単にプログラムを適応させることができる。(特許文献1参照)
【0003】
【特許文献1】特開平4−213730号公報(第4〜7頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来のレガシーマイグレーション支援システムでは、予めわかっている一定のアプリケーションプログラムインターフェース名の集合を参照して、リアルタイムアプリケーションのソースコード中の該当個所を機械的に置き換えるものであった。
しかしながら、ある処理のパターンを移植対象として識別しなければならない場合、処理のパターンが多様であるため、人間がプログラムのソースコードをリストアップし、それらと処理のパターンを目視で付き合わせることで、移植対象とすべき位置を確認し、どこを修正すれば良いのかを判定しなければならないという問題があった。
【0005】
この発明は、上記のような課題を解決するためになされたものであり、アプリケーションプログラムのレガシープラットホームから新プラットホームへの移植に当たって変更を要する箇所を検出することができるレガシーマイグレーション支援システムを得ることを目的としている。
【課題を解決するための手段】
【0006】
この発明に係わるレガシーマイグレーション支援システムにおいては、異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、処理パターンデータベース中の処理パターンを、入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたものである。
【発明の効果】
【0007】
この発明は、以上説明したように、異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、処理パターンデータベース中の処理パターンを、入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたので、アプリケーションプログラムの異なるプラットホーム間の移植に当たって変更を要する箇所を検出することができる。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
以下、この発明の実施の形態1を図1に基づいて説明する。
図1は、この発明の実施の形態1によるレガシーマイグレーション支援システムを示す構成図である。
図1において、リアルタイムアプリケーション特有処理パターン検出手段13(処理パターン検出手段)は、リアルタイムアプリケーションソースコード11を読み込むとともに、移植に際して変更が必要になる、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース12(処理パターンデータベース)を読み込み、リアルタイムアプリケーションソースコード11から特徴的な処理パターンを検出して、検出結果を変更箇所情報データベース14に出力する。変更箇所情報データベース14の各変更箇所は、人手による変更を要する箇所である。
図1のリアルタイムアプリケーション特有処理パターンデータベース12は、図3のようなテーブルによって成っている。
図1の変更箇所情報データベースは、図4のテーブルによって成っている。
【0009】
図2は、この発明の実施の形態1によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【0010】
図3は、この発明の実施の形態1によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図3において、種々の特徴的な処理パターンを格納したリアルタイムアプリケーション特有処理パターンデータベース12のテーブルは、処理パターン識別子と、これに対応する処理パターンを簡略化したコードの各フィールドを有している。
【0011】
図4は、この発明の実施の形態1による変更箇所情報データベースのテーブル形式例を示す図である。
図4において、変更箇所情報データベース14のテーブルは、変更箇所識別子、ファイル(移植対象のリアルタイムアプリケーションプログラム)、開始行番号、終了行番号、マッチした処理パターンの各フィールドを有し、変更箇所ごとに格納されている。
【0012】
次に、動作について説明する。
実施の形態1は、移植対象のアプリケーションプログラム内の特徴的な処理パターンの検出を、簡略化したコードを指定し、それとの照合によって実施することで、移植元のアプリケーションソースプログラム内の多様な処理を、柔軟に移植上の検出対象とすることを可能とする。
【0013】
次に、図2により、リアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
リアルタイムアプリケーションソースコード11を読み込み(ステップ25)、読み込んだリアルタイムアプリケーションソースコード11を、さらに読み込んだリアルタイムアプリケーション特有処理パターンデータベース12の読込み結果と照合することによって解析し(ステップ26)、特有の処理パターンにマッチするか否かを判定し(ステップ27)、マッチすれば、変更箇所情報データベース14へ変更箇所情報の書き出しを実施し(ステップ28)、マッチしなければ、リアルタイムアプリケーションソースコード11を全て読んだかどうかを判定し(ステップ24)、読んでいなければ、リアルタイムアプリケーションソースコード11の読み込みを継続し、読んでいれば、処理を終了する。
【0014】
実施の形態1によれば、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイム特有処理パターン部位を検出することで、移植対象のアプリケーションソースプログラム内の多様な処理を、柔軟に移植上の検出対象とすることを可能としている。
【0015】
実施の形態2.
図5は、この発明の実施の形態2によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
図5において、11、12、14は図2におけるものと同一のものである。図5では、プラットホームごとの単一命令処理時間が格納されたプラットホーム性能情報データベース51がステップ53に入力される。
【0016】
図6は、この発明の実施の形態2によるプラットホーム性能情報データベースのテーブル形式例を示す図である。
図6において、プラットホーム性能情報データベース51のテーブルは、プラットホーム識別子と単一命令処理時間の各フィールドを有し、プラットホーム別の単一命令処理時間が格納されている。なお、単一命令処理時間は、命令の種類ごとに格納されている。
【0017】
図7は、この発明の実施の形態2による変更箇所情報データベースのテーブル形式例を示す図である。
図7において、変更箇所情報データベースのテーブルは、図4の変更箇所識別子、ファイル、開始行番号、終了行番号、マッチした処理パターンの各フィールドに追加して、リアルタイム性能のフィールドを有している。
【0018】
実施の形態1では、リアルタイムアプリケーション特有処理パターン検出手段13により、読み込んだリアルタイムアプリケーションソフトウェアソースコード11から、リアルタイム特有処理パターン部位を検出する場合について述べたが、実施の形態2は、図5に示すように、プラットホーム性能情報データベース51を設けるとともに、このプラットホーム性能情報データベース51を読み込んで、リアルタイム性能情報を算出するリアルタイム性能情報算出処理を行うようにしたものである。
【0019】
次に、図5のフローチャートを用いて、リアルタイムアプリケーション特有処理パターン検出手段13の処理について説明する。
ステップ24〜ステップ28は、図2に示すものと同じものであり、その説明を省略する。図5では、ステップ27の判定がYESのときに、プラットホーム性能情報データベース51を読み込み、新プラットホームでの単一命令処理時間を用いて、変更箇所の変更前のリアルタイム性能情報を算出する(ステップ53)。この新プラットホームでのリアルタイム性能情報は変更箇所情報データベース52に格納される(ステップ28)。
【0020】
実施の形態2によれば、このように、リアルタイム特有処理部位について新プラットホームでのリアルタイム性能情報を算出することにより、移植に際しての検討の基となる情報を提供し、移植を支援する。
【0021】
実施の形態3.
図8は、この発明の実施の形態3によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
図8において、11、12、14、51は図5におけるものと同一のものである。
【0022】
図9は、この発明の実施の形態3によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図9において、図3のリアルタイムアプリケーション特有処理パターンデータベースのテーブルの各フィールドに追加して、リアルタイム性能の閾値フィールドを有している。
【0023】
実施の形態2では、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイムアプリケーション特有処理パターン部位を検出するとともに、リアルタイム性能情報算出処理によってリアルタイム性能情報を算出する場合について述べたが、実施の形態3は、算出したリアルタイム性能が所定の閾値を超えているかどうかを判定するようにしたものである。
【0024】
次に、図8のフローチャートを用いて、リアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
ステップ24〜ステップ28、ステップ53は、図5における処理と同じ処理であり、その説明を省略する。
図8では、ステップ53の次に、ステップ72を設けている。
ステップ72では、リアルタイムアプリケーション特有処理パターンデータベース71を読み込み、当該の処理パターンに許容される閾値を得て、ステップ53のリアルタイム性能情報算出処理によって得られたリアルタイム性能と当該閾値とを比較する。
比較の結果、算出結果が閾値を超えていれば、変更箇所情報の書出しを行い、超えていなければ、変更箇所情報の書出しを行なわず、リアルタイムアプリケーションソースコードの解析(ステップ24)を続ける。
すなわち、変更しなくても動作可能であり処理性能を改善するために変更が必要な処理パターンでは、リアルタイム性能情報算出処理により算出された処理パターンの変更前の処理性能が、所定の閾値以下であれば、変更箇所情報として検出しないようにする。
【0025】
実施の形態3によれば、変更箇所のリアルタイム性能の閾値を与え、その閾値と算出されたリアルタイム処理の部位の性能が閾値を超えた場合だけ、変更箇所情報の書き出しを行なうことにより、余分な移植作業が削減され、移植コストの低減に寄与する。
【0026】
実施の形態4.
図10は、この発明の実施の形態4によるリアルタイム特有処理パターン検出手段の処理を示すフローチャートである。
図10において、11、12、14は図8におけるものと同一のものである。
【0027】
図11は、この発明の実施の形態4によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
図11において、リアルタイムアプリケーション特有処理パターンデータベースは、図3のテーブルの各フィールドに追加して、リアルタイム処理上注意すべきキーワードを格納するキーワードフィールドを有している。
【0028】
図12は、この発明の実施の形態4による変更箇所情報データベースのテーブル形式例を示す図である。
図12において、変更箇所情報データベースは、図4のテーブルの各フィールドに追加して、キーワードフィールドを有している。
【0029】
実施の形態1では、リアルタイムアプリケーション特有処理パターン検出手段により、読み込んだリアルタイムアプリケーションソースコードから、リアルタイム特有処理パターン部位を検出する場合について述べたが、実施の形態4は、変更箇所情報へキーワードを追加するようにしたものである。
【0030】
次に、図10のフローチャートを用いて、実施の形態4のリアルタイムアプリケーション特有処理パターン検出手段の処理について説明する。
ステップ24〜ステップ28は図2におけるものと同一の処理であり、その説明を省略する。
図10では、ステップ27のYESのときに、ステップ92、93を追加している。
リアルタイムアプリケーション特有処理パターンデータベース91を読み込み、当該の処理パターンにマッチした行に予め指定されたキーワードが含まれているかどうかを判断する(ステップ92)。
判断の結果、キーワードが含まれていれば、変更箇所情報へキーワードを追加し(ステップ93)、含まれていなければ、何もせずに変更箇所情報の書出しを行なう。
【0031】
実施の形態4によれば、変更箇所に特に注意すべきキーワードを与え、そのキーワードがリアルタイム処理の部位に含まれていた場合は、変更箇所情報に含めて書き出しを行なうことにより、ユーザによって移植上注目すべきポイントの判別が早くなり、移植コストの低減に寄与する。
【0032】
実施の形態5.
図13は、この発明の実施の形態5によるレガシーマイグレーション支援システムを示す構成図である。
図13において、11〜14は図1におけるものと同一のものである。図13では、変更箇所情報を出力する変更箇所出力手段15を設け、画面表示16またはファイル17に出力する。
【0033】
図14は、この発明の実施の形態5による変更箇所出力手段の処理を示すフローチャートである。
図14において、14は図13におけるものと同一のものである。
【0034】
実施の形態5では、変更箇所情報データベース14の情報を出力する変更箇所出力手段15が追加されている。この変更箇所出力手段15は、変更箇所情報データベース14を読み込み、その内容をユーザに知らせるために、その出力先として、画面表示16、ファイル17のいずれかを選択することができる。
画面表示16に出力する場合は、グラフィカルユーザインターフェースを利用し、よりビジュアル効果の高い表示を行ってもよい。ファイル17に出力する場合、磁気ディスクを含むあらゆる記録メディア、ネットワークなどあらゆるメディアへ出力してよい。
【0035】
次に、図14のフローチャートを用いて、変更箇所出力手段15の処理について説明する。
図14で、変更箇所情報データベース14を読み込み(ステップ31)、出力先が画面表示16であるか、ファイル17であるかを判定し(ステップ32)、画面表示16ならば画面に出力し(ステップ33)、ファイル17ならばファイルへ出力する(ステップ34)。
【0036】
実施の形態5によれば、変更箇所情報を出力できるとともに、その出力先として画面表示またはファイル出力のいずれかを選択することができる。
【図面の簡単な説明】
【0037】
【図1】この発明の実施の形態1によるレガシーマイグレーション支援システムを示す構成図である。
【図2】この発明の実施の形態1によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図3】この発明の実施の形態1によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図4】この発明の実施の形態1による変更箇所情報データベースのテーブル形式例を示す図である。
【図5】この発明の実施の形態2によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図6】この発明の実施の形態2によるプラットホーム性能情報データベースのテーブル形式例を示す図である。
【図7】この発明の実施の形態2による変更箇所情報データベースのテーブル形式例を示す図である。
【図8】この発明の実施の形態3によるリアルタイムアプリケーション特有処理パターン検出手段の処理を示すフローチャートである。
【図9】この発明の実施の形態3によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図10】この発明の実施の形態4によるリアルタイム特有処理パターン検出手段の処理を示すフローチャートである。
【図11】この発明の実施の形態4によるリアルタイムアプリケーション特有処理パターンデータベースのテーブル形式例を示す図である。
【図12】この発明の実施の形態4による変更箇所情報データベースのテーブル形式例を示す図である。
【図13】この発明の実施の形態5によるレガシーマイグレーション支援システムを示す構成図である。
【図14】この発明の実施の形態5による変更箇所出力手段の処理を示すフローチャートである。
【符号の説明】
【0038】
11 リアルタイムアプリケーションソフトウェアソースコード
12 リアルタイムアプリケーション特有処理データベース
13 リアルタイムアプリケーション特有処理パターン検出手段
14 変更箇所情報データベース
15 変更箇所出力手段
16 画面表示
17 ファイル
51 プラットホーム性能情報データベース

【特許請求の範囲】
【請求項1】
異なるプラットホーム間でのアプリケーションプログラムの移植を支援するレガシーマイグレーション支援システムにおいて、上記移植に際して変更が必要になる種々の処理パターンを格納した処理パターンデータベース、移植対象のアプリケーションプログラムのソースコードが入力され、上記処理パターンデータベース中の上記処理パターンを、上記入力されたソースコードから検出する処理パターン検出手段、及びこの処理パターン検出手段によって検出された結果が、上記移植対象のアプリケーションプログラムの変更箇所情報として格納される変更箇所情報データベースを備えたことを特徴とするレガシーマイグレーション支援システム。
【請求項2】
プラットホームごとの処理性能を格納したプラットホーム性能情報データベースを備え、上記処理パターン検出手段は、上記プラットホーム性能情報データベースを参照して、移植されるプラットホームの処理性能に基づき上記変更箇所の変更前の処理性能を算出する性能情報算出手段を有することを特徴とする請求項1記載のレガシーマイグレーション支援システム。
【請求項3】
上記処理パターン検出手段は、変更しなくても動作可能であり処理性能を改善するために変更が必要な処理パターンでは、上記性能情報算出手段により算出された上記処理パターンの変更前の処理性能が、所定の閾値以下であれば、変更箇所情報として検出しないようにすることを特徴とする請求項2記載のレガシーマイグレーション支援システム。
【請求項4】
上記処理パターンデータベースには、処理上注意すべきキーワードが格納されるとともに、上記変更箇所情報データベースにも上記キーワードが格納されることを特徴とする請求項1〜請求項3のいずれかに記載のレガシーマイグレーション支援システム。
【請求項5】
上記変更箇所情報データベース中の上記変更箇所情報を出力する変更箇所情報出力手段を備えたことを特徴とする請求項1〜請求項4のいずれかに記載のレガシーマイグレーション支援システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−146280(P2009−146280A)
【公開日】平成21年7月2日(2009.7.2)
【国際特許分類】
【出願番号】特願2007−324775(P2007−324775)
【出願日】平成19年12月17日(2007.12.17)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】