JP5630358B2 - 変換プログラム、プログラム変換方法およびプログラム変換装置 - Google Patents

変換プログラム、プログラム変換方法およびプログラム変換装置 Download PDF

Info

Publication number
JP5630358B2
JP5630358B2 JP2011076752A JP2011076752A JP5630358B2 JP 5630358 B2 JP5630358 B2 JP 5630358B2 JP 2011076752 A JP2011076752 A JP 2011076752A JP 2011076752 A JP2011076752 A JP 2011076752A JP 5630358 B2 JP5630358 B2 JP 5630358B2
Authority
JP
Japan
Prior art keywords
key
file
unique
merge
logical file
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.)
Expired - Fee Related
Application number
JP2011076752A
Other languages
English (en)
Other versions
JP2012212250A (ja
Inventor
美香 吉田
美香 吉田
清志 浅井
清志 浅井
健 三田村
健 三田村
久雄 川辺
久雄 川辺
直樹 津家田
直樹 津家田
麻由子 山本
麻由子 山本
由香里 吉田
由香里 吉田
聡子 木藤
聡子 木藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011076752A priority Critical patent/JP5630358B2/ja
Publication of JP2012212250A publication Critical patent/JP2012212250A/ja
Application granted granted Critical
Publication of JP5630358B2 publication Critical patent/JP5630358B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、変換プログラム、プログラム変換方法およびプログラム変換装置に関する。
従来、コンピュータシステムの移行に伴い、プログラムのマイグレーション処理を行う場合がある。例えば、コンピュータシステムを、各社独自仕様のハードウェアとオペレーティングシステムなどのソフトウェアにより構成されるオフィスコンピュータ(以降オフコンと表記)からオープン標準に準拠したソフトウェアや、それを使用しているコンピュータ(以降オープン系と表記)へ移行する場合に、オフコンのCOBOL(Common Business Oriented Language)プログラムをオープン系のCOBOLプログラムに変換するマイグレーション処理を行う。
ここで、企業がマイグレーション処理を行う際に、いかに新規開発を少なくするかがコストを抑える上で重要であり、また、いかに設計品質を保つかが移行先システムの安定運用につながる。このため、レガシーシステム資産を再活用してマイグレーションするための技術として、予め定義された変換ルールに従って、ソースプログラムを自動変換する技術が知られている。例えば、自動変換プログラムが、ホスト系COBOLソースを入力し、予め定義された変換ルールに従ってホスト系COBOLソース内の代入文や流れ制御文などを変換することで、オープン系COBOLソースに自動変換する。
また、自動変換方法の例として、ホスト系COBOLソースを解析して変換必要部分と変換不要部分とに識別し、変換必要部分を所定規則で変換して新規ソースプログラムを生成し、生成した新規ソースプログラムに対して変換不要部分を併合する技術も知られている。
特開平11−353190号公報
しかしながら、上記したホスト系COBOLソースをオープン系COBOLソースに自動変換する技術では、マージ論理ファイルの機能を有するホスト系COBOLソースをオープン系COBOLソースに変換することが容易でないという課題があった。
つまり、オフコンのCOBOLプログラムでは複数の物理ファイルをマージしたマージ論理ファイルというデータアクセス形態が存在するが、オープン系COBOLではそのようなデータアクセス形態は存在していない。オフコンではOSがマージ論理ファイルのアクセス制御を行っていたが、オープン系のOSは、マージ論理ファイルのアクセス制御を行わない。
このため、オフコンのCOBOLプログラムをオープン系COBOLプログラムに変換する際に、マージ論理ファイルに関する部分については、自動変換の対象とならず、手作業で内部ロジックの大幅な変換を行うこととなり、手間が掛かる。具体的には、マージ論理ファイルの機能に対応するオープン系COBOLソースに変換するために、ユニークキーでアクセス対象とするレコードを特定するアクセス制御処理をオープン系COBOLプログラムに手作業で追加する。
一つの側面では、ホスト系COBOLソースをオープン系COBOLソースに自動変換する際に、マージ論理ファイルの機能を有するオープン系COBOLソースへ容易に変換することを目的とする。
開示のプログラムは、複数の物理ファイルがマージされたマージ論理ファイルへのアクセスに用いられる第1のキーに関する情報およびマージ論理ファイルが参照する物理ファイルのリンクに関する情報が記憶された記憶部を参照して、第1のキーに関する情報及びリンクに関する情報を抽出し、抽出された第1のキーに関する情報およびリンクに関する情報を用いて、第1のキーが一意であるか判定し、該第1のキーが一意で無い場合には、マージ論理ファイルにアクセスするための一意であるユニークキーを生成し、生成されたユニークキーがマージ論理ファイルのキーであることを定義するスクリプトを作成し、生成されたユニークキーを用いて、マージ論理ファイルへアクセスするためのサブルーチンを作成し、マージ論理ファイルのアクセス命令文を含むプログラムソースが記憶された記憶部を参照して、プログラムソースに含まれるマージ論理ファイルのアクセス命令文を、サブルーチンのコール文に変換する。
開示のプログラムは、ホスト系COBOLソースをオープン系COBOLソースに変換する際に、マージ論理ファイルの機能を有するオープン系COBOLソースへ容易に変換することができる。
図1は、実施例1に係るプログラム変換装置の構成を示すブロック図である。 図2は、マージ一覧情報の一例を示す図である。 図3は、キー情報の一例を示す図である。 図4は、ソース解析情報の一例を示す図である。 図5は、オフコンのマージ論理ファイルの機能を説明する図である。 図6は、オープン環境でのマージ論理ファイルの機能を説明する図である。 図7は、ユニークキーの追加処理を説明する図である。 図8は、ユニークキーの追加処理を説明する図である。 図9は、移行前のCOBOLソースについて説明する図である。 図10は、移行後のCOBOLソースについて説明する図である。 図11は、プログラム変換処理の全体の流れを説明する図である。 図12は、DDL文データの一例を示す図である。 図13は、COBOL登録集データの一例を示す図である。 図14は、変換ソースデータの一例を示す図である。 図15は、実施例1に係るプログラム変換装置の処理動作を示すフローチャートである。 図16は、COBOL登録集として生成されたOPEN代替処理の処理動作を示すフローチャートである。 図17は、COBOL登録集として生成されたCLOSE代替処理の処理動作を示すフローチャートである。 図18は、COBOL登録集として生成されたSTART代替処理の処理動作を示すフローチャートである。 図19は、COBOL登録集として生成された順READ代替処理の処理動作を示すフローチャートである。 図20は、COBOL登録集として生成された乱READ代替処理の処理動作を示すフローチャートである。 図21は、COBOL登録集として生成された順DELETE代替処理の処理動作を示すフローチャートである。 図22は、COBOL登録集として生成された乱DELETE代替処理の処理動作を示すフローチャートである。 図23は、COBOL登録集として生成された順REWRITE代替処理の処理動作を示すフローチャートである。 図24は、COBOL登録集として生成された乱REWRITE代替処理の処理動作を示すフローチャートである。 図25は、プログラム変換処理を実行するコンピュータを示す図である。
以下に添付図面を参照して、この発明に係る変換プログラム、プログラム変換方法およびプログラム変換装置の実施例を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
以下の実施例では、実施例1に係るプログラム変換装置の構成およびプログラム変換装置の処理、COBOL登録集として生成された各代替処理の流れを順に説明し、最後に実施例1による効果を説明する。
[プログラム変換装置の構成]
最初に、図1を用いてプログラム変換装置の構成を説明する。図1は、実施例1に係るプログラム変換装置の構成を示すブロック図である。図1に示すように、このプログラム変換装置10は、移行前資産記憶部11、データベース12、制御部13、移行後資産記憶部14を有する。以下にこれらの各部の処理を説明する。
移行前資産記憶部11は、オフコンのCOBOL(Common Business Oriented Language)プログラムをオープン系のCOBOLプログラムに移行する前の資産に関する情報を記憶しており、マージファイルデータ11aおよびCOBOLソースデータ11bを記憶する。マージファイルデータ11aは、マージファイルに関する情報であって、例えば、構成項目名、属性、キーとしている項目、マージを構成する物理ファイル名や項目などがテキスト形式で記載されているデータである。また、COBOLソースデータ11bは、COBOLプログラムのソースコードである。
データベース12は、マージ論理ファイルへのアクセスに用いられるキーに関する情報や、マージ論理ファイルが参照する物理ファイルのリンクに関する情報などを記憶する。データベース12は、マージ一覧情報記憶部12a、キー情報記憶部12b、ソース解析情報記憶部12cを有する。
マージ一覧情報記憶部12aは、マージ論理ファイルに関する情報であるマージ一覧情報を記憶する。例えば、マージ一覧情報12aは、図2に例示するように、マージ論理ファイル名である「LF名」、マージ論理ファイルへのアクセスに用いられるキーが一意であるかを示す「対応可能フラグ」、マージする物理ファイル名を示す「マージするPF名」を記憶する。図2は、マージ一覧情報の一例を示す図である。ここで、対応可能フラグの項目には、「1」または「0」のいずれかの値が設定されており、対応可能フラグが「1」であることは、アクセスに用いられるキーが一意であることを示している。一方、対応可能フラグが「0」であることは、アクセスに用いられるキーが一意でないことを示している。
図2の例を挙げて説明すると、マージ一覧情報記憶部12aは、LF名「lfm1」、対応可能フラグ「1」、マージするPF名「pfa」、「pfb」、「pfc」が対応付けて記憶されている。これは、マージ論理ファイル「lfm1」が複数の物理ファイル「pfa」、「pfb」、「pfc」をマージしており、アクセスに用いられるキーが一意であることを示している。
キー情報記憶部12bは、マージ論理ファイルへのアクセスに用いられるキーに関する情報であるキー情報を記憶する。例えば、キー情報記憶部12bは、図3に例示するように、マージされた物理ファイル名である「PF名」、マージ論理ファイルを含む全論理ファイル名である「LF名」を記憶する。また、キー情報記憶部12bは、図3に例示するように、論理ファイルへのアクセスに用いられるキーが一意であるかを示す「一意性」、キーを構成する項目名である「キーを構成する項目名」、追加されたキーの項目である「追加キーの項目名」を記憶する。図3は、キー情報の一例を示す図である。
ここで、一意性の項目には、「UNIQUE」または「DUPLICATE」のいずれかが設定されており、「UNIQUE」であることは、アクセスに用いられるキーが一意であることを示している。一方、「DUPLICATE」であることは、アクセスに用いられるキーが重複しており、一意でないことを示している。
図3の例を挙げて説明すると、キー情報記憶部12bは、PF名「pfa」、LF名「lfm1」、一意性「UNIQUE」、キーを構成する項目名「keya1」、「keya2」が対応付けて記憶されている。これは、物理ファイル「pfa」を参照する論理ファイル「lfm1」について、アクセスに用いられるキーが一意であり、キーを構成する項目名が「keya1」および「keya2」であることを示している。また、図3の例では、キー情報記憶部12bは、PF名「pfa」、LF名「lfm2」、一意性「DUPLICATE」、キーを構成する項目名「keya2」が対応付けて記憶されている。これは、物理ファイル「pfa」を参照する論理ファイル「lfm2」について、アクセスに用いられるキーが一意でなく、キーを構成する項目名が「keya2」であり、新たに追加されたキーの項目名が「keya1」であることを示している。
ソース解析情報記憶部12cは、COBOLソースの解析結果であって、論理アクセスに関する情報であるソース解析情報を記憶する。例えば、ソース解析情報記憶部12cは、図4に例示するように、プログラム名である「プログラム名」、プログラム上で定義されたアクセス対象のファイル名である「ファイル定義名」、アクセス対象の実ファイル名である「実ファイル名」を記憶する。また、ソース解析情報記憶部12cは、ファイルアクセスの態様を示す「アクセスモード」、ファイルオープンの態様を示す「オープンモード」を記憶する。
制御部13は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。また、制御部13は、ファイル解析部13a、ソース解析部13b、マージ情報作成部13c、DDL作成部13d、登録集作成部13eおよびソースプログラム変換部13fを有する。なお、制御部13には、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用する。
ここで、制御部13の各部13a〜13fが実行する処理について説明する前に、図5および図6を用いて、マージ論理ファイルの機能を有するオフコンのCOBOL(Common Business Oriented Language)プログラムをオープン系のCOBOLプログラムに変換するマイグレーション処理について説明する。図5は、オフコンのマージ論理ファイルの機能を説明する図である。図6は、オープン環境でのマージ論理ファイルの機能を説明する図である。
図5の例では、オフコンのCOBOLプログラムは、論理ファイルLF(x)の宣言文が記述されたファイル宣言部と、OPEN、READ、REWRITE、DELETE、CLOSEなどのファイル操作文が記述されたプログラム部とを有する。図6の例では、オープン環境でのCOBOLプログラムは、論理ファイルLF(xa)、論理ファイルLF(xb)の宣言文が記述されたファイル宣言部と、マージ機能を有するOPENなどのファイル操作文が記述されたプログラム部とを有する。
図5に示すように、オフコンでは、OSがマージ機能を有しており、OSがマージ論理ファイルのアクセス制御を行っている。図5の例を挙げて説明すると、つまり、OS側で複数の物理ファイルPF(a)およびPF(b)をマージした一つのマージ論理ファイルLF(x)として扱う。このため、COBOLプログラム側でマージ論理ファイルのアクセス制御が意識されていなかった。
一方、図6に示すように、オープン環境ではOSがマージ機能を有しておらず、OSがマージ論理ファイルのアクセス制御を行うことができない。このため、COBOLプログラム側にマージ機能を持たせ、COBOLプログラム側でマージ論理ファイルに対するアクセス制御を行うようにする。そこで、プログラム変換装置10では、マージ論理ファイルへアクセスするためのマージ機能代替関数をCOBOL登録集形式で自動生成するとともに、プログラムソースのマージ論理ファイルアクセス命令をマージ機能代替関数のコール文に変換する。
また、マージ論理ファイルでは、複数の物理ファイルをマージするため、マージ論理ファイルのアクセスに用いられるキーが一意でない場合がある。オフコンでは、OSのマージ機能により、一意でないキーによるアクセスがあった場合でも所定のルールに従ってアクセス制御を行っているが、上記したように、オープン環境ではOSがマージ機能を有していない。このため、プログラム変換装置10では、アクセスに用いられるキーが一意でない場合には、キーが一意となるようにキーの項目を追加する。以下では、制御部13の各部13a〜13fが実行する処理について説明する。
ファイル解析部13aは、移行前資産記憶部11からマージファイルデータ11aを読み出し、マージファイルデータ11aを解析する。そして、ファイル解析部13aは、複数の物理ファイルがマージされたマージ論理ファイルへのアクセスに用いられるキーに関する情報と、マージ論理ファイルが参照する物理ファイルのリンクに関する情報とを抽出する。
例えば、ファイル解析部13aは、キーに関する情報として、物理ファイル名、論理ファイル名、キーの一意性、キーを構成する項目名を抽出し、データベース12のキー情報記憶部12bに記憶する。また、ファイル解析部13aは、マージ論理ファイルが参照する物理ファイルのリンクに関する情報として、マージ論理ファイルのファイル名、マージする物理ファイル名を抽出し、データベース12のマージ一覧情報記憶部12aに格納する。
ソース解析部13bは、移行前資産記憶部11からCOBOLソースデータ11bを読み出してCOBOLソースデータ11bを順に解析し、論理ファイルのアクセスに関する情報を抽出する。例えば、ソース解析部13bは、マージ論理ファイルのアクセスに関する情報として、プログラム名、ファイル定義名、実ファイル名、アクセスモード、オープンモードなどを抽出し、データベース12のソース解析情報記憶部12cに格納する。
マージ情報作成部13cは、抽出されたキーに関する情報およびリンクに関する情報を用いて、マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定する。この結果、マージ情報作成部13cは、キーが一意で無い場合には、マージ論理ファイルにアクセスするための一意であるユニークキーを生成する。
例えば、マージ情報作成部13cは、マージ情報一覧情報記憶部12aからマージ論理ファイルのLF名を読み出し、読み出したLF名に対応するキー情報の「一意性」の項目に記憶された情報が「UNIQUE」であるか「DUPLICATE」であるか判定する。この結果、マージ情報作成部13cは、「一意性」の項目に記憶された情報が「UNIQUE」である場合には、キー情報が一意であるので、マージ情報一覧情報における対応可能フラグを「1」に更新する。
また、マージ情報作成部13cは、「一意性」の項目に記憶された情報が「DUPLICATE」である場合には、キー情報が一意でないので、マージ情報一覧情報における対応可能フラグを「0」に更新する。そして、マージ情報作成部13cは、キー情報が一意でない場合には、キーが一意となるように、ユニークなキーを追加する処理を行う。
マージ情報作成部13cは、キーを追加する処理として、物理ファイルに関係するキーから一意であるキーを検索し、検索されたキーのうち追加するキーが少ないものを参照して、新たにキーを追加してユニークキーを生成する。
ここで、キーを追加する処理について、図7および図8の例を用いて説明する。図7および図8は、ユニークキーの追加処理を説明する図である。図7の例では、物理ファイルである「PF」を参照する複数の論理ファイル「LF1」、「LF2」、「LF3」と、マージ論理ファイル「マージ」とが存在することを示している。このうち、論理ファイル「LF1」および「LF2」のアクセスに用いられるキーが一意である(図7では、「unique」と記載)。また、論理ファイル「LF3」およびマージ論理ファイル「マージ」のアクセスに用いられるキーが一意でない(図7では、「duplicates」と記載)。
図7に示すように、マージ情報作成部13cは、「unique」なキーを構成する項目とマージ論理ファイルのキーを構成する項目を比較する。図7の例では、「unique」な論理ファイル「LF1」のキーである「項目1」および「項目2」と、マージ論理ファイルのキー「項目1」および「項目3」とを比較する。また、「unique」な論理ファイル「LF2」のキーである「項目1」、「項目4」および「項目5」と、マージ論理ファイルのキー「項目1」および「項目3」とを比較する。
この比較の結果、マージ論理ファイルのキーが「unique」となるために、追加するキーが少ない論理ファイルを選択する。図7の例では、追加するキーが少ない論理ファイル「LF1」を選択する。つまり、論理ファイル「LF1」を選択した場合には、キーを一意にするためには、「項目2」を追加することとなり、また、論理ファイル「LF2」を選択した場合には、キーを一意にするためには、「項目4」、「項目5」を追加することとなる。この場合、論理ファイル「LF1」を選択した方が追加するキーが少ないので、論理ファイル「LF1」を選択する。
そして、マージ情報作成部13cは、図8に示すように、論理ファイル「LF1」を選択すると、ユニークなキーの構成項目に不足する項目である「項目2」をマージ論理ファイルのキーに追加する。これにより、マージ論理ファイルのアクセスに用いられるキーがユニークとなる。また、マージ情報作成部13cは、マージ論理ファイルのキーを追加した場合には、追加するキーの項目名をキー情報記憶部12bに記憶された「追加キーの項目名」に格納する。また、マージ情報作成部13cは、マージ論理ファイルのアクセスに用いられるキーがユニークになった場合には、マージ一覧情報記憶部12aに記憶されたマージ対応可能フラグを「0」から「1」に変更する。
DDL作成部13dは、マージ情報作成部13cによって生成されたユニークキーがマージ論理ファイルのキーであることを定義する、データベースにおけるデータ構造の定義スクリプトであるDDLを作成する。例えば、DDL作成部13dは、後に詳述する図12に示すように、ユニークキーがマージ論理ファイルのキーであることを定義するDDL文データを作成し、移行後資産記憶部14のDDL文データ14aに格納する。
登録集作成部13eは、マージ情報作成部13cによって生成されたユニークキーを用いて、マージ論理ファイルへアクセスするためのサブルーチンを作成する。例えば、登録集作成部13eは、後に詳述する図13に示すように、OPEN代替処理やREAD代替処理のサブルーチンを作成し、移行後資産記憶部14のCOBOL登録集データ14bに格納する。なお、登録集作成部13eは、図13では、省略したが、OPEN代替処理やREAD代替処理だけでなく、START代替処理、DELETE代替処理、REWRITE代替処理、CLOSE代替処理のサブルーチンを作成する。
ソースプログラム変換部13fは、プログラムソースのマージ論理ファイルアクセス命令を、サブルーチンのコール文に変換する。例えば、ソースプログラム変換部13fは、後に詳述する図14に示すように、COBOLプログラムソースのマージ論理ファイルアクセス命令を、登録集作成部13eによって作成されたサブルーチンのコール文に変換し、移行後資産記憶部14の変換ソースデータ14cに格納する。
ここで、図9および図10を用いて、COBOLソースの変換処理について説明する。図9は、移行前のCOBOLソースについて説明する図である。図10は、移行後のCOBOLソースについて説明する図である。図9の例では、移行前のソースプログラムとして、複数の物理ファイルPF1〜PF3をマージするマージ論理ファイル(図9では、LF(マージ)と記載)に対するCOBOLソースが存在する。図9に示すように、COBOLソースには、OPEN処理、START処理、READ処理、REWRITE処理、DELETE処理、CLOSE処理が存在する。
そして、図10に示すように、ソースプログラム変換部13fは、COBOLソースに対して変換処理を行うことで、OPEN処理をOPEN代替処理の呼び出し、START処理をSTART代替処理の呼び出しに変換する。また、ソースプログラム変換部13fは、READ処理をREAD代替処理の呼び出し、REWRITE処理をREWRITE代替処理の呼び出し、DELETE処理をDELETE代替処理の呼び出し、CLOSE処理をCLOSE代替処理の呼び出しに変換する。
そして、各代替処理は、移行後資産記憶部14のCOBOL登録集データ14bに記憶されている。なお、各代替処理では、どのレコードまでをREADしたか、または、位置付けしたかという情報を記憶するために、ユニークなキーを使用している。
ここで、図11を用いて、プログラム変換装置10によるプログラム変換処理の全体の流れを説明する。図11は、プログラム変換処理の全体の流れを説明する図である。図11に示すように、プログラム変換装置10は、マージファイルデータ11aを読み出して解析し、マージファイルに関する情報および全論理ファイルのキーに関する情報を抽出し、マージ一覧情報記憶部12aおよびキー情報記憶部12bに記憶する(ステップS1)。
そして、プログラム変換装置10は、移行前資産記憶部11から変換前のCOBOLソースデータ11bを読み出して順に解析し、論理ファイルのアクセスに関する情報を抽出してデータベース12のソース解析情報記憶部12cに格納する(ステップS2)。続いて、プログラム変換装置10は、マージ一覧情報記憶部12aおよびキー情報記憶部12bからマージファイルに関する情報および全論理ファイルのキーに関する情報を読み出し、マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定する。そして、マージ論理ファイルへのアクセスに用いられるキーが一意で無い場合には、ユニークキーを作成する(ステップS3)。
そして、プログラム変換装置10は、マージ一覧情報記憶部12aおよびキー情報記憶部12bから情報を読み出し、ユニークキーがマージ論理ファイルのキーであることを定義するDDLを作成する(ステップS4)。続いて、プログラム変換装置10は、マージ一覧情報記憶部12a、キー情報記憶部12b、およびソース解析情報記憶部12cから情報を読み出し、ユニークキーを用いて、マージ論理ファイルへアクセスするためのCOBOL登録集を作成する(ステップS5)。その後、プログラム変換装置10は、マージ一覧情報記憶部12a、キー情報記憶部12b、およびソース解析情報記憶部12cから情報を読み出し、プログラムソースのマージ論理ファイルアクセス命令を、サブルーチンのコール文に変換する(ステップS6)。
移行後資産記憶部14は、オフコンのCOBOL(Common Business Oriented Language)プログラムをオープン系のCOBOLプログラムに移行した後の資産に関する情報を記憶している。また、移行後資産記憶部14は、DDL文データ14a、COBOL登録集データ14b、変換ソースデータ14cを記憶する。
DDL文データ14aは、ユニークキーがマージ論理ファイルのキーであることを定義するスクリプトであるDDLを記憶する。例えば、DDL文データ14aには、図12に例示するように、各論理ファイル「pfa」、「pfb」、「pfc」、「pfd」、「pfe」を作成するためのDDLが存在する。
「pfa用DDL」には、マージファイルを作成するためのDDLとして、「CREATE UNIQUE INDEX IX_LFM1・・」および「CREATE UNIQUE INDEX IX_LFM2・・」が記述されている。また、「pfa用DDL」には、論理ファイル「pfa」のアクセスに用いられるユニークなキーである「keya1」および「keya2」が定義されている。図12は、DDL文データの一例を示す図である。なお、図12の例では、キー部分のみを抜粋している。
COBOL登録集データ14bは、ユニークキーを用いてマージ論理ファイルへアクセスするためのサブルーチンである。例えば、COBOL登録集データ14bは、各マージ論理ファイルをまとめて一つのマージファイルと見なせるような動作をするマージ機能代替関数がCOBOL登録集形式で移行後資産記憶部14に記憶されている。
図13に例示するように、COBOL登録集データ14bは、各マージ論理ファイル「LFM1」、「LFM2」のCOBOLソースであって、各マージ論理ファイルの操作に関するOPENやREADなどのアクセス機能ごとに記述されたCOBOLソースとして移行後資産記憶部14に記憶されている。
変換ソースデータ14cは、ソースプログラム変換部13fによって変換されたソースプログラムを記憶する。例えば、変換ソースデータ14cでは、図14に例示するように、プログラムソースのマージ論理ファイルアクセス命令が、サブルーチンのコール文に変換されたソースプログラムである。図14の例を用いて説明すると、プログラム部におけるマージ論理ファイルアクセス命令「OPEN FIL01」がCOBOL登録集データ14bに記述された代替処理を実行させる「PERFORM MLF_LFM1_OPEN」に変換されている。
[プログラム変換装置による処理]
次に、図15を用いて、実施例1に係るプログラム変換装置10による処理を説明する。図15は、実施例1に係るプログラム変換装置10の処理動作を示すフローチャートである。
図15に示すように、プログラム変換装置10は、プログラム変換処理開始指示を受け付けると(ステップS101肯定)、移行前資産記憶部11からマージファイルデータ11aを読み出して解析し、マージファイルに関する情報を抽出する(ステップS102)。そして、プログラム変換装置10は、マージファイルデータ11aから全論理ファイルのキーに関する情報を抽出する(ステップS103)。
そして、プログラム変換装置10は、移行前資産記憶部11から変換前のCOBOLソースデータ11bを読み出して順に解析し、論理ファイルのアクセスに関する情報を抽出する(ステップS104)。続いて、プログラム変換装置10は、マージ対応が可能であるか判定する(ステップS105)。すなわち、プログラム変換装置10は、マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定する。この結果、プログラム変換装置10は、マージ対応が可能であると判定した場合には(ステップS105肯定)、ステップS107に進む。
また、プログラム変換装置10は、マージ対応が可能でないと判定した場合には(ステップS105否定)、ユニークとなるようにキーを追加する(ステップS106)。そして、プログラム変換装置10は、ユニークキーがマージ論理ファイルのキーであることを定義するDDLを作成する(ステップS107)。続いて、プログラム変換装置10は、ユニークキーを用いて、マージ論理ファイルへアクセスするためのCOBOL登録集を作成する(ステップS108)。その後、プログラム変換装置10は、COBOLソースのマージ論理ファイルアクセス命令を、サブルーチンのコール文に変換する(ステップS109)。
[COBOL登録集として生成された代替処理]
次に、図16〜図24を用いて、COBOL登録集として生成された各代替処理の流れを説明する。図16は、COBOL登録集として生成されたOPEN代替処理の処理動作を示すフローチャートである。図17は、COBOL登録集として生成されたCLOSE代替処理の処理動作を示すフローチャートである。図18は、COBOL登録集として生成されたSTART代替処理の処理動作を示すフローチャートである。図19は、COBOL登録集として生成された順READ代替処理の処理動作を示すフローチャートである。図20は、COBOL登録集として生成された乱READ代替処理の処理動作を示すフローチャートである。図21は、COBOL登録集として生成された順DELETE代替処理の処理動作を示すフローチャートである。図22は、COBOL登録集として生成された乱DELETE代替処理の処理動作を示すフローチャートである。図23は、COBOL登録集として生成された順REWRITE代替処理の処理動作を示すフローチャートである。図24は、COBOL登録集として生成された乱REWRITE代替処理の処理動作を示すフローチャートである。
まず、図16を用いて、COBOL登録集として生成されたOPEN代替処理について説明する。図16に示すように、全ファイルにOPEN処理の対処をしたか判定し(ステップS201)、全ファイルに対処した場合には(ステップS201肯定)、処理を終了する。また、全ファイルに対処してない場合には(ステップS201否定)、OPEN処理を実行し(ステップS202)、OPEN処理が成功したか判定する(ステップS203)。この結果、OPENが成功した場合には(ステップS203肯定)、ステップS201に戻り、OPENが成功しなかった場合には(ステップS203否定)、処理を終了する。
次に、図17を用いて、COBOL登録集として生成されたCLOSE代替処理について説明する。図17に示すように、全ファイルにCLOSE処理の対処をしたか判定し(ステップS301)、全ファイルにCLOSE処理の対処をした場合には(ステップS301肯定)、処理を終了する。また、全ファイルにCLOSE処理の対処をしてない場合には(ステップS301否定)、CLOSE処理を実行して(ステップS302)、ステップS301に戻る。
次に、図18を用いて、COBOL登録集として生成されたSTART代替処理について説明する。図18に示すように、START代替処理では、全ファイルにSTART処理の対処をしたか判定する(ステップS401)。この結果、全ファイルにSTART処理の対処をした場合には(ステップS401肯定)、ファイルSTATUSの設定処理を行う(ステップS408)。また、START代替処理では、全ファイルにSTART処理の対処をしていない場合には(ステップS401否定)、キーの設定処理および追加キーの設定処理を行う(ステップS402)。そして、START代替処理では、START処理の開始位置が「=」のスタートであるか判定する(ステップS403)。すなわち、例えば、START処理の開始位置(例えば、300番目)が指定されているか判定する。
この結果、START代替処理では、「=」のスタートでない場合には(ステップS403否定)、START処理を実行する(ステップS404)。また、START代替処理では、「=」のスタートである場合には(ステップS403肯定)、追加キーのあるSTARTであるか判定する(ステップS405)。この結果、追加キーのあるSTARTでない場合には(ステップS405否定)、開始位置が「=」のSTART処理を実行する(ステップS406)。また、追加キーのあるSTARTである場合には(ステップS405肯定)、開始位置が「>=」のSTART処理を実行する(ステップS407)。つまり、例えばSTART処理の開始位置として300番目が設定されている場合には、300番目以上であって最も300番目に近いデータをSTART処理の開始位置とする。
次に、図19を用いて、COBOL登録集として生成された順READ代替処理について説明する。図19に示すように、順READ代替処理では、全ファイルに順READ処理の対処をしたか判定する(ステップS501)。この結果、全ファイルに順READ処理の対処をしていない場合には(ステップS501否定)、READ NEXTを実行し(ステップS503)、ステップS501に戻る。また、全ファイルに順READ処理の対処をした場合には(ステップS501肯定)、通知するレコードを決定する(ステップS502)。
そして、順READ代替処理では、通知したファイル以外対処したか判定し(ステップS504)、通知したファイル以外対処した場合には(ステップS504肯定)、FILE STATUSを設定する(ステップS507)。また、通知したファイル以外対処していない場合には(ステップS504否定)、READした値をキーに設定し(ステップS505)、開始位置が「>=」のSTART処理を実行し(ステップS506)、ステップS504に戻る。
次に、図20を用いて、COBOL登録集として生成された乱READ代替処理について説明する。図20に示すように、全ファイルに乱READ処理の対処をしたかを判定する(ステップS601)。この結果、全ファイルに乱READ処理の対処をした場合には(ステップS601肯定)、FILE STATUSに「23」を設定する(ステップS612)。ここで、FILE STATUSの「23」とは、データなしであったことを示す。
また、全ファイルに乱READ処理の対処をしていない場合には(ステップS601否定)、キーの設定処理を行い、追加キーがあれば追加キーの設定処理を行う(ステップS602)。そして、追加キーのあるファイルであるか判定し(ステップS603)、追加キーのあるファイルである場合には(ステップS603肯定)、開始位置が「>=」のSTART処理を実行し(ステップS604)、データがないか判定する(ステップS605)。この結果、乱READ処理では、データがない場合には(ステップS605肯定)、ステップS601に戻る。また、乱READ処理では、データがある場合には(ステップS605否定)、READ NEXTを実行し(ステップS606)、キーが一致するか判定する(ステップS607)。
この結果、乱READ処理では、キーが一致しないと判定した場合には(ステップS607否定)、ステップS601に戻る。また、乱READ処理では、キーが一致すると判定した場合には(ステップS607肯定)、通知するレコードを作成し(ステップS610)、FILE STATUSを設定して(ステップS611)、処理を終了する。
一方、ステップS603の説明に戻って、追加キーのあるファイルでない場合には(ステップS603否定)、乱READを実行し(ステップS608)、データがないか判定する(ステップS609)。この結果、乱READ処理では、データがある場合には(ステップS609否定)、ステップS601に戻る。また、乱READ処理では、データがない場合には(ステップS609肯定)、通知するレコードを作成し(ステップS610)、FILE STATUSを設定して(ステップS611)、処理を終了する。
次に、図21を用いて、COBOL登録集として生成された順DELETE代替処理について説明する。図21に示すように、直前にREADしたか判定し(ステップS701)、直前にREADしていない場合には(ステップS701否定)、FILE STATUSに「43」を設定する(ステップS702)。ここで、FILE STATUSの「43」とは、DELETEまたはREWRITE文の実行前に、ファイルに対して実行された最後のI/O文が、READ文でなかったことを示す。
また、順DELETE処理では、直前にREADした場合には(ステップS701肯定)、DELETE処理を実行し(ステップS703)、FILE STATUSを設定する(ステップS704)。
次に、図22に示すように、COBOL登録集として生成された乱DELETE代替処理について説明する。図22に示すように、全ファイルに乱DELETE処理の対処をしたかを判定する(ステップS801)。この結果、全ファイルに乱DELETE処理の対処をした場合には(ステップS801肯定)、FILE STATUSに「23」を設定する(ステップS812)。ここで、FILE STATUSの「23」とは、データなしであったことを示す。
また、全ファイルに乱DELETE処理の対処をしていない場合には(ステップS801否定)、キーの設定処理を行い、追加キーがあれば追加キーの設定処理を行う(ステップS802)。そして、乱DELETE処理では、追加キーのあるファイルであるか判定する(ステップS803)。この結果、追加キーのあるファイルである場合には(ステップS803肯定)、開始位置が「>=」のSTART処理の実行でFILE STATUSが「00」であるか判定する(ステップS804)。ここで、FILE STATUSの「00」とは、正常終了であることを示す。
この結果、FILE STATUSが「00」でない場合には(ステップS804否定)、ステップS801に戻る。また、FILE STATUSが「00」である場合には(ステップS804肯定)、READ NEXTを実行し(ステップS805)、READが成功か判定する(ステップS806)。この結果、READが成功でなかった場合には(ステップS806否定)、ステップS801に戻る。また、READが成功した場合には(ステップS806肯定)、キーが乱DELETEのキーと一致するか判定する(ステップS807)。
この結果、乱DELETE処理では、キーが一致しないと判定した場合には(ステップS807否定)、ステップS801に戻る。また、乱DELETE処理では、キーが一致すると判定した場合には(ステップS807肯定)、DELETEを実行し(ステップS810)、FILE STATUSを設定して(ステップS811)、処理を終了する。
一方、ステップS803の説明に戻って、追加キーのあるファイルでない場合には(ステップS803否定)、乱DELETEを実行し(ステップS808)、READ成功か判定する(ステップS809)。この結果、乱READ処理では、READ成功である場合には(ステップS809否定)、ステップS801に戻る。また、乱DELETE処理では、READ成功である場合には(ステップS809肯定)、DELETEを実行し(ステップS810)、FILE STATUSを設定して(ステップS811)、処理を終了する。
次に、図23を用いて、COBOL登録集として生成された順REWRITE代替処理について説明する。図23に示すように、順REWRITE処理では、直前にREADしたか判定し(ステップS901)、直前にREAD処理をしていない場合には(ステップS901否定)、FILE STATUSに「43」を設定する(ステップS908)。また、直前にREAD処理をした場合には(ステップS901肯定)、追加キーがあるか判定する(ステップS902)。この結果、追加キーがない場合には(ステップS902否定)、REWRITEを実行し(ステップS906)、FILE STATUSを設定する(ステップS907)。
また、S902において、追加キーがある場合には(ステップS902肯定)、追加キーが変更されていないか判定する(ステップS903)。この結果、追加キーが変更されていない場合には(ステップS903肯定)、REWRITEを実行し(ステップS906)、FILE STATUSを設定する(ステップS907)。また、追加キーが変更されている場合には(ステップS903否定)、DELETE処理を実行し(ステップS904)、WRITE処理を実行し(ステップS905)、FILE STATUSを設定する(ステップS907)。
次に、図24を用いて、COBOL登録集として生成された乱REWRITE代替処理について説明する。図24に示すように、乱REWRITE処理では、全ファイルの乱REWRITE処理の対処をしたか判定する(ステップS1001)。この結果、全ファイルの乱REWRITE処理の対処をした場合には(ステップS1001肯定)、FILE STATUSを「43」に設定する(ステップS1011)。
また、全ファイルの乱REWRITE処理の対処をしていない場合には(ステップS1001否定)、キーの設定処理を行い、追加キーがあれば追加キーの設定処理を行う(ステップS1002)。そして、乱READ処理の実行でFILESTATUSが「00」であるか判定する(ステップS1003)。この結果、FILE STATUSが「00」である場合には(ステップS1003肯定)、REWRITE処理を実行し(ステップS1010)、FILE STATUSを設定して(ステップS1009)、処理を終了する。
また、乱REWRITE処理では、FILE STATUSが「00」でない場合には(ステップS1003否定)、追加キーがあるか判定する(ステップS1004)。この結果、乱REWRITE処理では、追加キーがない場合には(ステップS1004否定)、ステップS1001に戻る。また、追加キーがある場合には(ステップS1004肯定)、開始位置が「>=」のSTART処理の実行でFILE STATUSが「00」であるか判定する(ステップS1005)。この結果、FILE STATUSが「00」でない場合には(ステップS1005否定)、ステップS1001に戻る。
また、FILE STATUSが「00」である場合には(ステップS1005肯定)、READ NEXTしたレコードとキーが一致するか判定する(ステップS1006)。この結果、READ NEXTしたレコードとキーが一致しない場合には(ステップS1006否定)、ステップS1001に戻る。また、READ NEXTしたレコードとキーが一致した場合には(ステップS1006肯定)、DELETE処理を実行する(ステップS1007)。その後、乱REWRITE処理では、WRITE処理を実行し(ステップS1008)、FILE STATUSを設定して(ステップS1009)、処理を終了する。
[実施例1の効果]
上述してきたように、プログラム変換装置10は、複数の物理ファイルがマージされたマージ論理ファイルへのアクセスに用いられるキーに関する情報およびマージ論理ファイルが参照する物理ファイルのリンクに関する情報を抽出する。そして、抽出されたキーに関する情報およびリンクに関する情報を用いて、マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定し、キーが一意で無い場合には、マージ論理ファイルにアクセスするための一意であるユニークキーを生成する。そして、生成されたユニークキーがマージ論理ファイルのキーであることを定義するスクリプトを作成する。そして、生成されたユニークキーを用いて、マージ論理ファイルへアクセスするためのサブルーチンを作成する。そして、プログラムソースのマージ論理ファイルアクセス命令を、サブルーチンのコール文に変換する。このため、ホスト系COBOLソースをオープン系COBOLソースに自動変換する際に、マージ論理ファイルの機能を有するオープン系COBOLソースへ容易に変換することが可能である。
また、プログラム変換装置10は、マージ論理ファイルにマージされる物理ファイルにアクセスするキーが一意であるか判定し、キーが一意で無い場合には、物理ファイルに関係するキーから一意であるキーを検索する。そして、プログラム変換装置10は、検索されたキーのうち追加するキーが少ないものを参照して、ユニークキーを生成する。このため、追加するキーを少なくしつつ、アクセスに用いられるキーを一意にすることが可能である。
また、プログラム変換装置10は、サブルーチンとして、オープン処理、スタート処理、デリート処理、リード処理、スタート処理およびオープン処理に関するサブルーチンを作成する。このため、プログラム変換装置10は、マージ論理ファイルの機能を有するオープン系COBOLソースへ容易に変換することが可能である。
さて、これまで実施例1について説明したが、上述した実施例1以外にも、種々の異なる形態にて実施されてよいものである。
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、ファイル解析部13aとソース解析部13bを統合してもよい。
(2)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図25を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図25は、プログラム変換装置を実行するコンピュータを示す図である。
図25に示すように、プログラム変換装置としてのコンピュータ600は、HDD610、RAM620、ROM630およびCPU640をバス650で接続して構成される。
そして、ROM630には、上記の実施例と同様の機能を発揮する変換プログラム、つまり、図25に示すように、ファイル解析プログラム631、ソース解析プログラム632、マージ情報作成プログラム633、DDL作成プログラム634、登録集作成プログラム635およびソースプログラム変換プログラム636が予め記憶されている。
そして、CPU640が、これらのプログラム631〜636をROM630から読み出して実行することで、図25に示すように、各プログラム631〜636は、ファイル解析プロセス641、ソース解析プロセス642、マージ情報作成プロセス643、DDL作成プロセス644、登録集作成プロセス645およびソースプログラム変換プロセス646として機能するようになる。
また、HDD610には、図25に示すように、マージ一覧データ611、キー情報612およびソース解析情報613が設けられる。そして、CPU640は、マージ一覧データ611、キー情報612およびソース解析情報613に対してデータを登録するとともに、マージ一覧データ611、キー情報612およびソース解析情報613からデータを読み出してRAM620に格納し、RAM620に格納されたデータに基づいて処理を実行する。
10 プログラム変換装置
11 移行前資産記憶部
11a マージファイルデータ
11b COBOLソースデータ
12 データベース
12a マージ一覧情報記憶部
12b キー情報記憶部
12c ソース解析情報記憶部
13 制御部
13a ファイル解析部
13b ソース解析部
13c マージ情報作成部
13d DDL作成部
13e 登録集作成部
13f ソースプログラム変換部
14 移行後資産記憶部
14a DDL文データ
14b COBOL登録集データ
14c 変換ソースデータ

Claims (5)

  1. コンピュータに、
    複数の物理ファイルがマージされたマージ論理ファイルへのアクセスに用いられる第1のキーに関する情報およびマージ論理ファイルが参照する物理ファイルのリンクに関する情報が記憶された記憶部を参照して、前記第1のキーに関する情報及び前記リンクに関する情報を抽出し、
    抽出された前記第1のキーに関する情報および前記リンクに関する情報を用いて、前記第1のキーが一意であるか判定し、該第1のキーが一意で無い場合には、前記マージ論理ファイルにアクセスするための一意であるユニークキーを生成し、
    生成されたユニークキーが前記マージ論理ファイルのキーであることを定義するスクリプトを作成し、
    生成されたユニークキーを用いて、前記マージ論理ファイルへアクセスするためのサブルーチンを作成し、
    前記マージ論理ファイルのアクセス命令文を含むプログラムソースが記憶された前記記憶部を参照して、前記プログラムソースに含まれる前記マージ論理ファイルのアクセス命令文を、前記サブルーチンのコール文に変換する
    処理を実行させる変換プログラム。
  2. 前記マージ論理ファイルにマージされる物理ファイルにアクセスするキーが一意であるか判定し、該キーが一意で無い場合には、前記物理ファイルへのアクセスに用いられる、前記物理ファイルに含まれる複数の項目の値を含む第2のキーがさらに記憶された前記記憶部を参照して、前記第2のキーの中から、一意であって、且つ、前記第1のキーに対して追加する項目が最も少ない第3のキーを取得し、
    前記第3のキーに含まれる前記項目を用いて、前記ユニークキーを生成する処理を実行させることを特徴とする請求項1に記載の変換プログラム。
  3. 前記サブルーチンとして、オープン処理、スタート処理、デリート処理、リード処理、リライト処理およびクローズ処理に関するサブルーチンを作成することを特徴とする請求項1または2に記載の変換プログラム。
  4. コンピュータが、
    複数の論理ファイルがマージされたマージ論理ファイルへのアクセスに用いられるキーに関する情報およびマージ論理ファイルが参照する物理ファイルのリンクに関する情報が記憶された記憶部を参照して、前記キーに関する情報及び前記リンクに関する情報を抽出し、
    抽出された前記キーに関する情報および前記リンクに関する情報を用いて、前記マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定し、該キーが一意で無い場合には、前記マージ論理ファイルにアクセスするための一意であるユニークキーを生成し、
    生成されたユニークキーが前記マージ論理ファイルのキーであることを定義するスクリプトを作成し、
    生成されたユニークキーを用いて、前記マージ論理ファイルへアクセスするためのサブルーチンを作成し、
    前記マージ論理ファイルのアクセス命令文を含むプログラムソースが記憶された前記記憶部を参照して、前記プログラムソースに含まれる前記マージ論理ファイルのアクセス命令文を、前記サブルーチンのコール文に変換することを特徴とするプログラム変換方法。
  5. 複数の論理ファイルがマージされたマージ論理ファイルへのアクセスに用いられるキーに関する情報およびマージ論理ファイルが参照する物理ファイルのリンクに関する情報、及び、前記マージ論理ファイルへのアクセス命令を含むプログラムソースを記憶する記憶部と、
    前記記憶部に記憶された前記キーに関する情報及び前記リンクに関する情報を抽出する抽出部と、
    前記抽出部によって抽出された前記キーに関する情報および前記リンクに関する情報を用いて、前記マージ論理ファイルへのアクセスに用いられるキーが一意であるか判定し、該キーが一意で無い場合には、前記マージ論理ファイルにアクセスするための一意であるユニークキーを生成する生成部と、
    前記生成部によって生成されたユニークキーが前記マージ論理ファイルを作成するスクリプトを作成するスクリプト作成部と、
    前記生成部によって生成されたユニークキーを用いて、前記マージ論理ファイルへアクセスするためのサブルーチンを作成するサブルーチン作成部と、
    前記記憶部に記憶された前記プログラムソースに含まれる前記マージ論理ファイルのアクセス命令文を、前記サブルーチンのコール文に変換する変換部と
    を有することを特徴とするプログラム変換装置。
JP2011076752A 2011-03-30 2011-03-30 変換プログラム、プログラム変換方法およびプログラム変換装置 Expired - Fee Related JP5630358B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011076752A JP5630358B2 (ja) 2011-03-30 2011-03-30 変換プログラム、プログラム変換方法およびプログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011076752A JP5630358B2 (ja) 2011-03-30 2011-03-30 変換プログラム、プログラム変換方法およびプログラム変換装置

Publications (2)

Publication Number Publication Date
JP2012212250A JP2012212250A (ja) 2012-11-01
JP5630358B2 true JP5630358B2 (ja) 2014-11-26

Family

ID=47266159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011076752A Expired - Fee Related JP5630358B2 (ja) 2011-03-30 2011-03-30 変換プログラム、プログラム変換方法およびプログラム変換装置

Country Status (1)

Country Link
JP (1) JP5630358B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3292160B2 (ja) * 1998-12-18 2002-06-17 日本電気株式会社 Cobol言語のソースプログラムのコンバージョン方法及び装置並びに記録媒体
JP2006127337A (ja) * 2004-11-01 2006-05-18 Hitachi Software Eng Co Ltd Cobolプログラムのデータアクセス制御方法
JP2010205068A (ja) * 2009-03-04 2010-09-16 Hitachi Information Systems Ltd ソフトウェア資源移行システム及び同移行方法

Also Published As

Publication number Publication date
JP2012212250A (ja) 2012-11-01

Similar Documents

Publication Publication Date Title
US8826225B2 (en) Model transformation unit
Benelallam et al. Distributed Model-to-model Transformation with ATL on MapReduce
KR20070049166A (ko) 목표 기기 상에서의 종속 소프트웨어 패키지의 검출 및이용을 자동화하기 위한 방법 및 소프트웨어 리포지터리를생성하기 위한 시스템
Igamberdiev et al. An integrated multi-level modeling approach for industrial-scale data interoperability
JP5567682B2 (ja) グラフィカル状態遷移図モデルにおける再利用候補の正規化バージョン
JP5454201B2 (ja) データストア切替装置、データストア切替方法およびデータストア切替プログラム
Bozzano et al. COMPASS 3.0
JP6996629B2 (ja) 検証自動化装置、検証自動化方法、およびプログラム
JPWO2017033441A1 (ja) システム構築支援システム、方法および記憶媒体
Cai et al. A pattern-based code transformation approach for cloud application migration
Newman et al. A scale-out RDF molecule store for distributed processing of biomedical data
Lehner et al. Towards a reference architecture for leveraging model repositories for digital twins
Lellmann Combining monotone and normal modal logic in nested sequents–with countermodels
US8856260B2 (en) Providing access to shared state data
JP7131119B2 (ja) ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法
Zeller et al. Combining state-and event-based semantics to verify highly available programs
JP5630358B2 (ja) 変換プログラム、プログラム変換方法およびプログラム変換装置
KR100985192B1 (ko) 소프트웨어 개발 시스템
JP6116983B2 (ja) エントリーポイント抽出装置
JP6705482B2 (ja) システム構築パラメータ管理装置、システム構築パラメータ管理システム、システム構築パラメータ管理方法、及び、システム構築パラメータ管理プログラム
KR101141200B1 (ko) 설계파라미터 관리방법, 설계파라미터 관리시스템,프로그램 및 컴퓨터로 독취 가능한 기록매체
JP4405571B1 (ja) プログラム
US9038049B2 (en) Automated discovery of resource definitions and relationships in a scripting environment
WO2023276212A1 (ja) ソフトウェア部品更新システム及びソフトウェア部品更新方法
CN115858183B (zh) 异步并行i/o请求的进程间联合分析方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5630358

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees