JPH06214777A - プログラム開発方法及び装置 - Google Patents

プログラム開発方法及び装置

Info

Publication number
JPH06214777A
JPH06214777A JP757293A JP757293A JPH06214777A JP H06214777 A JPH06214777 A JP H06214777A JP 757293 A JP757293 A JP 757293A JP 757293 A JP757293 A JP 757293A JP H06214777 A JPH06214777 A JP H06214777A
Authority
JP
Japan
Prior art keywords
box
program
processing
file
computer
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
JP757293A
Other languages
English (en)
Inventor
Toshiaki Niihori
俊明 新堀
Takashi Iijima
隆志 飯島
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 JP757293A priority Critical patent/JPH06214777A/ja
Publication of JPH06214777A publication Critical patent/JPH06214777A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 設計ドキュメントとプログラムの完全一致を
可能とするとともに、計算機言語を知らない非専門エン
ジニアもプログラムを理解でき、個人差の出ない高品質
のプログラムを開発でき、生産性及び品質を向上する。 【構成】 入力された設計仕様は、構造分離部11により
BOX間関係ファイル12とBOX内関係ファイル13に分
離される。BOX間関係ファイル12は、構造解析部14に
より一般BOX、判定BOX、繰返しBOXを加味しB
OXの処理流れを決定し、ファイル15を生成する。BO
X内関係ファイル13は、BOX内処理解析部16により、
BOX内の処理順を決定し、BOX内の実行順序を格納
したファイル17に格納される。ソース文編集部19は、上
記ファイル15と上記ファイル17を基にソース文部品17に
格納されている部品を取り出し、計算機言語のソース文
20を生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機を使用したプロ
グラム開発支援システムに係わり、特に、CRT上にフ
ローチャートを作図しその作図結果よりプログラムを生
成するプログラム開発方法及び装置に関する。
【0002】
【従来の技術】図式を用いてソースプログラムを生成す
る方法としては、例えば、特開昭60-159939号公報のよ
うに、プログラムモジュールの相互関係を示すモジュー
ル関連図、各モジュールの処理を示す処理フロー図、モ
ジュール内で使用されるデータの形式等を定義する内部
データ定義図、さらにモジュール間共通データなどの形
式等を定義するインターフェースデータ定義図を入力
し、これらの図式情報をソース文に変換し、その後ソー
ス文を編集してソースプログラムを生成する方法が知ら
れている。
【0003】
【発明が解決しようとする課題】しかしながら、前記従
来技術においては、計算機の処理を示す処理フロー図が
論理の構造を示す部分とその構造内での処理そのものを
表す部分に分けて記述されていることに対し、充分な配
慮がされていないために、処理BOX内の記述を一つの
情報として認識せず、その結果、BOX内の記述は各計
算機言語のソース文又はそれに近いものにしなければな
らないと云う問題点があった。
【0004】そして、多くの計算機用プログラム開発シ
ステムでは、上記の問題点があるため、計算機言語の知
識がない技術者にとっては、プログラムの解読並びに作
成を行うことが困難なことであった。本発明は、このよ
うな問題に鑑みてなされたものであって、その目的は、
処理フローチャートよりソースプログラムを自動生成す
るプログラム開発方法及び装置を提供することにある。
【0005】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、プログラム作成の為の処理フローチャー
ト情報よりプログラムの構造と構造内の処理の情報に分
離する手段と、プログラム構造を解析する手段と、処理
内容が記述されている処理ボックス内を解析する手段
と、処理内容のソースプログラム部品を取り出し各々の
ソースプログラム部品を組み合わせて一つのプログラム
モジュールにし、ターゲットのソースプログラムにする
編集手段を設けプログラムの生成をする。
【0006】
【作用】処理フローチャート全体の図情報よりプログラ
ム構造と処理内容に分離する手段は、プログラムの各処
理の流れを決定している構造の情報と、プログラムの構
造内の処理内容を分離し保管する。プログラム構造を解
析する手段は、プログラム全体の流れを解析し各々の処
理の配列を決定し、BOX内処理解析手段は処理BOX
の中の文字・記号より処理内容を解析する。ソース文編
集処理では、処理命令部品よりソースプログラム部品を
取り出し、BOX毎にソース文を組み立てプログラム構
造解析部で決定された配列に従って各ソース文を配列し
組み立て一つのプログラムとする。
【0007】
【実施例】以下に添付の図を参照して本発明の一実施例
を詳細に説明する。本発明は、フローチャートなどのプ
ログラム仕様を示した設計情報から、コンパイラあるい
はアセンブラなどの計算機での変換手段を用いて変換可
能な高級言語あるいはアセンブリ言語、機械語などのプ
ログラムの自動生成であれば、いかなる設計仕様・いか
なるプログラムにも適用可能であるが、一例として、C
RT上にフローチャートを作図し、その作図結果より計
算機言語のプログラムを生成する方法において、本発明
を適用した一実施例について説明する。
【0008】図1は、本発明の一実施例を示すシステム
構成図である。図1において、1はCRT、2はキーボ
ード、10はCRTとキーボードとの入出力を行う入出力
処理、11は前記CRT1及びキーボード2で入力された
図情報を分析し全体の構造情報とBOX内情報とに分離
する構造分離部、12はBOX間の関係情報を格納したB
OX間関係ファイル、13はBOX内の関係情報を格納し
たBOX内関係ファイル、14はBOX間の関係情報より
BOXの処理順序を決定する構造解析部、15はBOXの
処理順序を格納したBOX間処理流れファイル、16はB
OX内の処理を解析するBOX内処理解析部、17はBO
X内の処理順序を格納したBOX内処理順序ファイル、
18は計算機言語の命令に対応するソース文部品を格納し
てあるソース文部品ファイル、19はBOXの処理流れと
BOX内の処理順序から計算機言語のソース文を生成す
るソース文編集部、20は本実施例により生成されたソー
ス文である。
【0009】次に、図1を用い設計仕様からソース文20
を自動生成するまでの本発明による処理を示す。オペレ
ータにより入力された設計仕様は、構造分離部11により
BOX間の関係情報とBOX内の関係情報に分離され、
BOX間関係ファイル12とBOX内関係ファイル13に格
納される。構造解析部14は、BOX間関係ファイル12よ
り、一般BOX、判定BOX、繰返しBOXを加味しB
OXの処理順序を決定し、BOX間処理流れファイル15
を生成する。BOX内処理解析処理16は、BOX内関係
ファイル13より、BOX内の命令の処理順を決定し、B
OX内の実行順序を格納したファイル17に変換する。次
いで、ソース文編集部19は、前記ファイル15と前記ファ
イル17を基に計算機言語のソース文部品ファイル18に格
納されている部品を取り出し、実際の計算機言語のソー
ス文20を生成する。ここで、各処理の受け渡し手段はフ
ァイルとしたが、メモリ等の記憶装置であれば良い。更
に、設計情報を入力する手段は、CAD等の入力手段を
介し、データベース化しても良いことは言うまでもな
い。
【0010】本実施例によれば、設計仕様を入力するだ
けで、プログラムが自動生成できる。以下詳細に説明す
る。図2は、CRTに表示された設計仕様の入力例であ
る。設計仕様を入力する場合には、設計仕様に対応した
部品を所望の位置に配置し、その部品に属性として種々
の情報を入力する。例えば、BOX−Aの入力では、キ
ーボードから入力を行う命令に対応するBOXとして
「読み込み」BOXを配置し、属性として、変数名a1
1、a11の型として整数を指定する。また、BOX−
Eの入力では、計算結果を代入する命令に対応する部品
である「代入」BOXを配置後、「2数加算」「乗算」
「除算」の部品を配置し、BOXの属性として変数an
s、「2数加算」と属性として変数d1・d2、「乗
算」の属性として定数100、「乗算」の属性として変数
a11を設定する。
【0011】本実施例によれば、フローチャートの入力
が、設計仕様と同じ書式で部品を配置するという単純な
操作で行える。更に、変数の型を属性という形式で入力
できるので、変数宣言の煩わしさも無く入力効率が向上
する。図3は、前記図1で説明した構造分離部の結果で
ある。BOX間関係ファイル12と、BOX内関係ファイ
ル13とを模式的に説明した図である。BOX間関係ファ
イル12は、BOX間の処理流れを決定できるよう、全体
の座標情報でBOXを管理するファイルである。BOX
内関係ファイル13は、個々のBOX内に配置された部品
の処理順序を決定できるよう、BOX内での座標情報で
部品を管理するファイルである。
【0012】本実施例によれば、BOXを1つの部品と
してとらえ、BOXを全体の座標で管理するとともに、
BOX内の部品をそのBOX毎の座標で管理し、処理を
容易に決定できる情報を作ることができる。すなわち、
まず、フローチャートという絵全体を把握している第1
のレイヤーであるBOX間関係ファイル12が管理され、
BOXの中身自体は具体的には検討されないで全体の概
略のみが管理される。次に、第2のレイヤーであるBO
X内関係ファイル13において、個々のBOXの中がどの
ような内容であるかが詳細に管理される。
【0013】このように構成したことにより、第1のレ
イヤーであるBOX間関係ファイル12上に全体の概略が
存在しない部分(メッシュ)に関しては、それよりも下
位の第2レイヤー(BOX内関係ファイル)13におい
て、さらに詳細に管理する必要はなく、容量を節約しコ
ストを低減できる。なお、本実施例はフローチャートの
構造を二つのレイヤーに分離したものであるが、フロー
チャートが複雑な構造をとる場合には、二つのレイヤー
に限らず三つ以上のマルチレイヤーに分離してもよい。
【0014】図4は、前記図1で説明した構造解析部14
の処理構成を説明したものである。図4において、左側
のフローチャートの処理を行うと右側の処理の流れがで
きるということを示したものである。なお、構造解析部
14のステップ143の詳細を下図に示す。構造解析部14
は、フローチャートの処理開始の部品を決定し (ステッ
プ141)し、一般のBOXの流れを決定 (ステップ142)
し、判定処理の分岐数に対応したBOXを生成 (ステッ
プ143)後、全体の流れを決定 (ステップ144)する。上
記判定処理の処理流れ決定 (ステップ143)では、二分
岐・多分岐などの判定種別を決定 (ステップ143a) 後、
その分岐数に対応した従属部品を生成しその配置位置を
決定(ステップ143b) する。前記図2で説明したフロー
チャートの例では、まずBOX−A, BOX−B, BO
X−C, BOX−Dの処理流れが決定され、判定文に対
応するBOX−Dの従属部品として、条件以外を意味す
るBOX−D' と条件終了を意味するBOX−D”が生
成され、BOX−D' は、BOX−Eの次に、BOX−
D”はBOX−Fの次に配置される。このようにして、
BOX−Dの従属部品として、ダミー的なBOX−
D'、BOX−D”を生成することにより、後の処理が
容易になる。例えば、本図示例においては、BOX−D
の判定処理の結果BOX−Eに行ったときにはそのまま
終了しなければならないが、もし処理の終了を指示する
従属部品がないと、次にBOX−Fの処理を行ってしま
う。その場合にスキップして終了させる必要が生じ、本
実施例ではスキップ命令として従属部品が挿入してあ
る。したがって、本発明の実施例においては、BOXー
Eの中に終了を示す命令を書き込む必要がなくなり、従
来のように、BOXの中に行うべき仕事以外の余計なも
のまで記述し、そのためにBOXの中身の余分なものを
読みとらなければならないという煩雑さが回避されると
ともに、後の処理が複雑となることもない。このよう
に、従属部品は、処理には無関係で、かつ、処理を終了
させるために生成された命令語として機能する。さら
に、BOXすなわち実行上の流れをより判り易くするた
めに、ダミーBOXである従属部品が挿入され、ソース
文の編集処理等の後処理が容易になる。
【0015】このように、本実施例によれば、条件判定
文を含むフローチャートの条件判定に従属する部品の生
成・配置、BOXの処理流れが決定できる。図5は、前
記図1で説明したBOX内処理解析部16の処理構成を説
明した図である。本実施例では、前記図2で説明したB
OX−Eを例に取り上げ説明する。BOX内処理解析部
16は、BOX内を走査し、BOX内の配列を決定 (ステ
ップ161)し、各処理の並びを決定 (ステップ162)する
ことで、BOX内の処理順序を決定する。BOX内の配
列を決定する規則は、BOX内の部品を左上から右方向
に走査し、複数段ある場合には下方向に走査を継続す
る。BOX−Eの場合、「2数加算」 (部品163)、
「乗算」 (部品164)、「除算」 (部品165)、次いで
「代入」 (部品165) が処理順序となる。
【0016】このように、本実施例によれば、BOX内
の処理順序を決定することができる。図6は、前記図1
で説明したソース文編集処理19の処理構成を説明した図
である。ソース文編集処理19は、前記BOX間処理流れ
ファイル15に含まれる個々のBOX情報を順次取り出
し、抽出した情報に対するソース文をソース文部品ファ
イル18より取り出し (ステップ191)、次いで前記BO
X内処理順序ファイル17よりBOX内の部品に対応する
ソース文をソース文部品ファイル18より取り出し(ステ
ップ192)、BOX内の部品に変数名などの属性情報を
埋め込むことでソース文を作成 (ステップ193)する。
【0017】以下、図6を用い、計算機言語をC言語と
した場合のソース文生成例を説明する。 181は、C言語
とした場合のソース文部品ファイル18の一例である。ソ
ース文部品は、BOXに対応するC言語の命令と、変数
などを埋め込む部品から成っている。例えば、BOX−
Aは「読み込み」という命令に対応し、その属性として
「整数」、変数「a11」を持っている。「読み込み」
と「整数」をキーにしてソース文部品を検索し、一致し
たソース文部品に対し、変数「a11」を埋め込めば、
BOX−Aに対するソース文が生成される。ここでは、
ソース文部品をC言語としたが、Fortran、アセンブラ
等を部品とすれば、それに対応するソース文が出力され
るのは自明のことである。
【0018】このように、本実施例によれば、ソース文
部品を変えることで任意のソース文を出力することがで
きる。図7は、前記図1で説明した実施例において、条
件判定文が多分岐の場合のBOX間関係ファイルの一例
を示した図である。多分岐BOXであるBOX−Dは、
3分岐であるのでBOX−Dに対する従属部品として3
BOXの従属BOXが生成される。ここで、分岐後のB
OXの処理流れは、左上から下方向に走査し、矢印など
で合流したら現在走査している流れの右側の流れを走査
することで決定できる。
【0019】このように、本実施例によれば、多分岐の
フローチャートであっても処理の流れが決定でき、プロ
グラム生成ができる。図8は、繰返し文を含むフローチ
ャートから、C言語のソース文を生成した一例である。
図8において、BOX−BとBOX−Cとは、説明上さ
ほど重要ではないので処理を処理Mと処理Nと省略して
いる。繰返し文に対応するBOX−Aは、カウンタ用の
変更「cnt」、繰返しの初期値「1」、上限「10」を
属性として入力済である。繰返しに対するC言語のfo
r文が生成され、その終りとしてBOX−Dに対応する
カッコが生成される。ここで繰返し文のBOXは、説明
を単純化するために図8で示した形状の部品としたが、
開始と終了を示す部品であれば部品間が線分で結線され
ていても構わない。
【0020】このように、本実施例によれば、繰返し文
を含むフローチャートでも計算機言語のプログラムを自
動生成できる。
【0021】
【発明の効果】以上説明したように、本発明によれば、
設計ドキュメントとプログラムを完全一致させることが
できるとともに、計算機言語を知らない上位エンジニア
等の非専門エンジニアでもプログラムを容易に理解で
き、しかも、個人差の出ない高品質のプログラム開発が
実現でき、かつ、生産性及び品質を向上させることがで
きる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図。
【図2】本発明の一実施例による入力図。
【図3】図1における中間ファイルの模式図。
【図4】図1における構造解析部の処理構成図。
【図5】図1におけるBOX内処理解析部の処理構成
図。
【図6】図1におけるソース文編集部の処理構成図。
【図7】図1における他の実施例による適用例。
【図8】本発明の他の実施例による適用例。
【符号の説明】
1 CRT 11 構造分離部 12 BOX間関係ファイル 13 BOX内関係ファイル 14 構造解析部 15 BOX内処理流れファイル 16 BOX内処理解析部 17 BOX内処理順序ファイル 18 ソース文部品ファイル 19 ソース文編集部 20 ソース文

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 作図入力出力機構を有する計算機を使用
    した計算機のプログラム開発方法において、作図された
    情報を処理の構造と構造内の処理に分離するとともに、
    処理内容をソースプログラムに変換させ、処理構造を解
    析し変換されたソースプログラムの配列を決定すること
    を特徴とするプログラム開発方法。
  2. 【請求項2】 処理フローチャートを作図表示するCR
    Tと、作図及びデータ入力するデータ入力手段を備えた
    計算機を用いた計算機用プログラム開発方法において、
    CRT上に作画された処理フローチャートの構造を解析
    し、プログラムの実行順序を決定し、処理フローチャー
    トのボックス中に記述されたシンボルを解析し予め登録
    されているプログラム部品を取り出しプログラムに変換
    し、プログラムの構造解析結果による実行順に従って、
    解析変換機能によって得られたプログラムを使い一つの
    プログラムに組み上げることを特徴とする計算機用プロ
    グラム開発方法。
  3. 【請求項3】 作図入力出力機構を有する計算機を使用
    した計算機のプログラム開発装置において、作図された
    情報を処理の構造と構造内の処理に分離する機構を設
    け、処理内容をソースプログラムに変換させる機構と、
    処理構造を解析し変換されたソースプログラムの配列を
    決定する機構を設けたことを特徴とするプログラム開発
    装置。
  4. 【請求項4】 処理フローチャートを作図表示するCR
    Tと、作図及びデータ入力するデータ入力手段を備えた
    計算機を用いた計算機用プログラム開発装置において、
    CRT上に作画された処理フローチャートの構造を解析
    し、プログラムの実行順序を決定する解析機能を備え、
    処理フローチャートのボックス中に記述されたシンボル
    を解析し予め登録されているプログラム部品を取り出し
    プログラムに変換する解析変換機能を備え、プログラム
    の構造解析結果による実行順に従って、解析変換機能に
    よって得られたプログラムを使い一つのプログラムに組
    み上げる編集機能を有することを特徴とする計算機用プ
    ログラム開発装置。
