JP2006079484A - システム移行に伴うソースプログラム変換プログラム - Google Patents

システム移行に伴うソースプログラム変換プログラム Download PDF

Info

Publication number
JP2006079484A
JP2006079484A JP2004264845A JP2004264845A JP2006079484A JP 2006079484 A JP2006079484 A JP 2006079484A JP 2004264845 A JP2004264845 A JP 2004264845A JP 2004264845 A JP2004264845 A JP 2004264845A JP 2006079484 A JP2006079484 A JP 2006079484A
Authority
JP
Japan
Prior art keywords
source
migration
conversion
information
program
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
JP2004264845A
Other languages
English (en)
Inventor
Nobuhiro Takezaki
信浩 竹崎
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2004264845A priority Critical patent/JP2006079484A/ja
Publication of JP2006079484A publication Critical patent/JP2006079484A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】
既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業を、簡単に行うことができるソースプログラム変換プログラムを提供することを目的とする。
【解決手段】
予め移行先システムの言語仕様について調査し移行先システムの言語仕様に変換するためのカスタマイズ情報を用意する。カスタマイズ情報は移行先システムの言語仕様に合わない箇所をどのように変換するかを示す情報である。ソース変換プログラムは、移行元ソースプログラムの字句解析を行い、移行先システムの言語仕様に合わない箇所に対しては、内部的にエラー情報を蓄積する。次に、カスタマイズ情報に規定されている情報とエラー情報とを参照して、移行先のソースプログラムの生成に必要な変換情報を作り出し、この変換情報をもとに移行先システムで使用可能となるソースプログラムを生成する。
【選択図】 図1

Description

本発明は、システム移行に伴うソースプログラム修正を自動的に行う技術に関する。
従来、あるシステムで使用していたソースプログラムを、それとは異なる別のシステムに移行する場合(システムのバージョンアップなども含む)、移行先システムで翻訳し、その移行先システムの言語仕様に合うようにエラー箇所を修正してソースプログラムを使用するのが一般的であった。
下記特許文献1には、外部から言語仕様と変換規則を与えることにより必要な言語に変換でき、システム・ソフトウェアを知らない者であっても容易に変換規則の変更、修正を行うことができるプログラミング言語変換装置が開示されている。
特開平5−197560号公報
従来、他社システム間、または、同社システム間などのシステム移行に伴うプログラムの開発は、移行先システム上で新規にプログラムを開発しシステムを構築するか、既存のシステムで動作しているプログラムを流用しシステムを構築するかの手法がある。新規にシステムを構築する場合、大規模システムの場合は開発工数が膨大となる。また、既存システムのプログラムを流用してシステムを構築する場合、移行先システムにプログラムがそのまま移行できるとは限らず、移行先システムの言語仕様にあったプログラムに変更する必要がある。一般的には、既存システムで実績のある資産を流用しシステムを構築するが、この場合、既存システムで使用していたソースプログラムの手直し作業が発生する場合があり、システム移行の工数増大の原因となっていた。
本発明は、既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業を、簡単に行うことができるソースプログラム変換プログラムを提供することを目的とする。
上記目的を達成するため、本発明では、既存のシステムで実績のあるソースプログラムを流用し、新たなシステムを構築する場合のソースプログラム移行作業において、あらかじめ移行先システムの言語仕様について調査し、移行先システムの言語仕様に変換するためのカスタマイズ情報を用意しておく。すなわち、移行先システムの言語仕様に合わずにエラーとなるソースの変換前パターンを調査しておき、それらの変換前パターンをどのようなソースに変換するべきかを示す変換後パターンを求めて、カスタマイズ情報として格納しておく。実際に変換を行う場合、ソースプログラム変換プログラムは、移行元ソースプログラムの字句解析を行い、移行先システムの言語仕様に合わない箇所に対しては、内部的にエラー情報を蓄積する。次に、ソースプログラム変換プログラムは、カスタマイズ情報に規定されている情報とエラー情報とを参照して、移行先のソースプログラムの生成に必要な変換情報を作り出し、この変換情報をもとに移行先システムで使用可能となるソースプログラムを生成する。
本発明によれば、システム移行によるソースプログラム修正を手作業で行う手間を省くことが可能となる。また、移行先システムへのソース変換指示をカスタマイズ情報で指定することが可能となり、ソースプログラム変換プログラムで容易にソースプログラムの変換が行えるので、手直しの必要を少なくし、システム移行時のプログラマの負担を軽減することができる。
以下、本発明を実施する場合の一形態について図面を参照して具体的に説明する。
図1は、本発明の一実施形態に係るソースプログラム変換プログラムを利用したソースプログラム変換システムの基本構成を示す。図2は、図1のシステムにおけるソースプログラム変換処理の処理フローを示す。図1および図2を参照して、ソースプログラム変換プログラムによる処理の流れの概要を説明する。
移行前ソース109は、移行前システムで使用していたソースプログラムである。移行ソース変換プログラム101は、その移行前ソース109を、移行先システムの言語仕様に合う移行先ソース110に変換するプログラムである。なお、移行ソース変換プログラム101を実行するコンピュータは、どのようなものでもよい。移行ソース変換プログラム101をコンピュータ上で実行することにより、字句解析部102、移行ソース解析部103、および移行ソース変換部104が実現される。
字句解析部102は、移行前システムで使用していた移行前ソース109を入力し(ステップ201)、その移行前ソース109を解析し(ステップ202,203)、移行先システムの言語仕様に対してエラーがある場合、エラー情報107を出力する(ステップ204)。移行ソース解析部103は、移行先システムに対応するカスタマイズ情報108を入力するとともに(ステップ205)、字句解析部102で行われた字句解析により出力されたエラー情報107を入力する(ステップ206)。カスタマイズ情報108は、移行先システムの言語仕様に合わない箇所をどのように変換するかを示す情報である。移行ソース解析部103は、入力したエラー情報107とカスタマイズ情報108を解析し、変換情報105を内部に生成する(ステップ207)。変換情報105とは、移行前ソースの1文ごとに、その文のエラーの有無およびエラーがあるならどのようなソースに置き換えるべきかを示す情報を記述したものである。移行ソース変換部104は、移行ソース解析部103が内部に生成した変換情報105を1つ1つ走査して、移行先システムの言語仕様に合う移行先ソース110を生成し出力する(ステップ208)。
なお、移行先システムが複数ある場合は、どの移行先システムに対応する移行先ソースを生成するのかを指示する必要がある。そのような場合は、移行先通知パラメタ106により移行先システムを指定するものとし、字句解析部102は、指定された移行先システムの言語仕様に対して移行前ソースが含むエラーを検出するものとする。また、カスタマイズ情報も、指定された移行先システムの言語仕様に対応するものを用いる。
図3は、移行前システムで実績のある移行前ソースの例を示す。このソースを、移行先の言語仕様に合わせて変換する例を説明する。
図4は、字句解析部102が図3の移行前ソース109を解析して出力したエラー情報107を示す。エラー情報は、上述したように、移行元システムから移行先システムへの移行時に、言語仕様の相違により修正が必要な箇所を示す情報である。例えば、図4のエラー発生シーケンス009000は、英数字から日本語への転記エラーを示す。これは、図3の移行前ソースのシーケンスナンバ009000の文「MOVE DATAX TO DATAN」に英数字から日本語への転記エラーがあることを示している。DATAXはシーケンスナンバ005000で英数字テキストとして定義され、DATANはシーケンスナンバ006000で日本語テキストとして定義されており、移行先システムでは英数字から日本語へそのままデータ移動できない言語仕様になっているため、エラー情報として出力されている。同様に、図4のエラー発生シーケンス011000は、図3の移行前ソースのシーケンスナンバ011000に、CBLABN呼び出し文に引数がないエラーがあることを示している。エラー発生シーケンス012000は、シーケンスナンバ012000に、OTHERWISE文指定不可エラーがあることを示している。なお、エラーの種類ごとに規定のエラーメッセージ番号が付されている。
以上のように、字句解析部102は、ステップ202,203の字句解析や構文解析により、図3の移行前ソース中の移行先システムの言語仕様に合わない部分を抽出して、図4のエラー情報を出力する。
図5は、移行先システムの言語仕様に合わない箇所をどのように変換するかを示すカスタマイズ情報108の例である。「変換対象」の欄は、字句解析部102で出力される可能性のある全てのエラーメッセージの一覧である。「変換前パターン」と「変換後パターン」の欄は、各エラーメッセージごとに、移行前ソースのパターンをどのようなパターンの移行先ソースに変換するかを示す。例えば、エラーメッセージ001は、図4に示したように英数字から日本語への転記エラーを示しているが、このエラーが起こる移行前ソースのパターンは「MOVE データ名1 TO データ名2」であるので、それを「CALL ’XTON’ USING データ名1 TO データ名2」に変換すべきであることが示されている。このようなカスタマイズ情報は、予め移行先システムごとに用意しておく。
図6は、図4のエラー情報と図5のカスタマイズ情報から生成された変換情報105の例を示す。「変換有無」の欄は、移行前ソースプログラムの1文1文に対応して、その文が、エラーなしでそのままソース生成すべきものか(値は0)、エラーありなのでカスタマイズ情報に基づいて置き換えてソースを生成すべきものか(値は1)を示す。「シーケンス」の欄は、ソースの各文のシーケンスナンバを示す。「移行前ソース情報」は、移行前ソースの各文を示す。「変換情報」の欄は、「変換有無」が1の文について、その文を置き換える文を示す。例えば、シーケンスナンバ009000は、移行前ソースの「MOVE DATAX TO DATAN」をXTONルーチン呼び出しのCALL文である「CALL ’XTON’ USING データ名1 TO データ名2」に変換することを示す。シーケンスナンバ011000は、CBLABN呼び出し文に引数HIKI1を付けて「CALL ’CBLABN’ USING HIK1」に変換することを示す。なお、この場合は、データ項目HIKI1をデータ部の最後に生成することを示す情報も含んでいるものとする。シーケンスナンバ012000は、OTHERWISEをELSEに変換することを示す。
以上のような変換情報が、図4のエラー情報および図5のカスタマイズ情報から移行ソース解析部103によって内部的に生成される。
図7は、移行ソース変換部104によって最終的に出力された移行先ソース110を示す。図6の変換情報で「変換有無」が0の文は、変換されることなくそのまま出力されている。「変換有無」が1の文は、図6の変換情報に基づいて置き換えられている。また、シーケンスナンバ011000の変換情報で新たな引数HIKI1を使用したので、新たにシーケンスナンバ006100がデータ部に付け加えられている。
本発明に係るソースプログラム変換システムの基本構成を示す図である。 ソースプログラム変換処理の処理フローを示す図である。 移行前システムで実績のある移行前ソースの例を示す図である。 字句解析部が出力するエラー情報の例を示す図である。 カスタマイズ情報の例を示す図である。 変換情報の例を示す図である。 移行先ソースの例を示す図である。
符号の説明
101…移行ソース変換プログラム、102…字句解析部、103…移行ソース解析部、104…移行ソース変換部、105…変換情報、106…移行先通知パラメタ、107…エラー情報、108…カスタマイズ情報、109…移行前ソース、110…移行先ソース。

