JP2010205068A - Software resource transition system and transition method thereof - Google Patents

Software resource transition system and transition method thereof Download PDF

Info

Publication number
JP2010205068A
JP2010205068A JP2009051142A JP2009051142A JP2010205068A JP 2010205068 A JP2010205068 A JP 2010205068A JP 2009051142 A JP2009051142 A JP 2009051142A JP 2009051142 A JP2009051142 A JP 2009051142A JP 2010205068 A JP2010205068 A JP 2010205068A
Authority
JP
Japan
Prior art keywords
host
jcl
server
memory
runtime
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
JP2009051142A
Other languages
Japanese (ja)
Inventor
Takashi Yamada
隆 山田
Takakazu Kikuchi
孝和 菊地
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.)
DOT KENKYUSHO KK
Hitachi Information Systems Ltd
Original Assignee
DOT KENKYUSHO KK
Hitachi Information Systems 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 DOT KENKYUSHO KK, Hitachi Information Systems Ltd filed Critical DOT KENKYUSHO KK
Priority to JP2009051142A priority Critical patent/JP2010205068A/en
Publication of JP2010205068A publication Critical patent/JP2010205068A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To achieve downsizing without changing a host program. <P>SOLUTION: A compiler 290 for downsizing includes a runtime table wherein a plurality of runtimes corresponding to OSs or input/output statements of host program sources are stored. When it is determined that an OS or the like stored in the runtime table is included in an input host program source, the runtime is designated as a parameter of the compiler to read in a program source for a host, and the program source is decomposed into tokens to generate an object code. When it is determined that a runtime call is necessary for an instruction statement of the object code and that the parameter is designated for compilation, the object code is generated so as to call the runtime stored in the runtime table, and the generated object code is inserted to a compiled server execution object to achieve downsizing. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、COBOL等の過去のメインフレームに採用されたソフトウェア資源をオープン環境にダウンサイジング(リホスト)するためのソフトウェア資源移行システム及び同移行方法に係り、特にプログラム、JCL、帳票定義(書式)、画面定義、データをオープン環境に容易にダウンサイジングすることができるソフトウェア資源移行システム及び同移行方法に関する。   The present invention relates to a software resource migration system and migration method for downsizing (rehosting) software resources used in past mainframes such as COBOL, etc., and in particular, a program, JCL, and form definition (format). The present invention relates to a software resource migration system and a migration method that can easily downsize screen definitions and data to an open environment.

近年のコンピュータの性能向上および低価格化などにより、経費削減のため、従来のコンピュータシステムを汎用大型のメインフレームと呼ばれるホストからサーバへダウンサイジングするケースが増えている。この既存のコンピュータシステムはレガシーシステムと呼ばれ、例えばメインフレームと呼ばれる汎用機やオフィスコンピュータのシステムを示し、このレガシーシステムを構成しているリソースには、ホスト用のプログラム、JCL、COPY句(ファイル定義)、帳票/画面定義が含まれている。近年、このレガシーシステムを新しいオープン系システムに移行させる技術が、例えば下記特許文献1にて提案されている。   Due to the recent improvement in computer performance and price reduction, there is an increasing number of cases where a conventional computer system is downsized from a host called a general-purpose large mainframe to a server in order to reduce costs. This existing computer system is called a legacy system. For example, a general-purpose machine or an office computer system called a mainframe is shown. The resources constituting the legacy system include a host program, a JCL, a COPY clause (file Definition) and form / screen definition. In recent years, for example, Patent Document 1 below proposes a technique for shifting this legacy system to a new open system.

この特許文献1には、メインフレーム用アプリケーションをクライアントで利用する際にクライアントの画面に表示されるフィールドを定義するメインフレーム毎のメインフレーム用画面定義体に基づいて、クライアントの画面に表示されるフィールドの配置などの画面構成情報を複数のメインフレームに対応可能な汎用画面フォームとして作成する手段と、メインフレーム用画面定義体に基づいて、クライアントの画面に表示されるフィールドの属性を複数のメインフレームに対応可能な汎用画面データとして作成する手段と、汎用画面フォームと汎用画面データとを融合してクライアントの入力画面を作成して汎用的通信規格を介してクライアントに送信する手段とをサーバに設け、メインフレームのアプリケーション資産を生かしてオープン環境に移行するダウンサイジング技術が記載されている。   In this patent document 1, when a mainframe application is used by a client, the mainframe screen definition body for each mainframe that defines a field displayed on the client screen is displayed on the client screen. Based on the means for creating screen configuration information such as field layout as a general-purpose screen form that can support multiple mainframes and the mainframe screen definition body, the attributes of the fields displayed on the client screen can be set to multiple mainframes. A means for creating general-purpose screen data compatible with frames and a means for fusing a general-purpose screen form and general-purpose screen data to create a client input screen and sending it to the client via a general-purpose communication standard. And make use of mainframe application assets Downsizing technology moves to Pung environment is described.

特開2004−355413号公報   JP 2004-355413 A

前述の従来のダウンサイジング技術は、例えばホストからサーバへのダウンサイジングにおいて、ホスト上のCOBOLプログラムをサーバ上で動作できるようにサーバ用のCOBOLプログラムに変換するものであり、例えばホスト用のCOBOLプログラムソースを文法の違いを訂正する様に変換してサーバ用COBOLプログラムソースに変換し、これをコンパイラによって機械語に翻訳したサーバ用オプジェクトプログラムに変換して行われていた。このホスト用COBOLプログラムとサーバ用COBOLプログラムとの主な違いは、例えば取り扱う周辺機器や文字コードや用意されているユーティリティプログラムの相違に対応する様に文法が定義されている点である。   The above-described conventional downsizing technique converts, for example, a COBOL program on a host into a COBOL program for a server so that the COBOL program can be operated on the server in downsizing from a host to a server, for example, a COBOL program for a host. The source was converted so as to correct the difference in grammar, converted into a server COBOL program source, and converted into a server object program translated into a machine language by a compiler. The main difference between the host COBOL program and the server COBOL program is that, for example, a grammar is defined so as to correspond to a difference in peripheral devices, character codes, and prepared utility programs.

この従来技術によるダウンサイジング技術は、業務アルゴリズムの変更が発生する可能性があると共に、プログラム以外のソフトウェア資産(JCL、帳票定義[書式]または画面定義、データ)との相互の関連性を考慮しないため、プログラム以外のソフトウェア資産のホストからサーバへの移行について、個別に移行方法を検討して移行を実施する必要があると言う不具合があった。尚、JCLとは、Job Control Languageの略であって、メインフレームでバッチ処理を行なう際に、システムに対して実行するジョブの名前や使用する装置などを伝える言語を言う。   This conventional downsizing technology may change the business algorithm and does not consider the reciprocal relationship with software assets other than programs (JCL, form definition [format] or screen definition, data). For this reason, there was a problem in that it was necessary to individually consider the migration method for migration of software assets other than programs from the host to the server. JCL is an abbreviation for Job Control Language, and is a language that conveys the name of a job to be executed and a device to be used to the system when batch processing is performed on a mainframe.

また、従来技術は、前述のようにプログラムを変換することに加え、プログラム以外のソフトウェア資産を個別に移行する必要があることから、ホストからサーバへのダウンサイジング作業時間およびコストがかかるという不具合もあった。   In addition to the conversion of the program as described above, the conventional technology requires a separate migration of software assets other than the program, so there is a problem that downsizing work time and cost from the host to the server are required. there were.

更に従来技術は、ダウンサイジング作業におけるその結果の妥当性検証では、プログラムとプログラム以外のソフトウェア資産の移行において相互の資産の関連性がなくなっているため、ファイルの妥当性検証が容易ではなく、手作業主体となり、短期間且つ低コストで検証作業を行うことが難しいと言う不具合もあった。   Furthermore, in the prior art, the validity of the result of downsizing work is not easy because it is no longer easy to validate the file because the relevance of each other's assets is lost in the migration of software assets other than programs. There is also a problem that it is difficult to perform verification work in a short period of time and at a low cost as a main subject of work.

本発明の目的は、コンピュータシステムのソフトウェア資産移行、例えばホストからサーバへのダウンサイジング作業において、ホスト上のプログラムの主要部を変更することなく移行し、プログラム以外のソフトウェア資産(JCL、帳票定義[書式]または画面定義、データ)はホスト環境におけるプログラムとの関連性を保つように自動変換で移行することを実現し、短期間、低コストでソフトウェア資産移行を行うことができるソフトウェア資源移行システム及び同移行方法を提供することである。   An object of the present invention is to transfer software assets of a computer system, for example, downsizing work from a host to a server without changing the main part of a program on the host, and to transfer software assets other than programs (JCL, form definition [ Format] or screen definition, data) is realized by automatic conversion so as to maintain the relevance with the program in the host environment, and a software resource migration system capable of performing software asset migration in a short period of time and at a low cost This is to provide a migration method.

前記目的を達成するために本発明は、ホストシステムのコンピュータが動作するホスト用文法により命令文が書かれたホストプログラムソースをサーバプログラムソースとし、該サーバプログラムソースを機械語の実行オブジェクトにコンパイルするダウンサイジング用コンパイラを備えるソフトウェア資源移行システムであって、
前記ダウンサイジング用コンパイラが、
前記ホストプログラムソースのOS又は入出力に関与する命令文と該命令文に対応する複数の処理方法情報毎のソフトウェアモジュールであるランタイム名を格納したランタイムテーブルと、該ランタイム名に対応するランタイムを格納する第1のメモリとを有し、
前記ホストプログラムソースを入力とし、該ホストプログラムソースに前記ランタイムテーブルに格納されたOS又は入出力に関与する命令文が含まれているか否かを判定する第1工程と、
該第1工程においてOS又は入出力に関与する命令文が含まれていると判定したとき、前記ランタイムテーブルの命令文に対応する処理方法情報に対応するランタイム名により指示されたランタイムをコンパイラのパラメタとして指定する第2工程と、
前記ホスト用のプログラムソースを読み込み、プログラミング言語においてソースコード中の文字列の中で意味を持つ最小単位の字句であるトークンに分解する第3工程と、
該第3工程により分解したトークンの列を基にプログラムの木構文を構築し、該構築したプログラムの木構文からコンパイラがソースコードを処理した結果生成される中間的なコード表現であるオブジェクトコードを生成する第4工程と、
該第4工程により生成したオブジェクトコードの命令文にランタイム呼出が必要か否かを前記ランタイムテーブルに該当命令文の処理が格納されているかによって判定する第5工程と、
該第5工程によってランタイム呼出が必要と判定したとき、前記命令文のコンパイルにパラメタ指定があるか否かを前記ランタイムテーブルを参照して判定する第6工程と、
該第6工程において命令文のコンパイルにパラメタ指定があると判定したとき、前記第1のメモリに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバ実行オブジェクトに挿入する第7工程を実行することを第1の特徴とする。
In order to achieve the above object, according to the present invention, a host program source in which a statement is written by a grammar for a host on which a computer of a host system operates is used as a server program source, and the server program source is compiled into a machine language execution object. A software resource migration system with a downsizing compiler,
The downsizing compiler is
A runtime table that stores a runtime name that is a software module for each of a plurality of processing method information corresponding to an OS or input / output of the host program source, and a runtime corresponding to the runtime name is stored. And a first memory that
A first step of receiving the host program source as input and determining whether the host program source includes an OS or an instruction related to input / output stored in the runtime table;
When it is determined in the first step that a statement relating to the OS or input / output is included, the runtime indicated by the runtime name corresponding to the processing method information corresponding to the statement in the runtime table is set as a parameter of the compiler. A second step designated as
A third step of reading the program source for the host and decomposing the program source into tokens, which are words and phrases of the smallest unit having meaning in a character string in the source code in a programming language;
An object code that is an intermediate code expression generated as a result of processing the source code by the compiler from the tree syntax of the constructed program is constructed based on the token sequence decomposed in the third step. A fourth step to generate;
A fifth step of determining whether or not a runtime call is necessary for the statement of the object code generated in the fourth step based on whether or not the processing of the corresponding statement is stored in the runtime table;
A sixth step of determining whether or not there is a parameter specification for compiling the statement when the runtime call is determined to be necessary in the fifth step;
When it is determined in the sixth step that there is a parameter specification for compiling the statement, object code is generated so as to call the runtime stored in the first memory, and the generated object code is compiled into the compiled server execution object. The first feature is to execute the seventh step of insertion.

また本発明は、前記第2の特徴のソフトウェア資源移行システムにおいて、前記ホストシステムのコンピュータにより特定の機能を実行するユーティリティーソフトウェアを格納する第2のメモリと、該第2のメモリに格納したユーティリティーソフトウェアを起動するプログラムであるJCLを格納するJCLメモリと、サーバシステムのコンピュータにおいて前記ホストシステムのユーティリティーソフトウェアと同機能のユーティリティーソフトウェアを格納する第3のメモリと、前記ホストシステムの第2のメモリに格納したユーティリティーソフトウェアの名称と該名称のユーティリティーソフトウェアと同機能のユーティリティーソフトウェアが前記第3のメモリに格納されているか否かを示す有無情報を格納するユーティリティーテーブルと、ホストシステム用のJCLをサーバ用に変換するための変換ルール情報を格納するJCL変換ルールメモリと、前記JCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換するJCL変換ツールとを有し、
前記JCL変換ツールが、
前記JCLメモリに格納したJCLを読み込み、該読み込んだJCLが起動するユーティリティーソフトウェアが、前記第3のメモリに格納されているか否かを前記ユーティリティーテーブルの有無情報を参照して判定する第8工程と、
該第8工程において読み込んだJCLが起動するユーティリティーソフトウェアが第3のメモリに格納されていると判定したとき、前記JCL変換ツールにより、JCL変換ルールメモリに格納した変換ルール情報に基づいてJCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換する第9工程とを実行することを第2の特徴とする。
According to the present invention, in the software resource migration system according to the second feature, a second memory storing utility software for executing a specific function by a computer of the host system, and the utility software stored in the second memory Stored in the JCL memory for storing the JCL that is a program for starting the server, the third memory for storing the utility software having the same function as the utility software of the host system in the computer of the server system, and the second memory of the host system A utility that stores the name of the utility software and the presence / absence information indicating whether or not utility software having the same function as the utility software of the name is stored in the third memory. A table, a JCL conversion rule memory for storing conversion rule information for converting JCL for the host system for the server, and the host JCL stored in the JCL memory for the server by referring to the conversion rule information JCL conversion tool for converting to JCL
The JCL conversion tool is
An eighth step of reading the JCL stored in the JCL memory, and determining whether utility software activated by the read JCL is stored in the third memory by referring to the presence / absence information in the utility table; ,
When it is determined that the utility software to be activated by the JCL read in the eighth step is stored in the third memory, the JCL conversion tool stores the utility software in the JCL memory based on the conversion rule information stored in the JCL conversion rule memory. A second feature is that the ninth step of converting the stored host JCL into the server JCL with reference to the conversion rule information is executed.

