JP2005165584A - プログラム作成システム及び方法 - Google Patents

プログラム作成システム及び方法 Download PDF

Info

Publication number
JP2005165584A
JP2005165584A JP2003402513A JP2003402513A JP2005165584A JP 2005165584 A JP2005165584 A JP 2005165584A JP 2003402513 A JP2003402513 A JP 2003402513A JP 2003402513 A JP2003402513 A JP 2003402513A JP 2005165584 A JP2005165584 A JP 2005165584A
Authority
JP
Japan
Prior art keywords
program
business logic
language
new
repository
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
JP2003402513A
Other languages
English (en)
Inventor
Tomoyuki Sugimura
智之 杉村
Makoto Watanabe
渡辺  誠
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 JP2003402513A priority Critical patent/JP2005165584A/ja
Publication of JP2005165584A publication Critical patent/JP2005165584A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

【課題】異種システム間でのシステム再構築を自動的に行う。
【解決手段】現行プログラムソース4がプログラムリバース部1に入力され、現行プログラムソース4に記述されているロジックを、各命令単位に分解し、処理部分のみを業務ロジックリポジトリDB6に登録する。また、システムで使用されているDB/ファイルコピー句、コードコピー句についても、DB6に登録する。プログラム作成部2では、DB6に登録されているロジック部品とDB/ファイルコピー句、コードコピー句等を使用し、これらを組み合せて処理部品を作成し、新システム用にカスタマイズされた新業務ロジックリポジトリDB8を作成する。プログラム生成部3(3a、3b)では、新業務ロジックリポジトリ8を言語・プラットフォームに応じて作成した言語の文型辞書に基づいて読み込むことにより、様々な言語・プラットフォームに対応したプログラムソースを生成する。
【選択図】 図2

Description

