JP2011258248A - System for automatically creating job network and program - Google Patents

System for automatically creating job network and program Download PDF

Info

Publication number
JP2011258248A
JP2011258248A JP2011215686A JP2011215686A JP2011258248A JP 2011258248 A JP2011258248 A JP 2011258248A JP 2011215686 A JP2011215686 A JP 2011215686A JP 2011215686 A JP2011215686 A JP 2011215686A JP 2011258248 A JP2011258248 A JP 2011258248A
Authority
JP
Japan
Prior art keywords
jcl
job
unit
branch
line
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.)
Granted
Application number
JP2011215686A
Other languages
Japanese (ja)
Other versions
JP5273576B2 (en
Inventor
Shinji Takai
真志 高井
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011215686A priority Critical patent/JP5273576B2/en
Publication of JP2011258248A publication Critical patent/JP2011258248A/en
Application granted granted Critical
Publication of JP5273576B2 publication Critical patent/JP5273576B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a system for automatically creating a job network to convert a JCL file described in a JCL language for use in a mainframe into a job network flow of a plain form.SOLUTION: A system for automatically creating a job network comprises: a JCL (Job Control Language) file input unit; a job network generation unit; and a job network output unit. The JCL file input unit inputs a JCL file. The job network generation unit automatically generates a flow link based on a JCL description of the JCL file. The job network output unit converts the flow link into a job network flow and outputs the job network flow.

Description

本発明は、ジョブネットワーク自動生成方式及びプログラムに関する。   The present invention relates to a job network automatic generation method and program.

近年、多くの企業システムにおいて、メインフレームからUNIX(登録商標)サーバやWindows(登録商標)などの汎用OSを使用したオープンシステムへのシステム更改が活発に行われている。しかし、そのようなシステム更改においては、これまでメインフレーム上で運用されていたジョブ資産の移行が大きな問題となる。一般的に、それらのジョブ資産はジョブ制御言語(JCL:Job Control Language)で記述されているが、オープンシステム上の汎用ジョブ管理ソフトウェアは、この言語を解釈できない。そのため、これらのJCL記述が表現しているジョブ制御情報を、汎用ジョブ管理ソフトウェアにおけるジョブネットワーク・フロー(流れ図)に移行することが行われる。   In recent years, in many enterprise systems, system renewal from a mainframe to an open system using a general-purpose OS such as a UNIX (registered trademark) server or Windows (registered trademark) has been actively performed. However, in such system renewal, migration of job assets that have been operated on the mainframe until now becomes a big problem. Generally, these job assets are described in a job control language (JCL), but general-purpose job management software on an open system cannot interpret this language. Therefore, job control information expressed by these JCL descriptions is transferred to a job network flow (flow diagram) in general-purpose job management software.

ここで、ジョブネットワーク・フローの形式には、各ジョブ管理ソフトウェアによって種々の形式が存在する。図1−1〜図1−4は全て、同一の順序関係を表したジョブネットワーク・フローである。一般的なジョブ管理ソフトウェアでは、特に記述上の制約を設けず、ユーザに自由な記述を行わせる方式が多い。しかし、制約を設けない方式の場合、同じ順序関係を表現するジョブネットワーク・フローを作成しても、作業者の感性によって、完成するジョブネットワーク・フローが、図1−2になるか図1−3になるかは定かではない。同じ順序関係で、異なる様々な形状のジョブネットワーク・フローが混在することは、ジョブ移行時のテストの効率性の点からも、移行後の保守性の点からも問題となる。   Here, there are various job network flow formats depending on each job management software. FIGS. 1-1 to 1-4 are all job network flows representing the same order relationship. In general job management software, there are many methods that allow a user to make a free description without any restriction on the description. However, in the case of a method in which no constraint is provided, even if job network flows that express the same order relationship are created, depending on the sensitivity of the operator, the completed job network flow becomes FIG. It is not certain if it will be 3. Mixing different types of job network flows with the same order relationship is problematic both in terms of test efficiency during job migration and maintainability after migration.

このような問題の解決のため、図1−1のように、始点と終点をあらかじめ固定し、ジョブネットワーク・フローの線の引かれ方をジョブ管理ソフトウェア側で制限することで、順序関係が与えられればほぼ一意のジョブネットワーク・フローを作成できる方式をとるジョブ管理ソフトウェアが存在する。このジョブ管理ソフトウェアは、誰がジョブネットワーク・フローを作成しても、同様の形式のフローになり、保守性の高い平易なジョブネットワーク・フローを作成できることを訴求している。   In order to solve such a problem, as shown in FIG. 1-1, the starting point and the ending point are fixed in advance, and the job management software side restricts how the lines of the job network flow are drawn, thereby giving an order relationship. There is job management software that takes a method that can create an almost unique job network flow if possible. This job management software appeals that no matter who creates a job network flow, it becomes a flow in the same format and can create a simple job network flow with high maintainability.

しかし、そのようなジョブ管理ソフトウェア上にJCLファイルを移行するためには、JCL記述を、その形式の平易なジョブネットワーク・フローに変換する必要がある。この変換に際しては、いくつかの問題点を指摘することができる。   However, in order to migrate a JCL file onto such job management software, it is necessary to convert the JCL description into a simple job network flow in that format. Several problems can be pointed out in this conversion.

第1の問題点は、変換作業をシステムエンジニアの人手によって行った場合、JCLファイルが大量に存在するユーザ環境では、人為的ミスによる品質低下と、それをリカバリするために実施されるテスト作業により、膨大なコストを消費することになる。そのため、移行作業を自動化する必要があることである。   The first problem is that when the conversion work is performed manually by a system engineer, in a user environment where a large number of JCL files exist, quality degradation due to human error and test work performed to recover it. Will consume enormous costs. Therefore, it is necessary to automate the migration work.

第2の問題点は、次の通りである。JCLファイルは、コマンドインタプリタ的な文法の実処理記述の中に、並列実行や待ち合わせなどの制御命令を記述する特殊な制御形式である。そして、制御命令には、¥SUBJOB⇔¥ENDSUBJOB(並列実行)のように任意の箇所に記述することが可能な制御命令と、¥WAITSUBのように記述した箇所で明確に待ち合わせが行なわれる制御命令とが存在する。このようなJCLファイルを、単純な自動変換ツールで変換した場合、図1−4のような線の交差が発生するような煩雑なジョブネットワーク・フローが生成されてしまうことが多々ある。この場合、作成されたジョブネットワーク・フローを前述のジョブ管理ソフトウェアに適用することができなくなるという問題点である。   The second problem is as follows. The JCL file is a special control format in which control instructions such as parallel execution and waiting are described in the actual processing description of the command interpreter-like grammar. The control command includes a control command that can be described in an arbitrary location such as \ SUBJOB⇔ ¥ ENDSUBSUBJOB (parallel execution), and a control command that clearly waits at a location described as \ WAITSUB. And exist. When such a JCL file is converted by a simple automatic conversion tool, a complicated job network flow in which crossing of lines as shown in FIG. 1-4 occurs is often generated. In this case, the created job network flow cannot be applied to the above-described job management software.

関連技術としては、以下のような発明が知られる。特開2001−166928号公報(特許文献1参照)には、ジョブネットを自動生成する自動生成装置の発明が記載されている。自動生成装置は、ジョブネットの設計情報(システムフロー、ジョブフロー、同一ジョブ、データ項目情報定義、レコード情報定義、ファイル情報定義、運用スケジュール)を入力する画面から、設計情報を一元管理するデータベースを作成する。登録された運用スケジュールより、ジョブネット構成ファイル生成機構を通じて、ジョブネット構成ファイルを生成する。この自動生成装置は、ジョブネットワーク・フローを入力とするものであり、JCLファイルを入力とするものではない。   The following inventions are known as related technologies. Japanese Patent Laid-Open No. 2001-166928 (see Patent Document 1) describes an invention of an automatic generation apparatus that automatically generates a job net. The automatic generation device creates a database for centrally managing design information from a screen for entering job net design information (system flow, job flow, same job, data item information definition, record information definition, file information definition, operation schedule). create. A job net configuration file is generated from the registered operation schedule through the job net configuration file generation mechanism. This automatic generation apparatus inputs a job network flow and does not input a JCL file.

特開2001−282549号公報(特許文献2参照)には、プログラム変換装置の発明が記載されている。プログラム変換装置は、複数のプログラムカウンタと、複数のスレッド実行装置とを備える。複数のスレッド実行装置は、制御投機的モードでスレッドを実行すること、データ依存投機的モードでスレッドを実行することが可能とされる。制御投機的モードは、複数のプログラムカウンタに従って、複数のスレッドの命令を、同時に、フェッチ、解釈、実行し、スレッド生成時以降に、レジスタセットに及ぼした変更を、後に取り消し可能なモードである。データ依存投機的モードは、自スレッドがメモリ領域から値をロードした後に、自スレッドを生成した親スレッドが同一メモリ領域に値をストアした場合に、自スレッドの少なくとも当該ロード以降の処理結果を破棄し、それらの処理を再実行するモードである。   Japanese Patent Laid-Open No. 2001-282549 (see Patent Document 2) describes an invention of a program conversion apparatus. The program conversion device includes a plurality of program counters and a plurality of thread execution devices. The plurality of thread execution devices can execute the thread in the control speculative mode and execute the thread in the data dependent speculative mode. The control speculative mode is a mode in which instructions of a plurality of threads are simultaneously fetched, interpreted, and executed according to a plurality of program counters, and changes made to the register set after the thread generation can be canceled later. In data-dependent speculative mode, if the parent thread that created the thread stores the value in the same memory area after the thread has loaded the value from the memory area, at least the processing result of the thread after the load is discarded In this mode, these processes are re-executed.

プログラム変換装置は、与えられた原始プログラムをマルチスレッドプロセッサ向けに変換する。マルチスレッドプロセッサは、命令セットとして、次のことを、単一又は高々数個の機械語命令の組合せで実行できる命令セットを有する。第一に、スレッド実行装置で実行中のスレッドが制御投機的モードの新たなスレッドを生成することである。第二に、指定された条件が成立していれば自スレッドを終了させると共に、自スレッドが生成した制御投機的モードのスレッドの制御投機的モードを解除することである。第三に、生成した制御投機的モードのスレッドを破棄することである。第四に、自スレッドが生成するスレッドが指定されたアドレスのメモリ領域からのロードを行う際に、その動作を一時停止させることをあらかじめ指示することである。第五に、指定されたメモリアドレスに対する前記ロード一時停止指示を解除することである。第六に、スレッド実行装置で実行中のスレッドがデータ依存投機的モードの新たなスレッドを生成することである。第七に、自スレッドが生成したデータ依存投機的モードのスレッドのデータ依存投機的モードを解除することである。   The program conversion apparatus converts a given source program for a multi-thread processor. The multi-thread processor has an instruction set that can execute the following as a single or a combination of at most several machine language instructions. First, the thread being executed in the thread execution device generates a new thread in the control speculative mode. Second, if the specified condition is satisfied, the own thread is terminated and the control speculative mode of the control speculative mode thread generated by the own thread is released. Thirdly, the generated thread in the control speculative mode is discarded. Fourthly, when a thread generated by the own thread loads from the memory area of the designated address, it is instructed in advance to pause the operation. Fifth, canceling the load suspension instruction for the designated memory address. Sixth, the thread executing in the thread execution device generates a new thread in the data-dependent speculative mode. Seventh, releasing the data-dependent speculative mode of the thread in the data-dependent speculative mode generated by its own thread.

プログラム変換装置は、レジスタ割り当て試行部と、フォーク(FORK)箇所決定部と、命令並べ換え部と、レジスタ割り当て部とを備える。レジスタ割り当て試行部は、並列化に先立ってレジスタ割り当てを試み、中間プログラム上の各変数、及び中間項のレジスタ割り当て状況を予測する。フォーク箇所決定部は、レジスタ割り当て試行部でのレジスタ割り当て試行結果に基づいて、中間プログラムにおける条件分岐部分をスレッド生成命令を用いた並列コードに変換するか否か決定し、及び、並列コードでの並列実行方式の決定を行う。命令並べ換え部は、フォーク箇所決定部での決定結果に基づいて、中間プログラム中の条件分岐部分を、スレッド生成命令を用いた並列コードに変換し、レジスタ割り当て試行結果を参照して、スレッド間のメモリを介したデータ依存関係を保証する命令を、スレッド生成命令の前後に挿入すると共に、スレッド生成が早い段階で行われるように、スレッド生成命令の前後の命令を並べ換える。レジスタ割り当て部は、並列化され並べ換えられた命令列に対して、物理レジスタが割り当てられるか否かに関して、レジスタ割り当ての試行時と同じ割り当て結果となるように確定的なレジスタ割り当てを行う。   The program conversion apparatus includes a register allocation trial unit, a fork (FORK) location determination unit, an instruction rearrangement unit, and a register allocation unit. The register allocation trial unit attempts register allocation prior to parallelization, and predicts each variable in the intermediate program and the register allocation status of the intermediate term. The fork location determination unit determines whether or not to convert the conditional branch portion in the intermediate program into parallel code using a thread generation instruction based on the register allocation trial result in the register allocation trial unit, and in the parallel code Determine the parallel execution method. The instruction rearrangement unit converts the conditional branch part in the intermediate program into parallel code using a thread generation instruction based on the determination result in the fork location determination unit, refers to the register allocation trial result, An instruction for guaranteeing data dependency via the memory is inserted before and after the thread generation instruction, and the instructions before and after the thread generation instruction are rearranged so that the thread generation is performed at an early stage. The register allocation unit performs deterministic register allocation so as to obtain the same allocation result as that at the time of register allocation regarding whether or not a physical register is allocated to the parallelized and rearranged instruction sequence.

このプログラム変換装置は、コンパイラ技術の一つであり、主眼は、プロセス間のデータ依存性の回避にあると考えられる。また、最適化されるのは並列処理の効率化である。   This program conversion apparatus is one of compiler technologies, and it is considered that the main point is to avoid data dependency between processes. What is optimized is the efficiency of parallel processing.

特開2007−257384号公報(特許文献3参照)には、バッチ系のシステム設計図を自動的に生成するジョブネット図自動生成方式の発明が記載されている。ジョブネット図自動生成方式は、データベース部と、該データベース部から情報を検索し表示する情報抽出表示部とよりなる。データベース部は、バッチ系を構成するジョブ、プログラム及びファイルのIDを示すジョブ情報、プログラム情報及びファイル情報と、ジョブ及びファイルの分類を示すジョブ分類情報及びファイル分類情報と、上記各情報の関連付けを示す関連付け情報とを有する。情報抽出表示部は、抽出するステップと、生成するステップとよりなるプログラムを備える。抽出するステップは、ジョブの分類情報を指定して、該分類を有するジョブ情報をデータベース部から抽出する。生成するステップは、関連付け情報より抽出されたジョブ情報の前後関係を判断してジョブ情報の関連を示す図形を生成する。このジョブネット図自動生成方式では、順序関係情報を元に、どのようなポリシーで、ジョブネットワーク・フローを作成するのかが明確でない。そのため、ジョブ数が巨大で、順序関係が入り組んでいる場合には、作成されたフローが煩雑で、理解しにくいものとなり、実用に耐えないジョブネットワーク・フローとなる可能性が高いと考えられる。また、変換のたびに(フローが図示する論理的意味は同じだが、人が視覚する「絵」として)異なるジョブネットワーク・フローに変換されてしまう可能性を否定できない。   Japanese Patent Application Laid-Open No. 2007-257384 (see Patent Document 3) describes an invention of a job net diagram automatic generation method for automatically generating a batch system design drawing. The job net diagram automatic generation method includes a database unit and an information extraction / display unit that retrieves and displays information from the database unit. The database unit associates the job information, the program information and the file information indicating the IDs of the jobs, programs and files constituting the batch system, the job classification information and the file classification information indicating the classification of the job and the file, and the above information. Association information to be shown. The information extraction / display unit includes a program including an extracting step and a generating step. In the extracting step, job classification information is specified, and job information having the classification is extracted from the database unit. In the generating step, a graphic indicating the relationship of the job information is generated by determining the context of the job information extracted from the association information. In this job net diagram automatic generation method, it is not clear with what policy the job network flow is created based on the order relation information. Therefore, when the number of jobs is huge and the order relation is complicated, the created flow is complicated and difficult to understand, and it is highly likely that the job network flow is not practical. In addition, the possibility of being converted into a different job network flow at each conversion (as the “picture” that the flow has the same logical meaning but shown to humans) cannot be denied.

特開平8−147156号公報(特許文献4参照)には、プログラム移植システムの発明が記載されている。プログラム移植システムは、移植元のコンピュータシステムでジョブ制御言語を用いて自動実行されている一連のプログラムを、移植先のコンピュータシステム上で自動実行可能なようにプログラム移植する。プログラム移植システムは、ジョブ制御プログラム入力過程と、入力ファイル存在検索過程と、論理関係精査過程と、外部参照ファイル入力過程と、ログリスト出力過程と、変更プログラム出力過程とを備える。   Japanese Patent Laid-Open No. 8-147156 (see Patent Document 4) describes an invention of a program porting system. The program porting system transplants a series of programs that are automatically executed using a job control language in a porting computer system so that the program can be automatically executed on the porting computer system. The program porting system includes a job control program input process, an input file existence search process, a logical relationship review process, an external reference file input process, a log list output process, and a change program output process.

ジョブ制御プログラム入力過程は、移植元のコンピュータシステム用のジョブ制御言語で記述されたジョブ制御プログラムを入力する。入力ファイル存在検索過程は、ジョブ制御プログラムのファイル指定文中で指定された入力ファイルに該当するファイルが移植先のコンピュータシステム内の記憶装置上に存在するか否かを検索する。論理関係精査過程は、ジョブ制御プログラムに記述されている論理関係を精査する。外部参照ファイル入力過程は、ジョブ制御プログラムに記述されている外部参照ファイルに該当するファイルを移植先のコンピュータシステム内の記憶装置から入力する。ログリスト出力過程は、プログラム入力過程、入力ファイル存在検索過程、論理関係精査過程及び外部参照ファイル入力過程でエラーが生じた場合にエラーの存在を示すログリストを出力する一方、エラーが生じなかった場合にエラーの不存在を示すログリストを出力する。変更プログラム出力過程は、プログラム入力過程、入力ファイル存在検索過程、論理関係精査過程及び外部参照ファイル入力過程でエラーが生じなかった場合に、ジョブ制御プログラムを移植先のコンピュータシステム用に変更して出力する。   In the job control program input process, a job control program described in a job control language for the porting computer system is input. In the input file existence search process, it is searched whether a file corresponding to the input file specified in the file specification statement of the job control program exists on the storage device in the computer system of the porting destination. In the logical relation review process, the logical relation described in the job control program is examined. In the external reference file input process, a file corresponding to the external reference file described in the job control program is input from the storage device in the ported computer system. The log list output process outputs a log list indicating the presence of an error when an error occurs in the program input process, input file existence search process, logical relationship inspection process, and external reference file input process, but no error occurred Output a log list indicating the absence of errors. In the changed program output process, if no error occurs in the program input process, input file existence search process, logical relationship inspection process, and external reference file input process, the job control program is changed and output for the destination computer system. To do.

このプログラム移植システムでは、フロー形状の簡易化を最適化すること、並びに、ジョブネットワーク・フローの可読性および可視化についての性能を向上することは見込めないと考えられる。さらに、ジョブ実行環境の管理工数・運用工数・保守工数の削減にもつながらないと考えられる。   In this program porting system, it is not expected to optimize the simplification of the flow shape and to improve the performance of job network flow readability and visualization. Furthermore, it can be considered that it does not lead to a reduction in management man-hours, operation man-hours and maintenance man-hours of the job execution environment.

特開2001−166928号公報JP 2001-166828 A 特開2001−282549号公報JP 2001-282549 A 特開2007−257384号公報JP 2007-257384 A 特開平8−147156号公報JP-A-8-147156

本発明の課題は、メインフレームで使用されるJCL言語で記述されたJCLファイルを、平易な形状のジョブネットワーク・フローに変換するためのジョブネットワーク自動生成方式を提供することである。   An object of the present invention is to provide a job network automatic generation method for converting a JCL file described in a JCL language used in a mainframe into a simple job network flow.

本発明の一つ目のアスペクトによるジョブネットワーク自動生成方式は、JCLファイル入力部と、ジョブネットワーク生成部と、ジョブネットワーク出力部とを具備する。JCLファイル入力部は、JCLファイルを入力する。ジョブネットワーク生成部は、JCLファイルのJCL記述に基づいて、フローリンクを自動生成する。ジョブネットワーク出力部は、フローリンクを、ジョブネットワーク・フローに変換出力する。   A job network automatic generation method according to a first aspect of the present invention includes a JCL file input unit, a job network generation unit, and a job network output unit. The JCL file input unit inputs a JCL file. The job network generation unit automatically generates a flow link based on the JCL description of the JCL file. The job network output unit converts the flow link into a job network flow and outputs it.

本発明の二つ目のアスペクトによるプログラムは、コンピュータを、JCLファイル入力手段と、ジョブネットワーク生成手段と、ジョブネットワーク出力手段ととして機能させる。JCLファイル入力手段は、JCLファイルを入力する。ジョブネットワーク生成手段は、JCLファイルのJCL記述に基づいて、フローリンクを自動生成する。ジョブネットワーク出力手段は、フローリンクを、ジョブネットワーク・フローに変換出力する。   The program according to the second aspect of the present invention causes a computer to function as JCL file input means, job network generation means, and job network output means. The JCL file input means inputs a JCL file. The job network generation means automatically generates a flow link based on the JCL description of the JCL file. The job network output means converts the flow link into a job network flow and outputs it.

本発明によれば、メインフレームで使用されるJCL言語で記述されたJCLファイルを、平易な形状のジョブネットワーク・フローに変換するためのジョブネットワーク自動生成方式を提供することができる。   According to the present invention, it is possible to provide a job network automatic generation method for converting a JCL file described in the JCL language used in the mainframe into a simple job network flow.

図1−1は、同一の順序関係を表したジョブネットワーク・フローを示す第一の図である。FIG. 1-1 is a first diagram illustrating a job network flow representing the same order relationship. 図1−2は、同一の順序関係を表したジョブネットワーク・フローを示す第二の図である。FIG. 1-2 is a second diagram illustrating a job network flow representing the same order relationship. 図1−3は、同一の順序関係を表したジョブネットワーク・フローを示す第三の図である。FIG. 1-3 is a third diagram showing a job network flow representing the same order relationship. 図1−4は、同一の順序関係を表したジョブネットワーク・フローを示す第四の図である。FIG. 1-4 is a fourth diagram illustrating a job network flow representing the same order relationship. 図2は、ジョブネットワーク自動生成方式の全体構成を示す図である。FIG. 2 is a diagram showing an overall configuration of the job network automatic generation method. 図3は、JCL→中間ファイル変換部の構成図である。FIG. 3 is a configuration diagram of the JCL → intermediate file conversion unit. 図4は、ジョブネットワーク生成部の構成図である。FIG. 4 is a configuration diagram of the job network generation unit. 図5は、スクリプトファイル分割部の機能説明図である。FIG. 5 is a functional explanatory diagram of the script file dividing unit. 図6は、フローリンク作成部の機能説明図である。FIG. 6 is a functional explanatory diagram of the flow link creation unit. 図7は、フローリンク作成方法の第一の説明図である。FIG. 7 is a first explanatory diagram of the flow link creation method. 図8は、フローリンク作成方法の第二の説明図である。FIG. 8 is a second explanatory diagram of the flow link creation method. 図9は、フローリンク作成方法の第三の説明図である。FIG. 9 is a third explanatory diagram of the flow link creation method. 図10は、フローリンク作成方法の第四の説明図である。FIG. 10 is a fourth explanatory diagram of the flow link creation method. 図11は、フローリンク作成方法の第五の説明図である。FIG. 11 is a fifth explanatory diagram of the flow link creation method. 図12は、フローリンク作成方法の第六の説明図である。FIG. 12 is a sixth explanatory diagram of the flow link creation method. 図13は、JCL→中間ファイル変換部による処理を説明する流れ図である。FIG. 13 is a flowchart for explaining processing by the JCL → intermediate file conversion unit. 図14は、フローリンク作成方法を説明する第一の流れ図である。FIG. 14 is a first flowchart illustrating the flow link creation method. 図15は、フローリンク作成方法を説明する第二の流れ図である。FIG. 15 is a second flowchart illustrating the flow link creation method. 図16は、フローリンク作成方法を説明する第三の流れ図である。FIG. 16 is a third flowchart illustrating the flow link creation method. 図17は、フローリンク作成方法を説明する第四の流れ図である。FIG. 17 is a fourth flowchart illustrating the flow link creation method. 図18は、ジョブネットワーク出力部の出力処理を説明する流れ図である。FIG. 18 is a flowchart illustrating the output processing of the job network output unit.

本発明を実施するための最良の形態の一つについて、図面を参照して詳細に説明する。図2に、一つの実施の形態におけるジョブネットワーク自動生成方式の全体構成を示す。図2において、ジョブネットワーク自動生成方式10は、JCLファイル入力部11と、JCL→中間ファイル変換部12と、ジョブネットワーク生成部13と、ジョブネットワーク出力部14とを有している。JCLファイル入力部11は、記憶装置A1から変換対象となるJCLファイルを読み出す。JCL→中間ファイル変換部12は、JCLファイルを解析し、JCLファイルを汎用UNIX(登録商標)OSが解釈可能なシェル言語で記述された中間ファイルに変換する。ジョブネットワーク生成部13は、中間ファイルのJCL記述を解析して、フローリンクを作成し、更に、当該中間ファイルをジョブ・スクリプトに分割する。ジョブネットワーク出力部14は、作成されたフローリンクとスクリプトとを、ジョブネットワーク定義ファイルに変換出力する。図2のジョブネットワーク自動生成方式10は、記憶装置A1からJCLファイル群を入力し、記憶装置B1へジョブネットワーク定義群を出力する。   One of the best modes for carrying out the present invention will be described in detail with reference to the drawings. FIG. 2 shows the overall configuration of the job network automatic generation method according to one embodiment. In FIG. 2, the job network automatic generation method 10 includes a JCL file input unit 11, a JCL → intermediate file conversion unit 12, a job network generation unit 13, and a job network output unit 14. The JCL file input unit 11 reads a JCL file to be converted from the storage device A1. The JCL → intermediate file conversion unit 12 analyzes the JCL file and converts the JCL file into an intermediate file described in a shell language that can be interpreted by a general-purpose UNIX (registered trademark) OS. The job network generation unit 13 analyzes the JCL description of the intermediate file, creates a flow link, and further divides the intermediate file into job scripts. The job network output unit 14 converts and outputs the created flow link and script into a job network definition file. The job network automatic generation method 10 in FIG. 2 inputs a JCL file group from the storage device A1, and outputs a job network definition group to the storage device B1.

図3に、JCL→中間ファイル変換部12の構成図を示す。図3において、JCL→中間ファイル変換部12は、中間ファイル生成部32と、中間ファイル出力部34と、変換辞書36とを有している。中間ファイル生成部32は、JCLファイル入力部11によって記憶装置A1から取り出されたJCLファイルを、中間ファイルに変換する。中間ファイル出力部34は、生成された中間ファイルを出力する。変換辞書36は、予め準備されたものであり、中間ファイル生成部32は、この変換辞書36を参照しながら、変換処理を行っていく。変換辞書36には、JCLからシェルスクリプトへの対応表が格納されている。   FIG. 3 shows a configuration diagram of the JCL → intermediate file conversion unit 12. In FIG. 3, the JCL → intermediate file conversion unit 12 includes an intermediate file generation unit 32, an intermediate file output unit 34, and a conversion dictionary 36. The intermediate file generation unit 32 converts the JCL file extracted from the storage device A1 by the JCL file input unit 11 into an intermediate file. The intermediate file output unit 34 outputs the generated intermediate file. The conversion dictionary 36 is prepared in advance, and the intermediate file generation unit 32 performs conversion processing while referring to the conversion dictionary 36. The conversion dictionary 36 stores a correspondence table from JCL to shell script.

図4に、ジョブネットワーク生成部13の構成図を示す。図4において、ジョブネットワーク生成部13は、JCL解析部41と、スクリプトファイル分割部42と、フローリンク作成部43と、フローリンク診断部44と、フローリンク最適化部45とを有している。JCL解析部41は、中間ファイルのJCL記述を走査し、分析する。スクリプトファイル分割部42は、JCL解析部41からJCL記述の実処理行を受け取り、記憶装置B1のスクリプトファイルに格納する。フローリンク作成部43は、JCL解析部41からJCL記述のJCL命令行を受け取り、その種類に従って、主記憶MEM1のフローリンクに、フロー部品を追加していく。フローリンク診断部44は、フローリンク作成部43が作成したフローリンクが正しい構造になっているかどうかを診断する。フローリンク最適化部45は、フローリンクの構造を調整し、フローリンクを最適化する。   FIG. 4 shows a configuration diagram of the job network generation unit 13. In FIG. 4, the job network generation unit 13 includes a JCL analysis unit 41, a script file division unit 42, a flow link creation unit 43, a flow link diagnosis unit 44, and a flow link optimization unit 45. . The JCL analysis unit 41 scans and analyzes the JCL description in the intermediate file. The script file dividing unit 42 receives the actual processing line of the JCL description from the JCL analyzing unit 41 and stores it in the script file of the storage device B1. The flow link creation unit 43 receives the JCL instruction line of the JCL description from the JCL analysis unit 41, and adds the flow components to the flow link of the main memory MEM1 according to the type. The flow link diagnosis unit 44 diagnoses whether or not the flow link created by the flow link creation unit 43 has a correct structure. The flow link optimization unit 45 adjusts the structure of the flow link and optimizes the flow link.

図5は、スクリプトファイル分割部42の機能説明図である。図5において、JCL解析部41は、入力されたJCL記述を線形に走査し、走査行が、JCL命令行(制御行)であるか、それ以外の実処理行であるかを判別する。JCL命令行であると判別した場合、JCL解析部41は、そのJCL命令行をフローリンク作成部43へ渡す。一方、実処理行であると判別した場合、JCL解析部41は、その実処理行をスクリプトファイル分割部42へ渡す。   FIG. 5 is a functional explanatory diagram of the script file dividing unit 42. In FIG. 5, the JCL analysis unit 41 linearly scans the input JCL description, and determines whether the scan line is a JCL instruction line (control line) or other actual processing line. If it is determined that the line is a JCL instruction line, the JCL analysis unit 41 passes the JCL instruction line to the flow link creation unit 43. On the other hand, when it is determined that it is an actual processing line, the JCL analysis unit 41 passes the actual processing line to the script file division unit 42.

スクリプトファイル分割部42は、JCL命令行以外の実処理が記述されている実処理行を、記憶装置B1に作成した複数個のスクリプトファイルに分割格納する。各スクリプトファイルは、JCL命令行の出現によっていずれかの幹若しくは枝に関連付けられるスクリプトファイルとして、フローリンク作成部43によって、オープン(OPEN)され、そして、クローズ(CLOSE)される。   The script file dividing unit 42 divides and stores an actual processing line in which actual processing other than the JCL instruction line is described in a plurality of script files created in the storage device B1. Each script file is opened (OPEN) and closed (CLOSE) by the flow link creation unit 43 as a script file associated with any trunk or branch by the appearance of a JCL command line.

図6は、フローリンク作成部43の機能説明図である。図示するように、フローリンク作成部43は、幹管理部52と、枝管理部54と、待合管理部56とを有し、主記憶MEM1を使用してフローリンクを作成する。フローリンク作成部43は、JCL解析部41から、JCL命令行を受け取り、受け取ったJCL命令行を、幹管理部52、枝管理部54、待合管理部56に振り分ける。   FIG. 6 is a functional explanatory diagram of the flow link creation unit 43. As illustrated, the flow link creation unit 43 includes a trunk management unit 52, a branch management unit 54, and a waiting management unit 56, and creates a flow link using the main memory MEM1. The flow link creation unit 43 receives the JCL command line from the JCL analysis unit 41, and distributes the received JCL command line to the trunk management unit 52, the branch management unit 54, and the waiting management unit 56.

フローリンク作成部43は、JCL記述の制御の流れを、以下のように解釈する。
1.¥SUBJOB命令と¥ENDSUBJOB命令の間の行は「枝」と認識する。
2.1.以外のJCL命令行、¥JOB命令や¥ENDJOB命令など、全ての行を「幹」と認識する。
3.¥WAITSUB命令は、¥SUBJOBによる枝処理の待合点(収束点)と考える。
4.JCLは基本となる「幹」処理から0個以上の「枝」処理が派生し、それらが待合によって収束する処理であると考える。
The flow link creation unit 43 interprets the control flow of the JCL description as follows.
1. The line between the \ SUBJOB instruction and the \ ENDSUBJOB instruction is recognized as a “branch”.
2.1. All lines such as JCL instruction lines, \ JOB instruction and \ ENDJOB instruction are recognized as “stem”.
3. The \ WAITSUB instruction is considered as a waiting point (convergence point) for branch processing by \ SUBJOB.
4). JCL is considered to be a process in which zero or more “branch” processes are derived from the basic “trunk” process and converge by waiting.