また本発明は、前記第1又は第2のソフトウェア資源移行システムにおいて、前記サーバシステムが、ホストシステム用の帳票情報及び画面情報を左上を基点とした座標値と該座標値から延長する方向及び寸法値を規定するベクトル情報を格納する画面帳票情報メモリと、該画面帳票情報メモリに格納したベクトル情報を基に、サーバシステム用の帳票情報及び画面情報に変換する画面帳票変換ツールとを有し、
該画面帳票変換ツールが、
前記画面帳票情報メモリに格納したベクトル情報の座標値と寸法値とを基に、画面帳票の左上を基点とした描画を開始する開始座標値と該描画を終了する終点座標値に変換する第10工程を実行することを第3の特徴とする。
また本発明は、前記何れかの特徴のソフトウェア資源移行システムにおいて、前記ホストシステムが、ホストプログラムソースを機械語のホスト実行プログラムに実行するホストコンパイラと、データを入力として前記ホストコンパイラを実行した結果であるホスト結果ファイルデータを出力するホストコンピュータとを有し、
前記サーバシステムが、前記データを入力とし、前記ダウンサイジング用コンパイラが機械語にコンパイルしたサーバ実行オブジェクトを実行してサーバ結果ファイルデータを出力するサーバコンピュータと、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを比較する比較ツールとを有し、
前記サーバシステムの比較ツールが、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを1バイト単位で比較し、不一致の結果ファイルを出力する第11工程を実行することを第4の特徴とする。
In the first or second software resource migration system according to the present invention, the server system uses the coordinate values based on the upper left of the form information and screen information for the host system, and the direction and dimensions extending from the coordinate values. A screen form information memory that stores vector information that defines values, and a screen form conversion tool that converts the form information and screen information for the server system based on the vector information stored in the screen form information memory,
The screen form conversion tool
Based on the coordinate values and dimension values of the vector information stored in the screen form information memory, a tenth coordinate value is converted into a start coordinate value for starting drawing with the upper left corner of the screen form as a base point and an end point coordinate value for ending the drawing. The third feature is to execute the process.
According to the present invention, in the software resource migration system according to any one of the above characteristics, the host system executes a host compiler that executes a host program source as a machine language host execution program, and executes the host compiler using data as input. A host computer that outputs host result file data that is
A server computer that receives the data, executes a server execution object compiled into a machine language by the downsizing compiler, and outputs server result file data; and the host result file data and server result file data. And a comparison tool for comparing
A fourth feature is that the comparison tool of the server system performs the eleventh step of comparing the host result file data and the server result file data in units of 1 byte and outputting a mismatched result file.

更に本発明は、ホストシステムのコンピュータが動作するホスト用文法により命令文が書かれたホストプログラムソースをサーバプログラムソースとし、該サーバプログラムソースを機械語の実行オブジェクトにコンパイルするダウンサイジング用コンパイラを備え、ダウンサイジング用コンパイラが、前記ホストプログラムソースのOS又は入出力に関与する命令文と該命令文に対応する複数の処理方法情報毎のソフトウェアモジュールであるランタイム名を格納したランタイムテーブルと、該ランタイム名に対応するランタイムを格納する第1のメモリとを有するソフトウェア資源移行システムの資源移行方法であって、
前記ダウンサイジング用コンパイラに、
前記ホストプログラムソースを入力とし、該ホストプログラムソースに前記ランタイムテーブルに格納されたOS又は入出力に関与する命令文が含まれているか否かを判定する第1工程と、
該第1工程においてOS又は入出力に関与する命令文が含まれていると判定したとき、前記ランタイムテーブルの命令文に対応する処理方法情報に対応するランタイム名により指示されたランタイムをコンパイラのパラメタとして指定する第2工程と、
前記ホスト用のプログラムソースを読み込み、プログラミング言語においてソースコード中の文字列の中で意味を持つ最小単位の字句であるトークンに分解する第3工程と、
該第工程3により分解したトークンの列を基にプログラムの木構文を構築し、該構築したプログラムの木構文からコンパイラがソースコードを処理した結果生成される中間的なコード表現であるオブジェクトコードを生成する第4工程と、
該第4工程により生成したオブジェクトコードの命令文にランタイム呼出が必要か否かを前記ランタイムテーブルに該当命令文の処理が格納されているかによって判定する第5工程と、
該第5工程によってランタイム呼出が必要と判定したとき、前記命令文のコンパイルにパラメタ指定があるか否かを前記ランタイムテーブルを参照して判定する第6工程と、
該第6工程において命令文のコンパイルにパラメタ指定があると判定したとき、前記第1のメモリに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバ実行オブジェクトに挿入する第7工程を実行させることを第5の特徴とする。
The present invention further includes a downsizing compiler that compiles a server program source into a machine language execution object, with a host program source in which a statement is written by a host grammar that operates a host system computer as a server program source. A runtime table in which a downsizing compiler stores a runtime statement that is a software module for each of a plurality of processing method information corresponding to an instruction statement related to the OS or input / output of the host program source, and the runtime A resource migration method for a software resource migration system having a first memory storing a runtime corresponding to a name,
In the downsizing compiler,
A first step of receiving the host program source as input and determining whether the host program source includes an OS or an instruction related to input / output stored in the runtime table;
When it is determined in the first step that a statement relating to the OS or input / output is included, the runtime indicated by the runtime name corresponding to the processing method information corresponding to the statement in the runtime table is set as a parameter of the compiler. A second step designated as
A third step of reading the program source for the host and decomposing the program source into tokens, which are words and phrases of the smallest unit having meaning in a character string in the source code in a programming language;
An object code that is an intermediate code expression generated as a result of processing the source code by the compiler from the tree syntax of the constructed program is constructed based on the token sequence decomposed in the third step 3. A fourth step to generate;
A fifth step of determining whether or not a runtime call is necessary for the statement of the object code generated in the fourth step based on whether or not the processing of the corresponding statement is stored in the runtime table;
A sixth step of determining whether or not there is a parameter specification for compiling the statement when the runtime call is determined to be necessary in the fifth step;
When it is determined in the sixth step that there is a parameter specification for compiling the statement, object code is generated so as to call the runtime stored in the first memory, and the generated object code is compiled into the compiled server execution object. The fifth feature is that the seventh step of insertion is executed.

また本発明は、前記第5の特徴のソフトウェア資源移行方法において、前記ホストシステムのコンピュータにより特定の機能を実行するユーティリティーソフトウェアを格納する第2のメモリと、該第2のメモリに格納したユーティリティーソフトウェアを起動するプログラムであるJCLを格納するJCLメモリと、サーバシステムのコンピュータにおいて前記ホストシステムのユーティリティーソフトウェアと同機能のユーティリティーソフトウェアを格納する第3のメモリと、前記ホストシステムの第2のメモリに格納したユーティリティーソフトウェアの名称と該名称のユーティリティーソフトウェアと同機能のユーティリティーソフトウェアが前記第3のメモリに格納されているか否かを示す有無情報を格納するユーティリティーテーブルと、ホストシステム用のJCLをサーバ用に変換するための変換ルール情報を格納するJCL変換ルールメモリと、前記JCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換するJCL変換ツールとを設け、
前記JCL変換ツールに、
前記JCLメモリに格納したJCLを読み込み、該読み込んだJCLが起動するユーティリティーソフトウェアが、前記第3のメモリに格納されているか否かを前記ユーティリティーテーブルの有無情報を参照して判定する第8工程と、
該第8工程において読み込んだJCLが起動するユーティリティーソフトウェアが第3のメモリに格納されていると判定したとき、前記JCL変換ツールにより、JCL変換ルールメモリに格納した変換ルール情報に基づいてJCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換する第9工程とを実行させることを第6の特徴とする。
According to the present invention, in the software resource migration method of the fifth feature, a second memory storing utility software for executing a specific function by a computer of the host system, and the utility software stored in the second memory Stored in the JCL memory for storing the JCL that is a program for starting the server, the third memory for storing the utility software having the same function as the utility software of the host system in the computer of the server system, and the second memory of the host system A utility for storing the name of the utility software and the presence / absence information indicating whether or not utility software having the same function as the utility software of the name is stored in the third memory A JCL conversion rule memory for storing conversion rule information for converting the JCL for the host system and the JCL for the host system, and the JCL for the host stored in the JCL memory with reference to the conversion rule information for the server JCL conversion tool for converting to JCL
In the JCL conversion tool,
An eighth step of reading the JCL stored in the JCL memory, and determining whether utility software activated by the read JCL is stored in the third memory by referring to the presence / absence information in the utility table; ,
When it is determined that the utility software to be activated by the JCL read in the eighth step is stored in the third memory, the JCL conversion tool stores the utility software in the JCL memory based on the conversion rule information stored in the JCL conversion rule memory. A sixth feature is that a ninth step of converting the stored JCL for the host into the JCL for the server with reference to the conversion rule information is executed.

また本発明は、前記第5又は第6の特徴のソフトウェア資源移行方法において、前記サーバシステムに、ホストシステム用の帳票情報及び画面情報を左上を基点とした座標値と該座標値から延長する方向及び寸法値を規定するベクトル情報を格納する画面帳票情報メモリと、該画面帳票情報メモリに格納したベクトル情報を基に、サーバシステム用の帳票情報及び画面情報に変換する画面帳票変換ツールとを設け、
該画面帳票変換ツールに、
前記画面帳票情報メモリに格納したベクトル情報の座標値と寸法値とを基に、画面帳票の左上を基点とした描画を開始する開始座標値と該描画を終了する終点座標値に変換する第10工程を実行させることを第7の特徴とする。
In the software resource migration method according to the fifth or sixth feature, the present invention provides the server system with a coordinate value for the form information and screen information for the host system based on the upper left as a base point and a direction extending from the coordinate value. And a screen form information memory for storing vector information for defining dimension values, and a screen form conversion tool for converting the form information and screen information for the server system based on the vector information stored in the screen form information memory. ,
In the screen form conversion tool,
Based on the coordinate values and dimension values of the vector information stored in the screen form information memory, a tenth coordinate value is converted into a start coordinate value for starting drawing with the upper left corner of the screen form as a base point and an end point coordinate value for ending the drawing. The seventh feature is that the process is executed.

また本発明は、前記何れかの特徴のソフトウェア資源移行方法において、前記ホストシステムに、ホストプログラムソースを機械語のホスト実行プログラムに実行するホストコンパイラと、データを入力として前記ホストコンパイラを実行した結果であるホスト結果ファイルデータを出力するホストコンピュータとを設け、
前記サーバシステムに、前記データを入力とし、前記ダウンサイジング用コンパイラが機械語にコンパイルしたサーバ実行オブジェクトを実行してサーバ結果ファイルデータを出力するサーバコンピュータと、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを比較する比較ツールとを設け、
前記サーバシステムの比較ツールに、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを1バイト単位で比較し、不一致の結果ファイルを出力する第11工程を実行させることを第8の特徴とする。
According to the present invention, in the software resource migration method according to any one of the above characteristics, a result of executing the host compiler that executes a host program source as a machine language host execution program and the host compiler using data as input in the host system. A host computer that outputs host result file data that is
A server computer that receives the data and inputs a server execution object compiled by the downsizing compiler into a machine language and outputs server result file data; and the host result file data and the server result file data. And a comparison tool to compare
An eighth feature is that the comparison tool of the server system compares the host result file data with the server result file data in units of 1 byte, and executes an eleventh step of outputting a mismatched result file.

本発明によるソフトウェア資源移行システム及び同移行方法は、ダウンサイジング用コンパイラが、ホストプログラムソース内の命令文にランタイムテーブルに格納されたOSや入出力に関与する命令文が含まれているとき、ランタイムテーブルの命令文に対応する処理方法情報に対応するランタイム名により指示されたランタイムをコンパイラのパラメタとして指定し、ランタイム呼出が必要と判定したパラメタ指定があると判定したとき、ランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイラした機械語に挿入することによって、ホスト上のプログラムの主要部を変更することなくダウンサイジングを行うことができる。また、コンピュータシステムのソフトウェア資産移行、例えばホストからサーバへのダウンサイジング作業において、ホスト上のソフトウェア資産であるデータファイルを移行する場合、プログラムを変更することなくサーバ上で動作することと連携して、サーバ上のデータファイルのデータ形式をホストと同形式(EBCDIC)とすることによって、ソフトウェア資産をサーバ上で動作可能とする。   In the software resource migration system and the migration method according to the present invention, when the downsizing compiler includes a statement relating to the OS and input / output stored in the runtime table in the statement in the host program source, Specify the runtime indicated by the runtime name corresponding to the processing method information corresponding to the table statement as a compiler parameter, and call the runtime when it is determined that there is a parameter specification that is determined to be necessary By generating the code and inserting the generated object code into the compiled machine language, downsizing can be performed without changing the main part of the program on the host. In addition, when migrating software assets of a computer system, for example, when migrating a data file that is a software asset on a host in a downsizing operation from the host to the server, it is linked with operating on the server without changing the program. By making the data format of the data file on the server the same format as the host (EBCDIC), the software asset can be operated on the server.

更に本発明によれば、JCL変換ツールが、変換ルール情報を参照してホスト用のJCLをサーバ用のJCLに変換することや、ホストシステム用のベクトル形式の帳票情報及び画面情報を、サーバ用の座標指定形式の帳票情報及び画面情報に変換することによって、ホスト上のプログラムの主要部を変更することなくダウンサイジングを行うことができる。   Further, according to the present invention, the JCL conversion tool refers to the conversion rule information to convert the host JCL into the server JCL, or converts the host system vector format form information and screen information to the server. By converting to form information and screen information in the coordinate designation format, downsizing can be performed without changing the main part of the program on the host.

本発明の一実施形態によるソフトウェア資源移行システムを示す図。The figure which shows the software resource transfer system by one Embodiment of this invention. 本実施形態によるプログラム移行の処理動作例を示すフロー図。The flowchart which shows the processing operation example of the program transfer by this embodiment. 本実施形態によるプログラム移行のコンパイラに係る処理動作例を示すフロー図。The flowchart which shows the process operation example which concerns on the compiler of the program transfer by this embodiment. 本実施形態によるJCL変換の処理動作例を示すフロー図。The flowchart which shows the processing operation example of JCL conversion by this embodiment. 本実施形態による帳票(画面)変換の処理動作例を示すフロー図。The flowchart which shows the processing operation example of the form (screen) conversion by this embodiment. 本実施形態による帳票(画面)移行後の処理動作例を示すフロー図。The flowchart which shows the processing operation example after the form (screen) transfer by this embodiment. 本実施形態による検証の処理動作例を示すフロー図。The flowchart which shows the processing operation example of the verification by this embodiment. 本実施形態によるコンパイラによるソフトウェア資産をサーバ上に移行する例を示す処理フロー図。The processing flow figure which shows the example which transfers the software asset by the compiler by this embodiment on a server. 本実施形態によるホストと同形式のソフトウェア資産をサーバ上に移行する例を示す処理フロー図。The processing flowchart which shows the example which transfers the software asset of the same format as the host by this embodiment on a server. 本実施形態によるユーティリティーの移行例を示す処理フロー図。The processing flowchart which shows the example of a utility transfer by this embodiment. 本実施形態によるJCL変換の処理動作例を示すフロー図。The flowchart which shows the processing operation example of JCL conversion by this embodiment. 本実施形態によるJCLとプログラムの連携例を示す図。The figure which shows the example of a cooperation of JCL and a program by this embodiment. 本実施形態による帳票(画面)変換例を示す図。The figure which shows the example of a form (screen) conversion by this embodiment. 本実施形態によるダウンサイジング後の帳票(画面)出力例を示す図。The figure which shows the example of a form (screen) output after the downsizing by this embodiment. 本実施形態によるダウンサイジング作業の妥当性を検証するときの結果データ比較例を示す図。The figure which shows the result data comparison example when verifying the validity of the downsizing operation | work by this embodiment.

以下、本発明によるソフトウェア資源移行システム及び同移行方法の一実施形態を図面を参照して詳細に説明する。
[構成]
図1は、本発明によるソフトウェア資産移行、例えばホストシステム100からサーバシステム200へのダウンサイジング作業におけるプログラムとJCL、帳票/画面定義のダウンサイジング実施と、ダウンサイジング後のプログラム実行における結果ファイルのデータ検証を行うソフトウェア資源移行システムの全体構成を示す図であって、本ソフトウェア資源移行システムは、レガシーシステムであるホストシステム100と、該ホストシステム100と接続され、ホストシステム100のソフトウェア資源が移行されるサーバシステム200とから構成される。
Hereinafter, an embodiment of a software resource migration system and migration method according to the present invention will be described in detail with reference to the drawings.
[Constitution]
FIG. 1 shows a result of data transfer in software asset migration according to the present invention, for example, downsizing of a program and JCL, form / screen definition in downsizing work from the host system 100 to the server system 200, and execution of the program after downsizing. FIG. 2 is a diagram showing an overall configuration of a software resource migration system that performs verification. This software resource migration system is connected to a host system 100 that is a legacy system and the host system 100, and software resources of the host system 100 are migrated. Server system 200.

前記ホストシステム100は、機械語である実行オブジェクト161を実行するホストコンピュータ160と、プログラムソース121/画面・帳票情報122/ユーティリティー(ソフトウェア)123/JCL124とを含むホスト資産120と、ホストコンピュータ160が処理対象とするデータであるファイル141及び142とを含むホスト入力ファイル140と、ジョブ起動130により実行処理されたジョブの結果であるファイル151及びスプール(データ)152を含むホストの結果ファイル150と、前記プログラムソース121をホストコンピュータ160に実行させるためにコンパイルするコンパイラ110とから構成される。   The host system 100 includes a host computer 160 that executes an execution object 161 that is a machine language, a host asset 120 including a program source 121 / screen / form information 122 / utility (software) 123 / JCL 124, and a host computer 160 A host input file 140 that includes files 141 and 142 that are data to be processed, a file 151 that is a result of a job executed by job activation 130, and a host result file 150 that includes a spool (data) 152; It comprises a compiler 110 that compiles the program source 121 to cause the host computer 160 to execute it.

前記サーバシステム200は、サーバ実行オブジェクト271を含むサーバコンピュータ270と、プログラムソース211/画面・帳票情報212/ユーティリティー213/変換後のJCLスプリクト214とを含むサーバ資産210と、処理対象となるデータであるファイル241及び252を含むサーバ入力ファイル250と、処理結果のデータであるファイル261及びスプール(データ)262を含むファイルサーバ結果ファイル260と、前記ホストシステム100のホスト結果ファイル150をダウンロードして格納するホスト結果ファイル230と、同様にホスト入力ファイル140をダウンロードして格納するホスト入力ファイル220と、前記ホスト資産120の画面・帳票情報122をサーバ用に変換して前記サーバ資産210に格納する変換ツール270と、前記ホストのJCL124をサーバ用に変換して前記サーバ資産210に格納する変換ツール272と、前記サーバが処理した結果ファイル260とホストが処理した結果ファイル230を比較して検証し、比較結果のレポート281及び実行LOG282を出力する比較ツール273とを備える。尚、前述した各構成は、コンピュータのハードウェア又はソフトウェアによって構成されるものである。   The server system 200 includes a server computer 270 including a server execution object 271, a server resource 210 including a program source 211 / screen / form information 212 / utility 213 / converted JCL script 214, and data to be processed. A server input file 250 including certain files 241 and 252, a file server result file 260 including a file 261 and a spool (data) 262 as processing result data, and a host result file 150 of the host system 100 are downloaded and stored. The host result file 230 to be downloaded, the host input file 220 to download and store the host input file 140, and the screen / form information 122 of the host asset 120 are converted for the server and the server A conversion tool 270 stored in the asset 210; a conversion tool 272 that converts the JCL 124 of the host into a server and stores it in the server asset 210; a result file 260 processed by the server; and a result file 230 processed by the host A comparison tool 273 that compares and verifies and outputs a comparison result report 281 and an execution LOG 282 is provided. Each configuration described above is configured by computer hardware or software.

この様に構成したソフトウェア資源移行システムは、次に述べる機能を有する。
(1)機能A:
本例のダウンサイジング実施においては、移行対象のホストシステム100上のプログラムソース121を変更せずにサーバシステム200へそのまま移行して、サーバ上の資産であるプログラムソース211とする。移行対象のホスト上の帳票/画面・帳票情報122は、変換ツール270により変換し、サーバ上の資産である帳票/画面・帳票情報212とする。ホストのユーティリティー(ソフトウェア)123は、サーバ上にホストと同等機能のサーバ用のユーティリティー213を用意する。移行対象のホスト上のJCL124は変換ツール272により変換し、サーバ上の資産としてJCLスクリプト214とする。
The software resource migration system configured as described above has the following functions.
(1) Function A:
In the implementation of downsizing in this example, the program source 121 on the migration target host system 100 is migrated as it is to the server system 200 without being changed, and the program source 211 is an asset on the server. The form / screen / form information 122 on the migration target host is converted by the conversion tool 270 into the form / screen / form information 212 which is an asset on the server. The host utility (software) 123 prepares a server utility 213 having the same function as the host on the server. The JCL 124 on the migration target host is converted by the conversion tool 272, and is set as the JCL script 214 as an asset on the server.

(2)機能B:
ホストシステム100上でプログラムソース121および帳票/画面・帳票情報122を入力として、ホストのコンパイラ110で機械語にコンパイルすることにより、ホスト上の実行オブジェクトプログラムを作成する。このサーバ上の資産となったプログラムソース121および帳票/画面・帳票情報122を入力として、ホストと同様の手順により、本実施形態によるダウンサイジング用コンパイラ290でコンパイルすることにより、サーバ上の実行オブジェクトを作成する。
(2) Function B:
An execution object program on the host is created by inputting the program source 121 and the form / screen / form information 122 on the host system 100 and compiling them into machine language by the host compiler 110. The program source 121 and the form / screen / form information 122, which are the assets on the server, are input and compiled by the downsizing compiler 290 according to the present embodiment in the same procedure as the host, thereby executing the execution object on the server. Create

(3)機能C:
ホスト上のJCL124により該当プログラムのジョブ130を起動することにより、ホスト上の入力ファイル140(本例ではファイルA、ファイルB)を入力し、該当プログラムの実行オブジェクトを実行し、ホスト上に結果ファイル150(本例ではファイルC、スプール)を出力し、ホストシステム100上の入力ファイル140(ファイルA、ファイルB)および結果ファイル150(ファイルC、スプール)をホストからサーバシステム200へダウンロードして、サーバシステム200上にホストの入力ファイル220(ファイルA、ファイルB)および結果ファイル230(ファイルC、スプール)を作成する。そして、入力ファイル220(ファイルA、ファイルB)をコピーしてサーバの入力ファイル250(ファイルA′、ファイルB′)を用意する。
(3) Function C:
By starting the job 130 of the corresponding program by the JCL 124 on the host, the input file 140 (file A, file B in this example) is input on the host, the execution object of the corresponding program is executed, and the result file on the host 150 (file C, spool in this example), the input file 140 (file A, file B) and the result file 150 (file C, spool) on the host system 100 are downloaded from the host to the server system 200, A host input file 220 (file A, file B) and result file 230 (file C, spool) are created on the server system 200. Then, the input file 220 (file A, file B) is copied to prepare the server input file 250 (file A ′, file B ′).

(4)機能D:
サーバシステム200上のJCLスクリプト214から該当プログラムのジョブを起動することにより、サーバ上の入力ファイル(ファイルA′、ファイルB′)を入力し、該当プログラムの実行オブジェクトを実行し、サーバ上に結果ファイル(ファイルC′、スプール)を出力する。
(4) Function D:
By starting the job of the corresponding program from the JCL script 214 on the server system 200, the input file (file A ', file B') on the server is input, the execution object of the corresponding program is executed, and the result is displayed on the server. A file (file C ′, spool) is output.

(5)機能E:
サーバシステム200上での処理による結果ファイル260(ファイルC′、スプール)とホストシステム100上での処理による結果ファイル230(ファイルC、スプール)とを比較ツール273により比較することによって、サーバシステムの同値性比較を実施する機能。この比較により同値性検証を行って、ダウンサイジングの妥当性を検証することができる。
(5) Function E:
By comparing the result file 260 (file C ′, spool) by the processing on the server system 200 with the result file 230 (file C, spool) by the processing on the host system 100 by the comparison tool 273, Function to perform equivalence comparison. By this comparison, equivalence verification can be performed to verify the validity of downsizing.

[プログラムソース移行の説明]
次に本実施形態によるホストシステム100のソフトウェア資産であるプログラムの移行処理手順を図2A及び図2Bを参照して説明する。このプログラムの移行処理手順は、ダウンサイジング用コンパイラ290が、ホスト側のプログラムを変更することなくサーバ側で動作するための処理であって、図2Aに示す如く、ホストのプログラムソースを読み込むステップS11と、プログラムソースが読み込み終了かどうかの判定を行うステップS12と、プログラムソースが読み込み終了か否かを判定し、終了と判定したときに後述するステップS17に移行するステップS12と、該ステップS12において終了でないと判定したとき、該当のプログラムソースについて、資産移行に影響するOSや入出力等に関係した命令文かどうかの判定を行い、これら命令文でないと判定したとき、ステップS11に戻るステップS13とを実行する。このステップS13は、ソフトウェア資産であるプログラムを実行する際に必要となるソフトウェアモジュール(部品)であるランタイムに関して、下記表1のランタイムテーブルの例に示すように該当の命令文が存在するかどうかを判定するものである。尚、ランタイム(run−time)とは、複数のプログラムで共通して行うことができる処理を1つの部品(モジュール)にまとめたソフトウェアモジュール(部品)のことを言い、このランタイムテーブルは、ホスト用プログラムソースの命令文と該命令文による処理内容とケース毎の処理方法情報と該処理方法情報に応じて実行するランタイム名との関係を格納したものであり、例えばホスト用プログラムソースの命令文「WRITE命令」の処理内容が「変換後の文字コード」であり、シフトJISを使用する処理方法情報がケース1のランタイム名が「RUNTIME31」であることを示している。
[Description of program source migration]
Next, a migration processing procedure of a program that is a software asset of the host system 100 according to the present embodiment will be described with reference to FIGS. 2A and 2B. This program migration processing procedure is a process for the downsizing compiler 290 to operate on the server side without changing the host side program, and as shown in FIG. 2A, reads the host program source. In step S12 for determining whether or not the program source has been read, in step S12 for determining whether or not the program source has been read, and for determining whether the program source has ended, the process proceeds to step S17 described later. When it is determined that it is not the end, it is determined whether or not the corresponding program source is a command statement related to the OS, input / output, etc. that affects asset transfer. When it is determined that the command source is not a command statement, the process returns to step S11. And execute. In step S13, whether or not the corresponding statement exists as shown in the example of the runtime table in Table 1 below regarding the runtime that is a software module (part) necessary for executing a program that is a software asset. Judgment. The run-time refers to a software module (part) in which processes that can be performed in common by a plurality of programs are combined into one part (module). It stores the relationship between the statement of the program source, the processing contents by the statement, the processing method information for each case, and the runtime name to be executed according to the processing method information. The processing content of the “WRITE instruction” is “character code after conversion”, and the processing method information using shift JIS indicates that the runtime name of case 1 is “RUNTIME 31”.

Figure 2010205068
Figure 2010205068

次いで本プログラム移行処理手順は、ステップS13により該当のプログラムソースがOSや入出力等に関係した命令文と判定したとき、サーバ側にOS/入出力等に該当したランタイムライブラリが存在するかどうかの判定を行い、存在しないと判定したとき、後述するステップS16に移行するステップS14を実行する。このステップS14は、表1のランタイムテーブルの例に示すように該当命令文の中の該当ケース毎の処理方法情報を持つランタイムが存在するかどうかを判定することによって行う。尚、ランタイム名に対応するランタイムは、ダウンサイジング用コンパイラ290のメモリに格納されている。   Next, in this program migration processing procedure, when it is determined in step S13 that the corresponding program source is a command statement related to the OS, input / output, etc., whether or not the runtime library corresponding to the OS / input / output exists on the server side. When it is determined that it does not exist, step S14 is executed to shift to step S16 described later. This step S14 is performed by determining whether or not there is a runtime having processing method information for each corresponding case in the corresponding command statement as shown in the example of the runtime table in Table 1. The runtime corresponding to the runtime name is stored in the memory of the downsizing compiler 290.

本プログラム移行処理手順は、前記ステップS14において該当のランタイムが存在しないと判定したとき、新規にサーバの該当ランタイムを作成し、当該新規ランタイムを表1のランタイムテーブルに追加するステップS15と、サーバの該当ランタイムのインタフェースを指定する(具体的には、表1のランタイムテーブルにある該当処理のケースをコンパイラのパラメタとして指定)ステップS16と、前記ステップS12において読み込みが終了と判定したとき、ホストのプログラムをサーバ向けにコンパイルするステップS17とを実行する。   When it is determined in step S14 that the corresponding runtime does not exist, the program migration processing procedure newly creates a corresponding runtime of the server, and adds the new runtime to the runtime table of Table 1; The interface of the corresponding runtime is specified (specifically, the case of the corresponding processing in the runtime table of Table 1 is specified as a parameter of the compiler). When it is determined in step S12 that the reading is finished, the host program Step S17 for compiling for the server.

