JPS6379176A - デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法 - Google Patents

デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法

Info

Publication number
JPS6379176A
JPS6379176A JP61223497A JP22349786A JPS6379176A JP S6379176 A JPS6379176 A JP S6379176A JP 61223497 A JP61223497 A JP 61223497A JP 22349786 A JP22349786 A JP 22349786A JP S6379176 A JPS6379176 A JP S6379176A
Authority
JP
Japan
Prior art keywords
program
design
processing
pattern
file
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
JP61223497A
Other languages
English (en)
Inventor
Minoru Harada
実 原田
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.)
Central Research Institute of Electric Power Industry
Original Assignee
Central Research Institute of Electric Power Industry
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 Central Research Institute of Electric Power Industry filed Critical Central Research Institute of Electric Power Industry
Priority to JP61223497A priority Critical patent/JPS6379176A/ja
Publication of JPS6379176A publication Critical patent/JPS6379176A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 本発明は、上記構成を取る情報処理装置系において、特
にディスプレイ画面からオペレータが入力した設計仕様
からプログラムとジョブ制御文を自動的に生成する方法
に間する。
[発明の背景] 一般に、プログラムを作成するには、効率や利用しやす
さを考えてプログラム全体をいくつかのモジュール(単
一機能を行うプログラム単位)に分割し、個々のモジニ
ールの計算諸元を正確に定めた設計書を作成する設計作
業と、設計書に従って、公知のCOBOLなどのプログ
ラミング言語で実際にプログラムを作成するプログラミ
ング作業が必要である。
従来これらの作業はほとんど人手に頼って行われてきた
ため、プログラム作成に時間が掛かる、プログラムが設
計普通りに動かない、修正要求に合わせて設計書とプロ
グラムの両方を保守するので手間が倍掛かるなどの多く
の問題を含んでいた。
このため以前から、設計書を計算機に入力しこれから自
動的にプログラムを作成する具体的方法の確立が望まれ
ていた。特に、現在計算機上で稼働しているプログラム
の多くは事務プログラムであり、事務プログラムを自動
生成する方法の確立はプログラム開発の生産性と(N頼
性の向上分ために重要であった。
一般に、事務処理プログラム(正確にはそれを構成する
モジュール)は、それがファイルからレコードを取り出
し処理する制御方法によって、いくつかの処理パターン
に分類できる。従って現在では、これらのパターンごと
にプログラムの雛型を用意し、これを公知のエディタを
使って手作業で編集・再利用することによって開発の効
率化を達成する手法が広く利用されている。
しかしこれらの方法では、処理パターンの詳細を理解し
ないと設計書を書けない、処理記述と条件記述が点在す
るので設計書が読みにくい、エディタを使って編集する
のもかなり時間が掛かるし間違いやすい、適応性を高め
るには多くの処理パターンを用意する必要があるなどの
難点があり、大きな効果を期待できなかった。
[発明の目的コ 本発明の目的は、従来のプログラムという文章表現に比
べ逼かに理解しやすいより人間向きである図・表中心の
設計書を、計算機を対話的に利用することここよって作
成し、設計上の誤りを早く見つけるとともに、完成され
た設計書から自動的にプログラムを生成することによっ
て、プログラム開発の生産性と信頼性を飛躍的に向上す
ることにある。
[発明の概要コ 本発明によれば、オペレータはまず、ホスト計算機で処
理したい業務(以下ジョブと言う)の内容を、ワークス
テーションのディスプレイ上に表示された機能テーブル
(ジョブやモジュールの文章による説明表)、ファイル
テーブル(使用するファイルの諸属性を定義する表)、
CDフロー図(ジョブを構成するプロセス(=プログラ
ム)とそれが使用するファイルとの関係を表した一種の
フローチャート)、データ構造テーブル(ファイル内の
データの論理的階層構造を表した表)、階層構造図(プ
ロセスを構成するモジュール間の呼びだし関係を表した
図)、データ移送テーブル(プロセス内で起こるファイ
ル間あるいはファイルと作業領域間のデータの流れを一
覧的に定義した表)、およびロジックテーブル(モジュ
ールの筺能をそれを構成する処理要素と条件要素および
その間の対応関係を整理した表)の7つの設計画面に分
けて、座標指示装置(以下マウスと言う)と文字入力表
置く以下キーボードと言う)を使フて、画面ごとに定め
られ図形や文(以下設計パターンと言う)から適切なも
のを選択し入力することによってワークステーションに
接続したディスク装置に仕様ファイルとして格納する。
最後に、オペレータがプログラム生成やジョブ制御文(
プログラムをホスト計算18g上で実行するためのホス
ト計算機gへの制御命令で、以下JCLという)生成の
指示を行うと、ディスク装置に格納された各仕様ファイ
ルを適宜読みだし、どのような設計パターンがどこでど
のように記入されているかを解析し、設計パターンごと
に対応して予めディスク装置に格納されたプログラムコ
ードl!I8(以下プログラムコ−ドと言う)を編集・
結合することによって、ソースプログラムとジョブ制御
文を生成させることができる。さらに必要に応じて、前
記仕様ファイルをプリンタから清書出力して、プログラ
ムドキュメントとして利用できる。
本発明の最大の特徴は、モジュールの仕様記述にロジッ
クテーブルを使い、この条件部や処理部に記入する設計
パターンとして基本的な条件式と処理文を用意し、これ
を組合せることによって事務処理プログラムが持つ多様
な処理ロジックを簡潔に表現できるようにしたことであ
る。この設計パターンはプログラムの構成要素である命
令よりも論理的抽象塵が高くプログラムに関する専門知
識のない利用者でも理解できるものである。
従って、プログラムをエディタを使って作成するよりも
設計画面に設計パターンをはめ込むことの方がより容易
な作業であること、および命令を組合せてプログラムを
作るよりも設計パターンを組合せて設計仕様を作る方が
論理的により簡単であることから、本発明によってプロ
グラムを自動生成することは、従来の方法に比べ遥かに
効率よくプログラムを作成する方法であると言える。
[発明の実施例] システムの纜器構成: 第1図は本発明を実施するためのシステム構成の一例を
示す。aは設計画面とそこに記入された設計パターンか
らなる作成中の設計仕様を表示するためのディスプレイ
装置で従来の設計作業における設計用紙に対応する、b
は設計画面中の記入場所を指定するための座標指示装置
(マウス)で、Cは設計画面に文字を入力するための文
字入力装置(キーボード)で、bとCはともに従来の鉛
筆に相当する。dは作成された設計仕様を格納するため
のディスク装置で従来のファイルキャビネットに相当す
る。eは格納された設計仕様を紙に清書出力するための
プリンタ装置である。fは上記5つの機器を制御しオペ
レータからの指示をうけ設計仕様を入力するとと・もに
これからプログラムとジョブ制御文(JCL)を自動生
成するためのワークスチーシコンと言われる計算機であ
る。gはfと接続され、gから転送されたプログラムを
同じく転送されたジョブ制御文を使って実行するホスト
計算機と言われる計算蹟である。
システム全体の利用方法: 本システムを用いて業務処理プログラムを作成するには
、当該業務の処理内容を正確に定めた設計仕様をワーク
ステーションfに入力するだけで良い。本システムはこ
れを基に、内蔵されたプログラムコード群(以下ブコグ
ラムパターンと言う)を組合せて実行可能なプログラム
を自動生成する。
すなわちプログラムを作成するのに設計のみを行えば良
く、従来この後に人手で行っていたプログラミング作業
を行う必要がない。
第2図は、本システムを用いて、ジョブ(ホスト計算機
で実行させたい業務処理の単位)に対するプログラムと
JCLを作成する方法を示している。図示の各処理の概
要は以下の通り。
■ 仕様作成: 利用者は第1表に示した6つの設計ステップに従フて、
ジョブをいくつかのプロセス(=プログラム)に分割し
、さらに各プログラムをいくつかのモジュールに分割し
、最後に各モジュールの処理内容を明らかにする。
この結果を本システムに入力するために、第2表に示し
た設計画面の中から適切な設計画面第1表 をディスプレイ装置a上に表示させ、これにマウスbと
キーボードCを使って、登録された設計パターンから適
切なものを選択し入力する。
設計画面2aごとに必要な設計パターンを全て入力した
ら、この結果を第2図の■のように、ディスク装置d内
に仕様ファイル2bとして格納する。
第3表は第1表の各設計ステップで記入する設計画面を
整理したもので、二重丸印(◎)で示した設計画面はそ
のステップで主として記入するものを表し、丸印(0)
で示した設計画面はその内容を追加(者正するものであ
る。
■ 仕様検査: マウスbを使ってチェックメニューを選択し、入力され
た設計仕様の表現方法は正しいか、仕様は完全かく記述
に漏れや矛盾がないか)などを検査する。誤りがあれば
仕様を訂正し、誤りがなくなるまでこれを繰り返す。誤
りがなくなれば、第2図の■のように、ディスク装置d
内に検査済み仕様ファイル2Cとして格納する。
第2表 第3表 ■ コード生成: マウスbを使ってコード生成メニューを選択し、入力し
た仕様に見合ったJCLとプログラムを生成させる。こ
れを第2図の■のように、ディスク装置d内に生成され
たプログラム2dおよび生成されたJCL2eとして格
納する。
■ コード転送: 第2図の■のように、生成されたプログラム2dとJ 
CL 2 eをホスト計算1gに転送し、転送されたプ
ログラム2gと転送されたJCL2hとして格納する。
lD  コンパイル・リンク・実行: ホスト計算機は、第2図の■のように、転送された。J
 CL 2 h 、;使って、同じく転送されたプログ
ラム2gをC0BOLプログラムとしてコンパイル・リ
ンク・実行を行う。これによって業務が実際に処理され
ろ。
ロヌ り香 画 間 ・ システムに入力する設計仕様は、ホスト計算機gで実行
する業務処理の単位(以下ジョブと言う)ごとに作成す
る。この設計仕様では、ジョブがどのような(ホスト計
算機上のコンパイル単位である)プロセス(=プログラ
ム)から構成されるか、各プログラムがどのようなモジ
ュールから構成されるか、各モジュールがどのような処
理要素がどのような条件の時実行されるかなどを記述す
る。
この設計仕様をワークステーションfに入力するには、
第2表の番号3と5によって示す2つの図形式画面と第
2表の番号1.2.4.6.7によって示す5つの表形
式画面を用いる。これらの設計画面の中で特に重要なも
のはモジュールの機能を表王見するロジックテーブルで
ある。
従来、モジュールの園能はフローチャートやデシジョン
テーブルを用いて記述されてきた。しかし、フローチャ
ー1・はプログラムの制御の流れを記述するものであり
設計仕様としてはレベルが景く、プログラマ以外には理
解しずらく設計結果を5i[認しにくかった。
一方、デシジョンテーブルでは、モジュールの機能を記
述するのに、これを構成する処理要素(Pi)と処理要
素の実行タイミングを区分けする条件要素(Cj)をそ
れぞれ処理性と条件行に独立して記述し、さらにどんな
条件の時どの処理を行うかの対応規則(Rk)を規則列
に記述する。従って、フローチャートに比べ一般の人で
も比較的容易にモジュールの処理内容を理解できるとい
う利点がある。
本システムでは、このデシジョンテーブルに初期処理語
と前処理欄を追加して改良したロジックテーブルを用い
て、モジュール内の処理手続きを記述する。この初期処
理語には、ロジックテーブルが呼出された時に1度だけ
実行する処理を、前処理欄にはロジックテーブルに記述
された処理を繰り返し実行する時に条件評価の前に必ず
毎回行う処理を記入する。この改良によって、表データ
のインデックスの初期設定など、条件評価に先立って特
定の処理を実行する必要があるモジュールの仕様を、(
それを呼出すモジュールではなく)当該モジュール内に
書くことができ、独立性の高いモジュール、設計が可能
になる。
設計パターン: 設計画面に記入する図形や文としては、前述したように
あらかじめ定められたもののみを許す。
表記法と意味が本システムにあらかじめ登録されている
このような図形や文をまとめて設計パターンとよぶ。
設計パターンには、図形式画面に記入する図形パターン
と表形式画面に記入する文形式パターンの2種類がある
0図形パターンは、例えば第6図6aに示すように、対
応する図面面の右上方に表示されたメニューから適切な
ものを選択し、次にその表示位置を指定して入力する。
第4表はCDフロー図に記入する図形式の設計パターン
の意味を示している。これらはジョブの構成要素である
プロセスとファイルおよびそれらの間の関係を表現する
のに用いる。なお、表中の丸印(0)はトークンと言わ
れるもので、制御の所在を表すのに用いられる公知の図
法であり、表示の例では、機能要素パターンの働きを説
明するのに用いている。
階層構造図に記入する設計パターンとしては、第7図7
8に示すように、設計画面の右上方に表示された3種類
のものがあり、プロセスの構成要素であるモジュールと
外部手続きとそれらの間の呼出し間係を表現するのに用
いる。
一方、文形式パターンは、例えば第4.5.8゜9.1
0.11図に示したように、定められた文法に従って設
計内容を適切に表現できるように編集してキーボードC
から入力する文字列で、ジョブ、プロセス、モジュール
、ファイルなどの属性や構成要素や41!能を表現する
のに用いる。
特に、第10.11図に示したようなロジックテーブル
は重要である。一般に、プログラムの機能は”制御構造
十条件要素+処理要素″を与えることによって正確に表
現できる。本システムにおいては、プログラムをモジュ
ールに分割し、このモジュールの機能をロジックテーブ
ルで記述し、モジュール間の遷移をロジックテーブルに
記入する処理要素として表現する。従って、プログラム
の基本的な制御構造をロジックテーブルの解釈実行を行
う制御構造に特定化できる。すなわち、本システムが生
成するプログラムのモデルが明確に定まるわけである。
一方、条件要素と処理要素に関しては、それぞれコンデ
ィションパターンおよびアクションパターンと言う、両
者とも定まった文法と意味を持つ文を使って独立に表現
する。
一般に、このコンディションパターンとして様々な制御
変数を含んだ論理式を用いれば、ロジックテーブルが持
つ記述力と合わせて、任意の処理を表現することができ
る。しかし、これではプログラマ以外には理解しにくい
仕様になる。そこで本システムでは、事務処理プログラ
ムの制御ロジックを分類し、各制御ロジックごとにプロ
グラムの実行状態を特殊な制御変数などを用いずに簡潔
に表現できろコンディションパターンを用意した。
具体的には、事務処理プログラム(正確にはそれを構成
するモジュール)がファイルからレコードを取り出し処
理する制御ロジックを、周知の分類と同様に以下の4つ
に分類した: ■ 複数のファイルからレコードを入力し、キー項目の
値の組合せに応じて特定の処理を行う照合処理。
■ ファイルからレコードを順に入力し、同一キー値を
持つレコード群ごとに特定の処理を行うグループ処理。
■ キー値を措定して、直接ファイルからレコードを取
り出す検索処理。
■ ファイルからのレコード入力を渾ねない、単なるデ
ータ加工のみを行う計算処理。
この内、照合処理、グループ処理、l−i!索処理の各
制御ロジックに従ってレコードを入力する時の諸状態を
簡潔に表現するために、それぞれM C1(CB、LC
,GT) 、5C(7)計5つのコンディションパター
ンを用意した。
第5表は、これら5つのコンディションパターンの文法
とその意味を示したものである。なお表中、Fは順/勤
アクセスファイルを、Rは乱/勤明細’r’:(*−)
 l’j” ’:jJ (内容に変更なし)第5表 アクセスファイルを、Kはグループキーを、Cは条件式
を、Eは読み込んだレコードがEOFレコードであるこ
とを示す条件値を表す。
一方策6表は、計算処理におけるデータ項目間の論理的
関係を表すために用いるコンディションパターンを示し
ている。この中には、データ項目や算術式の値比較の結
果を表す論理式と、多数の値を取る式の評価結果による
条件分岐を簡潔に記述するための選択式の2つのコンデ
ィションパターンがある。
これらのコンディションパターンを組み合わせることに
よって、モジュールがファイルからレコードを読み込ん
でデータを処理する時のすべての状態を簡潔に表現でき
る。この方法は、制御ロジックごとに専用の設計パター
ンを用意する方法に比へ、用意する設計パターンの数が
少なくても、多様な処理を表現できるので、本システム
の利用者にとってもまた本システムの作成者にとっても
有利である。例えば、5本ファイルの照合処理をしなが
ら別ファイルからキーでレコードを読み込第6表 むモジュールの処理ロジックは、あらかじめ専用のパタ
ーン(例えば5本マツチング・キー検索付パターン)を
用意することなく、条件部に5つのNIC式と1つのS
C式を記入したロジックテーブルで正確に表現できる。
一方第7表は、本システムで用いる処理要素を表すアク
ションパターンを示している。この中には、データ項目
の加減乗除算やレコードの出力などの具体的な計算処理
を表わすものと、ロジックテーブル(すなわちモジュー
ル)の呼出しや再実行などロジックテーブルそのものの
実行制御を表すものがある。特に、前者の計算処理は、
C0BOL命令をそのまま使って書けるので、従来の設
計者やプログラマにも馴染みやすくなフている。
以上のようにコンディションパターンとアクションパタ
ーンを組合せれば、はとんどの事務処理プログラムを簡
潔に記述できる。ざらに、本システムでは、モジュール
のパターンと言う概念を導入するために、1つのロジッ
クテーブルに同時に記入できるコンディションパターン
の組合せに制限を加える。
実際例えば、照合処理とグループ処理を同一モジュール
内で行うとレコード入力のタイミングをうまく表現でき
ないように、1つのロジックテーブルに同時に記入でき
ないコンディションパターンの組合せがある。この制約
を第8表に整理した。
この表に示した制約内でコンディションパターンを組合
せることによって、第9表に示すようにモジュールの制
御ロジックを照合、グループ、検索、計算の4つに分類
できる。このモジュールの制御ロジックの種類をモジュ
ールパターンと言う。なお、この分類は先に述べた事務
処理プログラムにおける通常の制御ロジックの分類と同
じである。
設計画面の記入例: 以下に本システムを利用してプログラムを開発する方法
が、いかに従来のプログラム開発に比べて簡易かを例示
するために、第3図に示したような在庫更新プログラム
の作成を例に取る。
このプログラム3aは、各製品ごとにトランザ第8表 第9表 クションファイル3Cの各レコードに記入された入出庫
数量を集計して、在庫マスタ3bの在庫数量を更新する
。在庫マスタ3bの各レコードには製品No、3gと在
庫数、t3hが、トランザクションファイル3cの各レ
コードには製品N0031と入出庫区分3jと人出置数
!3kが記入されている。なお、トランザクションファ
イル3cのレコードは製品ごとに複数件有ることがある
第1表の設計ステップに従って、本システムを用いて、
この在庫マスク更新業務3aを設計した結果の設計画面
の記入例を第4図〜第11図に示す、 ゛ 第4図は、機能テーブルであって、これはこのR務処理
に対応するジョブ、ジョブ内の各プロセス、各プロセス
内の各モジュールなどの、タイプ4a、名前4b、簡単
な機能説明4cを表す。図示の例は、在庫更新業務を構
成するzaikoジョブ3a、zaikoプロセス4d
、shougOuモジュール4eSshuke iモジ
ュール4fの機能概要を示している。
第5図は、ファイルテーブルであって、ジョブで使用す
るファイルの諸態性を文形式の設計パターンを使って定
義する。例えば、ファイル編成項目5eについては、こ
のファイルが順編成、索引編成、VSAMI11g成、
VSAMJ引編成テアルかに依存して、設計パターンと
してS、I、VS。
v■をそれぞれ指定する0図示の例は、「在庫マスタ(
za iko、−mas)3bは、そのレコード定義体
5bが登録集ライブラリのZA I KOMASメンバ
にあり、デバイス種別5Cはディスクであり、データセ
ット名5dはQ5006.PDM、DATA (ZAI
KOMAS)であり、編成6eは順編成であり、プログ
ラムからのアクセス方式5fは順アクセスであり、レコ
ード形式5gは固定長であり、レコード長5hは80バ
イトであり、ブロック化係R5iは20である。1など
を指定している。
第6図は、CDフロー図であって、ジョブを構成するプ
ロセスの実行順序関係と、各プロセスとそれが使用する
ファイルとの入出力間係を指定している0図示の例では
、rzaikoジョブ3aはzaikoプロセス4dの
みから成る。このプロセスはzaiko、−mas3b
とzaiko−trn3cを入力し、z a i k 
o −n e w −m as3dを出力する。jこと
を指定している。
第7図は、階層構造図であって、プロセスを構成するモ
ジュール間の階層構造を表す。図示の例では、rzai
koプロセス4dは、トップモジュールとしてshou
gouモジュール4eを持ち、これが5hukeiモジ
ユール4fを呼出している。1ことを指定している。
第8図は、データ構造テーブルであフて、ファイル内の
レコード集団の論理的階層構造を示している。ここでは
画面左半分において、モジュールの仕様記述において用
いるキー(以下グループキーと言う)を構成するデータ
項目群を定義する。
また右半分では、ファイル中に含まれる同一キー値を持
つレコードから成るレコード集団間の繰り返し構造の内
、このプロセスで注目すべきものを指定する。図示の例
は、「グループキーKl(図中の8a)は、在庫マスク
(z a i ko−ma 5)3bの製品No、(S
EIHIN’)3gあるいはトランザクションファイル
(zaiko−trn)3Cの製品No、(T−SEI
HIN)3iからなる。在庫マスタ3aは、K1で識別
される(”在庫レコード”と言う)グループの繰返しか
ら成り、このグループ内には正確にルコードだけ含まれ
る。同じく、トランザクションファイル3cは、K1で
識別される(”トランザクションレコード・グループと
言う)グループの繰返しから成り、このグループ内には
複数のレコードであるゆ」ことなどを指定している。
第9図は、データ移送テーブルであって、ファイルとフ
ァイル間あるいはファイルと作業領域間のデータ移送を
一覧的に定義している。図示の例は、2枚のデータ移送
テーブルを重ねたもので、例えば、「データ移送記号A
I(図中の9a)は、在庫マスタ3bの製品No、くS
EIHIN)3gを新在庫マスタ3dの製品No’、(
N−SErHIN)3mに移送する処理である。jこと
などを指定している。
第10図と第11図は、ロジックテーブルであって、モ
ジュールを構成する処理要素を処理欄(ACT I 0
N)10dに、条件要素を条件欄(CONDITION
)10cに、およびその間の対応関係を規則列(RUL
E)10 eに記入することによって、モジュールの機
能を表現する。
また、呼出された時に1度だけ実行する処理を初期処理
欄(INI)10aに記入し、また条件評価の前に(モ
ジュール内における処理が繰り返し処理である時はその
各繰り返しごとに毎回)実行する処理を前処理欄(PR
E)10bに記入する。
図示の例は、第10図が照合モジュール(sho u 
go u) 4 eの機能を記述している。この例は、
「照合モジュール4eが、在庫マスタ3bとトランザク
ションファイル3cをグループキーに1で照合し、各フ
ァイルに照合キーに1に等しい値を持つレコードの有る
無しに応じて、適切な処理を行う。この照合処理の実行
条件を簡潔に記述するために、条Pl−01とC2に照
合パターンを表すMC式(図中の10f、10g)を用
いて、各ファイルから読み込んだレコードが照合キーK
lで指定される製品であるか(Y)ないか(N)あるい
はEOFレコードか(E)を区別できるようにしている
この2つのコンディションパターンの取りうる条件値の
各組合せによって、表現される各場合(即ち各規則列)
において、このモジュールが実行する処理を指定するこ
とによってこのモジュールの機能を表現できる。すなわ
ち、両ファイルに照合キーに1に等しい値を持つレコー
ドがあった時(図中の10hで示す規則1)は、処理1
(図中の101)において集計(shukei)モジュ
ールを呼び出し、このキー値を持つトランザクションレ
コードの読み込みと数量針(SURYOU−KEI)3
1の計算を行い、処理2(図中の10j)においてデー
タ移送記号A1で指定されるデータ移送を行い、処理4
(図中の10k)において集計モジュール(shuke
 1)4fが計算した数量針31と在庫マスタ3bの在
庫数f13hを加えて新在庫マスタ3dの新在庫数fi
(N−SURYOU)3nを求め、処理7(図中の10
1)において新在庫マスクレコード(ZAIKONMS
−RECORD)の出力を行い、最後に処理8(図中の
10m)において次のレコードの組合せに対して同様の
処理を行うべくこのモジュールの再実行処理(do−a
gain)を行う。該当するトランザクションレコード
がない時(図中のIonで示す規則2と規則3)は、集
計モジュールを呼ぶ必要はなくまた処理4(図中の10
k)の加算の代わりに処理5(図中の100)のデータ
移送を行う。他の規則に置いてもその列において実行指
示のある処理を同様に実行する。この様なロジックテー
ブルの解釈実行処理は、両ファイルがEOFになる(図
中の10pで示す規則9)まで繰り返えされる。jこと
を指定している。
第11図は、集計モジュール(shukei)4fの機
能を表現しており、「集計モジュール4fが、トランザ
クションファイル3cのに1キーに間するグループ処理
を行う。この処理を記述するために条件1(図中の11
a)にCB式を用いて、現在読み込んだレコードによっ
て新しいグループに入った時(H)、グループ内の各レ
コード処理状態の時(B)、このグループから脱出しよ
うとする時(T)を明確に区別する。条件として、これ
以外に条件2(図中の11b)に5elect式を用い
て、トランザクションレコードが入庫レコードか出庫レ
コードかを区別している。
これらの条件の各組合せにおいて、入庫レコード処理の
時く図中のllcで示す規則1)は加算処理(図中のl
ldで示す処理1)を、出庫レコード処理の時く図中の
lieで示す規則2)は減算処理(図中のllfで示す
処理2)を、新しいグループに入った時(図中のl1g
で示す規則4)は数量針(SURYO−KEr) の初
!tI!設定(処理1のsum文に対する実行指示記号
がOであることで示す)を、グループから脱出した時(
図中のllhで示す規則5と規則6)は呼出しモジュー
ルに戻る処理(図中の114で示す無処理4)をそれぞ
れ行う。Jことを指定している。
全体の処理フロー: 第12図は、本発明においてワークステーションfが行
う処理(第2図の処理■、■、■、■)の概要をフロー
チャートで表したものである。この処理は、オペレータ
の指示にしたがい、機能テーブルを作成/検査する処理
12a、ファイルテーブルを作成/検査する処理12b
、CDフロー図を作成/検査する処理12C、データ構
造テーブルを作成/検査する処理12d、階層構造図を
作成/検査する処理12e、データ移送テーブルを作成
/検査する処理12f、ロジックテーブルを作成/検査
する処理12g、プログラムとジョブ制御文を生成する
処理12h、およびホスト計算機gにプログラムやジョ
ブ制御文を転送したり仕様ファイルを削除したりする処
理12iに分けて遂行される。これらの処理は、ディス
プレイ装置d上に表示された専用の画面に、マウスbや
キーボードCを用いて指示を与えることによって行われ
る。この時オペレータはキーボードCからコマンドを打
つ代わりに、マウスbのボタンを押してその時点て有効
なコマンドのリスト(以下ポツプアップメニュと言う)
を表示させその中から適切なコマンドを選択することに
よって代用することができる。この方法は周知であるの
で詳しい説明は省略する。
設計仕様の作成/検査処理: 第13図は例題に対するCDフロー図の作成中のワーク
ステーションの画面を示したものであり、13aがCD
フロー図用の設計画面、13bが例題に対して作成中の
CDフロー図、13Cがコマンドを入力するためのポツ
プアップメニュ、13dがCDフロー作成用の設計パタ
ーン、13eと13fが設計画面内に表示される領域を
変更するための水平方向スクロールバーと垂直方向スク
ロールバー、13gがプロセス名などを入力する時キー
ボードからの入力文字をエコーバックして確認するため
のデータ入力フィールドを表す。
第14図は、CDフロー図を作成/検査する処理(第1
2図の処理12C)の内容をやや詳細に示したフローチ
ャートである。この処理は、オペレータのマウスbの操
作に応じて3つに分けて行われる。オペレータがCDフ
ロー図面面内でマウスbの右ボタンを押すと、作成/検
査用ポツプアップメニュが現れこの中からコマンドを選
ぶことによって、設計パターンの生成14 a (3e
nerate)、移動14 b (move) 、削除
14 c (delete−n、delete−a) 
、名前の変更14 d (「ename) 、連結子の
生成14 e (g−relay)と連ti!r 14
 f (c−relay)、CDフロー図のディスク装
