首页 / 专利库 / 编辑中 / 编辑决策表 / Method for generating program specifications

Method for generating program specifications

阅读:152发布:2020-11-27

专利汇可以提供Method for generating program specifications专利检索,专利查询,专利分析的服务。并且PURPOSE: To produce the specification information that is easily understood and has the contents satisfactory for correction and reuse from an existing program with the use of a computer.
CONSTITUTION: A program is analyzed (102) and the data specification information is produced (103). The program processing pattern information showing the skeletal structure of the processing procedure is produced (104) together with production of the data generating formula information showing a process where each output data item is produced from the input data items (105). The input data checking type information is produced to show the conditions relating to the input data items and the operations which are carried out according to the propriety of the conditions (106). Then the decision table information is produced to show each condition and the operations carried out according to the propriety of these conditions (107). Based on these pieces of information, the program specification information is edited and outputted (108). It is also possible to automatically produce the program after those preceding information are changed as necessary.
COPYRIGHT: (C)1993,JPO&Japio,下面是Method for generating program specifications专利的具体信息内容。

【特許請求の範囲】
  • 【請求項1】少なくとも処理装置と記憶装置と入力装置と出力装置を備えたコンピュータシステムにおいて、既存のプログラムを解析してプログラム解析情報を作成するステップと、前記プログラム解析情報から処理手続きの骨格的構造を表わすプログラム処理パターンを抽出して、そのパターンを表わすプログラム処理パターン情報を作成するステップと、前記プログラム解析情報からファイル仕様情報及びレコード仕様情報の少なくとも一方を含むデータ仕様情報を作成するステップと、前記プログラム解析情報から、各出力データ項目の生成手順を逆向きにたどることによって得られる、各出力データ項目を入力データ項目から生成する過程を表わすデータ生成式情報、及び入力データ項目を条件中に含む条件付き処理の解析によって得られる、各入力データ項目に関する条件とその条件の成否に応じて行なわれる動作とを表わす入力データチェック式情報の、少なくとも一方を作成するステップと、少なくとも前記データ仕様情報の識別情報及び前記プログラム処理パターン情報並びに前記データ生成式情報及び入力データチェック式情報の一方又は双方を、プログラム仕様情報として編集するステップとを有する、プログラム仕様生成方法。
  • 【請求項2】請求項1に記載された方法において、前記プログラム処理パターン情報作成ステップは、前記プログラム解析情報から直接に得られたプログラム制御構造を、反復、選択及び順次の処理のみからなるプログラム制御構造に変換するステップと、この変換されたプログラム制御構造から前記プログラム処理パターンを抽出するステップとを含む、プログラム仕様生成方法。
  • 【請求項3】請求項1又は2に記載された方法において、前記プログラム処理パターン情報作成ステップは、
    更に、前記抽出されたプログラム処理パターンを前記コンピュータシステム内のプログラム処理パターンライブラリに既に登録されている一群のプログラム処理パターンと照合するステップと、前記照合の結果に従って当該プログラムのプログラム処理パターン情報を決定するステップとを含む、プログラム仕様生成方法。
  • 【請求項4】請求項3に記載された方法において、前記プログラム処理パターン情報作成ステップは、、更に、
    前記プログラム処理パターン情報を前記プログラム処理パターンライブラリに登録するステップを含む、プログラム仕様生成方法。
  • 【請求項5】請求項4に記載された方法において、前記プログラム処理パターン情報の登録は、前記照合において合致が検出されなかったときにのみ行なわれる、プログラム仕様生成方法。
  • 【請求項6】請求項1ないし5のいずれかに記載された方法において、更に、前記データ仕様情報を前記コンピュータシステム内のデータ仕様書ライブラリに登録するステップを有する、プログラム仕様生成方法。
  • 【請求項7】請求項1ないし6のいずれかに記載された方法において、更に、前記データ生成式情報及び入力デ−タチェック式情報の少なくともいずれかを、前記コンピュータシステム内のデータ項目辞書に登録するステップを有する、プログラム仕様生成方法。
  • 【請求項8】請求項1ないし7のいずれかに記載された方法において、更に、各条件付き処理を解析して、各条件とその条件の成否に応じて行なわれる動作とを表わすデシジョンテーブル情報を作成するステップを有し、前記編集ステップはこのデシジョンテーブル情報を含むデータ仕様情報を編集する、プログラム仕様生成方法。
  • 【請求項9】請求項8に記載された方法において、更に、前記データ生成式情報、入力データチェック式情報及びデシジョンテーブル情報の少なくとも二つから重複する情報を抽出するステップと、前記重複する情報の一方を利用者との対話により除去するステップとを有する、プログラム仕様生成方法。
  • 【請求項10】請求項8又は9に記載された方法において、更に、少なくとも前記プログラム処理パターン情報、データ仕様情報、データ生成式情報、入力データチェック式情報、及びデシジョンテーブル情報の一つを、
    利用者の要求があればそれに従って変更するステツプと、その後に前記諸情報に基づいてプログラムを自動生成するステップとを有する、プログラム作成方法。
  • 说明书全文

    【発明の詳細な説明】

    【0001】

    【産業上の利用分野】本発明は、ソフトウェアの保守及び再利用に関し、特に、既存プログラムの仕様情報をコンピュータにより自動的に作成する技術に関する

    【0002】

    【従来の技術】既存のプログラムを部分的に修正したり、あるいはその機能を拡張する必要がしばしば生じ、
    また、既存のプログラムを利用して新しいプログラムを開発することも多い。 このような作業では、まず、既存プログラムの仕様を十分に理解することが必要である。
    特に事務処理システムの場合に、帳票、画面、又はマスタ−ファイルに含まれていて、システムの利用者の業務に直接関係する入出デ−タ項目については、各データ項目の属性と、それらのデータ項目の間の関係、例えば、あるデータ項目が他のデータ項目から導出される過程、などを把握することが極めて重要である。

    【0003】このような情報は、本来ならば、既存プログラムの仕様書に記載されているべきものであり、もし記載されていれば、その仕様書から容易に上記の情報を得ることができる。 しかし、現実には、プログラム仕様書が存在しなかったり、あるいは、存在していても、プログラムが変更された時にプログラム仕様書が修正されなかった結果、プログラム仕様書の内容とプログラムの内容が一致していない場合が多々あり、このような場合には、プログラムの内容を理解するだけのために、多大の労力を費やさなければならない。

    【0004】このような労力の軽減を目的として、コンピュータにより既存のプログラムを解析し、そのプログラムの仕様情報を生成する方法が、次に例示するように、既にいくつか提案されれている。

    【0005】第1の従来技術として、特開昭62−89
    137号「プログラム対話方式」に記載された方法は、
    プログラムを解析して、その手続き部の内容を図式表現に変換するとともに、そのプログラムが扱うデータに関する情報を作成するものである。

    【0006】第2の従来技術として、特開平2−112
    024号「プログラム処理パターン推定方法」に記載された方法は、プログラムの手続き部に基づいて、処理手続きの骨格的構造を表わすプログラム処理パターンと、
    その処理の概要(例えば、ファイル変換処理、集計処理等)とを決定するものである。

    【0007】第3の従来技術として、特願平2−316
    134号「ソフトウェア仕様情報抽出方法」が提案する方法は、プログラムの手続き部に基づいて、入力データ項目から出力データ項目が導出される過程を表わすデータ生成式情報と、入力データ項目に関しての条件とそれに依存する動作とを表わすデータチェック式情報を、作成するものである。

    【0008】

    【発明が解決しようとする課題】前記の従来技術は、それぞれ、既存プログラムを解析して、その仕様情報を生成するものであり、既存プログラムの内容の理解をコンピュータによって支援するための有力な技術である。 しかしながら、前記第1の従来技術により得られる情報は、量的には十分なプログラム仕様情報を含んではいるが、甚だ冗長で未整理のものであり、それからプログラムの内容を明確に理解するには、なお多大の努力を要する。 また、前記第2の従来技術により得られる情報は、
    プログラム仕様情報の極く一部でしかなく、それからプログラムの全内容を把握することは不可能である。 更に、前記第3の従来技術により得られる情報も、それだけでは、プログラムの修正や再利用を行なうには甚だ不十分である。

    【0009】本発明の第1の目的は、既存のプログラムから、プログラムの修正や再利用を行なうのに十分な内容を持ち、しかも、利用者がプログラムの内容を容易に理解することができるようなプログラム仕様情報を、コンピュータを用いて作成することにある。

    【0010】本発明の第2の目的は、作成されたプログラム仕様情報の一部、特に、プログラム処理パターン情報と、データ仕様情報、データ生成式情報、データチェック式情報などの入出力データに関する情報とを、以後における他のプログラムの仕様情報の作成や、新しいプログラムの作成に、容易に利用できるようにすることにある。

    【0011】本発明の第3の目的は、作成されたプログラム仕様情報を利用して、同一の仕様に基づく別のプログラム、又は仕様の一部を異にする新たなプログラムを、自動的に生成することにある。

    【0012】

    【課題を解決するための手段】第1の目的を達成するため、本発明は、第1の特徴として、既存のプログラムを解析して得られるプログラム解析情報から、処理手続きの骨格的構造を表わすプログラム処理パターンを抽出して、そのパターンを表わすプログラム処理パターン情報を作成するステップと、前記プログラム解析情報からファイル仕様情報及びレコード仕様情報の少なくとも一方を含むデータ仕様情報を作成するステップと、前記プログラム解析情報から、各出力データ項目の生成手順を逆向きにたどることによって得られる、各出力データ項目を入力データ項目から生成する過程を表わすデータ生成式情報、及び入力データ項目を条件中に含む条件付き処理の解析によって得られる、各入力データ項目に関する条件とその条件の成否に応じて行なわれる動作とを表わす入力データチェック式情報の、少なくとも一方を作成するステップと、少なくとも前記データ仕様情報の識別情報及び前記プログラム処理パターン情報並びに前記データ生成式情報及び入力データチェック式情報の一方又は双方を、プログラム仕様情報として編集するステップとを有する。

    【0013】前記のプログラム処理パターン情報作成ステップは、プログラム解析情報から直接得られたプログラム制御構造を、反復、選択、及び順次の処理のみからなるプログラム制御構造に変換して、それからプログラム処理パターンを抽出してもよい。 このステップは、また、抽出したプログラム処理パターンを、プログラム処理パターンライブラリに登録されているプログラム処理パターンと照合することによって、プログラム処理パターン情報を決定してもよい。

    【0014】更に、プログラム中の各条件付き処理を解析して、各条件とその条件の成否に応じて行なわれる動作とを表わすデシジョンテーブル情報を作成して、これをプログラム仕様情報に加えてもよい。 このようにする場合、データ生成式情報と、入力データチェック式情報と、デシジョンテーブル情報の少なくとも二つから、重複する情報を、利用者との対話によって除去するようにしてもよい。

    【0015】第2の目的を達成するために、本発明は、
    第2の特徴として、更に、作成されたプログラム処理パターン情報のプログラム処理パターンライブラリへの登録、データ仕様情報のデータ仕様書ライブラリへの登録、及びデータ生成式情報と入力データチェック式情報の少なくとも一方のデータ項目辞書への登録を、単独又は組合せて行なう。 プログラム処理パターンの登録は、
    解析中のプログラムから抽出されたプログラム処理パターンと同じパターンが、プログラム処理パターンライブラリに登録されていない場合にのみ、行なうようにしてもよい。

    【0016】第3の目的を達成するために、本発明は、
    第3の特徴として、更に、少なくともプログラム処理パターン情報、データ仕様情報、データ生成式情報、入力データチェック式情報、及びデシジョンテーブル情報の一つを、利用者の要求があればそれに従って変更し、その後に、前記諸情報に基づいてプログラムの自動生成を行なう。

    【0017】

    【作用】本発明の第1の特徴によれば、処理手続きの骨格的構造を表わすプログラム処理パターン情報、及びファイル仕様情報及びレコード仕様情報の少なくとも一方を含むデータ仕様情報、並びに各出力データ項目を入力データ項目から生成する過程を表わすデータ生成式情報と、各入力データ項目に関する条件とその条件の成否に応じて行なわれる動作とを表わす入力データチェック式情報の少なくとも一方が作成され、そして、少なくとも前記データ仕様情報の識別情報、及び前記プログラム処理パターン情報、並びに前記データ生成式情報及び入力データチェック式情報の一方又は双方が、プログラム仕様情報として編集され、利用者は、これらの情報を利用することができる。 更に、各条件とその条件の成否に応じて行なわれる動作とを表わすデシジョンテーブル情報も、プログラム仕様情報に加えることができる。 したがって、既存プログラムから、プログラムの修正や再利用を行なうのに十分な内容を持ち、しかも、利用者がプログラムの内容を容易に理解できるような情報を、迅速に得ることができる。

    【0018】加えるに、反復、選択、順次の処理のみからなるプログラム制御構造への変換を行なえば、GO
    TO命令を含む多種多様なプログラム制御構造のプムログラム処理パターンを、プログラム処理パターンライブラリに用意しておく必要がないので、プログラム処理パターンライブラリの規模が小さくて済み、かつ、プログラム処理パターンの識別が容易になる。 また、データ生成式情報、入力データチェック式情報及びデシジョンテーブル情報から重複情報を除去すれば、プログラム仕様の理解が一層容易になる。

    【0019】本発明の第2の特徴によれば、作成されたプログラム処理パターン情報、データ仕様情報、データ生成式情報、入力データチェック式情報などが、システム内に蓄積されるから、これらの情報を、以後における他のプログラムの仕様情報の作成や、新プログラムの作成に、容易に利用することができる。 プログラム処理パターンの登録を、同じパターンが登録されていない場合にのみ行なえば、プログラム処理パターンライブラリの冗長化が防止され、その利用が容易になる。

    【0020】本発明の第3の特徴によれば、既存プログラムの仕様を表わす情報が自動的に作成され、それが利用者の必要に応じて変更され、そして、利用者が変更しなければ元のままの仕様、変更すれば変更された後の仕様に従って、プログラムが自動的に生成される。 したがって、既存プログラムと同一の仕様に基づく別のプログラム、又はそれとは仕様の一部を異にする新たなプログラムを、自動的に生成することができる。

    【0021】

    【実施例】図2は、以下に述べる諸実施例を実行するのに適した、コンピュータシステムの一例を示す。 入力装置201は、利用者がシステムへの指示を入力するための装置で、例えばキーボードである。 主メモリ202
    は、データやプログラムなどを一時的に記憶するための内部記憶装置である。 出力装置203は、システムが生成した情報を可視形態で出力する装置で、例えばディスプレイ又はプリンタである。 CPU204は、演算装置と制御装置を含むプロセッサである。 外部記憶装置20
    5は、情報を長期にわたって蓄積するための記憶装置で、例えば磁気ディスク装置又は磁気テープ装置である。

    【0022】図1は、本発明の第1の実施例をフローチャートで表わしたものである。

    【0023】プログラム入力ステップ101は、仕様情報作成の対象となるソ−スプログラムを、外部記憶装置205から主メモリ202に入力する。 そして、このプログラムのプログラム名を抽出し、主メモリ202の所定領域に記憶する。 図3及び図4は、COBOL言語で記述されたソ−スプログラムの一例のデータ定義部と手続き部を、それぞれ示す。

    【0024】プログラム構文解析ステップ102は、入力されたソ−スプログラムを解析して、デ−タ定義部解析情報と手続き部解析情報を作成する。

    【0025】図5は、図3に示すデ−タ定義部の解析により得られた、デ−タ定義部解析情報の例を示す。 図3
    におけるデ−タ定義部301は、項目毎に順次解析され、図5に示されるような、識別子、ファイル名、レコード名、レベル番号、項目名、及び属性からなるデータ定義部解析情報が作成されて、主メモリ202内の所定領域に記憶される。 これらの情報項目から、プログラム内の各データ項目の識別とそれらの相互関係の認知が可能である。 例えば、図3におけるデ−タ項目302の記述から、図5におけるレベル番号501と項目名502
    と属性503が抽出される。 また、デ−タ項目302
    は、ファイル名303とレコ−ド名304に包摂されているので、図3におけるファイル名303とレコード名304が、それぞれ、図5におけるファイル名504とレコ−ド名505として登録される。 そして、デ−タ項目302はファイル定義に包摂されたデ−タ項目であることから、「F」が識別子506として記入される。 他の識別子としては、作業場所節内のデ−タ項目を示す「W」(例えば507)と、連絡節内のデ−タ項目を示す「L」(例えば508)がある。

    【0026】図6は、図4に示す手続き部の解析により得られた、手続き部解析情報の例を示す。 図4に示す手続き部401中の諸命令は、命令を単位として順次解析されて、図6に示されるような、項番、親項番、命令名、及び命令内容からなる手続き部解析情報が作成され、主メモリ202内の所定領域に記憶される。 これらの情報項目から、各命令の識別とそれらの相互関係の認知が可能である。 例えば、図4における命令407の記述から、図6における命令名602と命令内容603が抽出される。 また、連続項番601が発生されて登録され、更に、命令407は命令405に包摂されているので、図4における命令405に対応する図6における命令606の項番605の値が、親項番604として登録される。

    【0027】デ−タ仕様情報抽出ステップ103は、図5に示すデ−タ定義部解析情報と図6に示す手続き部解析情報とから、ファイル仕様情報とレコ−ド仕様情報を作成し、プログラム入力ステップ101で記憶しておいたプログラム名を付して、外部記憶装置205内のデータ仕様書ライブラリに登録し、そして、ファイル仕様情報内の各ファイル名及びレコード仕様情報内の各レコード名を、それぞれファイル仕様情報名及びレコード仕様情報名として、主メモリ202に記憶する。 更に、作業場所節内の各デ−タ項目及び連絡節内の各デ−タ項目について、レベル番号、データ名称及び属性を、主メモリ202に記憶する。

    【0028】図7は、図5に示すデータ定義部解析情報と図6に示す手続き部解析情報から作成されてデータ仕様書ライブラリに登録された、デ−タ仕様情報の内容の例を示す。 このファイル仕様情報の作成において、例えば、図5に示すデ−タ項目513の識別子514とファイル名515に基づいて、図7に示すデータ仕様情報内に、ファイル名706を持つファイル仕様情報が登録される。 また、図6に示す手続き部解析情報内のOPEN
    命令から、このファイルの入出力種別を判別して、当該ファイル仕様情報に登録する。 図示の例においては、図5におけるファイル名515「IN−FILE」のファイルの入出力種別を、図6におけるOPEN命令610
    の内容611中の語「INPUT(IN−FILE)」
    から入力ファイルであると判別して、入出力種別707
    として「入力ファイル」を登録する。 そして、このファイル仕様情報内のファイル名706は、ファイル仕様情報名として主メモリ202内の所定領域に記憶される。

    【0029】次に、レコード仕様情報の作成において、
    例えば、図5に示すデータ項目509の識別子510、
    ファイル名511及びレコード名512に基づいて、図7におけるファイル名701及びレコード名705を持つレコード仕様情報が登録され、そこに、レベル番号7
    02、データ名称703、及び属性704として、図5
    におけるデータ項目509中のレベル番号、項目名、及び属性が、それぞれ登録される。 そして、このレコード仕様情報内のレコード名705は、レコード仕様情報名として主メモリ202内の所定領域に記憶される。

    【0030】プログラム処理パタ−ン情報抽出ステップ104は、手続き部解析情報から、入力命令、出力命令、GOTO命令、及びこれらの命令を包摂する命令を抽出して、これらの命令のみからなる、処理手続きの骨格的構造を表わすプログラム処理パターンを作成する。
    そして、これを外部記憶装置205内のプログラム処理パターンライブラリに予め用意されている一群のプログラム処理パターンと照合し、一致するものがあれば、それのプログラム処理パターン名を主メモリ202内の所定領域に記憶する。 一致する既登録パターンがない場合には、利用者に要請して、適当なプログラム処理パターン名を入力させ、それを記憶する。

    【0031】図8は、図6に示す手続き部解析情報の内容をPAD図式によって表現した制御構造を示し、図9
    は、図8に示す制御構造を圧縮して得られた、プログラム処理パターンのPAD図式表現を示す。 図9は、図8
    から、入力命令801と804、出力命令803、及び入力命令804と出力命令803を包摂する命令802
    を、抽出したものに相当する。 すなわち、図9における入力命令901は図8における入力命令801に対応し、入力命令904は入力命令804に対応し、出力命令903は出力命令803に対応し、そして、出力命令903と入力命令904を包摂する反復命令902は反復命令802に対応する。

    【0032】図10は、外部記憶装置205内に予め用意されている、プログラム処理パターンライブラリの例を示す。 このライブラリは、プログラム処理パタ−ン名、処理内容、及びプログラム処理パタ−ンからなる。
    図9に示すプログラム処理パターンは、図10に示すプログラム処理パタ−ンライブラリ内のプログラム処理パタ−ン1001と一致するので、それのプログラム処理パタ−ン名1002が主メモリ202内の所定領域に記憶される。

    【0033】デ−タ生成式情報抽出ステップ105は、
    外部記憶装置205内のデータ仕様書ライブラリに登録しておいたデータ仕様情報から、プログラムの出力データ項目を索出し、次に、手続き部解析情報を調べて、各出力データ項目の生成手順を逆方向にたどり、各出力データ項目名の生成式に含まれる各生成源データ項目名を、そのまた生成式で置換する。 このような置換を繰り返すことによって、各出力データ項目名の生成式は、最終的に、入力データ項目名のみを生成源データ項目として含む式に変換されて、各出力データ項目が入力データ項目から生成される過程を示すデータ生成式情報が作成され、それが主メモリ202内の所定領域に記憶される。 図11は、この処理のフローチャートを示す。

    【0034】図12は、図6に示す手続き部解析情報と図7に示すデータ仕様情報から作成された、デ−タ生成式情報の例を示す。 以下、出力データ項目「URI−G
    AKU」について、データ生成式情報の作成過程を説明する。

    【0035】まず、外部記憶装置205内のデータ仕様書ライブラリにアクセスし、データ仕様情報(図7)を調べて、ファイル仕様情報から、入出力種別が「出力ファイル」となっているファイルの名称「OUT−FIL
    E」を検出し、続いて、このファイル名を持つレコード仕様情報中のデータ名称を調べる。 この調査の結果、出力データ項目名「URI−GAKU」が検出される。 この検出された出力データ項目名「URI−GAKU」
    は、図12に示すように、データ生成式情報の生成結果項目1201として登録される。

    【0036】次に、手続き部解析情報(図6)の「命令内容」の欄を調べると、この「URI−GAKU」を生成結果項目として持つ命令607が発見される。 この命令において、「URI−GAKU」の生成式は「(W−
    TANKA − NEBIKI)*SURYO」である。 そこで、再びデータ仕様情報を調べ、ファイル仕様情報から、入出力種別が「入力ファイル」となっているファイルの名称「IN−FILE」を検出して、このファイル名を持つレコード仕様情報を読出し、前記生成式の各項、すなわち生成源データ項目の名称を、このレコード仕様情報中のデータ名称と照合する。 その結果、これらの生成源データ項目の内で、デ−タ項目「W−TA
    NKA」が、入力データ項目ではないことが判明する。

    【0037】そこで、図6に示す手続き部解析情報の中で、データ項目「W−TANKA」をもたらす命令を探索すると、命令608が検出される。 この命令における生成源データ項目に該当する「TANKA」が入力ファイル中のデータ項目であるか否かを、前記と同様な出順により、入力ファイルのレコード仕様情報に基づいて調べ、その結果、「TANKA」は入力データ項目であることが判明する。 したがって、前掲生成式中の「W−T
    ANKA」を「TANKA」で置き換えた式、すなわち「(TANKA − NEBIKI)*SURYO」
    を、図12に示すように、データ生成式情報の生成源項目1202として記憶する。

    【0038】デ−タチェック式情報抽出ステップ106
    は、手続き部解析情報から、入力デ−タ項目名を条件式中に持つ条件命令(例えば、IF命令、EVALUAT
    E命令)を索出し、該当する各条件命令について、条件式とその成否に応じて行なわれる動作の関係を表わすデ−タチェック式情報を作成し、それを主メモリ205内の所定領域に記憶する。

    【0039】図13は、図6に示す手続き部解析情報から作成された、デ−タチェック式情報の例である。 以下、図6における項番「14」の命令について、デ−タチェック式情報の作成過程を説明する。

    【0040】図6に示す手続き部解析情報を調べると、
    条件命令602が発見される。 命令602において、条件式で対象とされるデ−タ項目は「SURYO」である。 そこで、外部記憶装置205内のデータ仕様書ライブラリにアクセスして、入力ファイルのレコード仕様情報を調べると、「SURYO」は入力ファイルのレコ−
    ド仕様情報中にレコード名称として存在しており、それにより、「SURYO」は入力データ項目であることが判明する。 したがって、「SURYO」を図13に示すデ−タチェック式情報のデ−タ項目名1301として登録し、そして、その条件である「IS NUMERI
    C」を条件1302として登録する。 更に、後続する命令を調べると、条件式「SURYO IS NUMER
    IC」が真である場合の動作は「CONTINUE」であり、また、それが偽である場合の動作は「MOVE
    `ERR01` TO ERR−CODE」である。 したがって、識別子1303として「真」を表わす「Y」
    を記入するとともに、対応する動作1304として「C
    ONTINUE」を登録し、また、識別子1305として「偽」を表わす「N」を記入するとともに、対応する動作1306として「MOVE `ERR01` TO
    ERR−CODE」を登録する。

    【0041】デシジョンテ−ブル情報抽出ステップ10
    7は、手続き部解析情報からすべての条件命令を抽出し、各条件命令について、一つ以上の条件式と動作の関係を2次元表の形式で表わすデシジョンテ−ブル情報を作成し、それを主メモリ202内の所定領域に記憶する。

    【0042】図14は、図6に示す手続き部解析情報から作成された、デシジョンテ−ブル情報の例を示す。 以下、図6におけるIF命令609について、デシジョンテ−ブル情報の作成過程を説明する。 この命令は、二つの条件式、すなわち「NEBIKI−CODE = `
    1`」と「SURYO < 100」を持ち、これらの条件式が論理演算子「AND」により結合されている。
    そこで、第1の条件式「NEBIKI−CODE =
    `1`」を条件1401として登録し、第2の条件式「SURYO < 100」を条件1402として登録する。 そして、両条件のAND結合が真である場合の動作「COMPUTE URI−GAKU= (W−TA
    NNKA − NEBIKI)*SURYO」を動作1
    403として登録し、それが偽である場合における動作「MOVE `ERR02` TO ERR−COD
    E」を動作1404として登録する。

    【0043】各条件の真偽とその結果行なわれる動作の関係は、以下のようにして、2次元表の形式で表現される。 すなわち、各条件について、その条件が真であることを表わす符号「Y」と、それが偽であることを表わす符号「N」を、両条件の真偽のあらゆる組合せを網羅するように、真偽部1405に記入する。 また、各動作について、それが行なわれることを表わす符号「×」を、
    それが行なわれるべき場合に該当する両条件の真偽の組合せの表示に対応する位置において、遂行部1406に記入する。 例えば、条件1401と1402の双方に「Y」が記入された位置1407と、両条件が共に真の場合に行なわれる動作1403に「×」が記入された位置1408は、同じ横軸位置にある。

    【0044】プログラム仕様書出力ステップ108は、
    前述したプログラム入力ステップ101、デ−タ仕様情報抽出ステップ103、プログラム処理パタ−ン情報抽出ステップ104、デ−タ生成式情報抽出ステップ10
    5、デ−タチェック式情報抽出ステップ106、及びデシジョンテ−ブル情報抽出ステップ107で作成し、主メモリ202の所定領域に記憶しておいた諸情報を、プログラム仕様情報として編集し、それを外部記憶装置2
    05に蓄積するとともに、出力装置203を介して、可視的なプログラム仕様書として出力する。

    【0045】図15は、図3及び図4に示すソースプログラムから生成された、プログラム仕様書の例を示す。
    プログラムID1501は、プログラム入力ステップ1
    01で抽出されて主メモリに記憶されたプログラム名から得られ、プログラム処理パタ−ン名1402は、プログラム処理パタ−ン情報抽出ステップ104で決定されたものであり、データに関する情報1403は、デ−タ仕様情報抽出ステップ103で作成されて主メモリに記憶された情報から得られ、デ−タ生成式情報1404
    は、デ−タ生成式情報抽出ステップ105で作成されて主メモリに記憶された情報から得られ、デ−タチェック式情報1405は、デ−タチェック式情報抽出ステップ105で作成されて主メモリに記憶された情報から得られ、デシジョンテ−ブル情報1406は、デシジョンテ−ブル情報抽出ステップ106で作成されて主メモリに記憶された情報から得られる。

    【0046】なお、本実施例におけるプログラム処理パターン情報抽出ステップ104は、プログラム処理パターンライブラリとの照合を省略して、そのつど利用者がプログラム処理パターン名を与えるように、変更してもよい。

    【0047】図16は、本発明の第2の実施例をフローチャートで表わしたものである。 本実施例は、デ−タ項目辞書登録ステップ1601が追加された点と、プログラム仕様書出力ステップ1602の出力情報の内容が若干異なる点を除けば、図1に示した実施例と同じである。

    【0048】デ−タ項目辞書登録ステップ1601は、
    デ−タ生成式情報抽出ステップ105、デ−タチェック式情報抽出ステップ106、及びデシジョンテ−ブル情報抽出ステップ107でそれぞれ作成されて主メモリに記憶された、データ生成式情報、データチェック式情報、及びデシジョンテーブル情報から、利用者との対話により、重複する情報を利用者の判断に従って取り除き、このようにして重複が除かれたデータ生成式情報とデータチェック式情報を、データ項目辞書として編集して、外部記憶装置205に蓄積する。

    【0049】図17は、図12、13及び14にそれぞれ示すデータ生成式情報、データチェック式情報、及びデシジョンテーブル情報について、それらの間で重複している情報が出力装置203(この例ではディスプレイ)に出力され、利用者が取捨選択を指示した状態の、
    画面の例を示す。 図において、デシジョンテーブル情報1701とデータ生成式情報1702の間では、「SU
    RYO」に関する条件と動作が重複しているが、データ生成式情報1703には前記動作と重複する生成式がないという事実が表示され、更に、重複する情報のどれを採用してどれを削除するかの選択を利用者に要求するメッセージ1704が表示される。 この例では、利用者は、このプログラムの作成者の意図を推量し、図4に示された処理408はデータチェックであると判断して、
    デシジョンテーブル情報の選択欄1705に削除を表わす「D」を入力し、データチェック式情報の選択欄17
    06に採用を表わす「R」を入力した。 もしも、デシジョンテーブル情報又はデータチェック式情報中の動作の内容が出力データ項目の生成式を含み、それと重複する情報がデータ生成式情報にも存在すれば、それも表示されて、利用者が取捨選択を行なう。

    【0050】このようにして利用者が不要と判断した重複情報が除かれた後、データ生成式情報とデータチェック式情報は、データ項目辞書として編集されて、外部記憶装置205に蓄積される。 図18は、データ項目辞書の内容の例を示す。 例えば、図17におけるデ−タ項目名1707は図18におけるデ−タ項目名1801として登録され、条件1708はデ−タチェック式1802
    として登録され、識別子1709は識別子1803として登録され、動作1710は動作1804として登録される。 属性は、データ仕様書ライブラリ内のレコード仕様情報、又はデータ定義部解析情報から得ることができる。

    【0051】プログラム仕様書出力ステップ1602
    は、図1に示した実施例におけるのと同様にして、図1
    9に例示するようなプログラム仕様書を出力する。 ただし、本ステップで出力されるデータ生成式情報190
    1、データチェック式情報1902及びデシジョンテーブル情報1903は、データ項目辞書登録ステツプ16
    01によって、重複する情報が除かれたものである。

    【0052】なお、デ−タ生成式情報とデ−タチェック式情報はデ−タ項目辞書に登録されているので、これらの情報を含まないプログラム仕様書を作成してもよい。

    【0053】本実施例によれば、データ生成式情報とデータチェック式情報がデータ項目辞書に登録されるので、同一又は類似のデータ項目を使用する新しいプログラムの作成にこれらの情報を利用することが容易になり、更に、これらの情報に重複がないため、理解と利用が一段と容易になる。

    【0054】図20は、本発明の第3の実施例をフローチャートで表わしたものである。 この実施例は、プログラム処理パターン情報抽出ステップ2001での処理が異なるほかは、図1に示した実施例と同一である。

    【0055】プログラム処理パタ−ン情報抽出ステップ2001は、プログラム処理パターンを作成して、それをプログラム処理パタ−ンライブラリと照合し、一致するものがあればそのプログラム処理パターン名を主メモリに記憶するところまでは、図1に示した実施例のプログラム処理パターン情報抽出ステップ104と変わりがない。 プログラム処理パタ−ンライブラリ中に一致するプログラム処理パターンが存在しなかった場合に、本実施例では、作成されたプログラム処理パターンを、プログラム処理パタ−ンライブラリに新たに登録する。 その目的のために、既に登録されているプログラム処理パタ−ンの名称と処理内容を参考用に表示するとともに、新たに登録すべきプログラム処理パタ−ンの名称と処理内容の入力を、利用者に促す。

    【0056】図21は、新規プログラム処理パタ−ンの登録のための入力画面の例を示す。 図示のように、既に登録されているプログラム処理パタ−ン名2101と、
    それらの処理内容2102が、外部記憶装置205から読出されて、参考のために出力装置203に表示され、
    更に、新たに登録すべきプログラム処理パターンの名称と処理内容の入力を促すメッセージが表示される。 利用者は、表示された既登録パターン名2101と処理内容2102を参照して、既登録パターン名と重複しない名称2103と、処理内容を簡潔に表わす字句2104を案出し、入力する。 その結果、入力されたプログラム処理パタ−ン名2103及び処理内容2104と共に、目下解析中のプログラムのプログラム処理パターンが、外部記憶装置205内のプログラム処理パタ−ンライブラリに新たに登録される。 また、この入力されたプログラム処理パターン名は、目下解析中のプログラムのプログラム処理パターン名として、主メモリ202内の所定領域に記憶される。

    【0057】本実施例によれば、新しいプログラム処理パターンがプログラム処理パターンライブラリに次々に追加されて、その再利用が可能になり、したがって、プログラム仕様作成システムの性能が、使用につれて自動的に向上する。

    【0058】しかしながら、このように、未登録のプログラム処理パターンのみをプログラム処理パターンライブラリに登録するのではなく、プログラム仕様情報の作成過程で得られたすべてのプログラム処理パターンを登録してもよい。

    【0059】図22は、本発明の第4の実施例をフローチャートで表わしたものである。 本実施例は、図1に示した実施例に、プログラム仕様情報変更ステップ220
    1とプログラム生成ステップ2202を加えたものであり、他のステップは図1に示した実施例と同じである。

    【0060】プログラム仕様情報変更ステップ2201
    は、それ以前のステップで作成されたプログラム仕様情報とデータ仕様情報を、利用者の必要に応じて、対話方式により変更する。

    【0061】プログラム生成ステップ2202は、プログラム仕様情報変更ステップ2201を経たプログラム仕様情報とデ−タ仕様情報とを入力とし、公知のプログラム生成ツ−ル(例えば、日立評論、第65巻第7号、
    1983年7月、第53−58頁、「データに着目した仕様を入力とするCOBOLプログラム生成システム“DSL”の開発」参照)を用いて、プログラムを生成し、生成したプログラムを外部記憶装置205に蓄積する。

    【0062】本実施例によれば、利用者は、既存のプログラムの変更を、プログラム自体はいじらずに、プログラム仕様の変更のみによって行なうことができるので、
    既存プログラムの修正又は再利用が非常に容易になる。
    また、既存プログラムを、適用するプログラム生成ツールに合った同一仕様のプログラムに、変更することもできる。

    【0063】図23は、本発明の第5の実施例をフローチャートで表わしたものである。 本実施例は、図1に示した実施例にプログラム構造変換ステップ2301を加えたものであり、他のステップは図1に示した実施例と同じである。

    【0064】プログラム構造変換ステップ2301は、
    公知の再構造化ツール(例えば、日経コンピュータ 1
    986.4.14、第119号、第81−90頁、「プログラムの保守・開発費用を節減する再構造化ツールC
    SP/2」参照)を用いて、手続き部解析情報から得られたプログラム制御構造(例えば図8)を、GO TO
    文を含まず、反復、選択、順次の処理のみからなるプログラム制御構造に変換する。 したがって、プログラム処理パターン情報抽出ステップ104により得られるプログラム処理パターンも、反復、選択、順次の処理のみからなる。

    【0065】本実施例によれば、プログラム処理パタ−
    ンライブラリ中に、GOTO命令を含む多数のプログラム処理パタ−ン情報を用意する必要がないので、プログラム処理パタ−ンライブラリの規模が小さて済み、かつ、プログラム処理パタ−ンの照合が容易になる。

    【0066】

    【発明の効果】本発明の第1の特徴によれば、処理手続きの骨格的構造を表わすプログラム処理パターン情報、
    各出力データ項目を入力データ項目から生成する過程を表わすデータ生成式情報、各入力データ項目に関する条件とその条件の成否に応じて行なわれる動作とを表わす入力データチェック式情報、更に、必要なら、各条件とその条件の成否に応じて行なわれる動作とを表わすデシジョンテーブル情報が作成され、これらの情報から、利用者が理解しやすい形式のプログラム仕様情報が編集される。 したがって、既存プログラムから、プログラムの修正や再利用を行なうのに十分な内容を持ち、しかも、
    利用者がプログラムの内容を容易に理解できるような情報を、迅速に得ることができる。

    【0067】加えるに、反復、選択、順次の処理のみからなるプログラム制御構造への変換を行なえば、GO
    TO命令を含む多種多様なプログラム制御構造のプログラム処理パターンを、プログラム処理パターンライブラリに用意しておく必要がないので、プログラム処理パターンライブラリの規模が小さくて済み、かつ、プログラム処理パターンの識別が容易になる。 また、データ生成式情報、入力データチェック式情報及びデシジョンテーブル情報から重複情報を除去すれば、プログラム仕様の理解が一層容易になる。

    【0068】本発明の第2の特徴によれば、上記の効果に加えて、作成されたプログラム処理パターン情報、データ仕様情報、データ生成式情報、入力データチェック式情報などが、システム内に蓄積されるから、これらの情報を、以後における他のプログラムの仕様情報の作成や、新プログラムの作成に、容易に利用することができる。 プログラム処理パターンの登録を、同じパターンが登録されていない場合にのみ行なえば、プログラム処理パターンライブラリの冗長化が防止され、その利用が容易になる。

    【0069】本発明の第3の特徴によれば、上記の効果に更に加えて、既存プログラムの仕様を表わす情報が利用者の必要に応じて変更され、そして、利用者が変更しなければ元のままの仕様、変更すれば変更された後の仕様に従って、プログラムが自動的に生成される。 したがって、既存プログラムと同一の仕様に基づく別のプログラム、又はそれとは仕様の一部を異にする新たなプログラムを、自動的に生成することができる。

    【0070】以上を要するに、本発明によれば、既存のプログラムから、プログラムの修正や再利用を行なうのに十分な内容を持ち、しかも、利用者がプログラムの内容を容易に理解できるような情報を、迅速に得ることができ、また、それらを以後の利用のために蓄積し、更には、それらの一部を必要に応じて変更して、変更された仕様に基づくプログラムを自動的に生成することもできる。 したがって、既存プログラムの内容の理解を効率的に行うことができ、また、抽出したデ−タ生成法やチェック法などを利用することにより、新規プログラムの開発も効率良く行なうことができるので、既存ソフトウェアの保守・再利用が容易になるなど、優れた効果が期待できる。

    【図面の簡単な説明】

    【図1】本発明の第1の実施例のフローチャート。

    【図2】本発明の実施に適したコンピュータシステムのブロックダイヤグラム。

    【図3】既存プログラムのデ−タ定義部の例を示す図。

    【図4】既存プログラムの手続き部の例を示す図。

    【図5】デ−タ定義部解析情報の例を示す図。

    【図6】手続き部解析情報の例を示す図。

    【図7】デ−タ仕様書ライブラリの内容の例を示す図。

    【図8】図6に示す手続き部のプログラム制御構造を表わすPAD図。

    【図9】図8に示すプログラム制御構造のプログラム処理パターンを表わすPAD図。

    【図10】プログラム処理パタ−ンライブラリの内容の例を示す図。

    【図11】データ生成式情報抽出ステップのフローチャート。

    【図12】デ−タ生成式情報の例を示す図。

    【図13】デ−タチェック式情報の例を示す図。

    【図14】デシジョンテ−ブル情報の例を示す図。

    【図15】プログラム仕様情報の例を示す図。

    【図16】本発明の第2の実施例のフローチャート。

    【図17】情報の重複を除くための対話画面の例を示す図。

    【図18】デ−タ項目辞書の内容の例を示す図。

    【図19】情報の重複が除かれたプログラム仕様情報の例を示す図。

    【図20】本発明の第3の実施例のフローチャート。

    【図21】プログラム処理パタ−ンの新規登録のための入力用画面の例を示す図。

    【図22】本発明の第4の実施例のフローチャート。

    【図23】本発明の第5の実施例のフローチャート。

    【符号の説明】

    102・・・・既存プログラムを解析するステップ 103・・・・デ−タ仕様情報を作成するステップ 104・・・・プログラム処理パタ−ン情報を作成するステップ 105・・・・デ−タ生成式情報を作成するステップ 106・・・・デ−タチェック式情報を作成するステップ 107・・・・デシジョンテ−ブル情報を作成するステップ 108・・・・プログラム仕様情報を編集するステップ 1502・・・プログラム処理パタ−ン名 1503・・・データ仕様情報識別情報 1504・・・デ−タ生成式情報 1505・・・入力デ−タチェック式情報 1506・・・デシジョンテ−ブル情報 1601・・・重複情報を除去するとともにデ−タ項目辞書を登録するステップ 2001・・・プログラム処理パターンの新規登録とプログラム処理パタ−ン情報の作成を行なうステップ 2201・・・プログラム仕様情報を変更するステップ 2202・・・プログラムを生成するステップ 2301・・・プログラム制御構造を変換するステップ

    ───────────────────────────────────────────────────── フロントページの続き (72)発明者 団野 博文 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 佃 軍治 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