該ステップS17によるコンパイル処理は、図2Bに示す如く、既知のコンパイラ処理であるステップS17aを実行する。このステップS17aは、サーバのプログラムソースの読み込み/読み込み終了の判定/終了していないとき、ソースコードを読み込んでトークン[プログラミング言語においてソースコードに出現する文字列の中で意味を持つ最小単位の字句]に分解することにより字句を解析し、トークン列をもとにプログラムの木構文を構築する構文解析やプログラム木構文からオブジェクトコード[コンパイラがソースコードを処理した結果生成される中間的なコード表現]生成を行う一連の処理)の一連の処理である。このステップS17aを実行した後、本実施形態によるコンパイル処理は、プログラムソースを変更しないことを前提に表1のランタイムテーブルに該当命令文の処理が存在するか否かを判定することによって、命令文がサーバ側のOS/入出力等に関連した処理に対応するプログラムの命令文はランタイム呼出が必要か否かを判定し、必要でないと判定したときに処理を終了するステップS18と、表1のランタイムテーブルに該当命令文の該当ケースについてコンパイルのパラメタ指定(パラメタ定義ファイルでも良い)があるかどうかを判定することにより、プログラムの該当命令文の該当ケースがコンパイルのパラメタ指定ありか否かを判定し、ないと判定したときに処理を終了するステップS19と、該ステップS19においてパラメタ指定があると判定したとき、表1のランタイムテーブルに存在する命令文の処理の該当ケースについてコンパイルのパラメタに基づいて、該当処理のランタイムを呼ぶようにオブジェクトコードを生成することにより、該当ランタイムを呼ぶオブジェクトコードを生成し、ステップS17aに戻るステップS20とを順次実行する。   In the compiling process in step S17, step S17a, which is a known compiler process, is executed as shown in FIG. 2B. This step S17a reads the source code of the server / determination of reading completion / when it is not finished, reads the source code and reads the token [a lexical unit having a meaning in a character string appearing in the source code in the programming language] ] To analyze the lexical and construct the tree syntax of the program based on the token string, or the object code [intermediate code expression generated as a result of processing the source code by the compiler] ] Is a series of processes). After executing this step S17a, the compiling process according to the present embodiment determines whether or not the process of the corresponding statement exists in the runtime table of Table 1 on the assumption that the program source is not changed. Determines whether or not a run-time call is necessary for the command statement of the program corresponding to the process related to the server side OS / input / output, etc., and terminates the process when it is determined that it is not necessary, Determine whether the corresponding case of the program statement has a compile parameter specified by determining whether there is a compile parameter specification (may be a parameter definition file) for the corresponding case of the command statement in the runtime table However, when it is determined that there is no step S19, the process is terminated. When it is determined that there is a meta specification, the corresponding runtime of the statement processing that exists in the runtime table of Table 1 is generated by generating the object code so as to call the runtime of the corresponding process based on the parameter of the compilation. The object code that calls is generated, and step S20 returning to step S17a is sequentially executed.

これら一連の処理によって本実施形態によるソフトウェア資源移行システムは、ランタイムを呼ぶオブジェクトコードを生成することができる。   Through these series of processes, the software resource migration system according to the present embodiment can generate an object code that calls a runtime.

このランタイムを呼ぶオブジェクトコード生成の具体例を図3を参照して説明する。図3は、プログラムソースを変更することなく、サーバ側のOS/入出力等に関連した処理に対応する例として、ダウンサイジング用コンパイラによってデータのコード変換を行う該当のランタイムを呼ぶようにオブジェクトコードを生成する例を説明するための図である。   A specific example of object code generation for calling this runtime will be described with reference to FIG. FIG. 3 shows an example of object code that calls a corresponding runtime that performs code conversion of data by a downsizing compiler as an example corresponding to processing related to OS / input / output on the server side without changing the program source. It is a figure for demonstrating the example which produces | generates.

まず、図3上段に示すホストシステム100における処理の場合、EBCDICを意識したコーディングを有するプログラムの例として、プログラムの中である項目エリアDATAを判定している16進のX’C1’はEBCDICの’A’を指しており、項目エリアDATAがEBCDICの’A’のときにWRITE処理を行うことがあり、このホストのプログラムを変更せずにサーバへコピーして移行する場合、図2Bで示したダウンサイジング用コンパイラでコンパイルを行う。このとき、サーバシステム上のプログラムは項目エリアDATAが’A’(16進のX’C1’)のときWRITE処理を行うようにするべきであるが、プログラムが取り扱うデータがシフトJISの場合’A’は16進のX’41’のため、プログラム中の判定で16進のX’C1’と不一致になり、ホスト処理と同じようにWRITE処理を行うことができなくなる。   First, in the case of processing in the host system 100 shown in the upper part of FIG. 3, as an example of a program having coding that is conscious of EBCDIC, hexadecimal X′C1 ′ that determines the item area DATA in the program is EBCDIC. WRITE processing may be performed when “A” is pointed out and the item area DATA is “E” in EBCDIC. If this host program is copied and migrated to the server without modification, it is shown in FIG. 2B. Compile with the downsizing compiler. At this time, the program on the server system should perform WRITE processing when the item area DATA is 'A' (hexadecimal X'C1 '), but if the data handled by the program is Shift JIS,' A Since 'is a hexadecimal X'41', the judgment in the program does not match the hexadecimal X'C1 ', and the WRITE process cannot be performed in the same manner as the host process.

これを解決するため、本実施形態においてはダウンサイジング用コンパイラ向けのパラメタとしてのオープン系入出力装置のインタフェースについて「READ命令のケース1」と「WRITE命令のケース1」の指定を受けて、ダウンサイジング用コンパイラがREAD命令の後に、図3下段に示す如く、入力したシフトJISデータをEBCDICデータへコード変換するランタイム(表1の例ではRUNTIME41)を呼び出すように図2BのステップS20によりオブジェクトコードを生成する。   In order to solve this problem, in the present embodiment, the interface of the open system I / O device as a parameter for the downsizing compiler receives the designation of “Case 1 of the READ instruction” and “Case 1 of the WRITE instruction”. After the READ instruction, as shown in the lower part of FIG. 3, the sizing compiler calls the runtime for converting the input shift JIS data into EBCDIC data (RUNTIME 41 in the example of Table 1), and the object code is executed in step S20 of FIG. 2B. Generate.

また、WRITE命令の前に、出力するEBCDICデータをシフトJISデータへコード変換するランタイム(表1の例ではRUNTIME31)を呼び出すようにオブジェクトコードを生成する。表3にEBCDICデータとシフトJISデータの間の相互のコード変換に使用するコード変換テーブルの例を示す。   Also, before the WRITE instruction, an object code is generated so as to call a runtime (RUNTIME 31 in the example of Table 1) that converts the output EBCDIC data into shift JIS data. Table 3 shows an example of a code conversion table used for mutual code conversion between EBCDIC data and shift JIS data.

Figure 2010205068
Figure 2010205068

このようにして、本実施形態によるソフトウェア資源移行システムは、プログラムソースを変更することなくコンパイルを行って移行資産をサーバ上で動作可能とすることができる。   In this way, the software resource migration system according to the present embodiment can compile without changing the program source and make the migrated asset operable on the server.

次に前記図3の活用例を図4を参照して説明する。図4は、プログラムソースを変更しないために、プログラム内で取り扱うデータのデータ形式をホストと同形式(EBCDIC)とすることにより、ソフトウェア資産をサーバ上に移行し実行する例を示す処理フローである。   Next, an application example of FIG. 3 will be described with reference to FIG. FIG. 4 is a processing flow showing an example in which software assets are migrated and executed on a server by changing the data format of data handled in the program to the same format (EBCDIC) as the host so as not to change the program source. .

まず、ホストシステムでは、ホスト上のプログラム内および外部システム10、ホスト系プリンタ11、MT12等で取り扱うデータ形式はEBCDICとなっている。これをサーバへ移行するときにおいて、プログラムを変更しないために、プログラム内部で取り扱うデータ形式をホストと同形式とする。ただし、オンライン端末16やオープン系プリンタ17とのやり取りはオープン系のコードであるシフトJIS(SJIS)コード等へ変換する必要がある。   First, in the host system, the data format handled in the program on the host and in the external system 10, the host printer 11, the MT 12, and the like is EBCDIC. When this is transferred to the server, the data format handled in the program is the same as that of the host so that the program is not changed. However, the exchange with the online terminal 16 or the open system printer 17 needs to be converted into a shift JIS (SJIS) code or the like which is an open system code.

このため、本ソフトウェア資源移行システムは、前述の図2Aおよび図2Bで述べたようにプログラムにおいてオープン系入出力等に関係した命令があるときはコード変換処理(EBCDIC←→SJIS)のランタイムを呼ぶようにコンパイルすることにより、ホスト上のソフトウェア資産であるプログラムおよびデータを変更することなく、プログラムとデータの関連性を保って資産移行してサーバ上で動作可能とすることができる。   For this reason, this software resource migration system calls the runtime of the code conversion process (EBCDIC ← → SJIS) when there is an instruction related to the open system input / output or the like in the program as described in FIGS. 2A and 2B. By compiling in this way, without changing the program and data, which are software assets on the host, it is possible to migrate the assets while maintaining the relationship between the program and data, and to operate on the server.

[JCL変換の説明]
次に本実施形態によるJCL変換を図2Cを参照して説明する。図2Cは、ホストシステムからサーバシステムへのダウンサイジング作業において、ホスト上のプログラム以外のソフトウェア資産であるJCLに対する変換ツール272による変換処理動作例を示すフローチャートである。
[Description of JCL conversion]
Next, JCL conversion according to the present embodiment will be described with reference to FIG. 2C. FIG. 2C is a flowchart illustrating an example of a conversion processing operation performed by the conversion tool 272 for JCL that is a software asset other than a program on the host in the downsizing operation from the host system to the server system.

この変換処理動作は、図2Cに示す如く、ホストシステムのJCL124を読み込むステップS21と、次にJCLが読み込み終了かどうかの判定を行い、終了と判定したときに処理を終了するステップS22と、該ステップS22において終了でないと判定したとき、下記表2のユーティリティーテーブルに該当機能のユーティリティー(ソフトウェア)が存在するかどうかを判定することにより、該当JCL文中の起動プログラムがユーティリティーかどうかの判定を行い、存在しないと判定したときに処理を終了するステップS23を実行する。尚、表2は、ソートやマージ等の機能に対応するユーティリティー名とサーバシステム上での相当するユーティリティー(ソフトウェア)が存在するか否かを格納したテーブルであり、変換ツール272に含まれるものであるが、これに限られるものではない。   As shown in FIG. 2C, the conversion processing operation includes a step S21 for reading the JCL 124 of the host system, a step S22 for determining whether or not the JCL has been read next, and a step S22 for ending the processing when it is determined to be finished, When it is determined in step S22 that the process is not completed, it is determined whether or not the startup program in the corresponding JCL statement is a utility by determining whether or not the utility (software) of the corresponding function exists in the utility table of Table 2 below. Step S23 is executed to end the process when it is determined that the file does not exist. Table 2 is a table storing utility names corresponding to functions such as sorting and merging and whether or not there is a corresponding utility (software) on the server system, and is included in the conversion tool 272. There is, but is not limited to this.

Figure 2010205068
Figure 2010205068

前記ステップS23において該当機能のユーティリティーが存在すると判定したとき、本変換処理動作は、表2のユーティリティーテーブルに存在する該当のユーティリティーについてサーバ上の作成有無が有か否かを判定することによって、サーバ側に該当ユーティリティーと同等機能が用意されているかどうかの判定を行い、用意されていると判定したとき、後述のステップS26に移行するステップS24と、該ステップS24により該当ユーティリティーと同等機能が用意されていないと判定したとき、新規にサーバの該当ユーティリティーを作成し、表2のユーティリティーテーブルのサーバ上の作成有無を有に更新するステップS25と、図6に示す処理によってサーバ向けJCLスクリプトへ変換(表4のJCL変換ルールのように変換前JCLを変換後JCLへ変換)し、前記ステップS21に戻るステップS26とを実行する。   When it is determined in step S23 that there is a utility having the corresponding function, this conversion processing operation is performed by determining whether or not the corresponding utility existing in the utility table in Table 2 is created on the server. Is determined whether or not a function equivalent to the corresponding utility is prepared, and if it is determined that the function is prepared, step S24 moves to step S26 described later, and a function equivalent to the corresponding utility is prepared by step S24. When it is determined that the server utility is not created, a new utility for the server is created, and the utility table in Table 2 is updated to indicate whether the utility table is created on the server, and converted to a server JCL script by the process shown in FIG. JCL conversion rules in Table 4 Uni converted prior to conversion of the JCL into converted JCL), and executes a step S26 to return to the step S21.

Figure 2010205068
Figure 2010205068

前記表4に示すJCL変換ルールは、ホスト用プログラムソースでは「//ジョブ名 JOB パラメタ」を「% JOB ジョブ名 パラメタ」に変換する如く、先頭記号の変換とジョブ名項目とジョブ名の順番を変更することである。   The JCL conversion rules shown in Table 4 show that the conversion of the head symbol and the order of the job name item and the job name are changed so that “// job name JOB parameter” is converted to “% JOB job name parameter” in the host program source. Is to change.

このJCL変換ルールによる具体的変換例は、図7に示す如く、例えば図7(a)に示すホスト用プログラムソースにおいて「PROGRAM−ID」として「PROGRAM1」が指定され、図7(b)に示す如く、前記「PROGRAM1」の入力データのファイルとして「INP01」、出力データのファイルとして「OUT01」が指定され、JCLにおいて、入力データのファイル「INP01」のデータセット名(DSN)が「TEST.IDATA」が指定され、出力データのファイル「OUT01」のデータセット名(DSN)が「TEST.ODATA」が指定されているとき、図7(c)に示す如く、表5に示したファイル作成ルールに従い、フォルダー「DASD」の下にファイル「TEST.IDATA」を作成し、フォルダー「MT」の下位にフォルダー「VSN001」、この下位にフォルダー「01SL」を作成し、このフォルダーにファイル「TEST.ODATA」を格納することが定義されている。   As shown in FIG. 7, a specific conversion example based on the JCL conversion rule is shown in FIG. 7B in which “PROGRAM1” is designated as “PROGRAM-ID” in the host program source shown in FIG. As described above, “INP01” is designated as the input data file of “PROGRAM1” and “OUT01” is designated as the output data file. In JCL, the data set name (DSN) of the input data file “INP01” is “TEST.IDATA”. "And the data set name (DSN) of the output data file" OUT01 "is specified as" TEST.ODATA ", as shown in FIG. 7C, according to the file creation rules shown in Table 5. , Create the file “TEST.DATA” under the folder “DASD” Folder folder "VSN001" subordinate to the "MT", create a folder "01SL" in this lower, it is defined that to store the file "TEST.ODATA" in this folder.