JP757293A 1993-01-20 1993-01-20 プログラム開発方法及び装置 Pending JPH06214777A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP757293A JPH06214777A (ja) 1993-01-20 1993-01-20 プログラム開発方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP757293A JPH06214777A (ja) 1993-01-20 1993-01-20 プログラム開発方法及び装置

Publications (1)

Publication Number Publication Date
JPH06214777A true JPH06214777A (ja) 1994-08-05

Family

ID=11669531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP757293A Pending JPH06214777A (ja) 1993-01-20 1993-01-20 プログラム開発方法及び装置

Country Status (1)

Country Link
JP (1) JPH06214777A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2011039618A (ja) * 2009-08-07 2011-02-24 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびプログラム
JP6272595B1 (ja) * 2016-07-13 2018-01-31 三菱電機株式会社 プログラム作成装置、プログラム作成実行装置、および、プログラム作成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222221A (ja) * 2004-02-04 2005-08-18 Hitachi Ltd 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2011039618A (ja) * 2009-08-07 2011-02-24 Meidensha Corp ソフトウェアの開発支援システム、支援方法およびプログラム
JP6272595B1 (ja) * 2016-07-13 2018-01-31 三菱電機株式会社 プログラム作成装置、プログラム作成実行装置、および、プログラム作成方法