本発明は、異種システムへのシステム再構築技術に関し、より詳細には、言語に依存しないリポジトリの作成とその再利用によるプログラムの変換処理を含むシステム再構築技術に関する。尚、異種システムとは、プラットフォームが異なる場合、プログラム言語が異なる場合を含む。
従来用いられてきたシステムを異なるシステムに変更する場合に、言語が同じ場合において、既存の言語プログラムから、標準パターン部分と固有の処理を行うプロセス部分とデータファイルに関する部分とを判別してプログラム部品として格納し、プログラムの生成を含む際に利用するプログラム部品の生成処理を含むプログラム部品の自動抽出・再利用する技術が存在する(例えば、特許文献1参照)。
特開平9−101886号公報
管理の簡単さ及び費用の安さなどの面から、従来から用いられている既存のホストシステムを、UNIX、Windows又はLinux(以上、商標名)などのオペレーティングシステムへの移行が進んでいる。また、コーディングに使用される言語も、COBOLやPL/Iなどの言語からJavaなどのオブジェクト指向言語に変化しつつある。さらに、システムの再構築においては、言語そのものに変更は無い場合でも、オペレーティングシステム等のプラットフォームが変更になったことにより、現在稼動しているプログラムをそのまま流用することは難しくなる場合が多い。
コスト削減のためには、できる限り既存のシステムを流用しながら新システムへ移行(移植)する必要がある。しかしながら、異なる機種・システムへ資源を移行し実行するためには、たとえ同一言語間でも新システム側において実行できるようにプログラムのソースベースでコンバート(移植)する必要がある。しかしながら、現実的にはソースベースのコンバート(特に、移植の前後でコーディング言語が異なる場合)は、簡単には行うことができない。すなわち、ソースベースは、稼動する新旧システムのそれぞれのシステムに依存するため、システムの再構築の際に大きな障害となっている。
上記特許文献1等の先行技術文献に記載されている技術のように、現行機能をコンバートする技術は知られているが、移行前と移行後との新旧システム間の言語、プラットフォームが異なる場合には、上記技術ではうまく機能しない場合が多い。また、新システムに移行するだけでは、コンバート作業で作成したリポジトリ(プログラムのロジック、データ定義等を部品に分けて管理するための貯蔵庫)は無駄になってしまう。新システム稼動後も、リポジトリは不具合修正や機能拡張を行う上で非常に有用な資産である。
本発明の目的は、任意の言語、プラットフォーム対応のプログラムを生成する技術と、その過程で生成された言語に依存しないリポジトリを、保守・機能拡張において利用する技術とを提供することである。
本発明の一観点によれば、第1のプログラム言語により記述され第1のプラットフォームにおいて動作する第1のプログラムを、前記第1のプログラム言語とは異なる第2のプログラム言語により記述されているか又は前記第1のプラットフォームとは異なる第2のプラットフォームにおいて動作する第2のプログラムに変換するプログラム作成システムであって、前記第1のプログラムと該プログラムにおいて使用するデータ定義とをリバースして業務ロジック部品単位に分解し、処理部分のみを抽出するプログラムリバース部と、該プログラムリバース部において抽出された前記処理部分を業務ロジック部品として、前記データ定義をテーブル/ファイル定義体として保存する業務ロジックリポジトリデータベースと、該業務ロジックリポジトリデータベースに保存された前記業務ロジック部品及び前記テーブル/ファイル定義体に基づいて、一般言語により記載された新業務ロジックリポジトリを作成する一般言語プログラム作成部と、前記新業務ロジックリポジトリを保存する新業務ロジックリポジトリデータベースと、該新業務ロジックリポジトリデータベースに保存されている前記新業務ロジックリポジトリに対して、前記一般言語と前記第2のプログラム言語とを対照する文型辞書を適用することにより、前記新業務ロジックリポジトリを前記第2のプログラム言語により記載された第2のプログラムに変換するプログラム生成部とを有するプログラム作成システムが提供される。
上記プログラム作成システムによれば、前記プログラムリバース部において抽出された前記処理部分を業務ロジック部品として、前記データ定義をテーブル/ファイル定義体として保存する業務ロジックリポジトリデータベースを有しており、該業務ロジックリポジトリデータベースに保存された前記業務ロジック部品及び前記テーブル/ファイル定義体に基づいて、一般言語により記載された新業務ロジックリポジトリを作成する言語に依存しないリポジトリを作成するため、文型辞書を適用してプログラムを変換する処理が容易になる。
本発明の他の観点によれば、システムのプログラムを他言語または他プラットフォームの新規システムに移行して新たなプログラムを作成する方法において、複数の対象プログラムとデータ定義とをリバースして、最適単位の業務ロジック部品及びテーブル/ファイル定義体として分解しプログラム言語に依存しない一般言語で記載された業務ロジックリポジトリに保存するステップと、分解して得られた業務ロジック部品及びテーブル/ファイル定義体に基づいて新規システムのリポジトリを作成するステップと、前記業務ロジックリポジトリに対して、前記新規システムのプラットフォームにおけるプログラム言語と前記一般言語とを対応させた文型辞書を適用することにより、新規プラットフォームに対応するプログラムソースを生成するステップとを有することを特徴とする新規システムに移行するプログラム作成方法が提供される。
前記業務ロジックリポジトリに対して、前記新規システムのプラットフォームにおけるプログラム言語と前記一般言語とを対応させた文型辞書を適用することにより、新規プラットフォームに対応するプログラムソースを生成することができる。
本発明によれば、システムの再構成における作業軽減を図ることが出来る。また言語に依存しないリポジトリを利用することにより、再構成先の環境・言語に関係なくシステムを構築できる。従って、他の様々なシステム再構築作業にも利用することが出来る。また、システム再構築後のメンテナンスにおいても、日本語設計書を自動で出力することが出来るため、該当機能の概要を簡単に捉えることができ、修正の必要に応じて設計書を修正すればよいため、ミスの発生を軽減できる。従って、再構築されたシステムの信頼性、メンテナンスの利便性を向上させることができる。更に、本発明で作成した新業務ロジックリポジトリを全く別のシステムに適用するという再利用も可能となる。
本発明に係る言語に依存しないリポジトリ作成及びそれを利用したプログラムの作成システムは、リポジトリの作成技術とシステムの再構築後におけるシステムの保守や機能拡張を含むリポジトリの活用技術とを考慮したシステムである。作成したリポジトリは、新システム稼動後も不具合修正や機能拡張を行う上で活用することができる。
以下、本発明の一実施の形態による言語に依存しないリポジトリ及びプログラムの作成システムについて、図面を参照しつつ説明を行う。図1は、本実施の形態によるプログラムの再構築システムの基本構成を示すブロック図である。図1に示すように、本実施の形態によるプログラムの再構築システムは、計算機における処理部として、プログラムリバース部1と、一般言語プログラム作成部2と、プログラム生成部3と、を有している。プログラムリバース部1では、現在稼動しているプログラムから部品となりうるロジック部品を抽出しこれを登録する。一般言語プログラム作成部2では、プログラムリバース部1において作成されたロジック部品を組み合せて新規プログラムのロジックを作成していく。プログラム生成部3では、各言語に沿った文型辞書を使用して実際のプログラムを生成する。
図2は、言語に依存しないリポジトリの作成と利用に関するシステムのより詳細な構成例と処理の流れを示すフローチャート図である。図3(A)から(E)までは、図2に示す各リポジトリと文型辞書と関係を具体的に示すイメージ図である。
図2、図3に示すように、現在稼動している現行プログラムソース4がプログラムリバース部1に入力され、現行プログラムソース4に記述されているロジックを、各命令単位に分解する。図3(A)は、現行プログラムの例であり、例えば、“IF(A=E) THEN MOVE A TO B、MOVE C TO D”などと記載されている。これを、プログラムリバース部1において分解する。分解単位を部品と称し、部品のうちリソース部(DB/ファイル項目など)を削除し、例えば、図3(B)に示すように、“MOVE □ TO □”と、“IF(□=□) THEN”、などの処理部分(ロジック部品)のみを業務ロジックリポジトリDB6に登録する(ロジック部品定義部)。また、システムで使用されているDB/ファイルコピー句、コードコピー句等のテーブル/ファイル定義体についても、業務ロジックリポジトリDB6に登録する。ロジック、コピー句ともに、リポジトリDB6上は日本語に変換して登録が行われる(例えば、「□を□にセットする」など)。尚、一般言語は、本実施の形態においては日本語としているが、特定のプログラム言語に依存しない一般言語であれば、英語等の他の言語であってもよい。
一般言語プログラム作成部2では、業務ロジックリポジトリDB6に登録されているロジック部品とDB/ファイルコピー句、コードコピー句等のテーブル/ファイル定義体を使用し、これらを組み合せて処理部品を作成していき、新システム用にカスタマイズされた新業務ロジックリポジトリDB8を作成する。この作業は全て日本語で行うことが出来る。例えば図3(C)に示すように、「もしAとEが等しい場合、AをBにセットする。CをDにセットする。」など図3(A)に対応する日本語の記載が格納される。このようにして作成したプログラムについては、日本語の設計書として書き出すことが可能である。そのため設計書と実際稼動しているプログラムとの乖離を防ぐことが出来る。また、書き出した日本語の設計書と同じフォーマットで書かれた設計書を取り込み、それに合った業務ロジックを生成することができる。
プログラム生成部3(3a、3b)では、一般言語プログラム作成部2で作成された新業務ロジックリポジトリ8を読み込み、プログラム言語・プラットフォームに応じて作成した言語の文型辞書に基づいて読み込むことにより、様々な言語・プラットフォームに対応したコンパイル可能な状態のプログラムソースを生成することが出来る。例えば、図3(D)に示すように、COBOL言語(第1言語)の文型辞書10には、「□を□にセットする」は、“MOVE□TO□”であり、「もし□と□が等しい場合」は“IF(□=□)THEN”である、と記載されており、新業務ロジックリポジトリと文型辞書(第1言語:Cobol言語)10とを対応させて読み込めば、第1言語プログラムソース11が作成できる。
文型辞書(第2言語:C言語)12には、図3(E)に示すように、「□を□にセットする。」は“□=□”であり、「もし□と□が等しい場合」は、“IF(□=□)”であると記載されており、新業務ロジックリポジトリと文型辞書(第2言語:C言語)12とを対応させて読み込めば、第2言語プログラムソース13を作成することができる。この部分におけるプログラム生成処理は自動的に行われ、コーディング時のスペルミスなどのエラーは起こらなくなる。なお、新たに生成されたプログラムソースの言語が現行プログラム4の言語と同じである場合でも、例えばメインフレームOSとUNIX(商標名)のようにプラットフォームが異なる場合は、現行プログラム4と生成プログラムソースとで相違が生じることがある。
実際にはコンバートするだけではなく、プログラムを新規に作成することも考えられるが、その場合には、プログラムリバース部1における処理を通らずに一般言語プログラム作成部2から作業を開始することもできる。
以上のように、システム再構築時のプログラムの初期生成処理を、上記3つの手順により行うことができる。
実稼動後のプログラムに対して修正・機能追加が発生した場合、ソースを直接修正する必要はなく、一般言語プログラム作成部2で生成済みの日本語設計書を修正し、それを新業務ロジックリポジトリDB8に取り込むことにより、修正された業務ロジックを生成できる。次いで、プログラム生成を行うことで、修正後のプログラムソースが完成する。このような手順を踏むことにより、システムで実稼動しているプログラムとその設計書の内容とが乖離している状態を防ぐことができ、その後のメンテナンス作業の煩雑さを軽減することが可能になる。例えば、新業務ロジックリポジトリDBと文型辞書を用いれば、新たな変更の必要が生じた場合にも、これを利用して簡単に修正処理を行うことができる。
尚、文型辞書は、上記の作業に応じて追加・更新を行うことにより、辞書機能を強化することができるようにしても良い。
以上に説明したように、本実施の形態による技術を用いると、システムの再構成における作業軽減を図ることができる。また言語に依存しないリポジトリを利用することにより再構成先の環境・言語に関係なくシステムを構築できるため、他の様々なシステム再構築作業に利用することが簡単にできる。
さらに、システム再構築後のメンテナンスにおいても、日本語設計書を自動で出力することができるため該当機能を捉えることが容易にでき、設計書を修正すればよいためミスの軽減できる。これらのことから再構築システムの信頼性、メンテナンスの利便性を向上させることができるという利点がある。
尚、現行のプログラムソースから新規のプログラムソースへ移行した場合に、新規のプログラムソースから、新業務ロジックリポジトリを利用して現行のプログラムソースに再変換することにより作成されたプログラムソースと現行のプログラムソースを比較することで、移行処理又は文型辞書などに問題があるか否かを判断する目安を得ることもできる。また、問題がある箇所が発見されれば、新規プログラムソースを修正するための手がかりを得ることも可能である。
また、文型辞書はあくまでも日本語をロジックに変換するための道具であるため、一部テーブルやファイル定義の入替は必要となるものの、全く別のシステムへ新業務ロジックリポジトリを適用し構築するという再利用も可能となる。
上記のプログラム変換処理方法又は変換処理をコンピュータに実行させるためのプログラムも本発明の範疇に入る。
本発明の一実施の形態によるシステムの基本構成例を示す図である。 リポジトリの作成と利用方法における処理を示すフローチャート図である。 図3(A)から図3(E)までは、図2の処理に沿って遷移する文型と、文型辞書の具体的な内容例を示す図である。
符号の説明
1…プログラムリバース部、2…プログラム作成部、3…プログラム生成部、4…現行で稼動しているプログラムソース、6…業務ロジックリポジトリ、8…新システム用にカスタマイズされた業務ロジックリポジトリ、10…文型辞書(第1言語)、11…A言語で作成されたプログラムソース、12…文型辞書(第2言語:C言語)、13…第2言語で作成されたプログラムソース。