フローリンク作成部43は、以下の部品を用いて、フローリンクを作成する。
・スタート(START)部品
・エンド(END)部品
・単位ジョブ部品
・並列分岐部品
・イベント送信部品
・イベント受信部品
The flow link creation unit 43 creates a flow link using the following components.
・ Start (START) parts ・ End (END) parts ・ Unit job parts ・ Parallel branch parts ・ Event transmission parts ・ Event reception parts

図7〜図12を用いて、フローリンク作成部43によるフローリンク作成方法について説明する。まず、フローリンク作成部43は、主記憶MEM1に展開されるフローリンクに、スタート部品を格納する。次に、JCL解析部41が、JCL命令行の¥JOB Daily(¥STEP JOB1)をフローリンク作成部43へ送ると、幹管理部52がフローを更新し、単位ジョブ部品の幹1を追加する。続いて、JCL解析部41が、JCL命令行の¥SUBJOB SUB1(¥STEP JOB2)をフローリンク作成部43へ送ると、枝管理部54がフローを更新し、並列分岐部品の並列1,枝1を追加する。それから、JCL解析部41が、JCL命令行の¥JOB3(¥STEP JOB3)をフローリンク作成部43へ送ると、幹管理部54は、現状の単位ジョブ部品の幹1を保持すると共に、待合点に関連付ける新しい単位ジョブ部品として、幹2を生成する。   A flow link creation method by the flow link creation unit 43 will be described with reference to FIGS. First, the flow link creation unit 43 stores the start part in the flow link developed in the main memory MEM1. Next, when the JCL analysis unit 41 sends ¥ JOB Daily (¥ STEP JOB1) of the JCL instruction line to the flow link creation unit 43, the trunk management unit 52 updates the flow and adds the unit job part trunk 1. . Subsequently, when the JCL analysis unit 41 sends \ SUBJOB SUB1 (\ STEP JOB2) of the JCL instruction line to the flow link creation unit 43, the branch management unit 54 updates the flow, and the parallel branch parts 1 and 1 Add Then, when the JCL analysis unit 41 sends ¥ JOB3 (¥ STEP JOB3) of the JCL command line to the flow link creation unit 43, the trunk management unit 54 holds the trunk 1 of the current unit job part, and a waiting point. A trunk 2 is generated as a new unit job part to be associated with.

図7は、フローリンク作成部43がJCL命令行の¥SUBJOB SUB2(¥STEP JOB4)を受け取ったときの動作説明図である。図7において、枝管理部54は、¥SUBJOB SUB2を受け取ると、フローを更新するため、並列分岐部品の並列2,枝2を新規に追加しようとする。図示するように、枝管理部54は、枝を管理しており、並列分岐部品の並列2,枝2を、並列分岐部品の並列1,枝1に並列に配置し、フローを更新する。すなわち、枝管理部54は、枝となる¥SUBJOB命令と¥ENDSUBJOB命令までの処理内容を並列実行させるために、リンクフローに並列実行を表す並列分岐部品を追加する。このとき、その分岐パスに次の枝を新規作成し、更にその収束を管理する。また、枝nにスクリプトファイルを関連付け、¥SUBJOBから¥ENDSUBJOBまでの全ての行を、この枝nに関連付けて格納する。   FIG. 7 is an operation explanatory diagram when the flow link creation unit 43 receives ¥ SUBJOB SUB2 (¥ STEP JOB4) in the JCL instruction line. In FIG. 7, upon receiving ¥ SUBJOB SUB2, the branch management unit 54 attempts to newly add parallel 2 and branch 2 of the parallel branch parts in order to update the flow. As shown in the drawing, the branch management unit 54 manages branches, arranges parallel 2 and branch 2 of parallel branch parts in parallel with parallel 1 and branch 1 of parallel branch parts, and updates the flow. That is, the branch management unit 54 adds a parallel branch component representing parallel execution to the link flow in order to execute the processing contents up to the \ SUBJOB instruction and the ENDSUBJOB instruction as the branches in parallel. At this time, the next branch is newly created in the branch path, and the convergence is managed. Further, the script file is associated with the branch n, and all the lines from \ SUBJOB to \ ENDSUBJOB are associated with the branch n and stored.

幹部分は、幹管理部52が管理する。幹管理部52は、¥SUBJOB命令若しくは¥WAITSUB命令が発生するまで、全ての実処理行を同一のスクリプトファイルに記録するように、スクリプトファイルをオープンし、また、クローズする。このとき、スクリプトファイル分割部42は、それらの全ての実処理行を、その幹に関連付けられた同一のスクリプトファイルに記録する。   The trunk management unit 52 manages the trunk portion. The trunk management unit 52 opens and closes the script file so as to record all the actual processing lines in the same script file until the \ SUBJOB instruction or the \ WAITSUB instruction is generated. At this time, the script file dividing unit 42 records all the actual processing lines in the same script file associated with the trunk.

図8は、フローリンク作成部43がJCL命令行の¥WAITSUBを受け取ったときの動作説明図である。幹管理部52は、¥WAITSUBを受け取る前の段階で、既に、待合点に関連付ける幹2を生成している。図示するように、フローリンク作成部43が¥WAITSUBを受け取ると、待合管理部56が、最新の幹2の後に待合部品(フォーカス(FOCUS)部品ともいう。)の待合1を追加する。また、幹管理部52は、幹1に関連付けられるスクリプトファイルをクローズし、幹2に関連付けられるスクリプトファイルをオープンする。   FIG. 8 is an operation explanatory diagram when the flow link creation unit 43 receives ¥ WAITSUB of the JCL command line. The trunk management unit 52 has already created the trunk 2 to be associated with the waiting point at the stage before receiving \ WAITSUB. As shown in the figure, when the flow link creation unit 43 receives ¥ WAITSUB, the waiting management unit 56 adds waiting 1 of the waiting part (also referred to as a focus (FOCUS) part) after the latest trunk 2. The trunk management unit 52 closes the script file associated with the trunk 1 and opens the script file associated with the trunk 2.