また図7に示すプログラムと変換後JCLの関係は、図7(a)に示すプログラム中のINPUT−OUTPUT SECTIONにおいて記述された7行目のSELECT文のDD名(例ではINP01)および8行目のDD名(例ではOUT01)は各々が、図7(b)に示すJCL中の4行目のDD文のDD名(例ではINP01)および5行目のDD文のDD名(例ではOUT01)と連携しており、プログラムが実行されることにより、JCL中のDD名(例ではINP01,OUT01)の次に記述されたホストのJCL文法を踏襲したパラメタを基に、サーバ環境においてファイルの作成位置が表5に示した規則に従って決定される関係にある。表5にファイル作成ルールの例を示すが、サーバ上のファイルはJCLのDD文に記述されたパラメタから表5におけるフォルダー作成順位に基づいてフォルダーを順に下降しネスト(入れ子構造)化して作成する。   The relationship between the program shown in FIG. 7 and the converted JCL is as follows: the DD name (INP01 in the example) of the SELECT statement in the seventh line described in the INPUT-OUTPUT SECTION in the program shown in FIG. The DD names (in the example, OUT01) of the DD statement of the fourth line DD statement (INP01 in the example) and the DD name of the DD sentence in the fifth line (OUT01 in the example) shown in FIG. ), And when the program is executed, a file is created in the server environment based on the parameters following the JCL grammar of the host described next to the DD name (INP01, OUT01 in the example) in the JCL. The creation position is determined according to the rules shown in Table 5. Table 5 shows examples of file creation rules. Files on the server are created by descending folders in a nested manner (nested structure) based on the folder creation order in Table 5 based on the parameters described in the JCL DD statement. .

Figure 2010205068
Figure 2010205068

表5に示したルールに基づいてファイルを入力する場合もファイルを出力する場合も、該当ファイルの場所を特定することができる。このファイル作成ルールは、オープン環境においてファイルの作成位置を取り決めておくためのものであって、ファイルは、JCLのDD文に記述されたパラメタから表5のフォルダー作成順位に基づいて、フォルダーを順に下降してネスト(入れ子構造)化して作成する。例えば、JCLのDD文に、UNIT=a、VOL=SER=b、LABEL=(c,d)およびDSN=e(eはホスト上のデータセット名で、オープン環境のファイル名に使用)の記述があるとき、次のようにフォルダー(a)を作成、(a)の下のフォルダー(b)を作成、(b)の下にフォルダー(cd)を作成して、最下位のフォルダー(cd)の下にファイル(e)を作成する。   Whether the file is input or the file is output based on the rules shown in Table 5, the location of the file can be specified. This file creation rule is for deciding the creation position of a file in an open environment, and the files are sequentially assigned to the folders based on the folder creation order shown in Table 5 from the parameters described in the DD statement of JCL. Descent and create a nested structure. For example, in the DD statement of JCL, description of UNIT = a, VOL = SER = b, LABEL = (c, d) and DSN = e (e is the data set name on the host, used for the file name in the open environment) When there is, create folder (a) as follows, create folder (b) under (a), create folder (cd) under (b), and create the lowest folder (cd) Create a file (e) under

尚、DD文パラメタについて常に全てのパラメタの記述があるとは限らないため、一部のパラメタの記述がないときは該当パラメタのフォルダー作成を不要としてフォルダー作成順を前詰めしてファイルを作成する。例えば、上記の例でLABEL=(c,d)のパラメタ記述がないときは、フォルダー(a)、(b)を作成して、最下位のフォルダー(b)の下にファイル(e)を作成する。また、DD文パラメタにDISP=Xが存在して、Xが(NEW)を含む値のときは上記の該当フォルダーが存在しなければフォルダーを作成し、存在すればフォルダーを作成しないものとして、最下位フォルダーの下にファイルを作成する。また、Xが(SHR)または(OLD)を含む値のときはフォルダーおよびファイルを作成せず、ファイル作成ルールに基づいてファイルを参照するものとする。   In addition, since there is not always a description of all parameters for DD statement parameters, when there is no description of some parameters, folder creation of the relevant parameters is not necessary, and a file is created with the folder creation order aligned. . For example, if there is no parameter description of LABEL = (c, d) in the above example, create folders (a) and (b) and create file (e) under the lowest folder (b) To do. Also, if DISP = X exists in the DD statement parameter and X is a value including (NEW), the folder is created if the corresponding folder does not exist, and if it exists, the folder is not created. Create a file under the lower folder. Further, when X is a value including (SHR) or (OLD), a folder and a file are not created, and a file is referred to based on a file creation rule.

従って、表5に示したようにDD文のDISP(Disposition)オペランドが、ファイルの新規作成を意味するパラメタ(例では‘NEW’)を含む値のときは前述の該当フォルダーが存在しなければ新たにフォルダーを作成し、存在すればフォルダーを作成しないことにより、最下位フォルダーの下にファイルを作成する。また、DISPオペランドがファイルの参照または更新を意味するパラメタ(例では‘SHR’または‘OLD’)を含む値のときは前述の該当フォルダーおよびファイルを作成せず、ファイル作成ルールに基づいたファイルの位置を特定して該当ファイルを参照するものとする。図7のプログラムとJCLの連携例に示すようにJCL中の4行目のDD文(DD名がINP01)では、DISPオペランドがファイルの参照を意味するパラメタ(例では‘SHR’)のため前述の表5のファイル作成ルールに基づいてフォルダー(例ではDASD)の下に存在するファイル(例ではTEST.IDATA)を参照することになり、JCL中の5行目のDD文(DD名がOUT01)では、DISPオペランドにファイルの新規作成を意味するパラメタ(例では‘NEW’)を含むため前述の表5のファイル作成ルールに基づいてフォルダー(例ではMTの下のVSN001の下の01SL)の下にファイル(例ではTEST.ODATA)を作成するが、各フォルダーが存在しなければ作成するものとする。これにより、本実施形態においては、JCL体系を変更することなく、プログラムを変更することなく、移行資産をサーバ上で動作可能とすることができる。   Therefore, as shown in Table 5, if the DISP (Disposition) operand of the DD statement has a value that includes a parameter (“NEW” in the example) that signifies the creation of a new file, a new one is created if the corresponding folder does not exist. Create a folder under the lowest folder by creating a folder at the bottom and not creating a folder if it exists. Also, if the DISP operand has a value that includes a parameter (“SHR” or “OLD” in the example) that indicates file reference or update, the corresponding folder and file are not created, and the file based on the file creation rule is not created. The file is identified and the corresponding file is referenced. As shown in the example of linkage between the program and JCL in FIG. 7, in the DD statement (DD name is INP01) on the fourth line in the JCL, the DISP operand is a parameter (“SHR” in the example) indicating a file reference. Based on the file creation rules in Table 5, the file (TEST.IDATA in the example) existing under the folder (DASD in the example) is referred to, and the DD statement (DD name is OUT01 in the fifth line in the JCL). ), The DISP operand includes a parameter (“NEW” in the example) meaning that a file is newly created. Based on the file creation rule in Table 5 above, the folder (01SL under VSN001 under MT in the example) A file (TEST.ODATA in the example) is created below, but if each folder does not exist, it is created. Thereby, in this embodiment, it is possible to make the migrated asset operable on the server without changing the JCL system and without changing the program.

[帳票(画面)の変換処理の説明]
本実施形態によるソフトウェア資源移行システムは、ホスト上のプログラム以外のソフトウェア資産である帳票(画面)の変換から、ダウンサイジング後の帳票(画面)出力を有するプログラムを実行するものであり、この帳票(画面)の変換処理を図2D及び図2Eのフローを参照して説明する。
[Description of form (screen) conversion process]
The software resource migration system according to the present embodiment executes a program having a form (screen) output after downsizing from conversion of a form (screen) that is a software asset other than the program on the host. Screen) conversion processing will be described with reference to the flowcharts of FIGS. 2D and 2E.

本実施形態による帳票(画面)の変換処理は、変換ツール270が、図2Dに示す如く、ホストシステムの帳票(画面)定義情報122を読み込むステップS31と、この定義情報の読み込みが終了したか否かを判定し、終了したと判定したときに後述のステップS35に移行するステップS32と、該ステップS32により読み込みが終了していないと判定したとき、読み込んだ定義情報中の定義情報が文字・けい線の定義かどうかの判定し、文字・けい線でないと判定したときにステップS35に移行するステップS33とを実行する。このステップS33による判定は、下記表6の帳票(画面)変換ルールの例における変換前の定義文の中の横けい線部(表6の例ではHorizontal Line部)・縦けい線部(表6の例ではVertical Line部)や文字部(表6の例ではText部)等が存在するか否かにより行う。   In the form (screen) conversion process according to the present embodiment, the conversion tool 270 reads the form (screen) definition information 122 of the host system as shown in FIG. 2D, and whether or not the definition information has been read. When it is determined that the reading has been completed, step S32 goes to step S35, which will be described later, and when it is determined that reading has not ended in step S32, the definition information in the read definition information is the character / key. It is determined whether or not the definition is a line, and when it is determined that the line is not a character / silent line, step S33 is executed to shift to step S35. In step S33, the determination is made in the horizontal line part (horizontal line part in the example of Table 6) and vertical line part (Table 6) in the definition sentence before conversion in the example of the form (screen) conversion rule in Table 6 below. In this example, the determination is made based on whether or not there is a Vertical Line portion) or a character portion (Text portion in the example of Table 6).

Figure 2010205068
Figure 2010205068

前記ステップS33において定義情報が文字・けい線の定義と判定したとき、本変換処理は、表6の帳票(画面)変換ルールの例のように、変換前の横けい線部(表6の例ではHorizontal Line部)・縦けい線部(表6の例ではVertical Line部)や文字部(表6の例ではText部)を変換後の例の始点x座標・始点y座標、終点x座標・終点y座標等へ変換することによって、文字・けい線の定義をサーバ上の定義情報へ変換するステップS34と、変換後の文字・けい線の修正があるかどうかを判定するステップS35と、図8に示した帳票(画面)の変換の例(帳票(書式)定義名がN001の例)における吹き出しの定義文の中の横線部・縦線部および文字部の値を修正することによって、変換後の文字・けい線の定義を修正するステップS36とを実行する。   When it is determined in step S33 that the definition information is a character / silent line definition, the conversion processing is performed as shown in the table (screen) conversion rule in Table 6 before the conversion (the example in Table 6). Horizontal Line portion), vertical line portion (Vertical Line portion in the example of Table 6) and character portion (Text portion in the example of Table 6) after conversion of the start point x coordinate, start point y coordinate, end point x coordinate, Step S34 for converting the definition of the character / silent line to the definition information on the server by converting to the end point y-coordinate, etc., step S35 for determining whether or not the character / silent line after the conversion is corrected, By changing the values of the horizontal line / vertical line part and character part in the balloon definition sentence in the form (screen) conversion example (example where the form (format) definition name is N001) shown in FIG. The last character -Step S36 for correcting the definition of the wire is executed.

前述した定義情報の変換は、例えば、変換前の横線定義が命令文を含む「 Horizontal Line SP(050,005),LENGTH(032)」であったものを、変換後においては、「始点x座標:300、始点y座標:70、終点x座標:492、終点y座標:70」の如く、座標情報に変換するものであり、この変換方法は、帳票の変換前ページの左上を起点に横方向文字位置をa(桁/インチ)、行位置をb(行/インチ)として、線の長さをc、文字の幅をdとしたとき、これらの値をもとに帳票を変換するため定義情報として、横方向文字間隔をα(ドット)、行間隔をβ(ドット)、フォントタイプをデフォルトで明朝としたときのフォントサイズを算出する乗数をγとしたとき、当該ルールの例では、横方向文字間隔のαを6、行間隔のβを14、フォントサイズの算出乗数のγを0.275と仮定する(γは、この例ではeが40のときフォントサイズが11となるため逆算して求めた結果、0.275となる)。尚、資産移行の際の出力装置(プリンタ等)のスペックにより、変換前後の帳票のけい線等の位置が若干ずれる可能性があるため、その際はα、β、γの値を変更することとする。   In the conversion of the definition information described above, for example, the horizontal line definition before conversion is “Horizontal Line SP (050, 005), LENGTH (032)” including a command sentence. : 300, start point y-coordinate: 70, end point x-coordinate: 492, end point y-coordinate: 70, etc., and this conversion method uses the upper left of the pre-conversion page of the form as a starting point in the horizontal direction. Defined to convert a form based on these values, where the character position is a (digits / inch), the line position is b (line / inch), the line length is c, and the character width is d. As information, when the horizontal character spacing is α (dots), the line spacing is β (dots), and the multiplier for calculating the font size when the font type is Mincho by default is γ, in the example of the rule, Lateral direction Assume that the character spacing α is 6, the line spacing β is 14, and the font size calculation multiplier γ is 0.275 (in this example, when e is 40, the font size is 11, so back calculation is performed. The result is 0.275). Note that the position of the line of the form before and after conversion may be slightly shifted depending on the specifications of the output device (printer, etc.) at the time of asset transfer. In this case, change the values of α, β, and γ. And

次に本実施形態による帳票(画面)の変換処理は、帳票(画面)定義の変換後にサーバ上で該当の帳票(画面)出力を有するプログラムを実行する。この帳票(画面)出力処理手順は、図2Eに示す如く、変換ツール270が、前記図2Dの処理により変換した該当プログラムを実行するステップS41と、図9の帳票(画面)の出力の例のように、JCL中の帳票出力を行うDD名(例ではSYSOUT)にあるFCBパラメタ(例では帳票(書式)定義名がN001)から該当帳票(N001)のイメージ情報を図9の(a)のように出力エリアへ出力することによって、変換後の帳票(画面)の文字・けい線のイメージ情報を出力エリアへ出力するステップS42と、プログラムが実行終了かどうかを判定し、終了と判定したときに後述のステップS46に移行するステップS43とを実行する。   Next, in the form (screen) conversion process according to the present embodiment, a program having the corresponding form (screen) output is executed on the server after the form (screen) definition is converted. As shown in FIG. 2E, this form (screen) output processing procedure is an example of step S41 in which the conversion tool 270 executes the corresponding program converted by the process of FIG. 2D and the output of the form (screen) in FIG. As described above, the image information of the corresponding form (N001) from the FCB parameter (in the example, the form (format) definition name is N001) in the DD name (SYSOUT in the example) for outputting the form in JCL is shown in FIG. As described above, by outputting to the output area, step S42 for outputting the character / silent line image information of the converted form (screen) to the output area, and determining whether or not the execution of the program is finished, Then, step S43 to be transferred to step S46 described later is executed.

次いで本帳票(画面)出力処理手順は、ステップS43において実行終了でないと判定したとき、その実行処理が帳票(画面)データの出力処理かどうかの判定を行い、該当の出力処理でないと判定したときにステップS43に戻るステップS44と、該ステップS44において該当の出力処理であると判定したとき、図9の帳票(画面)の出力の例に示す如くプログラム中のINPUT−OUTPUT SECTIONにおいて記述されたDD名(例ではSYSOUT)に該当するファイル定義のレコードをデータとして出力することにより図9の(b)に示す如くデータのみ出力を行うことによって、該当データを出力エリアの該当部分へ出力し、ステップS43に戻るステップS45と、前記ステップS43において実行終了と判定したとき、図9の帳票(画面)の出力の例における(a)と(b)を合成することによって、帳票(画面)のイメージ情報と帳票(画面)のデータを一緒にした図9(c)に示す帳票(画像)をポストスクリプトへ変換して出力するステップS46を実行する。   Next, when it is determined in step S43 that the execution process of this form (screen) is not the end of execution, it is determined whether the execution process is an output process of form (screen) data, and it is determined that it is not the corresponding output process. Returning to step S43, when it is determined in step S44 that the corresponding output processing is performed, the DD described in the INPUT-OUTPUT SECTION in the program as shown in the output example of the form (screen) in FIG. By outputting only the data as shown in FIG. 9B by outputting the file definition record corresponding to the name (SYSOUT in the example) as data, the corresponding data is output to the corresponding part of the output area, and the step In step S45, the process returns to S43, and in step S43, it is determined that execution has ended. 9 (c) in which the image information of the form (screen) and the data of the form (screen) are combined by combining (a) and (b) in the output example of the form (screen) in FIG. Step S46 for converting the form (image) shown in FIG.

本実施形態による帳票(画面)出力処理手順は、前述の一連の処理によって、ホストシステム上のソフトウェア資産であるプログラムを変更することなく、JCLおよび帳票(画面)との関連性を保って資産移行してサーバシステム上で動作可能とすることができる。   The form (screen) output processing procedure according to the present embodiment is an asset migration process that maintains the relationship between JCL and forms (screens) without changing the program that is a software asset on the host system by the series of processes described above. Thus, it can be operated on the server system.

尚、帳票(画面)を出力した際に出力装置(プリンタ等)のスペック等によって、プログラム実行処理で出力した帳票(画面)において変換前後の文字・けい線の位置が若干相違することがあるため、その際は表6の帳票(画面)変換ルールにおける乗数α、β、γの値を変更して位置調整を行うこととする。具体的には、図2Dにおけるステップ31からステップ36の処理を繰り返して、図8の帳票(画面)の変換の例における文字・けい線の定義を修正することになる。   Note that when a form (screen) is output, the positions of characters and lines before and after conversion in the form (screen) output by the program execution process may be slightly different depending on the specifications of the output device (printer, etc.). In this case, the position adjustment is performed by changing the values of the multipliers α, β, and γ in the form (screen) conversion rule of Table 6. Specifically, the processing from step 31 to step 36 in FIG. 2D is repeated to correct the character / line definition in the form (screen) conversion example in FIG.

[ダウンサイジング検証処理の説明]
次にホストシステムからサーバシステムへのダウンサイジング作業実施後のプログラムの実行および実行後にホストの結果ファイルとサーバで実行した結果ファイルを比較してダウンサイジング作業の妥当性を検証する検証処理を図2Fを参照して説明する。
[Description of downsizing verification process]
Next, FIG. 2F shows a verification process for verifying the validity of the downsizing work by executing the program after the downsizing work from the host system to the server system and comparing the result file of the host with the result file executed on the server after the execution. Will be described with reference to FIG.

この検証処理は、図2Fに示す如く、まずサーバシステム200上の該当ジョブを起動するステップS51と、当該プログラムの実行を開始するステップS52と、該プロクラム実行による入力ファイルを入力するステップS53と、実行オブジェクトであるプログラム処理を行うステップS54と、該プログラム処理による結果ファイルを出力するステップS55と、当該プログラム実行を終了するステップS56と、サーバシステムの該当プログラムの結果ファイルとホストサーバの該当プログラムの結果ファイルとの比較を開始するステップS57を実行する。   As shown in FIG. 2F, the verification process includes a step S51 for starting a corresponding job on the server system 200, a step S52 for starting execution of the program, a step S53 for inputting an input file by the program execution, Step S54 for performing program processing as an execution object, Step S55 for outputting a result file by the program processing, Step S56 for ending the program execution, result file of the corresponding program of the server system, and corresponding program of the host server Step S57 for starting comparison with the result file is executed.

次いで本検証処理は、前記比較ツール273が、ホストシステムからコピーした結果ファイル230を読み込むステップS58と、サーバシステムで実行した結果ファイル260を読み込むステップS59と、これらステップS58及び59による両ファイル共に読み込み終了か否かを判定し、読み込み終了と判定したときに処理を終了するステップS60と、該ステップS60において両ファイル共に読み込みが終了していないと判定したとき、両ファイルの結果データを1バイト単位に比較して値が一致するかどうかの判定を行い、一致すると判定したときに後述のステップS63に移行するステップS61と、該ステップS61において、一致しないと判定したとき、不一致の結果データ情報を出力するステップS61と、該ステップS63又はステップS60において読み込み終了と判定したとき、LOGを出力するステップS63を実行する。   Next, in the verification process, the comparison tool 273 reads the result file 230 copied from the host system, the step S59 reads the result file 260 executed in the server system, and both the files by these steps S58 and 59 are read. Step S60 that terminates the process when it is determined whether or not the reading is completed, and when it is determined that the reading of both files is not completed in step S60, the result data of both files is expressed in units of 1 byte. In step S61, the process proceeds to step S63, which will be described later when it is determined that the values match, and in step S61, the result data information indicating that the values do not match is determined. Outputting step S61 and the step When it is determined that the reading ends in 63 or step S60, it executes the step S63 of outputting the LOG.

前記ステップS61による両ファイルの結果データを1バイト単位に比較して値が一致するかどうかの判定は、図10の結果データ比較例の(b)「不一致ありの例」に示す如く、「Input File 1」と「Input File 2」を1バイト単位に比較することよって行う。この(b)「不一致ありの例」の例では「Input File 1」の10バイト目が10進数で‘9’(16進数ではX’F9’)、「Input File 2」の10バイト目が10進数で‘0’(16進数ではX’F0’)のため、不一致であることが判定される。尚、図10(a)は、(a)は全件一致の例である。   The result data of both files in step S61 are compared in units of 1 byte to determine whether or not the values match, as shown in (b) “Example of mismatch” in the result data comparison example of FIG. This is done by comparing “File 1” and “Input File 2” in units of 1 byte. In the example of (b) “example with mismatch”, the 10th byte of “Input File 1” is decimal number “9” (X′F9 ′ in hexadecimal number), and the 10th byte of “Input File 2” is 10 Since it is' 0 'in hexadecimal (X'F0' in hexadecimal), it is determined that there is a mismatch. FIG. 10A shows an example in which (a) matches all cases.

このように本実施形態による検証処理は、によれば、ダウンサイジング実施前のホストシステムの結果ファイルとダウンサイジング実施後のサーバシステムの結果ファイルを容易に比較してダウンサイジング作業の妥当性を検証することができる。   As described above, according to the verification process according to the present embodiment, the validity of the downsizing operation is verified by easily comparing the result file of the host system before the downsizing and the result file of the server system after the downsizing. can do.

[ユーティリティー処理の説明]
次に本例のダウンサイジング作業において、ホスト上のソフトウェア資産であるJCLを変更することなく移行するために、JCLから起動するユーティリティーについて図1で述べたようにサーバシステム上にホストシステムと同等機能のユーティリティーを用意して移行する例を示す処理を図5を参照して説明する。
[Description of utility processing]
Next, in the downsizing work of this example, in order to migrate without changing the JCL which is the software asset on the host, the utility started from the JCL has the same function as the host system on the server system as described in FIG. A process showing an example of preparing and transferring the utility will be described with reference to FIG.

このユーティリティー処理は、ホストシステム100のプログラムが、元データとなる「File1」を入力としたプログラムである「PROGRAM1」が、データである「FILE3」及びパラメタである「PARAMETER」を参照してユーティリティーである「SORT&MARGE」によりソート及びマージを実行し、この結果データである「FILE4」をパラメタである「PARAMETER」を参照し、印刷ユーティティーである「PRINT」によりレポートを印刷する一連の処理を行うものとし、前記「PROGRAM1」「SORT&MERGE」「PRINT」がJCLにて起動されるジョブとする。   In this utility process, the program of the host system 100 refers to “PROGRAM1” which is a program in which “File1” serving as the original data is input, with reference to “FILE3” which is data and “PARAMETER” which is a parameter. Sorting and merging is performed by a certain “SORT & MARGE”, the result data “FILE4” is referred to as a parameter “PARAMETER”, and a series of processes for printing a report by a printing utility “PRINT” is performed. “PROGRAM1”, “SORT & MERGE”, and “PRINT” are jobs activated by JCL.

