JPS62106542A - 制御フロ−作成方式 - Google Patents

制御フロ−作成方式

Info

Publication number
JPS62106542A
JPS62106542A JP24605185A JP24605185A JPS62106542A JP S62106542 A JPS62106542 A JP S62106542A JP 24605185 A JP24605185 A JP 24605185A JP 24605185 A JP24605185 A JP 24605185A JP S62106542 A JPS62106542 A JP S62106542A
Authority
JP
Japan
Prior art keywords
data
control flow
flow
data flow
rules
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
JP24605185A
Other languages
English (en)
Inventor
Yoshiaki Nagai
義明 永井
Hideki Chigira
千吉良 英毅
Noriko Otaki
大滝 紀子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24605185A priority Critical patent/JPS62106542A/ja
Publication of JPS62106542A publication Critical patent/JPS62106542A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、制御フロー作成方式に関し、特にプログラム
開発のため、プログラムの要求仕様とデータフローから
計算機処理手順を表現するための制御フローを作成する
方式に関するものである。
〔発明の背景〕
既存のソフトウェアを蓄積し、部品ごとに整理して、新
しいソフトウェアの開発のために、これを再利用するソ
フトウェアの再利用システ11が、研究開発されている
。再利用システムによりソフトウェアを開発する場合、
どのプログラム部品をどのような順序で利用するかを決
定することが重要である。従来、自然語解析によるプロ
グラミング方式については、電子通信学会論文誌′84
/3、Vol、J67−D  No、3 r杉山他著;
対話型自然言語プログラミングシステムの試作」におい
て述べられている。この文献においては、文解釈、仕様
獲得、ユーザ、ユーザインタフェースの4つのモジュー
ルから構成されるプログラミングシステムについて述べ
ており、それぞれ日本語文からの情報抽出、断片的情報
をまとめ上げる情報獲得処理、自動プログラミング、マ
ンマシンインタフェースの機能を実現している。入力文
として、ファイルレベルの処理記述文を対象にしている
が、データ定義文や項目レベルの処理記述文、プログラ
ムを修正する文も入力できることが望ましい。また、多
くの断片的な文が入力されると、ユーザの意識する文脈
とずれることがある。さらに、条件のandやorが明
示されていない場合には、構文情報をもとにして解釈し
ているが、複雑なときには誤ってしまう。
〔発明の目的〕
本発明の目的は、このような従来の問題を改善し、プロ
グラムを開発する場合に、推論のためのルールデータベ
ースを参照して、データベースから制御フローを選択し
、修正を行って制御ブローを完成させ、また制御フロー
の代替案を作成し、さらにルールデータベースにより解
析が容易なデータフローに変換することができる制御フ
ロー作成方式を提供することにある。
〔発明の概要〕
上記目的を達成するため、本発明の制御フロー作成方式
は、ソフトウェアモジュールを結合して新しいソフトウ
ェアを開発するために、プロゲラ11の要求仕様と、該
プログラム中のデータに対する手続き等を表現したデー
タフローから計′nv&の処理手順を導く制御フローを
作成するシステムにおいて、既存の制御フローのパター
ンと上記データフロー解析のためのルールを蓄積したフ
ァイル、および該ファイルからのデータを検索・編集処
理する手段を有し、上記要求仕様を解析して取り出した
キーワードにより上記ファイルから制御フローを検索し
、データフローを解析しながら上記制御フローと比絞し
て、不一致の部分に対して上記ルールによる推論または
対話により修正を行い、目的に合致した制御フローを作
成することに特徴がある。また、データフローの情報を
フレーム型で表現し、ルールを参照しながらデータフロ
ーをたどり、連接だけでなく、反復・選択分岐手続きに
ついても対応する処理に展開しながら、順次制御フロー
への変換を行い、その過程で、プログラムの性能・保守
性等の評価基準のうち何を重視するかに応じて、考えら
れるいくつかの制御フローのパターンから1代替案を選
択して作成することに特徴がある。さらに、データフロ
ー情報をフレーム型に表現し、ルールを参照して、一度
の入出力操作で満足される複数ノードを単一ノードに統
合化し、また内部手続きについても、同一の操作やA 
N Dで結ばれる条件文等で、ルールを参照して、まと
めることができると判断できるものを、まとめた手続き
にして、効率的な計算機処理手順に展開し易い形のデー
タフローに変換し、制御フローの作成を容易にすること
に特徴がある。
〔発明の実施例〕
以下1本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示す制御フロー作成シス
テムの機能ブロック図である。
第1図において、Iはビデオ・データ・ターミナルであ
り、ディスプレイとキーボードを備えている。2は計算
機処理装置であり、3は推論用ルールと、既存制御パタ
ーンの蓄積ファイルである。
11は制御フロー作成処理制御部、5は要求仕様解析部
、6はデータフロー解析部、7は制御パターン検索部、
8は制御フロー推論修正部、9は制御フロ一対話修正部
である。
第2図は、第1図の処理手順を示すブローチヤードであ
る。先ず、要求仕様から制御パターン検索用のキーワー
ドを読み込む(ステップ1o1)。
これは、出力レポートの種類、フォーマット、入出力デ
ータの情報等である1次に、そのキーワードによりデー
タベースから適当な制御フローのパターンを検索する(
ステップ102)。適当なパターンがない場合や、条件
を満たすパターンが複数個ある場合には、対話によりど
のパターンを利用するか選択する。制御パターンは、処
理手順を示すPAD図に、その処理により作成されるレ
ポートの種類、フォーマット、入出力データ等の情報を
付は加えたものである。次に、データフローを読み込み
(ステップ103)、解析を行いながら、選択された制
御ブローとの比較、修正を行う。データフロー中のノー
ドは、プログラム中のデータに対する各手続きに相当し
、各ノードは下記のような構造体として表現される。
((入出力データ型) (データフロー) (機能) ・・・・・・・)  ・・・・・ (1)プログラム全
体のデータフローは、各手続きをノードとし、手続きへ
の入出力データをアークとするデータフロー図として書
き表わされる。
先ず、データフローの人出カデータと、制御パターンの
入出力データが一致しているが否かを調へる(ステップ
104)。一致していない場合、データ名やデータ型の
不一致等で、ルールによる推論により修正方法が決定で
きるものは修正を行い、わからないものは対話修正を行
う(ステップ1゜5)。次に、データフローの入力デー
タ部分からデータフローをたどる(ステップ106)、
ここで、1つの上流ノードに続く下流ノードが複数個あ
る場合に、どのデータフローを選択するが、という問題
が発生する。この間W1を解決するために、先ずデータ
フロー中の各ノードに対応する計算機の処理を、いくつ
かの計算機処理(手続き)の抽象区分(メソッド・カテ
ゴリ)に分類する。ここで、入力1.ir′C1,、編
集、出力という例について考えると。
メソッド・カテゴリは、次のようなデータ構造で表現さ
れる。
(メソッド (メソッド・カテゴリ (入力 計算 編集 出力)))・・ (2)このメソ
ッド・カテゴリを使うことによって。
設計者の持っている計算機処理の順序づけのためのノウ
ハウ′情報は、次のようなデータ構造で表現できる。
(メソッド・カテゴリ処理手順 (第1処理(入力)) (第2処理(計算)) (第3処理(編集)) (第4処理(出力)))   ・・・・ (3)そして
、このデータ構造に記述された処理順序を用いて、デー
タフローのノード選択の順序決定を行う。このとき、次
のようなデータ構造により、データフロー中のノードの
計算機処理とメリット・カテゴリとの対応づけを行う(
ステップ1o7)。
(人力 (計算磯処理 (入力する インプットする・・・・))(計算 (計算機処理 (計算する 変換する 演算する・・・))・・・・・
・・・・・・) (編集 (計算機処理 (・・・・・・・       )) ) 。
(出力 (計算機処理 これで、複数個のノードがある場合にも、1個のデータ
フローを選択する方法が決定した。
たどったデータフローの下流ノードが、PAD図の最初
の部分と対応しているか否かを調べる(ステップ107
)。対応していなければ、ルールを参照して修正を行う
(ステップ108)、この場合にも、推論修正できない
場合には、対話修正を行う。そして、メソッド・カテゴ
リに従って次のデータフローをたどり(ステップ110
)、その下流ノードがPAD図の次のボックスに対応し
ているか否かを調へる(ステップ107)。たどるべき
データフローがなくなるまで、同じような処理を行う、
ただし、入出力データの確認や内部手続きの比較におい
て修正されたデータは、制御フロー全体で、同じように
変化するものとする。
このようにして、制御フローが作成される。
本実施例では、推論用ルールと既存制御パターンをデー
タベースに蓄積しておき、要求仕様から取り出したキー
ワードで制御フローを選択し、それをデータフローと比
較しながら推論修正し、できないものは対話修正を行う
ことにより、制御フローを完成させることができる。従
って、何もない状態から制御フローを作成するよりも効
率がよく、また利用したいパターンがある場合には、そ
れに準じた制御フローを作成することもできる。
次に、第3図〜第6図により、既存の制御パターンから
制御フローを作成する手順を述へる。
第3図は、開発したいプログラムの要求仕様を自然語に
より表現したものである。また、第4図は、第3図の要
求仕様から作成されるデータフロー図であり、さらに第
5図はデータベースから選択された既存の制御パターン
の一例であり、第6図は第5図を修正して作成された制
御フローを表わすPAD図である。
第4図のデータフローにおける4−1は入力データ、4
−8は出力データ、4−2〜4−7はデータに対する手
続き、矢印がデータフローである。
先ず、第3図に示す要求仕様から制御パターン検索用キ
ーワードを取り出す。ここでは、4−1から「売上伝票
J、4−2から「出力データは4個J、r出力レポート
は3行J、4−3から「入力データは2個」、等である
。これらのキーワードにより、制御パターン蓄積データ
ベースを検索し、第5図に示す制御パターンを選び出す
次に、第4図のデータフローを読み込み、解析しながら
第5図の制御フローと比較し、対応しない箇所を修正し
ていく。先ず、入出力データを比較すると、4−1のA
、Cに対して、5−2ではA、Bであるため、5−2の
BをCにする。出力データは、4−8はA、B、C,D
であり、5−3もA、B、C,Dであるが、5−2のB
をCに変えたので、最初Cであったデータを已にする6
つまり、第5図のBとCを入れ替える。そして、各デー
タ型を比較すると、4−1のAは文字列型で、5−2の
Aは実数型であるため、5−2のAを文字列型にする。
これで、入出力データが一致した。次に、データフロー
をたどり、4−2を読み込む。5−4で、BはCに変わ
っているため、このボックスは修正なしである0次に、
このA。
Cが3回ずつ入力される、ということが5−5に対応し
ているので、5−5もそのままである。次に、4−2か
らメソッド・カテゴリに従ってデータフローをたどり、
4−3を読み込む。これは、5−6に対応しているので
、5−6も修正なしである。次に、4−38を読み込み
、5−7と比較する。5−7のCは已になっているので
、5−7も修正なしである。同じように、4−4と5−
8も対応する。次に、4−4からのデータフローは、4
−6で、Bを利用しているので、4−6がye5の場合
、4−5がnoの場合であることを推論し、4−5と5
−10.4−6と5−9をそれぞれ比較する。5−10
のCはBになっているので、11−5と対応し、修正な
しである。5−9は、D:=C+Bとなっているが、こ
れは4−6とは対応しない。そこで、5−9をD:=B
*Cと修正する。最後に、4−7と5−11を比較し、
修正なしであるため、終了する。その結果が、第6図で
ある。すなわち、6−2.6−3.6−8はそのままで
あり、入出力データを修正したことにより、6−]、]
6−4.6−5.6−が作成され、6−6は4−6に合
せて修正された。ここで、データ、へは文字列型、B、
C,Dは実数型である。
これで、第6図のPAD図が完成された。
本実施例では、推論により全部修正することができたが
、修正方法がわからない場合、修正することにより他の
部分に矛盾が生じる場合等については、対話人力により
修正を行う。
このようにして、本実施例においては、要求仕様とデー
タフローから既存制御パターンの選択・修正を行い、制
御フローを完成させることができるので、効率よく制御
フローを作成でき、また既存のパターンで利用したいも
のがあれば、それを選択することにより、そのパターン
に準じた制御フローを作成することができる。
次に、推論のためのルールを参照しながらデータフロー
の解析を行い、プログラム中の処理手続きの順序を決定
し、手続きの意味に応じて、反復。
選択処理等も表現する制御フローを作成し、さらに性能
・保守性等の目的に合せた制御フローの代替案を作成す
る方法について述べる。
第7図は、本発明の第2の実施例を示す制御フロー作成
システムの機能ブロック図である。
第7図は、第1図と殆んど同じ構成であり、異なる点は
制御フロー作成処理制御部4の中に、データフロー読み
込み部5a、ルールによる推論部5a、PAD図作成部
7a、代替案作成・評価部8aを内蔵している。
本実施例では、データフローをフレーム型に表現し、推
論のためのルールを蓄積したデータベースを参照しなが
ら解析することにより1反復・選択機能を含む制御フロ
ーを作成することができ、その作成過程において、いく
つかのパターンの制御フローに対して評価基準を選択す
ることにより、目的に応じた代替案を作成することが可
能である。
第8図は、第7図の手順を示すフローチャートである。
先ず、データフローを読み込む(ステップ201)。デ
ータフロー中のノードは、プロゲラ11中のデータに対
する各手続きに相当し、各ノーlζは前記(1)に示す
ような(1η造体として表現される。
プログラム全体のデータフローは、各手続きをノードと
し、手続きへの入出力データをアークとするデータフロ
ー図として書き表わすことができる。
次に、読み込んだデータフローの入力データ部分からデ
ータフローをたどる(ステップ202)。
ここで、1つの上流ノードに続く下流ノードが複数個あ
る場合に、次にどのデータフローを選択するかという問
題が生じる。
この問題を解決するため、先ずデータフロー中の各ノー
ドに対応する計算機の処理を、いくつかの計算機処理(
手続き)の抽象区分(メソッド・カテゴリ)に分類する
。ここで、入力、計算、編集、出力という例について考
えると、メソッド・カテゴリは、前記(2)に示すよう
なデータ構造で表現される。
このメソッド・カテゴリを使うことにより、設計者のも
つ計算機処理の順序づけのためのノウハウ情報は、前記
(3)に示すようなデータ構造で表現できる。
そして、このデータ構造に記述された処理順序を用いて
、データフローのノード選択の順序決定を行う。このと
き、前記(4)に示すようなデータ構造により、データ
フロー中のノードの計算機処理と、メソッド・カテゴリ
との対応づけを行う。
これで、複数個ノードがある場合にも、1個のデータフ
ローを選択する方法が決定した。
次に、たどったデータフローの先のノードの入力データ
が全部揃っていなければ、同じようにメソッド・カテゴ
リに従って別のデータフローをたどる(ステップ203
,204)。全データが揃っている場合には、そのノー
ドが出力データ部であれば、処理は終了、手続きのノー
ドであれば、その機能に対応する形のボックスに機能を
沓き込み、そのボックスをPAD図に書き加えた後、メ
ソッド・カテゴリに従って別のデータフローをたどる(
ステップ205,206)。
この途中で、メソッド・カテゴリにより次のデータフロ
ーを選択しようとした時、以下同じような処理を行う複
数個のノードへのデータフローがあった場合、性能・保
守性等の評価基準から、何を重視するかを選択すること
により、データごとに処理をまとめたもの、同一の手続
きごとに処理をまとめたもの、等の代替案を用意するこ
とができる。
ここで、推論のために参照するルールは、IF・THE
Nの形でファイルに蓄積されている。
次に、第9図〜第11図により、例を挙げてデータフロ
ーから制御ブローの代替案を作成する手順を述べる。
第9図は、入力されるデータフローの全体を図に書き表
わしたものである。各ボックスは、それぞれ上記の型の
構造体に情報を格納しているものとする。第9図におい
て、13−1は入力データ、13−16は出力データ、
13−2〜13−15はデータに対する手続き、矢印は
データの流れである。
第10図および第11図は、第9図のデータフローから
作成される制御フローの例を示し、第10図は保守性を
重視した制御フローの例、第11図は性能を重視した制
御フローの例である。
先ず、13−1の入力データからデータフローをたどる
。13−2は入力データが1個しかないので、PAD図
に書き込む。13−2は、入力処理であるため、14−
1.15−1のようになる。
ここで、読み込んだBが、3個のレコード型であるとす
る。それにより、その各々のBに対して同じような処理
を行うということを推論し1反復機能を持つ14−2.
15−2をPAD図に書き込む0次に、メソッド・カテ
ゴリにより、13−3へのデータフローをたどる。13
−3は、1人力の代入処理であるため、14−3.15
−3となる。次の13−4についても、1人力の読み込
みであるため、14−4.15−4となる0次の13−
5は、C,Dの存在判定部で、存在するか否かにより処
理が分かれるので、14−5.14−6のように、選択
分岐を示す形のボックスをPAD図にiぎ込む、ここで
、13−7はC,Dを使用しているので、存在する場合
には13−7.Lない場合には13−9であることがわ
かる。ここで、次にたどるデータフローをメソッド・カ
テゴリによって見つけようとすると、全データフローの
先のノードが計算処理であり、以下1編集、出力となっ
ている。そこで、この先、性能重視、保守性重視の2つ
のパターンの制御フローのいずれを選ぶか問合せを行う
ここで、保守性を重視する場合を考える。そのためには
、処理ごとにモジュールをまとめる方がよい、というこ
とを推論し、計算処理と編集処理を分割することにする
。13−6はC,Dの存在には関係ないが、正常処理の
場合であると判断して、16−6とする。13−7を1
4−7.14−8とし、13−8を14−9とする。異
常処理の場合の13−9を14−10とする。これで、
各データの計算処理だけを3回分まとめて行う。
次に、編集処理を行うために、14−2と同じように、
14−11を作成し、14−5と同じように14−12
を作成する。そして、既に計算が終った各データについ
て、編集を行う。正常処理の13−10.13−11.
13−12.13−13を、14−13.14−14.
14−15.14−16に変換し、異常処理の13−1
4を、14−17にする。これで、データの編集は全て
終了したので、13−15を14−18に変換する。
13−=15の次は13−16であり、これは出力デー
タ部であって、全データが揃っているので、第10図の
制御フローは完成である・ また、13−5の部分で、性能重視を選択した場合を考
える。そのためには、各データに対しての処理をまとめ
て行った方が効率がよい、ということを推論して、計算
・W束処理をデータごとに行うことにする。第10図と
同じように、13−6.13−7.13−8を15−6
.15−7゜15−8.15−9に変換し、それに続い
て各々のデータを編集するために、13−10.13−
11.13−12.13−13を、15−10゜15−
11.15−12.45−13に変換する。
異常処理の場合も同じようにして、エラー処理とその編
集を続けて行う。そして1次の13−Isを15−16
にして、第11図が完成する。
このようにして、第10図のように、3回分の計算を全
部実行した後、3回分の編集を行うというモジュール性
に富んだ制御ブローの例と、第11図のように、各デー
タの計算・編集というまとまった処理を3回繰り返す処
理効率のよい制御フローの例の、2つの代替案が作成さ
れた。
このように、本実施例においては、データフローからル
ールを参照して推論を行い、目的に合った性質の制御フ
ローを作成することができる。
次に、プログラムを開発する場合に、ルールを参照しな
がらデータフローを検索・精練し、制御フロー作成時の
解析が容易な処理のまとまったデータフローに変換する
方法を説明する。
第12図は1本発明の第3の実施例を示す制御フロー作
成システムの機能ブロック図である。第12図において
、第1図と構成は殆んど同じであって、異なる点は計算
機処理装置2の中にはデータフロー変換処理制御部4.
データフロー読み込み部5a、ルールによる推論部f3
a、およびデータフロー作成部7bを備えている。第1
2図では。
要求仕様から作成されたデータフローを、プログラムの
意味はそのままで、同−処理等をまとめて。
手続きの個数を少なくして、計算機処理手順に近い形の
データフローに変換できることにより、制御フローの作
成を容易にする。
第13図は、第12図の動作フローチャートである。先
ず、データフローを読み込む(ステップ30I)。デー
タフロー中のノードは、プログラム中のデータに対する
各手続きに相当し、各ノードは前記(1)に示すような
構造体として表現される。
プログラム全体のデータフローは、各手続きをノードと
し、手続きへの入出力デ〜りをアークとするデータフロ
ー図として書き表わされる。次に。
読み込んだデータフローの入力データ部分からデータフ
ローをたどる(ステップ302)。ここで。
1つの上流ノードに続く下流ノードが複数個ある場合に
は、どのデータフローを選択するかという問題が生じる
この問題の解決のために、先ずデータフロー中の各ノー
ドに対応する計算機の処理を、いくつかの計算機処理(
手続き)の抽象区分(メソッド・カテゴリ)に分類する
。ここで5人力、計算、編集、出力という例について考
えると、メソッド・カテゴリは、前記(2)に示したよ
うなデータ構造として表現される。このメソッド・カテ
ゴリを使用することにより、設計者の持っている計算機
処理の順序づけのためのノウハウ情報は、前記(3)に
示したようなデータ構造で表現される。そして、このデ
ータ構造に記述された処理手順を用いてデータフローの
ノード選択の順序決定を行う。このとき、前記(4)に
示したようなデータ構造により。
データフロー中のノードの計算機処理と、メソッド・カ
テゴリとの対応づけを行う。
これで、複数個ノードがある場合にも、1個のデータフ
ローを選択する方法が決定された。
ここで、たどったデータフローの先のノードが出力デー
タ部であるとき、他にまだたどっていないデータフロー
があれば、メソッド・カテゴリに従って別のデータフロ
ーをたどり、もはやデータフローがなければ、処理を終
了する(ステップ303.307)、また0次のノード
が出力データ部分でない場合には、ノードがまとめられ
るか否かを評価しくステップ304〕、まとめられるも
のがあれば、1つのボックスに直して新しいデータフロ
ー図に書き込み(ステップ305)、まとめられないも
のはそのまま書き込む(ステップ306)。
そして、他のデータフローがなくなるまで、メソッド・
カテゴリに従って別のデータフローをたどる(ステップ
307)。
データフローのノードをたどりながら、効率的な計算機
処理ができるような制御フローを簡単に作成できるよう
に、データフローを簡易化する。
データフローの簡約化は、ルールデータベース中に蓄積
されたルール、例えば次のような種類のルールを用いて
行われる。
(a)異なるデータフローノードが、同一の入出力媒体
に対して入出力操作を行う場合、1度の入出力操作で目
的とする事項が達成するならば、これらのノードを統合
化し、1つのノードとする。
(b)ノード間の論理的な演算規則に基づいてノードを
統合化する。
例えば、上流ノードの複数個の条件分岐を、下流ノード
がAND条件として使用する場合には、上流ノードの条
件文を1つにまとめる。また、同一ファイルからの読み
込み、同一ファイルへの書き出し等もまとめることがで
きる。メソッド・カテゴリによって、次にたどるデータ
フローを決定するときに、同じレベルのものが複数個あ
る場合、まとめられるか否かの評価を行う。
このようにして、計算機処理手順に近い形のデータフロ
ーが作成できる。
次に、第14図と第15図により1例を挙げてデータフ
ローを変換する手順を述べる。第14図は、変換前のデ
ータフロー、第15図は変換後のデータフローである。
第14図および第15図において、23−1゜24−1
は入力データ部、23−17.24−9は出力データ部
、23−2〜23−16.24−2〜24−8はデータ
に対する手続きである。
先ず、第14図のデータフローを読み込む。そして、2
3−1と同じものを24−1に作り、データフローをた
どる。23−1からはデータフローが1個しか出ていな
いので、23−2もそのまま24−2に書き込む。次に
、23−2からはデータフローが2個出ているが、メソ
ッド・カテゴリに従って23−3を選択し、24−3に
書き込む。次に、23−3からは2個のデータフローが
出ているが、23−4も23−5もファイルからのデー
タの読み込みであり、推論によりB、Cとも同一のファ
イルからAを検索キーとして入力するので、1個のボッ
クスにまとめられる。ということを判断し、24−4と
いう1個のボックスにまとめる。次に、23−4から2
3−6.23−5から23−7の2個のデータフローに
ついて考えると、各々B、Cの存在判定を行い。両方存
在する場合のみ23−8が実行されることがわかる。
つまり、23−8は23−6.23−7をAND条件と
して使っているので、条件文を1個にまとめてもよい、
ということが推論により判断され、24−5のように1
個のボックスに書き込まれる。
次は、23−8へのデータフローをたどり、24−6と
する0次に、23−6から23−9.23−7から23
−10については、23−6.23−7が1個にまとめ
られており、23−9.23−10は、B、Cのどちら
かが存在しない場合に実行される手続きであるため、こ
れもまとめて24−7にすることができる。ここで、残
っているデータフローは、全部データ出力であり、出力
光は同一ファイルである、ということを推論により判断
し、23−11”〜23−16を1つにまとめて24−
8とする。これで、内部の手続きについては、全部書き
込んだので、最後に23−17を24−9として終了す
る。
ここでは、データフロー図の書き替えにより、説明した
が、実際にはフレーム型fat造体が作成される。本実
施例では、入出力データ部を除いて、第14図で15個
あった手続きのボックスが、第15図では7個になって
いる。また、ファイルからの入力、ファイルへの出力も
、各々1度の操作になっており、処理効率が向上する。
このように、本実施例においては、要求仕様から作成さ
れたデータフローを、ルールを利用して推論を行い、可
能な手続きをまとめることにより1手続き数が少なくな
り、冗長な処理の繰り返しがなくなるので、制御フロー
への開展を容易にすることができる。
〔発明の効果〕
以上説明したように、本発明によれば、プログラノ、を
開発する場合に、要求仕様とデータフローを与え、既存
制御フロー蓄積データベースを用意することにより、ル
ールを参照して推論を行い、適当な制御フローの例をデ
ータベースから選択し、修正することにより、制御フロ
ーを作成することができるので、人手により制御フロー
を作成する場合に比べて大幅に手数が減小し、プログラ
ムの開発効率は向上し、手続きは簡略化される。また、
上記制御フローへの変換の過程で、性能・保守性等の評
価JJ準のうち重視する方を選択して、制御フローの代
替案を用意することができるので、目的に合ったプログ
ラムの処理手順を示す制御フローを作成することができ
る。また、ルールを利用しての推論により、可能である
と判断された手続きをまとめることにより、手続き数を
少なくし、同し処理の繰り返し等を取り除いたデータフ
ローを作成することができるので、制御フローへの展開
が容易となり、また冗長な処理がなくなり、効率のよい
制御ブローを作成できる。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示す制御フロー作成シ
ステムのブロック図、第2図は第1図の動作フローチャ
ート、第3図は本発明による要求仕様の図、第4図は第
3図の要求仕様から作成されたデータフロー図、第5図
はデータベースから選択された制御パターンの一例を示
す図、第6図は第5図を修正して作成された制御ブロー
の図、第7図は本発明の第2の実施例を示す制御フロー
作成システムのブロック図、第8図は第7図の動作フロ
ーチャート、第9図は本発明によるデータフロー図、第
10図は第9図により作成される制御フローの例を示す
図、第11図は第9図により作成される制御)ローの他
の例を示す図、第12図は本発明の第3の実施例を示す
制御フロー作成システムのブロック図、第13図は第1
2図の動作フローチャート、第14図は本発明による実
行前のデータフロー図、第15図は本発明による実行後
のデータフロー図である。 】:ビデオ・データ・ターミナル、2:計算機処理装置
、3:推論ルール・既存制御パターン蓄積データベース
、4:制御フロー作成処理制御部、5:要求仕様解析部
、6:データフロー解析部、7:制御パターン検索部、
8:制御ブロー推論修正部、9:制御フロ一対話修正部
、5a:データフロー読み込み部、6a:ルールによる
推論部、7a:r’AD図作成部、8a:代替案作成部
、7b:データフロー作成部。 \j−ψ 第     1     図 第     2     図 第3図 第4図 第5図 第6図 第7図 第8図 第   10   図 第   11   図 −へ            [F] 11                   lt′)
→ D トの

Claims (3)

    【特許請求の範囲】
  1. (1)ソフトウェアモジュールを結合して新しいソフト
    ウェアを開発するために、プログラムの要求仕様と、該
    プログラム中のデータに対する手続き等を表現したデー
    タフローから計算機の処理手順を導く制御フローを作成
    するシステムにおいて、既存の制御フローのパターンと
    上記データフロー解析のためのルールを蓄積したファイ
    ル、および該ファイルからのデータを検索・編集処理す
    る手段を有し、上記要求仕様を解析して取り出したキー
    ワードにより上記ファイルから制御フローを検索し、デ
    ータフローを解析しながら上記制御フローと比較して、
    不一致の部分に対して上記ルールによる推論または対話
    により修正を行い、目的に合致した制御フローを作成す
    ることを特徴とする制御フロー作成方式。
  2. (2)ソフトウェアモジュールを結合して新しいソフト
    ウェアを開発するために、プログラムの要求仕様と、該
    プログラム中のデータに対する手続き等を表現したデー
    タフローから計算機の処理手順を導く制御フローを作成
    するシステムにおいて、既存の制御フローのパターンと
    上記データフロー解析のためのルールを蓄積したファイ
    ル、および該ファイルからのデータを検索・編集処理す
    る手段を有し、上記データフローの情報をフレーム型で
    表現し、上記ルールを参照しながら該データフローをた
    どり、連接、反復・選択分岐手続きについて展開して、
    順次制御フローへ変換し、該変換過程で、プログラムの
    性能、保守性等の評価基準のうちの重視項目に応じて、
    複数の制御フローのパターンから代替案を選択して、制
    御フローを作成することを特徴とする制御フロー作成方
    式。
  3. (3)ソフトウェアモジュールを結合して新しいソフト
    ウェアを開発するために、プログラムの要求仕様と、該
    プログラム中のデータに対する手続き等を表現したデー
    タフローから計算機の処理手順を導く制御フローを作成
    するシステムにおいて、既存の制御フローのパターンと
    上記データフロー解析のためのルールを蓄積したファイ
    ル、および該ファイルからのデータを検索・編集処理す
    る手段を有し、上記データフローの情報をフレーム型で
    表現し、上記ルールを参照して一度の入出力操作で満足
    される複数ノードを単一ノードに統合化し、また内部手
    続きについても、上記ルールを参照して同一の操作やA
    NDによる条件文等に対してまとめることができると判
    断することにより、1つにまとめた手続きにして、制御
    フローに展開し易い形のデータフローに変換することを
    特徴とする制御フロー作成方式。
JP24605185A 1985-11-01 1985-11-01 制御フロ−作成方式 Pending JPS62106542A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24605185A JPS62106542A (ja) 1985-11-01 1985-11-01 制御フロ−作成方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24605185A JPS62106542A (ja) 1985-11-01 1985-11-01 制御フロ−作成方式

Publications (1)

Publication Number Publication Date
JPS62106542A true JPS62106542A (ja) 1987-05-18

Family

ID=17142731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24605185A Pending JPS62106542A (ja) 1985-11-01 1985-11-01 制御フロ−作成方式

Country Status (1)

Country Link
JP (1) JPS62106542A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488739A (en) * 1987-09-30 1989-04-03 Toshiba Corp Program converting device
JPH0233602A (ja) * 1988-07-22 1990-02-02 Yaskawa Electric Mfg Co Ltd 輸送システムのプログラム作成装置
US7558886B2 (en) * 2005-04-19 2009-07-07 International Business Machines Corporation Method and apparatus for controlling data flows in distributed storage systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488739A (en) * 1987-09-30 1989-04-03 Toshiba Corp Program converting device
JPH0233602A (ja) * 1988-07-22 1990-02-02 Yaskawa Electric Mfg Co Ltd 輸送システムのプログラム作成装置
US7558886B2 (en) * 2005-04-19 2009-07-07 International Business Machines Corporation Method and apparatus for controlling data flows in distributed storage systems