図9〜図11は、枝の収束方法について説明する図である。待合部品の待合1が追加されると、フローリンク作成部43は、フローリンクの枝を収束する。図9に示すように、枝管理部54は、待合管理部56に依頼して、¥WAITSUB行の引数として記載されている収束すべき枝を検索してもらう。そして、まず、枝1と待合1とを結合する。また、幹管理部52は、並列2の後ろに、幹2を結合する。その結果、フローリンクは、図10に示すように更新される。   9 to 11 are diagrams for explaining a branch convergence method. When the waiting part 1 of the waiting part is added, the flow link creation unit 43 converges the branches of the flow link. As illustrated in FIG. 9, the branch management unit 54 requests the waiting management unit 56 to search for a branch to be converged described as an argument of the \ WAITSUB line. First, the branch 1 and the waiting 1 are joined. In addition, the trunk management unit 52 joins the trunk 2 behind the parallel 2. As a result, the flow link is updated as shown in FIG.

続いて、枝管理部54は、枝2の収束を試みる。待合管理部56は、新規に待合部品の待合2を生成し、待合1の後ろに、この待合2を結合する。枝管理部54は、枝2と待合2とを結合する。このようにして、¥WAITSUBの読み込みに関する処理が終了する。JCL解析部41が更に走査を進めると、フローリンク作成部43は、更に単位ジョブ部品の幹3と、エンド部品とを結合する。その結果、フローリンクは、図11に示すように更新される。   Subsequently, the branch management unit 54 tries to converge the branch 2. The queuing management unit 56 newly generates the queuing part 2 of the queuing part, and combines this queuing 2 behind the queuing 1. The branch management unit 54 combines the branch 2 and the waiting 2. In this way, the process related to reading \ WAITSUB is completed. When the JCL analysis unit 41 further advances scanning, the flow link creation unit 43 further combines the unit job component trunk 3 and the end component. As a result, the flow link is updated as shown in FIG.

JCL記述の走査が完了すると、フローリンク診断部44が、枝管理部54を用いて、枝部品の診断を行う。未収束の枝が存在すれば、その旨を警告する。次に、フローリンク最適化45が、枝最適化部58を用い、ジョブ管理ソフトウェアのフロー方式に合わせて、フローリンクを最適化する。枝最適化部58は、図11に示すように、並列分岐部品のソートを行い、枝の交差を解消する。図12は、ジョブネットワーク生成部13の入出力関係を説明する図である。図示するように、ジョブネットワーク生成部13は、中間ファイルのJCL記述を入力し、フローリンクと、スクリプトファイル群とを出力する。   When the scanning of the JCL description is completed, the flow link diagnosis unit 44 uses the branch management unit 54 to diagnose branch parts. If there is an unconverged branch, a warning to that effect is given. Next, the flow link optimization 45 uses the branch optimization unit 58 to optimize the flow link according to the flow method of the job management software. As shown in FIG. 11, the branch optimization unit 58 sorts the parallel branch parts and eliminates the intersection of the branches. FIG. 12 is a diagram illustrating the input / output relationship of the job network generation unit 13. As illustrated, the job network generation unit 13 inputs a JCL description of an intermediate file, and outputs a flow link and a script file group.

図13は、JCL→中間ファイル変換部12の処理を説明する流れ図である。図13において、JCL→中間ファイル変換部12は、JCLファイルをオープンし(ステップ21−1)、JCL記述を一行ずつ読み込む(ステップ21−2)。中間ファイル生成部32は、変換処理をJCLファイルのEOF(End Of File)まで繰り返す(ステップ21−3)。JCLファイルのEOFに達していない間(ステップ21−3:イエス)、中間ファイル生成部32は、変換辞書36を検索し(ステップ21−4)、読み込んだ行が、変換対象行として、変換辞書36に載っているか否かを調べる(ステップ21−5)。変換対象行であれば、変換を行い、変換辞書36の検索結果を中間ファイルに出力する(ステップ21−8)。変換対象行で無ければ、読み込んだ行をそのまま出力する(ステップ21−7)。JCLファイルのEOFに到達したら(ステップ21−3:ノー)、中間ファイルをクローズする(ステップ21−6)。中間ファイル出力部34は、作成された中間ファイルを変換結果として、ジョブネットワーク生成部13へ送信する。この変換処理によって、JCLファイルはシェル言語で記述された中間ファイルに変換される。更に、以後の変換処理に必要なJCL制御命令行は、コメント行としてそのまま残す。   FIG. 13 is a flowchart for explaining processing of the JCL → intermediate file conversion unit 12. In FIG. 13, the JCL → intermediate file conversion unit 12 opens the JCL file (step 21-1) and reads the JCL description line by line (step 21-2). The intermediate file generation unit 32 repeats the conversion process until an EOF (End Of File) of the JCL file (step 21-3). While the ECL of the JCL file has not been reached (step 21-3: YES), the intermediate file generation unit 32 searches the conversion dictionary 36 (step 21-4), and the read line is set as the conversion target line. 36 is checked (step 21-5). If it is a conversion target line, conversion is performed and the search result of the conversion dictionary 36 is output to an intermediate file (step 21-8). If it is not a conversion target line, the read line is output as it is (step 21-7). When the EOF of the JCL file is reached (step 21-3: NO), the intermediate file is closed (step 21-6). The intermediate file output unit 34 transmits the created intermediate file as a conversion result to the job network generation unit 13. By this conversion processing, the JCL file is converted into an intermediate file described in the shell language. Further, the JCL control command line necessary for the subsequent conversion process is left as a comment line.