さて、前述のホストシステムのユーティリティーをサーバへ移行する際、従来ではホスト側と同等機能のユーティリティーがサーバ側で用意されていない場合、図5の符号200aの「サーバ(JCL変更あり」に示す如く、既存プログラムである「PROGRAM1」に加え、ホスト側のユーティリティー「SORT&MERGE」と同機能を成す「PROGRAM2」、「PROGRAM3」、「PROGRAM4」を追加すると共に、ホスト側のユーティリティー「PRINT」と同機能を成す「PROGRAM5」を追加することが必要となり、新規にプログラムを4本作成すると共にJCLの変更が発生する。   When a utility having the same function as that of the host side is not prepared on the server side when the above-mentioned host system utility is migrated to the server, as indicated by “server (with JCL changed)” of reference numeral 200a in FIG. In addition to the existing program “PROGRAM1”, “PROGRAM2”, “PROGRAM3” and “PROGRAM4” which have the same function as the host-side utility “SORT & MERGE” are added, and the same function as the host-side utility “PRINT” is added. It is necessary to add “PROGRAM 5” to be created, and four new programs are created and a change in JCL occurs.

これに対して本実施形態による処理は、図5の符号200bの「サーバ(JCL変更なし」に示す如く、サーバ側で「SORT&MERGE」及び「PRINT」を予め用意しておき、このサーバ側ユーティリティーをプログラム進行に従って実行させることによって、ホスト上のシフトウェア資産であるJCLを変更することなく、新たにプログラムを新規作成することなく既存のプログラムのままで移行することができ、且つ、運用方法の見直しが不要となる。尚、サーバ側で予め用意するユーティリティーは前記の例に限られるものではなく、旧資産のCOBOLで使用される汎用的な各種ユーティリティーを全て用意しておくものである。   On the other hand, in the processing according to the present embodiment, “SORT & MERGE” and “PRINT” are prepared in advance on the server side as indicated by “server (no JCL change)” of reference numeral 200b in FIG. By executing the program according to the progress of the program, it is possible to migrate without changing the JCL, which is a shiftware asset on the host, without creating a new program, and reviewing the operation method Note that the utility prepared in advance on the server side is not limited to the above-described example, and all general-purpose utilities used in the old asset COBOL are prepared.

このように本実施形態によるソフトウェア資源移行システムは、図2A〜図2Bを主に参照して説明した如く、ダウンサイジング用コンパイラ290が、プログラムの命令文と該命令文に対応する複数ケース毎のランタイム名を格納したランタイムテーブルを有し、制御手段が、ホスト用のプログラムソース内の命令文にランタイムテーブルに格納されたOSや入出力に関与する命令文が含まれているか否かを判定する第1工程と、該第1工程においてランタイムテーブルに格納されたOSや入出力に関与する命令文が含まれていると判定したとき、ランタイムテーブルの命令文に対応するケースをコンパイラのパラメタとして指定する第2工程と、ホスト用プログラムソースをサーバ用の機械語にコンパイルするとき、ソースコードを読み込んでトークンに分解する第3工程と、該第3工程により分解したトークンの列を基にプログラムの木構文を構築し、該構築したプログラムの木構文からコンパイラがソースコードを処理した結果生成される中間的なコード表現であるオブジェクトコードを生成する第4工程と、該第4工程により生成したオブジェクトコードの命令文にランタイム呼出が必要か否かを前記ランタイムテーブルに該当命令文の処理が格納されているかによって判定する第5工程と、該第5工程によってランタイム呼出が必要と判定したとき、前期命令文のコンパイルにパラメタ指定があるか否かを前記ランタイムテーブルを参照して判定する第6工程と、該第6工程において命令文のコンパイルにパラメタ指定があると判定したとき、前記第1のメモリに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバ実行オブジェクトに挿入する第7工程を実行する。これにより、サーバシステム用にホストのプログラムソースをコンパイルすることができる。   As described above, in the software resource migration system according to the present embodiment, as described mainly with reference to FIGS. 2A to 2B, the downsizing compiler 290 performs the program statement and the plural cases corresponding to the statement. A runtime table having a runtime name is stored, and the control unit determines whether or not a command statement in the host program source includes a command statement related to the OS or input / output stored in the runtime table. When it is determined that the first step and a statement related to the OS and input / output stored in the runtime table in the first step are included, the case corresponding to the statement in the runtime table is specified as a compiler parameter. When compiling host program source into server machine language, read the source code The third step of decomposing into tokens and constructing the tree syntax of the program based on the sequence of tokens decomposed in the third step, and generated as a result of the compiler processing the source code from the tree syntax of the constructed program A fourth step of generating an object code that is an intermediate code expression, and whether or not a runtime call is necessary for the statement of the object code generated by the fourth step is stored in the runtime table in the processing of the corresponding statement. A sixth step for determining whether or not a runtime call is necessary in the fifth step, referring to the runtime table to determine whether or not a parameter is specified for compiling the previous statement. And when it is determined in the sixth step that there is a parameter specification in the compilation of the statement, it is stored in the first memory. And generating object code to invoke the runtime executes a seventh step of inserting the server execution object compiled object code thus generated. This allows the host program source to be compiled for the server system.

これを具体的に説明すると本実施形態によるソフトウェア資源移行システムは、ホスト側のプログラムソースをサーバ側のプログラムソースにコンパイラするとき、ダウンサイジング用コンパイラ290が、前述した図2BのステップS19にて指定したパラメタを読み込み、該パラメタにより指定されるランタイムを用いてコンパイルを実行することによって、例えば、図3を主に参照して説明した如く、パラメタが「READ命令のケース1」及び「WRITE命令のケース1」のとき、表1のランタイムテーブルの「RUNTIME41」及び「RUNTIME32」を実行することによって、元のプログラムソースにランタイムをコールする命令を埋め込む様に変換することによって、指示されたコード変換(「シフトJIS」→「EBCDIC」、「EBCDIC」→「シフトJIS」)を行うことができる。このデータ形式の変換は、図4に示した如きホスト側の「EBCDIC」をサーバ側の周辺装置に使用される「シフトJIS」に変換するときも行うことができる。   Specifically, in the software resource migration system according to the present embodiment, when the host-side program source is compiled into the server-side program source, the downsizing compiler 290 specifies in step S19 in FIG. 2B described above. By executing the compilation using the runtime specified by the parameter, for example, as described mainly with reference to FIG. 3, the parameters are “READ instruction case 1” and “WRITE instruction In the case of “Case 1”, by executing “RUNTIME 41” and “RUNTIME 32” in the runtime table of Table 1, by performing conversion so as to embed an instruction for calling the runtime in the original program source, the indicated code conversion ( “Shift JIS” → “ BCDIC "," EBCDIC "→" Shift-JIS ") can be carried out. This data format conversion can also be performed when converting “EBCDIC” on the host side as shown in FIG. 4 to “Shift JIS” used for the peripheral device on the server side.

更に、前記ホストシステムのコンピュータにより特定の機能を実行するユーティリティーソフトウェアを格納する第2のメモリと、該第2のメモリに格納したユーティリティーソフトウェアを起動するプログラムであるJCLを格納するJCLメモリと、サーバシステムのコンピュータにおいて前記ホストシステムのユーティリティーソフトウェアと同機能のユーティリティーソフトウェアを格納する第3のメモリと、前記ホストシステムの第2のメモリに格納したユーティリティーソフトウェアの名称と該名称のユーティリティーソフトウェアと同機能のユーティリティーソフトウェアが前記第3のメモリに格納されているか否かを示す有無情報を格納するユーティリティーテーブルと、ホストシステム用のJCLをサーバ用に変換するための変換ルール情報を格納するJCL変換ルールメモリと、前記JCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換するJCL変換ツールとを有し、前記JCL変換ツールが、前記JCLメモリに格納したJCLを読み込み、該読み込んだJCLが起動するユーティリティーソフトウェアが、前記第3のメモリに格納されているか否かを前記ユーティリティーテーブルの有無情報を参照して判定する第8工程と、該第8工程において読み込んだJCLが起動するユーティリティーソフトウェアが第3のメモリに格納されていると判定したとき、前記JCL変換ツールにより、JCL変換ルールメモリに格納した変換ルール情報に基づいてJCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換する第9工程とを実行する。   Further, a second memory for storing utility software for executing a specific function by the computer of the host system, a JCL memory for storing JCL which is a program for starting the utility software stored in the second memory, and a server A third memory for storing utility software having the same function as the utility software of the host system in a computer of the system; a name of the utility software stored in the second memory of the host system; A utility table for storing presence / absence information indicating whether or not utility software is stored in the third memory, and JCL for the host system are converted for the server A JCL conversion rule memory that stores the conversion rule information of the host, and a JCL conversion tool that converts the JCL for the host stored in the JCL memory into the JCL for the server with reference to the conversion rule information, and the JCL The conversion tool reads the JCL stored in the JCL memory, and determines whether utility software activated by the read JCL is stored in the third memory with reference to the utility table presence / absence information. When it is determined that the utility software that is activated in the eighth step and the JCL read in the eighth step is stored in the third memory, the JCL conversion tool stores the conversion rule information stored in the JCL conversion rule memory. Based on the above, the host JCL stored in the JCL memory is changed. Referring to the rule information to execute a ninth step of converting the JCL for the server.

更に本実施形態によるソフトウェア資源移行システムは、変換ツール270が、ホスト側の線横線/縦線の種別を示す「線種(Horizontal/Vertical)」と、帳票又は画面の左上端を基準として横文字位置(a)及び縦文字位置(b)と、線の「長さ」を指定するベクトル形式の帳票情報や画面情報を、表6に示す如く、始点のXY座標及び終点のXY座標に変換することによって、ホスト側におけるベクトル形式の帳票情報や画面情報をサーバ側のプリンタや表示装置用の座標情報に変換する第10工程を実行することによって、サーバシステム側において帳票印字及び表示を行うことができる。   Further, in the software resource migration system according to the present embodiment, the conversion tool 270 displays the horizontal line position / horizontal line type on the host side and the horizontal character position on the basis of the form or the upper left corner of the screen. (A) and vertical character position (b) and vector form form information and screen information for designating the “length” of the line are converted into the XY coordinates of the start point and the XY coordinates of the end point as shown in Table 6. By executing the tenth step of converting vector format form information and screen information on the host side into coordinate information for the server side printer and display device, the form printing and display can be performed on the server system side. .

更に本実施形態によるソフトウェア資源移行システムは、ホストシステム100が、ホストプログラムソースを機械語のホスト実行プログラムに実行するホストコンパイラ110と、データを入力として前記ホストコンパイラを実行した結果であるホスト結果ファイルデータを出力するホストコンピュータ160とを有し、サーバシステム200が、前記データを入力とし、ダウンサイジング用コンパイラ290が機械語にコンパイルしたサーバ実行オブジェクトを実行してサーバ結果ファイルデータを出力するサーバコンピュータ270と、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを比較する比較ツール273とを有し、該比較ツール273が、ホスト結果ファイルデータとサーバ結果ファイルデータとを1バイト単位で比較し、不一致の結果ファイルを出力する第11工程とを実行することによって、ダウンサイジング作業における結果ファイルの検証を行うことができる。   Furthermore, in the software resource migration system according to the present embodiment, the host system 100 executes a host compiler 110 that executes a host program source as a machine language host execution program, and a host result file that is a result of executing the host compiler with data as input. A server computer that outputs data, and the server system 200 receives the data, executes a server execution object compiled by the downsizing compiler 290 into machine language, and outputs server result file data 270 and a comparison tool 273 for comparing the host result file data and the server result file data. The comparison tool 273 converts the host result file data and the server result file data into single bytes. In comparison, by performing the 11th step of outputting a mismatch result file, it is possible to verify the result file in downsizing operations.

10:外部システム、11:ホスト系プリンタ、16:オンライン端末、17:オープン系プリンタ、100:ホストシステム、110:コンパイラ、120:ホスト資産、121:プログラムソース、122:画面・帳票情報、140:ホスト入力ファイル、150:ホスト結果ファイル、160:ホストコンピュータ、161:実行オブジェクト、200:サーバシステム、210:サーバ資産、211:プログラムソース、212:画面・帳票情報、213:ユーティリティー、220:ホスト入力ファイル、230:ホスト結果ファイル、250:サーバ入力ファイル、260:ファイルサーバ結果ファイル、270:サーバコンピュータ、275:変換ツール、271:サーバ実行オブジェクト、272:変換ツール、273:比較ツール、281:レポート、290:ダウンサイジング用コンパイラ。   10: External system, 11: Host printer, 16: Online terminal, 17: Open printer, 100: Host system, 110: Compiler, 120: Host asset, 121: Program source, 122: Screen / form information, 140: Host input file, 150: Host result file, 160: Host computer, 161: Execution object, 200: Server system, 210: Server asset, 211: Program source, 212: Screen / form information, 213: Utility, 220: Host input File: 230: Host result file, 250: Server input file, 260: File server result file, 270: Server computer, 275: Conversion tool, 271: Server execution object, 272: Conversion tool, 273: Ratio Tool, 281: report, 290: compiler for down sizing.

Claims (8)

ホストシステムのコンピュータが動作するホスト用文法により命令文が書かれたホストプログラムソースをサーバプログラムソースとし、該サーバプログラムソースを機械語の実行オブジェクトにコンパイルするダウンサイジング用コンパイラを備えるソフトウェア資源移行システムであって、
前記ダウンサイジング用コンパイラが、
前記ホストプログラムソースのOS又は入出力に関与する命令文と該命令文に対応する複数の処理方法情報毎のソフトウェアモジュールであるランタイム名を格納したランタイムテーブルと、該ランタイム名に対応するランタイムを格納する第1のメモリとを有し、
前記ホストプログラムソースを入力とし、該ホストプログラムソースに前記ランタイムテーブルに格納されたOS又は入出力に関与する命令文が含まれているか否かを判定する第1工程と、
該第1工程においてOS又は入出力に関与する命令文が含まれていると判定したとき、前記ランタイムテーブルの命令文に対応する処理方法情報に対応するランタイム名により指示されたランタイムをコンパイラのパラメタとして指定する第2工程と、
前記ホスト用のプログラムソースを読み込み、プログラミング言語においてソースコード中の文字列の中で意味を持つ最小単位の字句であるトークンに分解する第3工程と、
該第工程3により分解したトークンの列を基にプログラムの木構文を構築し、該構築したプログラムの木構文からコンパイラがソースコードを処理した結果生成される中間的なコード表現であるオブジェクトコードを生成する第4工程と、
該第4工程により生成したオブジェクトコードの命令文にランタイム呼出が必要か否かを前記ランタイムテーブルに該当命令文の処理が格納されているかによって判定する第5工程と、
該第5工程によってランタイム呼出が必要と判定したとき、前記命令文のコンパイルにパラメタ指定があるか否かを前記ランタイムテーブルを参照して判定する第6工程と、
該第6工程において命令文のコンパイルにパラメタ指定があると判定したとき、前記第1のメモリに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバ実行オブジェクトに挿入する第7工程を実行するソフトウェア資源移行システム。
A software resource migration system having a downsizing compiler that compiles a server program source into a machine language execution object, with a host program source in which a statement is written in a host grammar on which a computer of the host system is operating as a server program source There,
The downsizing compiler is
A runtime table that stores a runtime name that is a software module for each of a plurality of processing method information corresponding to an OS or input / output of the host program source, and a runtime corresponding to the runtime name is stored. And a first memory that
A first step of receiving the host program source as input and determining whether the host program source includes an OS or an instruction related to input / output stored in the runtime table;
When it is determined in the first step that a statement relating to the OS or input / output is included, the runtime indicated by the runtime name corresponding to the processing method information corresponding to the statement in the runtime table is set as a parameter of the compiler. A second step designated as
A third step of reading the program source for the host and decomposing the program source into tokens, which are words and phrases of the smallest unit having meaning in a character string in the source code in a programming language;
An object code that is an intermediate code expression generated as a result of processing the source code by the compiler from the tree syntax of the constructed program is constructed based on the token sequence decomposed in the third step 3. A fourth step to generate;
A fifth step of determining whether or not a runtime call is necessary for the statement of the object code generated in the fourth step based on whether or not the processing of the corresponding statement is stored in the runtime table;
A sixth step of determining whether or not there is a parameter specification for compiling the statement when the runtime call is determined to be necessary in the fifth step;
When it is determined in the sixth step that there is a parameter specification for compiling the statement, object code is generated so as to call the runtime stored in the first memory, and the generated object code is compiled into the compiled server execution object. A software resource migration system for executing a seventh step of insertion.
前記ホストシステムのコンピュータにより特定の機能を実行するユーティリティーソフトウェアを格納する第2のメモリと、該第2のメモリに格納したユーティリティーソフトウェアを起動するプログラムであるJCLを格納するJCLメモリと、サーバシステムのコンピュータにおいて前記ホストシステムのユーティリティーソフトウェアと同機能のユーティリティーソフトウェアを格納する第3のメモリと、前記ホストシステムの第2のメモリに格納したユーティリティーソフトウェアの名称と該名称のユーティリティーソフトウェアと同機能のユーティリティーソフトウェアが前記第3のメモリに格納されているか否かを示す有無情報を格納するユーティリティーテーブルと、ホストシステム用のJCLをサーバ用に変換するための変換ルール情報を格納するJCL変換ルールメモリと、前記JCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換するJCL変換ツールとを有し、
前記JCL変換ツールが、
前記JCLメモリに格納したJCLを読み込み、該読み込んだJCLが起動するユーティリティーソフトウェアが、前記第3のメモリに格納されているか否かを前記ユーティリティーテーブルの有無情報を参照して判定する第8工程と、
該第8工程において読み込んだJCLが起動するユーティリティーソフトウェアが第3のメモリに格納されていると判定したとき、前記JCL変換ツールにより、JCL変換ルールメモリに格納した変換ルール情報に基づいてJCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換する第9工程とを実行する請求項1記載のソフトウェア資源移行システム。
A second memory for storing utility software for executing a specific function by the computer of the host system; a JCL memory for storing JCL which is a program for starting the utility software stored in the second memory; A third memory storing utility software having the same function as the utility software of the host system in the computer; a name of the utility software stored in the second memory of the host system; and a utility software having the same function as the utility software of the name A utility table for storing presence / absence information indicating whether or not is stored in the third memory, and a variable for converting JCL for the host system to the server. Includes a JCL conversion rule memory for storing rule information, and a JCL conversion tool to convert the JCL for the host stored in the JCL memory JCL for the server by referring to the conversion rule information,
The JCL conversion tool is
An eighth step of reading the JCL stored in the JCL memory, and determining whether utility software activated by the read JCL is stored in the third memory by referring to the presence / absence information in the utility table; ,
When it is determined that the utility software to be activated by the JCL read in the eighth step is stored in the third memory, the JCL conversion tool stores the utility software in the JCL memory based on the conversion rule information stored in the JCL conversion rule memory. The software resource migration system according to claim 1, wherein a ninth step of converting the stored host JCL into server JCL with reference to the conversion rule information is executed.
前記サーバシステムが、ホストシステム用の帳票情報及び画面情報を左上を基点とした座標値と該座標値から延長する方向及び寸法値を規定するベクトル情報を格納する画面帳票情報メモリと、該画面帳票情報メモリに格納したベクトル情報を基に、サーバシステム用の帳票情報及び画面情報に変換する画面帳票変換ツールとを有し、
該画面帳票変換ツールが、
前記画面帳票情報メモリに格納したベクトル情報の座標値と寸法値とを基に、画面帳票の左上を基点とした描画を開始する開始座標値と該描画を終了する終点座標値に変換する第10工程を実行する請求項1又は2記載のソフトウェア資源移行システム。
A screen form information memory in which the server system stores coordinate information with respect to form information and screen information for the host system as a base point, and vector information defining a direction and dimension value extending from the coordinate value; and the screen form A screen form conversion tool for converting form information and screen information for the server system based on the vector information stored in the information memory;
The screen form conversion tool
Based on the coordinate values and dimension values of the vector information stored in the screen form information memory, a tenth coordinate value is converted into a start coordinate value for starting drawing with the upper left corner of the screen form as a base point and an end point coordinate value for ending the drawing. The software resource migration system according to claim 1 or 2, wherein the process is executed.
前記ホストシステムが、ホストプログラムソースを機械語のホスト実行プログラムに実行するホストコンパイラと、データを入力として前記ホストコンパイラを実行した結果であるホスト結果ファイルデータを出力するホストコンピュータとを有し、
前記サーバシステムが、前記データを入力とし、前記ダウンサイジング用コンパイラが機械語にコンパイルしたサーバ実行オブジェクトを実行してサーバ結果ファイルデータを出力するサーバコンピュータと、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを比較する比較ツールとを有し、
前記サーバシステムの比較ツールが、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを1バイト単位で比較し、不一致の結果ファイルを出力する第11工程を実行する請求項1から3何れかに記載のソフトウェア資源移行システム。
The host system includes a host compiler that executes a host program source into a machine language host execution program, and a host computer that outputs host result file data that is a result of executing the host compiler with data as input,
A server computer that receives the data, executes a server execution object compiled into a machine language by the downsizing compiler, and outputs server result file data; and the host result file data and server result file data. And a comparison tool for comparing
The comparison tool of the server system compares the host result file data and the server result file data in units of 1 byte, and executes an eleventh step of outputting a mismatched result file. Software resource migration system.
ホストシステムのコンピュータが動作するホスト用文法により命令文が書かれたホストプログラムソースをサーバプログラムソースとし、該サーバプログラムソースを機械語の実行オブジェクトにコンパイルするダウンサイジング用コンパイラを備え、ダウンサイジング用コンパイラが、前記ホストプログラムソースのOS又は入出力に関与する命令文と該命令文に対応する複数の処理方法情報毎のソフトウェアモジュールであるランタイム名を格納したランタイムテーブルと、該ランタイム名に対応するランタイムを格納する第1のメモリとを有するソフトウェア資源移行システムの資源移行方法であって、
前記ダウンサイジング用コンパイラに、
前記ホストプログラムソースを入力とし、該ホストプログラムソースに前記ランタイムテーブルに格納されたOS又は入出力に関与する命令文が含まれているか否かを判定する第1工程と、
該第1工程においてOS又は入出力に関与する命令文が含まれていると判定したとき、前記ランタイムテーブルの命令文に対応する処理方法情報に対応するランタイム名により指示されたランタイムをコンパイラのパラメタとして指定する第2工程と、
前記ホスト用のプログラムソースを読み込み、プログラミング言語においてソースコード中の文字列の中で意味を持つ最小単位の字句であるトークンに分解する第3工程と、
該第工程3により分解したトークンの列を基にプログラムの木構文を構築し、該構築したプログラムの木構文からコンパイラがソースコードを処理した結果生成される中間的なコード表現であるオブジェクトコードを生成する第4工程と、
該第4工程により生成したオブジェクトコードの命令文にランタイム呼出が必要か否かを前記ランタイムテーブルに該当命令文の処理が格納されているかによって判定する第5工程と、
該第5工程によってランタイム呼出が必要と判定したとき、前記命令文のコンパイルにパラメタ指定があるか否かを前記ランタイムテーブルを参照して判定する第6工程と、
該第6工程において命令文のコンパイルにパラメタ指定があると判定したとき、前記第1のメモリに格納したランタイムを呼び出すようにオブジェクトコードを生成し、該生成したオブジェクトコードをコンパイルしたサーバ実行オブジェクトに挿入する第7工程を実行させるソフトウェア資源移行方法。
A downsizing compiler having a host program source in which a command statement is written by a host grammar on which a computer of the host system operates is used as a server program source, and the server program source is compiled into a machine language execution object. Includes a runtime table that stores a runtime statement that is a software module for each of a plurality of processing method information corresponding to the instruction statement related to the OS or input / output of the host program source, and a runtime corresponding to the runtime name. A resource migration method for a software resource migration system having a first memory for storing
In the downsizing compiler,
A first step of receiving the host program source as input and determining whether the host program source includes an OS or an instruction related to input / output stored in the runtime table;
When it is determined in the first step that a statement relating to the OS or input / output is included, the runtime indicated by the runtime name corresponding to the processing method information corresponding to the statement in the runtime table is set as a parameter of the compiler. A second step designated as
A third step of reading the program source for the host and decomposing the program source into tokens, which are words and phrases of the smallest unit having meaning in a character string in the source code in a programming language;
An object code that is an intermediate code expression generated as a result of processing the source code by the compiler from the tree syntax of the constructed program is constructed based on the token sequence decomposed in the third step 3. A fourth step to generate;
A fifth step of determining whether or not a runtime call is necessary for the statement of the object code generated in the fourth step based on whether or not the processing of the corresponding statement is stored in the runtime table;
A sixth step of determining whether or not there is a parameter specification for compiling the statement when the runtime call is determined to be necessary in the fifth step;
When it is determined in the sixth step that there is a parameter specification for compiling the statement, object code is generated so as to call the runtime stored in the first memory, and the generated object code is compiled into the compiled server execution object. A software resource migration method for executing a seventh step of insertion.
前記ホストシステムのコンピュータにより特定の機能を実行するユーティリティーソフトウェアを格納する第2のメモリと、該第2のメモリに格納したユーティリティーソフトウェアを起動するプログラムであるJCLを格納するJCLメモリと、サーバシステムのコンピュータにおいて前記ホストシステムのユーティリティーソフトウェアと同機能のユーティリティーソフトウェアを格納する第3のメモリと、前記ホストシステムの第2のメモリに格納したユーティリティーソフトウェアの名称と該名称のユーティリティーソフトウェアと同機能のユーティリティーソフトウェアが前記第3のメモリに格納されているか否かを示す有無情報を格納するユーティリティーテーブルと、ホストシステム用のJCLをサーバ用に変換するための変換ルール情報を格納するJCL変換ルールメモリと、前記JCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換するJCL変換ツールとを設け、
前記JCL変換ツールに、
前記JCLメモリに格納したJCLを読み込み、該読み込んだJCLが起動するユーティリティーソフトウェアが、前記第3のメモリに格納されているか否かを前記ユーティリティーテーブルの有無情報を参照して判定する第8工程と、
該第8工程において読み込んだJCLが起動するユーティリティーソフトウェアが第3のメモリに格納されていると判定したとき、前記JCL変換ツールにより、JCL変換ルールメモリに格納した変換ルール情報に基づいてJCLメモリに格納されたホスト用のJCLを前記変換ルール情報を参照してサーバ用のJCLに変換する第9工程とを実行させる請求項5記載のソフトウェア資源移行方法。
A second memory for storing utility software for executing a specific function by the computer of the host system; a JCL memory for storing JCL which is a program for starting the utility software stored in the second memory; A third memory storing utility software having the same function as the utility software of the host system in the computer; a name of the utility software stored in the second memory of the host system; and a utility software having the same function as the utility software of the name A utility table for storing presence / absence information indicating whether or not is stored in the third memory, and a variable for converting JCL for the host system to the server. And JCL conversion rule memory for storing rule information, and a JCL conversion tool to convert the JCL for the host stored in the JCL memory JCL for the server by referring to the conversion rule information is provided,
In the JCL conversion tool,
An eighth step of reading the JCL stored in the JCL memory, and determining whether utility software activated by the read JCL is stored in the third memory by referring to the presence / absence information in the utility table; ,
When it is determined that the utility software to be activated by the JCL read in the eighth step is stored in the third memory, the JCL conversion tool stores the utility software in the JCL memory based on the conversion rule information stored in the JCL conversion rule memory. 6. The software resource migration method according to claim 5, wherein the stored host JCL is converted to server JCL by referring to the conversion rule information.
前記サーバシステムに、ホストシステム用の帳票情報及び画面情報を左上を基点とした座標値と該座標値から延長する方向及び寸法値を規定するベクトル情報を格納する画面帳票情報メモリと、該画面帳票情報メモリに格納したベクトル情報を基に、サーバシステム用の帳票情報及び画面情報に変換する画面帳票変換ツールとを設け、
該画面帳票変換ツールに、
前記画面帳票情報メモリに格納したベクトル情報の座標値と寸法値とを基に、画面帳票の左上を基点とした描画を開始する開始座標値と該描画を終了する終点座標値に変換する第10工程を実行させる請求項5又は6記載のソフトウェア資源移行方法。
A screen form information memory for storing, in the server system, coordinate information with respect to form information and screen information for the host system as a base point, and vector information defining a direction and dimension value extending from the coordinate value; and the screen form Based on the vector information stored in the information memory, a screen form conversion tool for converting form information and screen information for the server system is provided,
In the screen form conversion tool,
Based on the coordinate values and dimension values of the vector information stored in the screen form information memory, a tenth coordinate value is converted into a start coordinate value for starting drawing with the upper left corner of the screen form as a base point and an end point coordinate value for ending the drawing. The software resource migration method according to claim 5 or 6, wherein the process is executed.
前記ホストシステムに、ホストプログラムソースを機械語のホスト実行プログラムに実行するホストコンパイラと、データを入力として前記ホストコンパイラを実行した結果であるホスト結果ファイルデータを出力するホストコンピュータとを設け、
前記サーバシステムに、前記データを入力とし、前記ダウンサイジング用コンパイラが機械語にコンパイルしたサーバ実行オブジェクトを実行してサーバ結果ファイルデータを出力するサーバコンピュータと、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを比較する比較ツールとを設け、
前記サーバシステムの比較ツールに、前記ホスト結果ファイルデータとサーバ結果ファイルデータとを1バイト単位で比較し、不一致の結果ファイルを出力する第11工程を実行させる請求項5から7何れかに記載のソフトウェア資源移行方法。
The host system includes a host compiler that executes a host program source as a machine language host execution program, and a host computer that outputs host result file data that is a result of executing the host compiler with data as input,
A server computer that receives the data and inputs a server execution object compiled by the downsizing compiler into a machine language and outputs server result file data; and the host result file data and the server result file data. And a comparison tool to compare
The comparison tool of the server system causes the host result file data and the server result file data to be compared in units of 1 byte and to execute an eleventh step of outputting a mismatched result file. Software resource migration method.
JP2009051142A 2009-03-04 2009-03-04 Software resource transition system and transition method thereof Pending JP2010205068A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009051142A JP2010205068A (en) 2009-03-04 2009-03-04 Software resource transition system and transition method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009051142A JP2010205068A (en) 2009-03-04 2009-03-04 Software resource transition system and transition method thereof

Publications (1)

Publication Number Publication Date
JP2010205068A true JP2010205068A (en) 2010-09-16

Family

ID=42966466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009051142A Pending JP2010205068A (en) 2009-03-04 2009-03-04 Software resource transition system and transition method thereof

Country Status (1)

Country Link
JP (1) JP2010205068A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212250A (en) * 2011-03-30 2012-11-01 Fujitsu Ltd Conversion program, program conversion method, and program conversion device
CN111209038A (en) * 2020-01-02 2020-05-29 中广核工程有限公司 Conversion system, method and equipment for file format before nuclear-grade pipeline mechanical calculation
CN112269593A (en) * 2016-05-19 2021-01-26 特脉克斯软件株式会社 Method and apparatus for converting sequencing scripts to reuse JCL in different coding environments
JP2022162755A (en) * 2021-04-13 2022-10-25 株式会社日立製作所 Migration support method and system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036624A (en) * 1989-06-02 1991-01-14 Fujitsu Ltd Processing system for translation list output corresponding to plural code systems
JPH0340033A (en) * 1989-07-06 1991-02-20 Fujitsu Ltd Recognizing/processing system for code system of call origin
JPH03242727A (en) * 1990-02-21 1991-10-29 Fujitsu Ltd Shifting system for switching between new and old computer systems
JPH04191933A (en) * 1990-11-27 1992-07-10 Hitachi Ltd Method and device for converting program language
WO1995033235A1 (en) * 1994-05-31 1995-12-07 Fujitsu Limited System and method for executing job between different operating systems
JPH11232119A (en) * 1998-02-10 1999-08-27 Hitachi Ltd Character code conversion method
JPH11288375A (en) * 1998-04-01 1999-10-19 Nec Corp Variable target compilation processing method, processor therefor, storage medium for program therefor and storage medium for conversion table
JP2002032223A (en) * 2000-07-19 2002-01-31 Hitachi Ltd Application generator for plural-os and recording medium
JP2002269068A (en) * 2001-03-12 2002-09-20 Shigenori Tanaka Structured document processor
JP2004334325A (en) * 2003-04-30 2004-11-25 Nri & Ncc Co Ltd File conversion system and method

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH036624A (en) * 1989-06-02 1991-01-14 Fujitsu Ltd Processing system for translation list output corresponding to plural code systems
JPH0340033A (en) * 1989-07-06 1991-02-20 Fujitsu Ltd Recognizing/processing system for code system of call origin
JPH03242727A (en) * 1990-02-21 1991-10-29 Fujitsu Ltd Shifting system for switching between new and old computer systems
JPH04191933A (en) * 1990-11-27 1992-07-10 Hitachi Ltd Method and device for converting program language
WO1995033235A1 (en) * 1994-05-31 1995-12-07 Fujitsu Limited System and method for executing job between different operating systems
JPH11232119A (en) * 1998-02-10 1999-08-27 Hitachi Ltd Character code conversion method
JPH11288375A (en) * 1998-04-01 1999-10-19 Nec Corp Variable target compilation processing method, processor therefor, storage medium for program therefor and storage medium for conversion table
JP2002032223A (en) * 2000-07-19 2002-01-31 Hitachi Ltd Application generator for plural-os and recording medium
JP2002269068A (en) * 2001-03-12 2002-09-20 Shigenori Tanaka Structured document processor
JP2004334325A (en) * 2003-04-30 2004-11-25 Nri & Ncc Co Ltd File conversion system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"レガシー・アプリケーション資産の短期移植を実現するdotCOBOL", 日経ソフトウェア, vol. 第3巻,第2号(通巻21号), JPN6012012213, 24 January 2000 (2000-01-24), JP, pages 12 - 13, ISSN: 0002168805 *
"特別広告企画 開発ツール徹底活用:ドット研究所「dotCOBOL」", 日経ソフトウェア, vol. 第2巻,第7号(通巻13号), JPN6012012215, 24 June 1999 (1999-06-24), JP, pages 36 - 37, ISSN: 0002168806 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212250A (en) * 2011-03-30 2012-11-01 Fujitsu Ltd Conversion program, program conversion method, and program conversion device
CN112269593A (en) * 2016-05-19 2021-01-26 特脉克斯软件株式会社 Method and apparatus for converting sequencing scripts to reuse JCL in different coding environments
CN111209038A (en) * 2020-01-02 2020-05-29 中广核工程有限公司 Conversion system, method and equipment for file format before nuclear-grade pipeline mechanical calculation
CN111209038B (en) * 2020-01-02 2023-09-08 中广核工程有限公司 Nuclear-grade pipeline mechanics calculation preprocessing file format conversion system, method and equipment
JP2022162755A (en) * 2021-04-13 2022-10-25 株式会社日立製作所 Migration support method and system
JP7242744B2 (en) 2021-04-13 2023-03-20 株式会社日立製作所 Migration support method and system

Similar Documents

Publication Publication Date Title
US9268539B2 (en) User interface component
US7624401B2 (en) Reflection-based processing of input parameters for commands
US8448132B2 (en) Systems and methods for modifying code generation templates
JP5350428B2 (en) Automatic program generation apparatus, method and computer program
US20070266378A1 (en) Source code generation method, apparatus, and program
JP2006252557A (en) Method and system for managing development object for computer program code
CN108762743B (en) Data table operation code generation method and device
US20120005603A1 (en) Application development supporting apparatus, program, and recording medium
JP6479184B2 (en) Computer-executable model reverse engineering method and apparatus
WO2017033441A1 (en) System construction assistance system and method, and storage medium
JP2007122135A (en) Development support device, development support method and development support program
KR20220132457A (en) User interface platform developing system and method with source complier
JP2010205068A (en) Software resource transition system and transition method thereof
CN113010168B (en) User interface generation method based on scene tree
JP4724387B2 (en) Program conversion program, program conversion apparatus, and program conversion method
US7657869B2 (en) Integration of external tools into an existing design environment
US20110296373A1 (en) Command line shell command generation based on schema
Kastens Attribute grammars in a compiler construction environment
JP2008165342A (en) Source code creating method, device and program
JP6231260B2 (en) Screen control system, screen control program, screen creation support program, and screen control method
Schröpfer et al. A Generic Projectional Editor for EMF Models.
JP6812141B2 (en) Information processing equipment, information processing methods and programs
George et al. Programming language inter-conversion
JP2012150740A (en) Program generating device and method
CN116991390A (en) Java universal code generation optimization method and system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120705