置dからの読み込み14 g (Iaod) 、ディス
ク装置dへの書込み14h (save) 、CDフロ
ー図の検査14i(check)の各処理を行うことが
できる。同様に、オペレータがCDフロー図面面のヘリ
でマウスbの右ボタンを押すと、画面処理用ポツプアッ
プメニュが現れこの中からコマンドを進ぶことによって
、CDフロー図面面を一時的に閉じる処理14j(C1
ose) 、移動する処理14 k (Move) 、
大きさを変える処理141 (Resize) 、他の
画面の上に表示する処理14 m (Expose) 
、他の画面の下に隠す処理14 n (Wide) 、
内容を再表示する処理14 o (Redisplay
) 、消去し終了する処理14 り (Quit)の各
処理を行うことができる。
さらに、オペレータがマウスbの中ボタンで水平、垂直
スクロールバーを押すことによって、CDフロー図の表
示領域をそれぞれ水平、垂直方向に移動する処理(14
q、14r)を行うことができる。
第15図は、例題のCDフロー図の作成におけるzai
koプロセス4dを表す設計パターンの生成処理の詳細
を、オペレータの各動作ごとの画面の推移を用いて説明
したものである。図示の例では、第1S図(a)でポツ
プアップメニュから生成コマンド(generate)
14aを選択し、画面上右隅に表示されている設計パタ
ーンからプロセスを表す設計パターン15aをマウスb
4で選ぶ(遇ばれた設計パターンは明暗が反転する)、
次に第15図(b)でこの設計パターンの表示位置を同
じくマウスbで指定するとくカーソルをマウスで表示位
置に移動し中ボタンを押す)この設計パターンがその場
所に明暗が反転した状態で15bのように表示される、
この後15cのようにキーボードから名前(zaiko
)を入力する、最後に第15図(C)でリターンキーを
押すとこの設計パターンが15dのように確定する。
第16図は、例題のCDフロー図の検査処理の詳細を説
明したものである。正しいCDフロー図とは第10表に
示した検査条件のそれぞれを満足しているCDフロー図
であり、CDフロー図の検査処理はこれらの条件を逐−
調べることによって行われる。図示の例では、ポツプア
ップメニュから検査コマンド(check)を選択する
と、rzaiko−trn (図中の16a)が網がけ
されて、このファイルがプロセス(この例では2aik
oプロセス16b)と接続されていない。」という誤り
があることが指定される。
以上の様なCDフロー図の作成/検査処理を行わせるた
めの機器の制御方法は、周知であるから、その説明を省
略する。
階層構造図を作成/検査する処理は基本的には第10表 CDフロー図を作成/検査する処理と同様なので、その
説明は省略する。
第1711Jは例題に対するロジックテーブルの作成中
のワークステーションの画面を示したものであり、17
aが例題のshougouモジュール  14eに対し
て作成中のロジックテーブル、17bがロジックテーブ
ル全体に対する処理を指定するためのメニューリスト、
17cが設計仕様の編集処理を指定するためのポツプア
ップメニュ、17dが初期処理欄、17eが前処理欄、
17fがコンディションパターンを記入するための条件
行、17gがアクションパターンを記入するための処理
行、17hが条14:値と実行指示を記入するための規
則列、17iが条件行の表示範囲を移動するための垂直
スクロールバー、17jが処理行の表、示範囲を移動す
るための垂直スクロールバー、17kが規則列の表示範
囲を移動するための水平スクロールバー、171が入力
した文字列をエコーバックするための表示領域を表す。
第18図は、ロジックテーブルを作成/検査する処理(
第12図の処理12g)の内容をやや詳囲に示したフロ
ーチャートである。この処理は、オペレータのマウスb
の操作に応じて3つに分けC行われる。オペレータがロ
ジックテーブル画面相の上部に並んでいる全体処理メニ
ュー17bから適切なものをマウス中ボタンで遺灰する
ことによフて、作成中の仕様にあるエラーを行単位で解
斤する処理18a (parse  ON) 、エラー
テを網かけで表示する処理18b (error:)N
)、エラー行を捜す処理18c (search)、作
成中の仕様にあるエラーを列単位で解析し網かけて表示
する処理19d (s−check)、作成中の仕様が
完全く規則に漏れがなくかつ矛盾がない〉かどうかを検
査する処理18e(c−check)、仕様ファイルを
ディスクから読みΔむ処理18f (load)あるい
はディスクにdき出す処理113g(sav、e)の各
処理を行う二とができる。また、設計パター、ンを入力
するに、よく処理18h)、オペレータがロジックテー
プ1し内の条件行、処理行、規則列の各位置でマウスb
の中ボタンを押しくその位置に網かけが掛かる)、キー
ボードCから設計パターンを現す文字列を入力し、最後
にリターンキーを押すことによって行う。
同様に、オペレータがロジックテーブル画面内でマウス
bの右ボタンを押すと、作成/検査ポツプアップメニュ
17cが現れこの中からコマンドを選ぶことによって、
設計パターンを入力する行ヤ列@ 1−)[人tル%理
18i (INSERT)、設計パターンが表示されて
いる行や列を削除する処理18j (DELETE) 
、設計パターンが表示されている行や列を他の行や列に
複写する処理18k (COPY) 、表示されている
設計パターンを入力バッファに取込む処理181(Pr
CK−UP)の各処理などを行うことができる。
オペレータがロジックテーブル画面17aのヘリでマウ
スbの在ボタンを押すと、画面処理用ポツプアップメニ
ュが現れ、この中からコマンドを選ぶことによって、ロ
ジックテーブル画面を一時的に閉じる処理18 m (
C1ose) 、移動する処理18 n (Move)
 、大きさを変える処理18o(Resize> 、他
の画面の上に表示する処理18p(Eχpose) 、
他の画面の下に隠す処理18 q (Hide)、内容
を再表示する処理18 r (Redisplay) 
、終了する処理18 s (Quit)の各処理を行う
ことができる。
さらに、オペレータがマウスbの中ボタンで条件行、処
理行、規則列スクロールバー(図17中の17i、17
j、17k)を押すことによって、ロジックテーブルの
条件行、処理行、規則列の表示領域を移動する処理(1
8t、18u、18v)を行うことができる。
第19図は、例題におけるshougouモジュール4
eを表すロジックテーブルの作成における条件部の作成
過程(第18図の18h)の詳細を示したものである。
まず、第19図(a)で、第1行(図中の19a)を入
力行として指定するために、カーソルを第1行目に移動
しマウスbの中ボタンを押すとこの行の明暗が反転する
、第19図(b)で、キーボードCからコンディション
パターンとして”mc (zaiko−mas :に1
)” (図中の19b)を入力する、第19図(C)で
、リターンキーを押すと、これが19cに示すように第
1行に入力される、同様にして第2行目も入力する。最
後に、19dの(−checkメニューをマウスbの中
ボタンを押すことで指定すると、全ての場合を表す規則
の条件部が19eのように自動的に表示される。
第20図は、例題のロジックテーブルの検査処理(第1
8図の18a、18d、18e)の詳細を、オペレータ
の各動作ごとの画面の推移を用いて説明したものである
。正しいロジックテーブルとは第11表に示した検査条
件のそれぞれを満足しているロジックテーブルであり、
ロジックテーブルの検査処理はこれらの条件を逐−調べ
ることによって行われる。
図示の例では、第20図(a)で、オペレータが設計画
面に設計パターンを記入した後parse  ONメニ
ュー20aを指定すると、条件1と処理1.3.9に網
がかかる。これはこれらの行が第11表の検査条件1.
2.3で示した諸条件に反していることを示している。
実際、ス20の例は、r条件2では、20bに示すよう
に、mcコンディションパターンの条件値として許され
ない値”H”が使われている。処理1ては、20cに示
すように、eXeCをexacとミスタイブしている。
処理3では、20dに示すように、transport
をtranspertとミスタイブしている、処理9で
は、20eに示すように、実行指示記号がない。Jとい
う誤りを含んでいる。
第20図(b)で、これらの誤りを直し、次にS〜ch
eckメニュー2Ofをマウスbの中ボタンを押して指
定すると、20gに示すように規則5の列に網がかかる
。これはこの列が第11表の検査条件4に示した条件に
反するからで、実際r規則5には実行指示記号が1つも
ない。−という誤りを含んでいろ。
第20図(C)で、この誤りを直し、次にC−chec
kメニュー20hをマウスbの中ボタンを押して指定す
ると、規則6.7.8.9の条件第11表 部が自動的に表示される。これは与えられた仕様が第1
1表の条1’t−5に反するからで、実際、「規則6は
、20iに示すように太い字で表現され、この条件値の
組合せが2つ以上の規則(規則4.5)でM複して指定
されている。規則7.8.9は、20jに示すように明
暗が反転表示され、これらの条件値の組合せがfth擾
に表現されていない。
Jという誤りを含んでいる。
以上の様なロジックテーブルの作成/検査処理を行わせ
るための機器の制御方法は、周知であるから、牛の説明
を省略する。
機能テーブル、ファイルテーブル、データ構造テーブル
、データ移送テーブルをそれぞれ作成/検査する処理は
基本的にはロジックテーブルを作成/検査する処理と同
様なので、その説明は省略する。
プログラムフレームとプログラムパターン:先に述べた
ように、本システムを用いてオペレータが対話的に作成
するプログラム仕様は、設計画面と言う枠組み(フレー
ム)に設計パターンを記入したものである。これに対応
して、本発明におけるプロゲラ゛ムの自動生成に当たっ
ては、生成されるプログラムに共通の基本的骨格を定め
た。
この基本的骨格のみを表したプログラムコードをプログ
ラムフレームと言う。また、設計画面に記入された各設
計パターンに対しても、それが表す定型処理を記述した
プログラムコードを作成したこの設計パターンに対応す
るプログラムコードをプログラムパターンと言う。
本発明は、どの設計画面のどこにどのような設計パター
ンが入力されたかに従って、プログラムフレームの適切
な所に適切なプログラムパターンを自動的に編集して挿
入することによって、入力された設計仕様を満゛足する
プログラムを自動的に作成するものである。
第21図は、プログラムフレームがどの様な部分から構
成されており、その各部分にとのようなプログラムパタ
ーンが挿入されるかを示している例えば、プログラムフ
レームにはデータ部21aが有り、その中にはグループ
キーな定義するためのグループキ一定義部21bやロジ
ックテーブルに記入されたコンディションパターンの評
価のための制御変数を定義するコンディションパターン
制御変数部21cなどが有り、前者にはKEYPという
プログラムパターン21dが、後者にはMCKEYP、
CBCNTLP、LCCNTLP。
、   GTCNTLPなどのプログラムパターン21
1!から記入されているコンディションパターンに応じ
て適切なものが挿入されることを示している。
第22図は、ロジックテーブル全体に対応するプログラ
ムパターンが持つ制御の流れを表したフローチャートで
ある。これはロジックテーブルを解釈実行する制御構造
の概要を表している。基本的には、ロジックテーブルが
呼ばれると実行を開始しく図中の22a)、初期処理欄
に記入されたアクションパターンを実行しく図中の22
b)、条件部に記入されたコンディションパターンが必
、 要とする初期処理を実行しく図中の22c)、前処
連間に記入されたアクションパターンを実行し(図中の
22d)、条件部に記入されたコンディションパターン
が必要とする前処理を実行しく図中の22 e ) 、
コンディションパターンが表す各条件を評価しその値を
求め(図中の22f)、この値に合致する規則を求め(
図中の22g)、この規則下で実行指示のあるアクショ
ンパターンが表す処理を実行する(図中の22h)とい
う流れを持つ。特に、アクションパターンがdo、、、
again命令の時は、ユーザ前処理22dの前に戻る
ループを形成する。
第23図は、第1O図に示した例題に対するShoug
ouモジュール4eのロジックテーブルの条件部に記入
されたMCコンディションパターン10fに対応して、
プログラムフレームに挿入されるべき3つのプログラム
パターンMCCNTLPSMCEXP、MCPREPと
、この時処理8として用いられたアクションパターンd
O−&gainlomに対応するプログラムパターンD
O−AGAINFの、それぞれの挿入のための編集後の
結果を表している。
(1)に示したのはMCCNTLP (、図中の23&
)であり、現在照合中の製品を指定するキーKOIの値
を格納するための制御変数(いわゆるマツチングキー)
 TO1−−MC−KO1(図中の23b)の宣言を行
う。(2)に示したのはMCEXP (図中c+)23
c)であり、MCCNTLPで宣言された制御変数TO
1−−MC−KO1(図中の23b)と各ファイルから
読み込まれたレコードのキーKOIの値を比較する(図
中の23d)ことによって、MCコンディションパター
ンの値TOI−−MC−KOI (図中の231)を設
定する処理を行う。(3)に示したのはMCPREP 
(図中の23e)であり、2つのファイルFOIとFO
2から現在読み込まれているレコードのキーKOIの値
の大きい方(図中の23fの比較による)を制御変数T
o 1−−MC−KOlに代入する照合処理における前
処理を行う。
(4)に示したのはDo−’AGAINPであり、各フ
ァイルに照合対象となったレコードが有った時は、次レ
コードを先読みする処理(図中の23h)を行った後に
TOIの前処理部に戻る処理を行う。
コード生成; 本システムによるコード生成(第2図の処理■)にはプ
ログラム生成とJCL生成の2つが有る。
第24図は、このコード生成のためにオペレータが行う
システムへの指示方法を示している。まず24aに示す
ようにコード生成画面において、生成プログラムの実行
環境を与えるホスト計算機のタイプとジョブ名と、機能
テーブル、ファイルテーブル、CDフロー図の各仕様フ
ァイル名を、24bに示すように記入する。次に24c
で、JCL生成24dを行うか個々のプロセスに対応す
るプログラム生成24eを行うかを番号で選択する。2
4cてJCL生成を指定した時は、24fでホスト計算
機g上のジョブの諸パラメタを24gのように記入し、
EXECメニュー24hをマウスbの中ボタンを押すこ
とによって指定するとJCLが自動生成される。24c
てプログラム生成を指定した時は、241でこのプログ
ラム(=プロセス)に間するモジュール階N図、グルー
プキーテーブル、データ構造テーブル、データ移送テー
ブル、ロジックテーブルのそれぞれの検査済み仕様ファ
イル2cの名前を24jのように指定し、EXECメニ
ュー24kをマウスbの中ボタンを押すことで指定する
とプログラムが自動生成される。
第25図は、本システムにおけるプログラム生成の手順
の概要を示したフローチャートである。
25aで実行5fff始すると、23bで仕様ファイル
中に現れろ各シンボルを登録するテーブルを初期化し、
25cで生成すべきプログラムに間する検査済み仕様フ
ァイル2cを読み込み、2i5dがら25iでこれら検
査済み仕様ファイル2cの内容を分析しシンボルテーブ
ルに登録すると共に必要な内部データを作成し、25j
で当該プログラムの生成に必要でないシンボルの登録を
抹消し、最後に25にでプログラムコードを生成する。
26にのプログラムコード生成においては先にも述べた
ように、仕様ファイルの分析結果をもとに、プログラム
フレームの適切なところに適切なプログラムパターンを
編集して挿入することによってプログラムを生成する。
第26図と第27図は、プログラムを生成する仕組みを
例示したもので、!31!Iに示した例題に対するどの
設計仕様のどの部分からプログラムのとの部分が生成さ
れたかを示している。
第26r!!Iにおいては、26aでグループキーテー
ブル内の各ファイル行ごとにそこで定義されたグループ
キーを宣言し、26bでファイルテーブル内に指定され
た各ファイルの諸態性をもとに、ファイルの人出力部を
宜貫し、28cでファイルからレコードを読み込むため
のバッフ7エリアを宣言し、26dでこのレコードのレ
イアウトを宣言するためのC0PY句を生成し、26e
でファイルのEOF状態フラッグを宣言し、26fでこ
のファイルからレコードを3段バクフ7リング方式で入
力する読み込みルーチンを宣言し、28gで階層構造図
からト・シブモジュールを求めこれに対応するロジック
テーブルDTO1を最初に呼出すPERFORM命令を
生成し、26hi”CD’70−図からzaikoプロ
セス4dの入力ファイル3 b e 3 cを求めこれ
らのファイルをINPUTモードでオーブンし、さらに
261でこれらのファイルを2度先読みするために26
fで定義した読み込みルーチンを呼出している。
第27図においては、主としてロジックテーブルから、
第22図に示したロジックテーブルを表すプログラムパ
ターンにコンディションパターンやアクションパターン
を表すプログラムパターンを挿入することによって、こ
のロジックテーブルが表すモジュールに対応するプログ
ラムコードを生成する様子を示している。27&でMC
コンディションパターンに対応して照合キーを宣言し、
27bと27cでこのロジックテーブルの規則部を構成
する条件値と実行指示記号を配列データとして宣言し、
27dと27eでMCコンディションパターンに対応し
て、照合キーの初朋設定とMCコンディションパターン
の評価を行い、27fでeXeCアクションパターンに
対応してモジュールの呼びだし命令を生成し、27g″
tytransportアクシ3ンパターンに対応して
データ移送テーブルを参考にしてデータ項目のmove
命令を生成し、27hでcomputeアクションパタ
ーンに対応してデータ項目の計算命令を生成し、271
でdo−againアクションパターンに対応してこの
ロジックテーブルにMCコンディションパターンが使わ
れていることを認識して適切なファイルの先読み命令を
伴った前処理部への戻り命令を生成する。
第28図は本システムにおけるJCL生成の手順の概要
を示したフローチャートである。28aで実行開始する
と、28bで生成すべきJCLに間する仕様ファイル名
を読み込み、28cで主としてCDフロー図を分析し内
部データにm開し、28dでこの内部データを基にCD
フロー図に現れる全てのプロセスを1連のプロセス列と
してトポロジカルソートし、この結果ソートが成功すれ
ば28eでファイルテーブルを参考してJCLを生成す
る、不成功ならば28fでエラー処理を行う、この生成
されたJCLは、各プロセスに対応するプログラムのコ
ンパイル・実行を指示する命令とこのプログラムが使う
ファイルや標準人出力の割り当てからなる。
第29図は、例題に対する設計仕様からJCLを生成す
る仕組みを表したもので、どの設計仕様のどの部分を基
にしてJCLのどの部分が生成されたかを示している。
29aでは、CDフロー図内のプロセスをソートした結
果各プロセスに対してこのソートの順にプロセスに対応
するプログラムのコンパイル・リンク・実行を行う命令
を生成する。29bでは、このプログラムがアクセスす
るファイルに対してファイルテーブルからそのデータセ
ット名を求めこれを割り当てる(アロケートする)命令
を生成する。
生成プログラムの実行とデバッグ: 本システムが生成したJCLとプログラムは、当該ジョ
ブに間するデータなどの環境が存在するホスト計算機g
にファイル転送され、そこでコンパイル・実行される。
この生成されたプログラムの実行結果が、利用者の期待
に反している場合は、その誤りは入力した設計仕様にあ
る。この誤りの検出のためにロジックテーブルの実行時
トレースを出力できる。このトレースを見れば、いつど
のロジックテーブルが呼ばれ、その時のレコードの状態
はどうであったか、どの規則が選ばれどの処理が実行さ
れたかを一目で理解できる。
一般にバッチ型事務処理ブロヴラムでは、設計者がプロ
グラム実行中の正しいモジュール間の遷移状態を認識し
ていることが多く、このトレースを見れば、意図した様
にプログラムが実行されなかった原因を容易にみつける
ことができる。
[発明の効果] 本システムの効果は主として設計書作成を機械支援する
ソフトウェアCADとしての効果と自動プログラミング
・システムとしての効果の2つの面から捉らえることが
できる。
以下に、本システムをプログラム開発に適用した場合の
効果を、プログラム開発における設計(特に詳細設計)
、プログラミング、テスト、移行管理の各工程別に整理
した。
(1) 設計の効率化 一ソフトウエアCADとしての効果− ■ 設計思考の効率化 本システムの設計パターンはC0BOLの命令よりも抽
象度が高く、業務内容を簡潔に表現できる。また図・表
を用いた本システムの設計表現方法は従来の文章表現や
フローチャート表現に比べてより理解しやすい人間向き
の表現である。
■ 設計記述の機械化 ディスプレイ上でのパターンの埋め込み方式による設計
作業は、紙と鉛筆による設計作業に比べ記述量も少なく
作業としても容易である。また最新の設計結果をいつで
もレーザビーム・プリンタから清書出力できる。
■ 設計書の再利用 他の設計書をディスプレイ上に映し出しこれを修正する
ことによって容易に新しい設計書を作成でき、過去の設
計を効率的に再利用できる。
■ 設計の信頼性向上 本システムは入力された設計内容を分析して、設計の誤
り一生として、考慮すべき処理状況の漏れや矛盾−を発
見し指摘する。従って、設計の信頼性が大幅に向上する
(2)プログラミングの自動化 一自動プログラミング・システムとしての効果−〇 プ
ログラミングの効率化 従来人手に頼っていたプログラミング作業を完全に自動
化できる。
■ プログラムの信頼性向上 人手によるエディタを使ったプログラム榎集作業よりも
信頼性が高い。
(3)テスト・保守支援 ■ テストデータの作成 ?各ロジックテーブルの各規則を満足するデータを用意
すれば、プログラムのあらゆる実行状態をテストするこ
とができる」と言う、テストデータ作成のための明確な
基準が得られる。
■ 保守の効率化 ロジックチー、プルの実行時トレースを使えば設計仕様
の間違いを容易に発見できる。また設計書を保守するの
で誤りや改善箇所の発見が容易である。
(4)移行/管理支援 ■ 管理の効率化 設計書が最終の成果物になるので、プログラムを保守・
管理ずろ必要がなくなる。
いくつかのプログラムに適用した結果、各工程の効率(
ヒ比畠は第30図に示すようになった。この結果本シス
テムを用いれば、新規プログラムの総開発コストの約6
0%を削減できることが分かった。また同時にプログ2
ムやドキュメントの信頼性や品質も向上し、保守効率も
向上することも分かった。
【図面の簡単な説明】
第1図は本発明を実施するためのシステムの機器構成図
。第2図は、本システムを用いてジョブに対するプログ
ラムとJCLを作成する方法の概要を示すブロック図。 第3図は本システムの有用性を示すための例題説明。第
4図〜第11図はこの例題を本システムを使って設計し
た結果の設計画面の記入例。第4図は機能テーブル。第
5図はファイルテーブル。第6図はCDフロー図、第7
図は階層構造図。第8図はデータ構造テーブル。 第9図はデータ移送テーブル、第10図と第11図はロ
ジックテーブル、第12は、本発明においてワークステ
ーションが行う処理(第2図の処理■、■、■、■)の
概要を示したフローチャート。 第13図は例題に対するCDフロー図の作成中のワーク
ステーションの画面。第14図は、CDフロー図を作成
/検査する処理(第12図の処理12c)の内容をやや
詳細に示したフローチャート。 第15図は、例題のCDフロー図の作成処理の詳細をオ
ペレータの各動作ごとの画面の推移を用いて説明した図
。第16図は例題のCDフロー図の検査処理の詳細を説
明図。第17図は例題に対するロジックテーブルの作成
中のワークステーションの画面を示した図。第18図は
、ロジックテーブルを作成/検査する処理(第12図の
処理12g)の内容をやや詳細に示したフローチャート
。 第19図は、例題に対するロジックテーブルの条件部の
作成過程を示した図。第20図は例題に対するロジック
テーブルの検査処理の詳細をオペレータの各動作ごとの
画面の推移を用いて説明した図。第21図はプログラム
フレームの構成図、第22図はロジックテーブル全体に
対応するプログラムパターンが持つ制御の流れを表した
フローチャート。第23区はMCコンディションパター
ンに対応してプログラムフレームに挿入されるべきプロ
グラムパターンを示した図。第24図はこのコード生成
のためにオペレータが行うシステムへの指示方法を示し
た図。第25図は本システムにおけるプログラム生成の
手順の概要を示したフローチャート。第26図と第27
図は、例題に対する設計仕様からプログラムを生成する
仕組みを表した図。第28図は本システムにおけるJC
L生成の手順の概要を示したフローチャート。第29図
は、例題に対する設計仕様からJCLを生成する仕組み
を表した図。第30図は本システムをいくつかのプログ
ラム開発に適用した結果の各工程の効率(ヒ比率を表す
図。

Claims (1)

    【特許請求の範囲】
  1. 表示用ディスプレイ装置と座標指示装置と文字入力装置
    とディスク装置とプリンタ装置を持つワークステーショ
    ンと呼ばれる計算機と、これに接続されたホスト計算機
    を有する情報処理装置系において、前記表示用ディスプ
    レイ装置上に表示された2種類の図形式および5種類の
    表形式の設計画面に、前記文字入力装置および座標指示
    装置を使って、プログラムの設計仕様を表す文や図形を
    入力し、前記ディスク装置に仕様ファイルとして格納す
    る機能と、これら仕様ファイルを適宜読み出して前記デ
    ィスク装置に予め記憶されたプログラムコード群を編集
    して個々のプログラムおよびそのプログラムのホスト計
    算機上での実行環境を定めたジョブ制御文を生成する段
    階とを有することを機能とする、ディスプレイ上の設計
    画面より入力した設計仕様から部品を組合せてプログラ
    ムを自動生成する方法。
JP61223497A 1986-09-24 1986-09-24 デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法 Pending JPS6379176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61223497A JPS6379176A (ja) 1986-09-24 1986-09-24 デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61223497A JPS6379176A (ja) 1986-09-24 1986-09-24 デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法

Publications (1)

Publication Number Publication Date
JPS6379176A true JPS6379176A (ja) 1988-04-09

Family

ID=16799067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61223497A Pending JPS6379176A (ja) 1986-09-24 1986-09-24 デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法

Country Status (1)

Country Link
JP (1) JPS6379176A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761508A (en) * 1992-01-31 1998-06-02 Asahi Kasei Kogyo Kabushiki Kaisha Information processing system and method applied to the development of computer programs
WO2012046460A1 (ja) * 2010-10-04 2012-04-12 三菱電機株式会社 ソフトウエア生成装置、ソフトウエア生成方法及びプログラム
JP2013148964A (ja) * 2012-01-17 2013-08-01 Fujitsu Fsas Inc ソースコード生成装置、ソースコード生成方法およびソースコード生成プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761508A (en) * 1992-01-31 1998-06-02 Asahi Kasei Kogyo Kabushiki Kaisha Information processing system and method applied to the development of computer programs
WO2012046460A1 (ja) * 2010-10-04 2012-04-12 三菱電機株式会社 ソフトウエア生成装置、ソフトウエア生成方法及びプログラム
JP2013148964A (ja) * 2012-01-17 2013-08-01 Fujitsu Fsas Inc ソースコード生成装置、ソースコード生成方法およびソースコード生成プログラム

Similar Documents

Publication Publication Date Title
Fox et al. An R companion to applied regression
US5450545A (en) Generation of rules-based computer programs using data entry screens
Bischofberger et al. Prototyping-oriented software development: Concepts and tools
US8806429B2 (en) Dynamic generation of formatted user interfaces in software environments
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
EP2369502A2 (en) SQL generation
US20060075305A1 (en) Method and system for source-code model-based testing
Julius et al. Transformation of GRAFCET to PLC code including hierarchical structures
CN110968294B (zh) 一种业务领域模型建立系统及方法
US20120304149A1 (en) Editor with Commands for Automatically Disabling and Enabling Program Code Portions
Koni-N’Sapu A scenario based approach for refactoring duplicated code in object oriented systems
CN113919158A (zh) 一种用于飞行控制面板的仿真方法、装置及存储介质
CN116627418B (zh) 一种基于递归算法的多级表单界面可视化生成方法及装置
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
Lausen et al. The INCOME Approach for Conceptual Modelling and Prototyping of Information Systems.
JPS6379176A (ja) デイスプレイ上の設計画面より入力した設計仕様から部品を組合せてプログラムを自動生成する方法
US20220075796A1 (en) Architecture for data map converters
Shershakov Vtmine for visio: A graphical tool for modeling in process mining
Saini et al. Functional programming for business process modeling
Porres A toolkit for model manipulation
Dranidis et al. Formal modelling of use cases with X-machines
Badreddin et al. Investigation and evaluation of UML Action Languages
Pomberger et al. The Role of Prototyping in Software Development.
Bingley Incorporating design flow management in a framework based CAD system
Nagl An incremental programming support environment