Claims (4)

  1. 第1のプログラム言語により記述され第1のプラットフォームにおいて動作する第1のプログラムを、前記第1のプログラム言語とは異なる第2のプログラム言語により記述されているか又は前記第1のプラットフォームとは異なる第2のプラットフォームにおいて動作する第2のプログラムに変換するプログラム作成システムであって、
    前記第1のプログラムと該プログラムにおいて使用するデータ定義とをリバースして業務ロジック部品単位に分解し、処理部分のみを抽出するプログラムリバース部と、
    該プログラムリバース部において抽出された前記処理部分を業務ロジック部品として、前記データ定義をテーブル/ファイル定義体として保存する業務ロジックリポジトリデータベースと、
    該業務ロジックリポジトリデータベースに保存された前記業務ロジック部品及び前記テーブル/ファイル定義体に基づいて、一般言語により記載された新業務ロジックリポジトリを作成する一般言語プログラム作成部と、
    前記新業務ロジックリポジトリを保存する新業務ロジックリポジトリデータベースと、
    該新業務ロジックリポジトリデータベースに保存されている前記新業務ロジックリポジトリに対して、前記一般言語と前記第2のプログラム言語とを対照する文型辞書を適用することにより、前記新業務ロジックリポジトリを前記第2のプログラム言語により記載された第2のプログラムに変換するプログラム生成部と
    を有するプログラム作成システム。
  2. さらに、前記一般言語により前記第2のプログラムを記述した設計書を作成する設計書作成部を有することを特徴とする請求項1に記載のプログラム作成システム。
  3. さらに、前記プログラム生成部は、前記設計書の修正に応じて前記新業務ロジックリポジトリデータベース内の該当する新業務ロジックリポジトリを修正し、該新業務ロジックリポジトリの修正に基づいて前記第2のプログラムを修正する修正手段を有していることを特徴とする請求項1又は2に記載のプログラム作成システム。
  4. システムのプログラムを他言語または他プラットフォームの新規システムに移行して新たなプログラムを作成する方法において、
    複数の対象プログラムとデータ定義とをリバースして、最適単位の業務ロジック部品及びテーブル/ファイル定義体として分解しプログラム言語に依存しない一般言語で記載された業務ロジックリポジトリに保存するステップと、
    分解して得られた業務ロジック部品及びテーブル/ファイル定義体に基づいて新規システムのリポジトリを作成するステップと、
    前記業務ロジックリポジトリに対して、前記新規システムのプラットフォームにおけるプログラム言語と前記一般言語とを対応させた文型辞書を適用することにより、新規プラットフォームに対応するプログラムソースを生成するステップと
    を有することを特徴とする新規システムに移行するプログラム作成方法。