Similar Documents

Publication Publication Date Title
US5341469A (en) Structured text system
JP2007087215A (ja) ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
US5987239A (en) Computer system and method for building a hardware description language representation of control logic for a complex digital system
JP3205406B2 (ja) 参照対象変数決定処理方法および翻訳処理システム
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
US20040215586A1 (en) Automatic knowledge creating method, program therefor, automatic designing method and its system
JPS62106542A (ja) 制御フロ−作成方式
Magnusson The new implementation of ALF
Lui Generation and evaluation of mechanical assembly sequences using the liaison-sequence method
CN114817558B (zh) 一种构建子图模型进行图谱查询的方法
JP3964259B2 (ja) プログラム生成装置、及びプログラム生成方法、並びにプログラム生成用プログラム
JPS6320529A (ja) 知識獲得方式
JP4398664B2 (ja) Xmlデータの検索方法及び検索装置、並びにプログラムおよびプログラムを記録した記録媒体
JP2003216454A (ja) 試験手順生成装置及び試験手順生成方法及び試験手順生成プログラム及び記録媒体
JP2856618B2 (ja) 自然言語インタフェース方式
KR20010103708A (ko) 프로그램재생방법 및 장치 및 프로그램재생을 위한프로그램을 기록한 매체
JP3102222B2 (ja) 知識獲得方法及びその実施装置
JP2000099563A (ja) テストデータ生成装置
JPH06119156A (ja) プログラム自動生成方法
Halim et al. Form Application Generation with Case-based Reasoning Approach
JPH08171486A (ja) データ項目部品を利用するプログラム開発支援装置
CN116468020A (zh) 一种通用的计算字段词法解析系统及其方法
Guo Automatic transformation from data flow diagram to structure chart
JP2937381B2 (ja) 集積回路の設計方法及び設計装置