図14〜図17は、ジョブネットワーク生成部13によるフローリンクの作成方法を説明する流れ図である。本実施の形態におけるジョブネットワーク生成部13は、以下のJCL命令行を対象として、フローリンクを生成する。
¥JOB JCL記述の開始
¥ENDJOB JCL記述の終了
¥SUBJOB 並列実行処理記述の開始
¥ENDSUBJOB 並列実行処理記述の終了
¥WAITSUB 指定された¥SUBJOBの終了待ち合わせ
¥RUN 指定されたJCLファイルを起動
14 to 17 are flowcharts for explaining a method of creating a flow link by the job network generation unit 13. The job network generation unit 13 in the present embodiment generates a flow link for the following JCL command line.
¥ JOB Start of JCL description ¥ ENDJOB End of JCL description ¥ SUBJOB Start of parallel execution processing description ¥ ENDSUBSUB Job end of parallel execution processing description ¥ WAITSUB Wait for end of specified SUBJOB ¥ RUN Run the specified JCL file

図14に示すようにジョブネットワーク生成部13において、JCL解析部41は、JCL→中間ファイル変換部12から受け取った中間ファイルをオープンすると(ステップ22−1)、中間ファイルを一行ずつ読み込む(ステップ22−2)。JCL解析部41は、中間ファイルの読み込みをEOFまで繰り返す(ステップ22−3)。中間ファイルのEOFに到達したら(ステップ22−3:ノー)、中間ファイルの解析を終了し、若しくは、エラーを出力する。   As shown in FIG. 14, in the job network generation unit 13, when the JCL analysis unit 41 opens the intermediate file received from the JCL → intermediate file conversion unit 12 (step 22-1), the intermediate file is read line by line (step 22). -2). The JCL analysis unit 41 repeats the reading of the intermediate file until EOF (step 22-3). If the EOF of the intermediate file is reached (step 22-3: NO), the analysis of the intermediate file is terminated or an error is output.

中間ファイルのEOFに到達するまでは(ステップ22−3:イエス)、読み込んだ行が、実処理行かJCL命令行であるかを判別する(ステップ22−4)。実処理行であれば(ステップ22−4:ノー)、次の行を読み込む。JCL命令行であれば(ステップ22−4:イエス)、ジョブネットワーク・フローをオープンし(ステップ22−5)、図15の詳細解析処理に移行する。   Until the EOF of the intermediate file is reached (step 22-3: YES), it is determined whether the read line is an actual processing line or a JCL instruction line (step 22-4). If it is an actual processing line (step 22-4: No), the next line is read. If it is a JCL command line (step 22-4: YES), the job network flow is opened (step 22-5), and the process proceeds to the detailed analysis process of FIG.

図15の詳細解析処理において、フローリンク作成部43は、まず、初期化処理として、ベース(BASE)パスにスタート部品を追加し、その次に単位ジョブ部品を追加し、フローリンクの作成を開始する。更に、記憶装置B1に、その単位ジョブ部品に関連付けられたスクリプトファイルを新規作成し、オープンする(ステップ23−1)。スクリプトファイル分割部42は、対象行がJCL命令行以外であれば、その行をオープンされているスクリプトファイルに格納する。   In the detailed analysis process of FIG. 15, the flow link creation unit 43 first adds a start part to the base (BASE) path as an initialization process, then adds a unit job part, and starts creating a flow link. To do. Further, a new script file associated with the unit job part is created in the storage device B1 and opened (step 23-1). If the target line is not a JCL command line, the script file dividing unit 42 stores the line in the opened script file.

JCL解析部41は、中間ファイルを一行ずつ読み込み(ステップ23−2)、この読み込みをEOFまで繰り返す(ステップ23−3)。フローリンク作成部43は、もし、読み込んだ対象行が¥SUBJOB行であれば(ステップ23−4)、ベースパスの単位ジョブ部品をクローズし(ステップ23−9)、並列分岐部品をベースパスに追加する(ステップ23−10)。更に、並列分岐パスに単位ジョブ部品を新規作成する(ステップ23−11)。スクリプトファイル分割部42は、¥ENDSUBJOBまでの全ての行を、この単位ジョブ部品に関連付けられたスクリプトファイルに格納する。その後、並列分岐パス処理へ移行する(ステップ23−12)。   The JCL analysis unit 41 reads the intermediate file line by line (step 23-2), and repeats this reading until EOF (step 23-3). If the read target line is a \ SUBJOB line (step 23-4), the flow link creation unit 43 closes the unit job part of the base path (step 23-9) and sets the parallel branch part to the base path. It adds (step 23-10). Furthermore, a new unit job part is created in the parallel branch path (step 23-11). The script file dividing unit 42 stores all lines up to ¥ ENDSUBJOB in the script file associated with the unit job component. Thereafter, the process proceeds to parallel branch path processing (step 23-12).

フローリンク作成部43は、もし、読み込んだ対象行が¥WAITSUB行であり、かつ、JOBNAMEの引数が無ければ(ステップ23−5)、ベースパスの単位ジョブ部品をクローズする(ステップ23−13)。次に、ベースパスにフォーカス(FOCUS:待合)部品を追加し、¥WAITSUB行の引数として記載されている収束すべき分岐を検索して、全ての並列分岐部品をこのフォーカス部品で収束させる(ステップ23−14)。続いて、ベースパスに次の単位ジョブ部品を新規作成し、オープンする(ステップ23−15)。   If the read target line is a \ WAITSUB line and there is no JOBNAME argument (step 23-5), the flow link creation unit 43 closes the unit job part of the base path (step 23-13). . Next, a focus (FOCUS) part is added to the base path, a branch to be converged described as an argument of the \ WAITSUB line is searched, and all parallel branch parts are converged by this focus part (step) 23-14). Subsequently, the next unit job part is newly created in the base path and opened (step 23-15).

フローリンク作成部43は、もし、読み込んだ対象行が¥WAITSUB行であり、かつ、その引数がJOBNAMEであれば(ステップ23−6)、ベースパスの単位ジョブ部品をクローズする(ステップ23−16)。次に、ベースパスにフォーカス部品を追加し、¥WAITSUB行の引数として記載されているJOBNAMEのパスを検索して、それらの並列分岐部品をこのフォーカス部品で収束させる(ステップ23−17)。続いて、ベースパスに次の単位ジョブ部品を新規作成し、オープンする(ステップ23−18)。   If the read target line is the \ WAITSUB line and the argument is JOBNAME (step 23-6), the flow link creation unit 43 closes the unit job part of the base path (step 23-16). ). Next, a focus part is added to the base path, a path of JOBNAME described as an argument in the \ WAITSUB line is searched, and these parallel branch parts are converged by this focus part (step 23-17). Subsequently, the next unit job part is newly created in the base path and opened (step 23-18).

フローリンク作成部43は、もし、読み込んだ対象行が¥ENDJOB行であれば(ステップ23−7)、フローリンクの作成を終了し、ジョブネットワーク・フローをクローズする(ステップ23−19)。   If the read target line is a \ ENDJOB line (step 23-7), the flow link creation unit 43 ends the creation of the flow link and closes the job network flow (step 23-19).

フローリンク作成部43は、もし、読み込んだ対象行が¥RUN行であり、そのパラメータ値がHOLD=Nであれば(ステップ23−8)、¥RUN処理に移行する(ステップ23−20)。パラメータ値のHOLD=Nは、引数となるJOBNAMEがN回有効化(¥ACTIVATE)されるのを待ってから、JOBNAMEを実行する(¥RUN)ことを意味している。   If the read target line is a \ RUN line and the parameter value is HOLD = N (step 23-8), the flow link creation unit 43 proceeds to the \ RUN process (step 23-20). The parameter value HOLD = N means that the JOBNAME is executed (¥ RUN) after waiting for the argument JOBNAME to be validated N times (¥ ACTIVATE).

フローリンク作成部43は、もし、読み込んだ対象行が¥SUBJOB行でもなく、¥WAITSUB行でもなく、¥ENDJOB行でもなく、かつ、そのパラメータ値がHOLD=Nである¥RUN行でも無い場合には、読み込んだ行は、識別子行ではないと判断する(ステップ23−21)。スクリプトファイル分割部42は、この行をオープンされている単位ジョブ部品に関連付けられたスクリプトファイルに追加する(ステップ23−22)。   The flow link creation unit 43 determines that the read target line is not a \ SUBJOB line, a \ WAITSUB line, a \ ENDJOB line, or a parameter value of HOLD = N and is not a \ RUN line. Determines that the read line is not an identifier line (step 23-21). The script file dividing unit 42 adds this line to the script file associated with the opened unit job component (step 23-22).