JP2003402513A 2003-12-02 2003-12-02 プログラム作成システム及び方法 Pending JP2005165584A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003402513A JP2005165584A (ja) 2003-12-02 2003-12-02 プログラム作成システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003402513A JP2005165584A (ja) 2003-12-02 2003-12-02 プログラム作成システム及び方法

Publications (1)

Publication Number Publication Date
JP2005165584A true JP2005165584A (ja) 2005-06-23

Family

ID=34726059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003402513A Pending JP2005165584A (ja) 2003-12-02 2003-12-02 プログラム作成システム及び方法

Country Status (1)

Country Link
JP (1) JP2005165584A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334777A (ja) * 2006-06-16 2007-12-27 Pacific Systems Corp レガシーシステム再構築システムおよびレガシーシステム再構築方法
JP5405684B1 (ja) * 2013-03-28 2014-02-05 株式会社バリュー ソースプログラムのプログラミング言語変換装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334777A (ja) * 2006-06-16 2007-12-27 Pacific Systems Corp レガシーシステム再構築システムおよびレガシーシステム再構築方法
JP5405684B1 (ja) * 2013-03-28 2014-02-05 株式会社バリュー ソースプログラムのプログラミング言語変換装置
JP2014191738A (ja) * 2013-03-28 2014-10-06 Value:Kk ソースプログラムのプログラミング言語変換装置