Claims (3)

  1. 移行前システムである第1のシステムで稼動しているソースプログラムをそれとは異なる移行先システムである第2のシステムに移行するために変換するソースプログラム変換プログラムであって、
    コンピュータを、
    前記第1のシステムで稼働しているソースプログラムを入力する手段、
    入力したソースプログラムを解析して、前記第2のシステムの言語仕様から見てエラーになる部分をエラー情報として出力する字句解析手段、
    前記第2のシステムの言語仕様から見てエラーになる部分をどのように変換すべきかを記述したカスタマイズ情報を記憶する手段、および、
    前記エラー情報で指摘されている前記入力したソースプログラム中のエラー部分を、前記カスタマイズ情報の記述に基づいて変換し、前記第2のシステムで使用する移行先ソースプログラムを出力する手段
    として機能させることを特徴とするソースプログラム変換プログラム。
  2. 請求項1に記載のソースプログラム変換プログラムにおいて、
    前記移行先ソースプログラムを出力する手段が、
    前記エラー情報で指摘されている前記入力したソースプログラム中のエラー部分を前記カスタマイズ情報の記述に基づいてどのように変換すべきかを示す変換情報を出力する移行ソース解析手段と、
    該変換情報に基づいて前記移行先ソースを生成して出力する移行ソース変換手段と
    を含むことを特徴とするソースプログラム変換プログラム。
  3. 請求項1に記載のソースプログラム変換プログラムにおいて、
    コンピュータを、移行先システムを特定する移行先通知パラメータを入力する手段としてさらに機能させるとともに、
    前記字句解析手段は、前記移行先通知パラメータで特定された移行先システムの言語仕様から見てエラーになる部分をエラー情報として出力するものとし、
    前記カスタマイズ情報は、前記移行先通知パラメータで特定された移行先システムの言語仕様から見てエラーになる部分をどのように変換すべきかを記述したものとする
    ことを特徴とするソースプログラム変換プログラム。
JP2004264845A 2004-09-13 2004-09-13 システム移行に伴うソースプログラム変換プログラム Pending JP2006079484A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004264845A JP2006079484A (ja) 2004-09-13 2004-09-13 システム移行に伴うソースプログラム変換プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004264845A JP2006079484A (ja) 2004-09-13 2004-09-13 システム移行に伴うソースプログラム変換プログラム

Publications (1)

Publication Number Publication Date
JP2006079484A true JP2006079484A (ja) 2006-03-23

Family

ID=36158859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004264845A Pending JP2006079484A (ja) 2004-09-13 2004-09-13 システム移行に伴うソースプログラム変換プログラム

Country Status (1)

Country Link
JP (1) JP2006079484A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165342A (ja) * 2006-12-27 2008-07-17 Hitachi Software Eng Co Ltd ソースコード生成方法及び装置並びにプログラム
JP2009025909A (ja) * 2007-07-17 2009-02-05 Hitachi Software Eng Co Ltd 印刷データ変換システム
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program
JP2014016914A (ja) * 2012-07-11 2014-01-30 Fujitsu Ltd 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置
JP2014194632A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 変更プログラム、変更装置および変更方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008165342A (ja) * 2006-12-27 2008-07-17 Hitachi Software Eng Co Ltd ソースコード生成方法及び装置並びにプログラム
US8331694B2 (en) 2007-05-08 2012-12-11 System's Co., Ltd. Program pattern analyzing apparatus, pattern appearance status information production method, pattern information generating apparatus, and program
JP2009025909A (ja) * 2007-07-17 2009-02-05 Hitachi Software Eng Co Ltd 印刷データ変換システム
JP2014016914A (ja) * 2012-07-11 2014-01-30 Fujitsu Ltd 拡張言語仕様情報提供方法、拡張言語仕様情報提供プログラム、およびコンパイル装置
JP2014194632A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 変更プログラム、変更装置および変更方法

Similar Documents

Publication Publication Date Title
US8583413B2 (en) Computer method and apparatus for chaining of model-to-model transformations
US20100146491A1 (en) System for Preparing Software Documentation in Natural Languages
JP2004295398A (ja) コンパイラ、コンパイル方法、及びプログラム開発ツール
US20130125098A1 (en) Transformation of Computer Programs
WO2006136055A1 (fr) Procédé d'exploration de données texte
US7694283B2 (en) Method and apparatus for generating specification data
JP2006079484A (ja) システム移行に伴うソースプログラム変換プログラム
JPH11306046A (ja) テストケース生成システム及びテストケース生成方法
EP2037374A1 (en) Method for translating a graphical workflow in a textual description
JP5041990B2 (ja) ソフトウェア部品抽出支援装置
JP2008165342A (ja) ソースコード生成方法及び装置並びにプログラム
JP2007140845A (ja) プログラム管理方法及びプログラムの移行支援装置
JPWO2018174000A1 (ja) 構成管理装置、構成管理方法および構成管理プログラム
CN113608748A (zh) C语言转换Java语言的数据处理方法、装置及设备
CN109326330B (zh) 生物信息分析工具的制作方法、装置及可存储介质
JPH04286029A (ja) ソースプログラム・コンバータ
JP2008204023A (ja) プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法
US9792197B2 (en) Apparatus and program
WO2023206261A1 (zh) 生成描述工作流的自然语言语句的方法、装置及存储介质
KR101099491B1 (ko) 소모전력 분석방법
CN112988164A (zh) 文本转换方法、文本转换装置、文本转换设备及存储介质
JP4371000B2 (ja) Idlコンパイル装置、idlコンパイル方法及びidlコンパイラ
Bianchi et al. A visual system for the generation of banking legacy system gateways
JP2011053948A (ja) コンパイルエラー処理システム及びプログラム
CN113626390A (zh) 一种bb文件的生成方法、装置、电子设备及存储介质