図16は、並列分岐パス処理を説明する流れ図である。図16の並列分岐パス処理において、フローリンク作成部43は、まず、並列分岐パスに単位ジョブ部品をオープンする(ステップ24−1)。次に、JCL解析部41は、中間ファイルを一行ずつ読み込み(ステップ24−2)、この読み込みをEOFまで繰り返す(ステップ24−3)。フローリンク作成部43は、読み込んだ対象行が、”¥RUN HOLD=ON”又は”¥ACTIVATE”のいずれかであるか否かを判定する(ステップ24−4)。いずれかであれば、¥RUN処理へ進む(ステップ24−5)。どちらでも無ければ、”¥ENDSUBJOB”であるか否かを判定する(ステップ24−6)。”¥ENDSUBJOB”であれば、その単位ジョブ部品をクローズし(ステップ24−7)、当該並列分岐パスをクローズして(ステップ24−8)、並列分岐パス処理を終了する。”¥ENDSUBJOB”でも無ければ、その行は実処理行であるとして(ステップ24−9)、単位ジョブ部品に関連付けられたスクリプトファイルに当該行を追記する(ステップ24−10)。   FIG. 16 is a flowchart for explaining parallel branch path processing. In the parallel branch path processing of FIG. 16, the flow link creation unit 43 first opens a unit job part in the parallel branch path (step 24-1). Next, the JCL analysis unit 41 reads the intermediate file line by line (step 24-2), and repeats this reading until EOF (step 24-3). The flow link creation unit 43 determines whether the read target line is “¥ RUN HOLD = ON” or “¥ ACTIVATE” (step 24-4). If it is either, the process proceeds to the \ RUN process (step 24-5). If neither is found, it is determined whether or not it is “¥ ENDSUBJOB” (step 24-6). If “¥ ENDSUBJOB”, the unit job part is closed (step 24-7), the parallel branch path is closed (step 24-8), and the parallel branch path processing is terminated. If it is not “¥ ENDSUBJOB”, it is determined that the line is an actual process line (step 24-9), and the line is added to the script file associated with the unit job component (step 24-10).

図17は、RUN処理を説明する流れ図である。図17において、”¥RUN HOLD=ON”である場合、単位ジョブ部品をクローズし(ステップ25−1)、イベント受信部品をN個作成する(ステップ25−2)。続いて、フローリンクにサブジョブネットワーク”JOBNAME”を作成し(ステップ25−3)、次の単位ジョブをオープンする(ステップ25−4)。一方、”¥RUN HOLD=ON”では無い場合、単位ジョブ部品をクローズし(ステップ25−5)、イベント送信部品を作成する(ステップ25−6)。続いて、次の単位ジョブ部品をオープンする(ステップ25−7)。   FIG. 17 is a flowchart for explaining the RUN process. In FIG. 17, when “¥ RUN HOLD = ON”, the unit job part is closed (step 25-1), and N event reception parts are created (step 25-2). Subsequently, a sub job network “JOBNAME” is created in the flow link (step 25-3), and the next unit job is opened (step 25-4). On the other hand, if it is not “¥ RUN HOLD = ON”, the unit job part is closed (step 25-5), and an event transmission part is created (step 25-6). Subsequently, the next unit job part is opened (step 25-7).

JCL記述の走査が完了すると、待合管理部56が、ブランチ(BRANCH)部品の走査を行い、未収束のブランチ部品が存在すれば、その旨を警告する。次に、フローリンク最適化部45がフォーカス部品のインデクス(index)に従って、ブランチ部品のソートを行う。   When the scanning of the JCL description is completed, the queuing management unit 56 scans the branch (BRANCH) component, and warns that if there is an unconverged branch component. Next, the flow link optimization unit 45 sorts the branch parts according to the index of the focus parts.

図18は、ジョブネットワーク出力部14の出力処理を説明する流れ図である。ジョブネットワーク出力部14は、図18の流れ図に従い、フローリンクなどを、ジョブ管理ソフトウェアの種別に応じたジョブネットワーク定義に変換する。図18において、まず、ジョブネットワーク出力部14は、フローリンクのリンク構造が正常であるか否かを判定する(ステップ26−1)。正常で無ければ、エラーを出力する。正常であれば、ジョブネットワークとして描画できる構造、又は、ファイル出力できる構造であるか否かを判定する(ステップ26−2)。そのような構造であれば、リンク構造をそのままジョブネットワーク・フローとして描画し、又は、ファイル出力する(ステップ26−3)。そのような構造では無い場合には、修復可能であるか否かを判定し(ステップ26−4)、修復可能であれば、リンク構造を修正する(ステップ26−5)。   FIG. 18 is a flowchart for explaining output processing of the job network output unit 14. The job network output unit 14 converts a flow link or the like into a job network definition corresponding to the type of job management software in accordance with the flowchart of FIG. In FIG. 18, first, the job network output unit 14 determines whether or not the link structure of the flow link is normal (step 26-1). If it is not normal, an error is output. If it is normal, it is determined whether or not it is a structure that can be drawn as a job network or a structure that can output a file (step 26-2). If it is such a structure, the link structure is directly rendered as a job network flow or outputted as a file (step 26-3). If it is not such a structure, it is determined whether or not it can be repaired (step 26-4). If it can be repaired, the link structure is corrected (step 26-5).

以上説明したように、本実施の形態によれば、次のような効果が得られる。第1の効果は、メインフレーム→オープンシステムのジョブ環境移行のコストが大幅に削減されることである。その理由は、本実施の形態によりJCL→ジョブネットワーク自動変換が可能になることによって、手作業によって行われていたジョブ移行の工数やリスクが極小となるためである。   As described above, according to the present embodiment, the following effects can be obtained. The first effect is that the cost of migrating the job environment from mainframe to open system is greatly reduced. The reason is that, according to the present embodiment, automatic conversion of JCL → job network becomes possible, thereby minimizing the man-hour and risk of job migration that has been performed manually.

第2の効果は、ジョブ環境移行後の保守性が大きく高まることである。その理由は、本実施の形態により自動生成されるジョブネットワーク・フローは、保守性の高い平易なフローになっており、移行後のジョブ監視やジョブの修正作業などが、JCLファイルの場合に比べて極めて容易になるためである。   The second effect is that the maintainability after shifting to the job environment is greatly improved. The reason for this is that the job network flow automatically generated by this embodiment is a simple flow with high maintainability, and job monitoring and job correction work after migration is more efficient than the JCL file. This makes it extremely easy.

第3の効果は、一般的なジョブ管理ソフトウェアでのジョブ運用の保守性を高めることができることである。その理由は、本実施の形態によるアルゴリズムであって、複雑なフローを平易な形状のフローに変換するアルゴリズムを、一般的なジョブ管理ソフトウェアのフロー最適化に応用することによって、保守性の高いフローへ変換することが可能となるからである。   A third effect is that the maintainability of job operation in general job management software can be improved. The reason is that the algorithm according to the present embodiment, which converts a complex flow into a flow having a simple shape, is applied to the flow optimization of general job management software, so that the flow with high maintainability is applied. This is because it is possible to convert to

10 ジョブネットワーク自動生成方式
11 JCLファイル入力部
12 JCL→中間ファイル変換部
13 ジョブネットワーク生成部
14 ジョブネットワーク出力部
32 中間ファイル生成部
34 中間ファイル出力部
36 変換辞書
41 JCL解析部
42 スクリプトファイル分割部
43 フローリンク作成部
44 フローリンク診断部
45 フローリンク最適化部
52 幹管理部
54 枝管理部
56 待合管理部
58 枝最適化部
10 Job Network Automatic Generation Method 11 JCL File Input Unit 12 JCL → Intermediate File Conversion Unit 13 Job Network Generation Unit 14 Job Network Output Unit 32 Intermediate File Generation Unit 34 Intermediate File Output Unit 36 Conversion Dictionary 41 JCL Analysis Unit 42 Script File Division Unit 43 Flow link creation unit 44 Flow link diagnostic unit 45 Flow link optimization unit 52 Trunk management unit 54 Branch management unit 56 Wait management unit 58 Branch optimization unit

Claims (7)