Similar Documents

Publication Publication Date Title
JP4410486B2 (ja) 機械翻訳装置及びプログラム
US9405518B2 (en) Leveraging legacy applications for use with modern applications
WO2007013418A1 (ja) 複数自然言語のソフトウェア説明書生成システム
CN101553779A (zh) 将主机系统应用程序转换为开放系统应用程序的转换装置和方法
JP2005165584A (ja) プログラム作成システム及び方法
JP5041990B2 (ja) ソフトウェア部品抽出支援装置
Forcada et al. Documentation of the open-source shallow-transfer machine translation platform Apertium
JP2018173699A (ja) テンプレート生成装置、テンプレート生成方法およびプログラム
JP2007140845A (ja) プログラム管理方法及びプログラムの移行支援装置
JP2006079484A (ja) システム移行に伴うソースプログラム変換プログラム
KR101099491B1 (ko) 소모전력 분석방법
JP6944838B2 (ja) 変換装置および変換方法
JPH0689166A (ja) 部品処理記述展開方式
JPH1031586A (ja) プログラム生成装置
JP4310401B2 (ja) 知識コードの生成方法およびその装置
JP2006146619A (ja) 国際化対応のプログラムの作成システム
JP3999771B2 (ja) 翻訳支援プログラム、翻訳支援装置、翻訳支援方法
JPH04248624A (ja) プログラム変換処理装置
JP2022118310A (ja) コンパイル方法、開発支援装置および制御システム
JPH02120935A (ja) プログラム翻訳変換方式
CN116611454A (zh) 多版本软件分支的翻译数据管理方法、装置和电子设备
Allan et al. Automating SIDL-Based Development for New and Legacy Software
JPH0236419A (ja) ソースコードの自動翻訳実行方式
JPH02308327A (ja) プログラム木構造図修正装置
JPH04112365A (ja) 機械翻訳装置