Similar Documents

Publication Publication Date Title
US5652899A (en) Software understanding aid for generating and displaying simiplified code flow paths with respect to target code statements
US5321607A (en) Automatic translating machine
JPH07219758A (ja) 仕様書生成方法
US20040102960A1 (en) Process and system for generating knowledge code and converting knowledge code into text
JPH06214777A (ja) プログラム開発方法及び装置
JP6993573B2 (ja) プログラム解析方法、プログラム解析装置およびプログラム解析プログラム
US5551036A (en) Method and system for generating operation specification object information
WO2013015109A1 (ja) モジュールの構造解析を支援する装置及びプログラム
JPH0830448A (ja) プログラム仕様整合検査装置
JPH09330212A (ja) プログラミング言語処理システム
JPH11154093A (ja) プログラムコンパイラ及びコンパイラ用プログラムを記録した記録媒体
JPH06214776A (ja) ソフトウェア自動生成システム
JPH0793144A (ja) プログラム解析装置
JPH06119156A (ja) プログラム自動生成方法
JP3584204B2 (ja) 原始プログラム自動変換装置
JPH05324343A (ja) プログラムコンバートシステム
JPH03141427A (ja) 標準レコード仕様情報作成方法
JP5581894B2 (ja) データ処理プログラム自動生成システム
JPH05334062A (ja) 論理記述差分抽出方式
JPS62135958A (ja) シミユレ−シヨン方式
JP2000112747A (ja) プログラム資産における非実行文の等価性検証装置
JPH06161723A (ja) プログラム開発言語編集装置
JPH0734193B2 (ja) テキスト分離型学習システム
JPH09319619A (ja) 疑似サブルーチン生成装置
JPH04299416A (ja) ソースコード生成器