JP2009146280A - レガシーマイグレーション支援システム - Google Patents

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

Info

Publication number
JP2009146280A
JP2009146280A JP2007324775A JP2007324775A JP2009146280A JP 2009146280 A JP2009146280 A JP 2009146280A JP 2007324775 A JP2007324775 A JP 2007324775A JP 2007324775 A JP2007324775 A JP 2007324775A JP 2009146280 A JP2009146280 A JP 2009146280A
Authority
JP
Japan
Prior art keywords
processing
real
processing pattern
support system
location information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007324775A
Other languages
English (en)
Inventor
Yoshiyuki Hayashida
至行 林田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007324775A priority Critical patent/JP2009146280A/ja
Publication of JP2009146280A publication Critical patent/JP2009146280A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

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

Claims (5)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007324775A JP2009146280A (ja) 2007-12-17 2007-12-17 レガシーマイグレーション支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007324775A JP2009146280A (ja) 2007-12-17 2007-12-17 レガシーマイグレーション支援システム

Publications (1)

Publication Number Publication Date
JP2009146280A true JP2009146280A (ja) 2009-07-02

Family

ID=40916790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324775A Pending JP2009146280A (ja) 2007-12-17 2007-12-17 レガシーマイグレーション支援システム

Country Status (1)

Country Link
JP (1) JP2009146280A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153777A (ja) * 2013-02-05 2014-08-25 Tokyo Kogei Univ ソースコード検査装置
WO2016051596A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 ソフトウェア移植作業支援装置及びソフトウェア移植作業支援方法
IT202200004481A1 (it) 2022-03-09 2023-09-09 Massimo ANELLA Sistema operativo con trasferimento semiautomatico di applicazioni aziendali
IT202200004484A1 (it) 2022-03-09 2023-09-09 Stella System S R L Generatore di finestre di dialogo con sistema operativo e metodo di memorizzazione dati

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153777A (ja) * 2013-02-05 2014-08-25 Tokyo Kogei Univ ソースコード検査装置
WO2016051596A1 (ja) * 2014-10-03 2016-04-07 株式会社日立製作所 ソフトウェア移植作業支援装置及びソフトウェア移植作業支援方法
IT202200004481A1 (it) 2022-03-09 2023-09-09 Massimo ANELLA Sistema operativo con trasferimento semiautomatico di applicazioni aziendali
IT202200004484A1 (it) 2022-03-09 2023-09-09 Stella System S R L Generatore di finestre di dialogo con sistema operativo e metodo di memorizzazione dati

Similar Documents

Publication Publication Date Title
JP2006268299A (ja) ソフトウェア開発支援システム
JPWO2020008991A1 (ja) 検証自動化装置、検証自動化方法、およびプログラム
JP2009146280A (ja) レガシーマイグレーション支援システム
JP2013246644A (ja) ソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラム
JP5892444B2 (ja) 情報処理装置
JP2009223851A (ja) データベースシステム移行方法
JP4477531B2 (ja) データインポート方法およびデータインポート装置
JP4888790B2 (ja) 契約定義関数検証装置、その方法及びそのプログラム
JP5041990B2 (ja) ソフトウェア部品抽出支援装置
JP2009253847A (ja) 情報処理装置およびその制御方法、プログラム、記憶媒体
KR101726120B1 (ko) 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP2005222221A (ja) 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP5473250B2 (ja) 検索装置の制御方法、検索装置
JP2007128193A (ja) 移植工数見積システム
JP2013097451A (ja) 支援システム、支援方法、及び支援プログラム
WO2024127583A1 (ja) 操作支援装置、操作支援方法及び操作支援プログラム
JP4752388B2 (ja) 文書管理システム、文書管理方法及び文書管理プログラム
US10394943B2 (en) Numerical controller
JP2008003732A (ja) 操作ログによる業務シナリオ通知機能
JP2014203308A (ja) 図書管理システム、図書管理方法及び図書管理プログラム
WO2020170401A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2004272718A (ja) 制御プログラム作成装置および制御プログラム作成方法
JP4792950B2 (ja) データ管理装置
JP2023050656A (ja) 設計支援システム、設計支援方法及びプログラム
JP6213305B2 (ja) 情報処理プログラム、情報処理装置及び情報処理方法