JCL(Job Control Language)ファイルを入力するJCLファイル入力手段と、
前記JCLファイルのJCL記述は、JCL実処理行とJCL命令行を含み、
前記JCL命令行に基づいて、ジョブの制御フローを示すフローリンクを自動生成するジョブネットワーク生成手段と、
前記フローリンクを、ジョブの実行順序の流れ図であるジョブネットワーク・フローのジョブネットワーク定義に変換出力するジョブネットワーク出力手段とを備え、
前記ジョブネットワーク生成手段は、
前記JCL記述を走査し、JCL実処理行と、JCL命令行とに振り分けるJCL解析手段と、
フローリンク作成手段を備え、
前記フローリンク作成手段は、
前記JCL命令行を受け取って、前記JCL命令行の中で、並列実行処理命令行と、並列実行処理終了命令行とを受け取り、その間の行を枝として管理する枝管理手段と、
前記JCL命令行の中で、前記並列実行処理命令行及び前記並列実行処理終了命令行以外のJCL命令行を受け取り、前記枝以外の行を幹として管理する幹管理手段を備え、
前記幹管理手段は、
一つの前記幹に、一つの前記幹として管理されるJCL命令行の実行位置を示す単位ジョブ部品(幹部品)を対応させ、前記幹部品を作成中の前記フローリンクに追加し、
前記枝管理手段は、
一つの前記枝に、並列部品と枝部品の組を対応させ、前記並列部品と前記枝部品を、作成中の前記フローリンクに追加し、ここで、前記並列部品は、前記枝として管理されるJCL実処理行の処理の開始位置を示し、前記枝部品は、前記枝として管理されるJCL実処理行の実行位置を示す
ジョブネットワーク自動生成方式。
JCL file input means for inputting a JCL (Job Control Language) file;
The JCL description of the JCL file includes a JCL actual processing line and a JCL instruction line,
Job network generation means for automatically generating a flow link indicating a job control flow based on the JCL command line;
Job network output means for converting and outputting the flow link into a job network definition of a job network flow that is a flowchart of a job execution sequence;
The job network generation means includes
JCL analysis means that scans the JCL description and distributes it into a JCL actual processing line and a JCL instruction line;
With flow link creation means,
The flow link creating means includes:
Branch management means for receiving the JCL instruction line, receiving a parallel execution process instruction line and a parallel execution process end instruction line in the JCL instruction line, and managing the line between them as a branch;
A trunk management means for receiving a JCL instruction line other than the parallel execution process instruction line and the parallel execution process end instruction line in the JCL instruction line, and managing a line other than the branch as a trunk;
The trunk management means includes
A unit job part (stem part) indicating an execution position of a JCL command line managed as one trunk is associated with one trunk, and the trunk part is added to the flow link being created,
The branch management means includes
A set of parallel parts and branch parts is associated with one branch, and the parallel parts and the branch parts are added to the flow link being created, where the parallel parts are managed as the branches. A job network automatic generation method that indicates a start position of processing of a JCL actual processing line, and the branch component indicates an execution position of a JCL actual processing line managed as the branch.
前記フローリンク作成手段は、
前記JCL命令行の中で、並列実行処理同期命令行を受け取り、前記枝の収束を、並列実行処理同期命令行の引数として記載されている枝を検索することにより、収束すべき枝を管理する待合管理手段を更に備え、
前記待合管理手段は、
並列実行処理同期命令行を受け取ると、作成中のフローリンクにおいて、並列実行処理同期命令行に対応する枝部品に、前記枝部品に対応するJCL実処理行の実行終了の待ち合わせを表す待合部品を結合し、フローリンクを更新する
請求項1記載のジョブネットワーク自動生成方式。
The flow link creating means includes:
Among the JCL instruction lines, a parallel execution process synchronization instruction line is received, and the branch to be converged is managed by searching for the branch described as an argument of the parallel execution process synchronization instruction line. Further comprising waiting management means,
The waiting management means includes:
When a parallel execution process synchronization instruction line is received, a waiting part representing the end of execution of the JCL actual processing line corresponding to the branch part is added to the branch part corresponding to the parallel execution process synchronization instruction line in the flow link being created. The job network automatic generation method according to claim 1, wherein the flow links are updated by combining.
前記ジョブネットワーク生成手段は、
フローリンクの前記並列部品に対応する前記待合部品のインデクスを参照して、前記並列部品同士の処理の前後関係をソートし、前記枝部品と前記待合部品との結合によって生じる並列分岐パスの交差を解消するフローリンク最適化手段を更に有する
請求項2記載のジョブネットワーク自動生成方式。
The job network generation means includes
Referring to the index of the waiting part corresponding to the parallel part of the flow link, sort the processing context between the parallel parts, and calculate the intersection of the parallel branch paths caused by the combination of the branch part and the waiting part. The job network automatic generation method according to claim 2, further comprising a flow link optimization unit for canceling.
前記ジョブネットワーク生成手段は、
前記JCL実処理行を複数のスクリプトファイルに分割して格納するスクリプトファイル分割手段を更に備える
請求項3記載のジョブネットワーク自動生成方式。
The job network generation means includes
4. The job network automatic generation method according to claim 3, further comprising script file dividing means for dividing the JCL actual processing line into a plurality of script files and storing them.
前記フローリンク作成手段は、
前記幹と前記単位ジョブ部品、又は前記枝と前記枝部品を対応させると共に、その単位ジョブ部品又は枝部品に関連付けられたスクリプトファイルをオープンし、
前記スクリプトファイル分割手段は、
前記単位ジョブ部品又は前記枝部品に対応するJCL実処理行を、前記フローリンク作成手段によってオープンされたスクリプトファイルに格納する
請求項4記載のジョブネットワーク自動生成方式。
The flow link creating means includes:
Corresponding the trunk and the unit job part, or the branch and the branch part, and open a script file associated with the unit job part or branch part,
The script file dividing means includes:
The job network automatic generation method according to claim 4, wherein a JCL actual processing line corresponding to the unit job part or the branch part is stored in a script file opened by the flow link creation unit.
前記フローリンク作成手段は、
前記スクリプトファイルをオープンしている状態のときに、前記スクリプトファイル分割手段が、前記スクリプトファイルに対応するJCL実処理行の格納を終了したときは、前記スクリプトファイルをクローズし、
別の前記単位ジョブ部品又は前記枝部品がある場合には、前記単位ジョブ部品又は前記枝部品に関連付けられたスクリプトファイルをオープンする
請求項5記載のジョブネットワーク自動生成方式。
The flow link creating means includes:
When the script file dividing means finishes storing the JCL actual processing line corresponding to the script file when the script file is open, the script file is closed,
6. The job network automatic generation method according to claim 5, wherein when there is another unit job part or the branch part, a script file associated with the unit job part or the branch part is opened.
請求項1〜6いずれか1項に記載のジョブネットワーク自動生成方式が具備するJCLファイル入力手段と、ジョブネットワーク生成手段と、ジョブネットワーク出力手段としてコンピュータを機能させるための
プログラム。
A program for causing a computer to function as a JCL file input unit, a job network generation unit, and a job network output unit included in the automatic job network generation method according to claim 1.
JP2011215686A 2011-09-29 2011-09-29 Job network automatic generation method and program Expired - Fee Related JP5273576B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011215686A JP5273576B2 (en) 2011-09-29 2011-09-29 Job network automatic generation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011215686A JP5273576B2 (en) 2011-09-29 2011-09-29 Job network automatic generation method and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008058805A Division JP2009217405A (en) 2008-03-07 2008-03-07 System and program for automatically creating job network

Publications (2)

Publication Number Publication Date
JP2011258248A true JP2011258248A (en) 2011-12-22
JP5273576B2 JP5273576B2 (en) 2013-08-28

Family

ID=45474257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011215686A Expired - Fee Related JP5273576B2 (en) 2011-09-29 2011-09-29 Job network automatic generation method and program

Country Status (1)

Country Link
JP (1) JP5273576B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664314B (en) * 2017-03-29 2023-10-13 香港城市大学 Modularized management method and device for big data processing flow

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573284A (en) * 1991-09-11 1993-03-26 Syst Burein:Kk Drawing processor and its method
JPH0683598A (en) * 1992-09-03 1994-03-25 Hitachi Ltd Job flow specification automatic generating method
JPH06242933A (en) * 1993-02-15 1994-09-02 Sumitomo Metal Ind Ltd Program document maintenance device
JPH06318151A (en) * 1992-09-09 1994-11-15 Central Syst Kk Device and method for conversion between flowchart and processing program
JPH1124913A (en) * 1997-06-27 1999-01-29 Nec Software Kansai Ltd Jcl program conversion device and recording medium
JP2008204069A (en) * 2007-02-19 2008-09-04 Nec Corp Device and method for generating job network flow from control sentence described by job control language

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573284A (en) * 1991-09-11 1993-03-26 Syst Burein:Kk Drawing processor and its method
JPH0683598A (en) * 1992-09-03 1994-03-25 Hitachi Ltd Job flow specification automatic generating method
JPH06318151A (en) * 1992-09-09 1994-11-15 Central Syst Kk Device and method for conversion between flowchart and processing program
JPH06242933A (en) * 1993-02-15 1994-09-02 Sumitomo Metal Ind Ltd Program document maintenance device
JPH1124913A (en) * 1997-06-27 1999-01-29 Nec Software Kansai Ltd Jcl program conversion device and recording medium
JP2008204069A (en) * 2007-02-19 2008-09-04 Nec Corp Device and method for generating job network flow from control sentence described by job control language

Also Published As

Publication number Publication date
JP5273576B2 (en) 2013-08-28

Similar Documents

Publication Publication Date Title
JP2009217405A (en) System and program for automatically creating job network
JP7090778B2 (en) Impact analysis
AU2020203491B2 (en) Source code translation
US6408430B2 (en) Interactive software testing system and method
JP5989097B2 (en) Registration and execution of highly parallel processing tasks
US9639454B2 (en) Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system
WO2014111825A1 (en) Integration and user story generation and requirements management
de Carvalho Junior et al. Contextual abstraction in a type system for component-based high performance computing platforms
JP5273576B2 (en) Job network automatic generation method and program
Kousiouris et al. Combining node-red and openwhisk for pattern-based development and execution of complex faas workflows
WO2008041442A1 (en) Parallelization program creating method, parallelization program creating device, and parallelization program creating program
WO2016007191A1 (en) Service discovery and/or effort estimation in networked computing environments
US8510342B1 (en) Automatic conversion of build processes to use streaming input
WO2023007237A1 (en) System and method for batch and scheduler migration in an application environment migration
CN114546670A (en) Coroutine-based functional asynchronous data distribution system and method
Posch et al. Design and implementation of the Alida framework to ease the development of image analysis algorithms
CN117350396A (en) Method of tracking and cloning articles associated with a distributed machine learning pipeline
Wang et al. Automating three-dimensional reconstruction of icosahedral virus structure with Condensed Graphs
Dowling et al. Marc Bux

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121102

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5273576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees