JPH06332680A - プログラム自動生成装置 - Google Patents
プログラム自動生成装置Info
- Publication number
- JPH06332680A JPH06332680A JP5141182A JP14118293A JPH06332680A JP H06332680 A JPH06332680 A JP H06332680A JP 5141182 A JP5141182 A JP 5141182A JP 14118293 A JP14118293 A JP 14118293A JP H06332680 A JPH06332680 A JP H06332680A
- Authority
- JP
- Japan
- Prior art keywords
- skeleton
- program
- instruction
- showing
- view
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000011090 industrial biotechnology method and process Methods 0.000 abstract 1
- 238000013461 design Methods 0.000 description 9
- 238000012790 confirmation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】プログラム作成工程をプラント化し、工業的な
手法により正確で、誤りのないプログラムを画一的に作
成することができ、しかも、設計段階においては単純な
作業であり作成時間を短縮する。 【構成】スケルトンファイル300には、業務内容にお
ける定型的な固定の処理項目の命令データからなる所定
のフォーマットのスケルトンを複数種の業務内容に応じ
てそれぞれ記憶している。プログラム生成部100は、
ワークステーション200から指定されたフォーマット
のスケルトンを読み出す手段と、読み出したスケルトン
の未定の命令領域に予め取り決められた命令用語を、所
定の順序で入力するように表示部を介して要求する手段
と、前記読み出したスケルトンの前記未定の命令領域の
全てに必要な命令データが入力したことを判定し、自動
コーディング部500とともにプログラムコーディング
を行う手段を備える。
手法により正確で、誤りのないプログラムを画一的に作
成することができ、しかも、設計段階においては単純な
作業であり作成時間を短縮する。 【構成】スケルトンファイル300には、業務内容にお
ける定型的な固定の処理項目の命令データからなる所定
のフォーマットのスケルトンを複数種の業務内容に応じ
てそれぞれ記憶している。プログラム生成部100は、
ワークステーション200から指定されたフォーマット
のスケルトンを読み出す手段と、読み出したスケルトン
の未定の命令領域に予め取り決められた命令用語を、所
定の順序で入力するように表示部を介して要求する手段
と、前記読み出したスケルトンの前記未定の命令領域の
全てに必要な命令データが入力したことを判定し、自動
コーディング部500とともにプログラムコーディング
を行う手段を備える。
Description
【0001】
【産業上の利用分野】この発明は、プログラムを作成す
る場合、プログラム言語を熟知する必要なくソースコー
ドのプログラムを自動的に作成できるプログラム自動生
成装置に関する。
る場合、プログラム言語を熟知する必要なくソースコー
ドのプログラムを自動的に作成できるプログラム自動生
成装置に関する。
【0002】
【従来の技術】従来、コンピュータ業者にプログラムの
作成依頼があると、依頼者は営業担当に業務内容を説明
し、必要な処理内容についての要求を行う。すると営業
担当は、システムエンジニアに処理内容について説明を
行う。システムエンジニアは、処理内容についてのプロ
グラム要件を定義し、基本的な設計及び詳細設計を行
う。さらに、プログラマーは、詳細設計に基づいて、コ
ーディングを行う。
作成依頼があると、依頼者は営業担当に業務内容を説明
し、必要な処理内容についての要求を行う。すると営業
担当は、システムエンジニアに処理内容について説明を
行う。システムエンジニアは、処理内容についてのプロ
グラム要件を定義し、基本的な設計及び詳細設計を行
う。さらに、プログラマーは、詳細設計に基づいて、コ
ーディングを行う。
【0003】上記のように、ソースコードのプログラム
が作成されるまでの過程を大きく分けると、(1)依頼
者から営業担当へ処理内容が伝達され、(2)次に営業
担当からシステムエンジニアに処理内容が伝達され、基
本設計が行われ、これに基づいてプログラムの詳細設計
が行われ、(3)プログラマーが最終的なコーディング
を行う経過となる。ここで問題となるのは、(1)の過
程で伝達内容に誤りがなくても、(2)や、(3)の過
程で伝達内容に誤り(項目の脱落等)があると、そのミ
スを発見しにくいという問題がある。これは、システム
エンジニアが、プログラマーに詳細な内容を伝達しよう
とすると、大きな時間と手間を要するため、希望的な要
件だけを伝達することになる。希望的な要件を受けた場
合、プログラマーは独自の判断でコーディングを行うこ
とになる。このような場合、プログラム自体は、正常に
動作しても依頼者の期待とは異なるレイアウト、プリン
ト、画像表示等が行われることになる。
が作成されるまでの過程を大きく分けると、(1)依頼
者から営業担当へ処理内容が伝達され、(2)次に営業
担当からシステムエンジニアに処理内容が伝達され、基
本設計が行われ、これに基づいてプログラムの詳細設計
が行われ、(3)プログラマーが最終的なコーディング
を行う経過となる。ここで問題となるのは、(1)の過
程で伝達内容に誤りがなくても、(2)や、(3)の過
程で伝達内容に誤り(項目の脱落等)があると、そのミ
スを発見しにくいという問題がある。これは、システム
エンジニアが、プログラマーに詳細な内容を伝達しよう
とすると、大きな時間と手間を要するため、希望的な要
件だけを伝達することになる。希望的な要件を受けた場
合、プログラマーは独自の判断でコーディングを行うこ
とになる。このような場合、プログラム自体は、正常に
動作しても依頼者の期待とは異なるレイアウト、プリン
ト、画像表示等が行われることになる。
【0004】
【発明が解決しようとする課題】上記のように、従来の
プログラム作成工程は、多くのステップを必要とし、ミ
スが生じやすく、かつ時間がかかるという問題がある。
プログラム作成工程は、多くのステップを必要とし、ミ
スが生じやすく、かつ時間がかかるという問題がある。
【0005】そこでこの発明は、プログラム作成工程を
プラント化し、工業的な手法により正確で、誤りのない
プログラムを画一的に作成することができ、しかも、設
計段階においては単純な作業であり作成時間を短縮する
ことができるプログラム自動生成装置を提供することを
目的とする。
プラント化し、工業的な手法により正確で、誤りのない
プログラムを画一的に作成することができ、しかも、設
計段階においては単純な作業であり作成時間を短縮する
ことができるプログラム自動生成装置を提供することを
目的とする。
【0006】
【課題を解決するための手段】この発明は上記の目的を
達成するために、業務内容における定型的な固定の処理
項目の命令データからなる各々のフォーマットの複数ス
ケルトンをそれぞれ記憶させた記憶手段と、指定したフ
ォーマットのスケルトンを読み出す手段と、読み出した
スケルトンの未定の命令領域に予め取り決められた命令
用語を、所定の順序で入力するように要求する手段と、
前記読み出したスケルトンの前記未定の命令領域の全て
に必要な命令データが入力したことを判定し、プログラ
ムコーディングを行う手段とを備える。
達成するために、業務内容における定型的な固定の処理
項目の命令データからなる各々のフォーマットの複数ス
ケルトンをそれぞれ記憶させた記憶手段と、指定したフ
ォーマットのスケルトンを読み出す手段と、読み出した
スケルトンの未定の命令領域に予め取り決められた命令
用語を、所定の順序で入力するように要求する手段と、
前記読み出したスケルトンの前記未定の命令領域の全て
に必要な命令データが入力したことを判定し、プログラ
ムコーディングを行う手段とを備える。
【0007】
【作用】上記の手段によると、依頼者の要望を満足する
ようなフォーマットのスケルトン(固定命令群)に対し
て、未定の命令部である可変の命令用語を入力すれば、
自動的に詳細プログラムが完成し、正確にコーディング
されたものを得ることができる。
ようなフォーマットのスケルトン(固定命令群)に対し
て、未定の命令部である可変の命令用語を入力すれば、
自動的に詳細プログラムが完成し、正確にコーディング
されたものを得ることができる。
【0008】
【実施例】以下、この発明の実施例を図面を参照して説
明する。
明する。
【0009】図1はこの発明の一実施例における全体の
基本構成を示すもので、プログラム生成部100を中心
にして、操作部としてのワークステーション200、ス
ケルトンファイル300、選択ファイル400が設けら
れている。プログラム生成部100に出来上がったプロ
グラム言語によるプログラムは、自動コーディング部5
00を用いたコーディング処理が行われ、ソースコード
による機械語プログラムが作成される。
基本構成を示すもので、プログラム生成部100を中心
にして、操作部としてのワークステーション200、ス
ケルトンファイル300、選択ファイル400が設けら
れている。プログラム生成部100に出来上がったプロ
グラム言語によるプログラムは、自動コーディング部5
00を用いたコーディング処理が行われ、ソースコード
による機械語プログラムが作成される。
【0010】次に、各部の説明を行う。
【0011】スケルトンファイル300には、業務内容
に対応した固定の命令データからなる所定のフォーマッ
トのスケルトンが複数種の業務内容に応じてそれぞれ記
憶されており、未完成のプログラムである。このスケル
トンの用語は、例えばRPG言語である。ワークステー
ション200において、スケルトンメミューを読み出す
ための指示をプログラム生成部100に与えると、ワー
クステーション200のディスプレイ201には、スケ
ルトン群のメニューが表示される。ここで、希望のスケ
ルトンIDを指定すると、プログラム生成部100は、
スケルトンファイル300から指定されたスケルトンを
読み出し、ワークメモリ部に待機させる。
に対応した固定の命令データからなる所定のフォーマッ
トのスケルトンが複数種の業務内容に応じてそれぞれ記
憶されており、未完成のプログラムである。このスケル
トンの用語は、例えばRPG言語である。ワークステー
ション200において、スケルトンメミューを読み出す
ための指示をプログラム生成部100に与えると、ワー
クステーション200のディスプレイ201には、スケ
ルトン群のメニューが表示される。ここで、希望のスケ
ルトンIDを指定すると、プログラム生成部100は、
スケルトンファイル300から指定されたスケルトンを
読み出し、ワークメモリ部に待機させる。
【0012】図2には、あるプログラムXの全ステップ
11を示しているが、このうちの一点鎖線で囲むステッ
プ12は、スケルトンであり予め定まった処理を行う部
分が抽出されている。
11を示しているが、このうちの一点鎖線で囲むステッ
プ12は、スケルトンであり予め定まった処理を行う部
分が抽出されている。
【0013】このスケルトン12によるプログラムは未
完成であるために、不足する未定部には、オペレータに
より命令データが補充される。このために、プログラム
生成部100は、未定部に対して予め設定された順序に
基づき、命令データを入力するべくワークステーション
200を介してオペレータに要求を行う。オペレータ2
00は、プログラム言語による入力を行うのではなく、
このシステムで分類整理された用語を例えばキー操作に
より入力する。すると、プログラム生成部100は、入
力用語を判定して、対応する命令プログラム用語(RP
G)を選択ファイル400から読み出し、スケルトンの
未定部領域に格納する。
完成であるために、不足する未定部には、オペレータに
より命令データが補充される。このために、プログラム
生成部100は、未定部に対して予め設定された順序に
基づき、命令データを入力するべくワークステーション
200を介してオペレータに要求を行う。オペレータ2
00は、プログラム言語による入力を行うのではなく、
このシステムで分類整理された用語を例えばキー操作に
より入力する。すると、プログラム生成部100は、入
力用語を判定して、対応する命令プログラム用語(RP
G)を選択ファイル400から読み出し、スケルトンの
未定部領域に格納する。
【0014】未定部においても、予め決まった処理を行
うルーチンを使用することがあるために、選択ファイル
400は、内部使用部品ファイル401と、可変項目フ
ァイル402を有する。内部使用部品ファイル401
は、例えば文字表示において画面上で表示字数を制限す
るような処理、日付データ等を西暦、元号表示に変換す
る処理、等がある。可変項目ファイル402としては、
画面レイアウト、帳票レイアウト、入力チェック仕様、
ファイル更新仕様等の指定データ入力がある。
うルーチンを使用することがあるために、選択ファイル
400は、内部使用部品ファイル401と、可変項目フ
ァイル402を有する。内部使用部品ファイル401
は、例えば文字表示において画面上で表示字数を制限す
るような処理、日付データ等を西暦、元号表示に変換す
る処理、等がある。可変項目ファイル402としては、
画面レイアウト、帳票レイアウト、入力チェック仕様、
ファイル更新仕様等の指定データ入力がある。
【0015】プログラム生成部100は、1つの未定領
域に可変項目のプログラムが補充されると、予め定めら
れた優先順位にしたがって次の未定領域に可変項目のプ
ログラムを補充するようにオペレータに要求する。この
場合、プログラム生成部100は、指定すべき空き領域
を有したワークシート画面を表示することにより、要求
を行う。
域に可変項目のプログラムが補充されると、予め定めら
れた優先順位にしたがって次の未定領域に可変項目のプ
ログラムを補充するようにオペレータに要求する。この
場合、プログラム生成部100は、指定すべき空き領域
を有したワークシート画面を表示することにより、要求
を行う。
【0016】図3は、例えば単純にキーボードから入力
したデータを、所定のフォーマットでファイルする場合
のプログラムの一例である。基本的な設計としては、同
図(A)に示すように、データ入力作業を容易にするた
めに画面に入力用のフレームを表示して(ステップA
1)、キー入力処理(ステップA2)、転送書き込み
(ステップA3)の手順となる。
したデータを、所定のフォーマットでファイルする場合
のプログラムの一例である。基本的な設計としては、同
図(A)に示すように、データ入力作業を容易にするた
めに画面に入力用のフレームを表示して(ステップA
1)、キー入力処理(ステップA2)、転送書き込み
(ステップA3)の手順となる。
【0017】しかしさらに具体化すると、同図(B)に
示すように、フレーム表示データを所定のメモリのアド
レスから読み出し表示メモリに転送し(ステップB
1)、次にカーソルデータを発生して表示メモリに転送
し(ステップB2)、キー入力をチックし(ステップB
3)、バッファ及び表示メモリに転送し(ステップB
4)、次の書き込み位置にカーソルを移動させるための
カーソル処理を行い(ステップB5)、確認操作がなさ
れたかどうかをチェックし(ステップB6)、桁数がオ
ーバーしたかどうかをチェックし(ステップB7)する
処理が必要となる。
示すように、フレーム表示データを所定のメモリのアド
レスから読み出し表示メモリに転送し(ステップB
1)、次にカーソルデータを発生して表示メモリに転送
し(ステップB2)、キー入力をチックし(ステップB
3)、バッファ及び表示メモリに転送し(ステップB
4)、次の書き込み位置にカーソルを移動させるための
カーソル処理を行い(ステップB5)、確認操作がなさ
れたかどうかをチェックし(ステップB6)、桁数がオ
ーバーしたかどうかをチェックし(ステップB7)する
処理が必要となる。
【0018】このようなプログラム作成時において、予
め決まった処理は、例えば図に破線で囲むようなステッ
プ(スケルトン20)である。その他のステップは、プ
ログラム作成時にユーザの希望により可変する部分であ
る。例えば、データ入力フレームとして、同図(C)に
示すようなフレームをユーザが希望する場合には、ステ
ップB1において、フレームのパターンを指定しなけれ
ばならない。この指定により、表示メモリ(ステップB
4)に確保されるデータ書き込み領域も設定される。ま
た、1行分の桁数がオーバーしたかどうかを判定するた
めの比較処理のパラメータ(ステップB7)も決定され
る。
め決まった処理は、例えば図に破線で囲むようなステッ
プ(スケルトン20)である。その他のステップは、プ
ログラム作成時にユーザの希望により可変する部分であ
る。例えば、データ入力フレームとして、同図(C)に
示すようなフレームをユーザが希望する場合には、ステ
ップB1において、フレームのパターンを指定しなけれ
ばならない。この指定により、表示メモリ(ステップB
4)に確保されるデータ書き込み領域も設定される。ま
た、1行分の桁数がオーバーしたかどうかを判定するた
めの比較処理のパラメータ(ステップB7)も決定され
る。
【0019】しかし、カーソル発生処理(ステップB
2)においては、フレーム内のデータ無記録部分をサー
チして最も桁、行の少ない位置にカーソルデータを転送
するようなプログラムであれば固定でよい。また1行確
認ボタン処理(ステップS6)においても、確認ボタン
が押されたときは改行処理に移り、押されない場合には
次のステップB7に移行するようにコーディングしてお
けば固定でよい。
2)においては、フレーム内のデータ無記録部分をサー
チして最も桁、行の少ない位置にカーソルデータを転送
するようなプログラムであれば固定でよい。また1行確
認ボタン処理(ステップS6)においても、確認ボタン
が押されたときは改行処理に移り、押されない場合には
次のステップB7に移行するようにコーディングしてお
けば固定でよい。
【0020】したがって、このスケルトン20が指定さ
れた場合には、ワークステーションには、フレームをデ
ザインするためのデータ入力を要求する表示が行われ
る。この要求としては、例えば、桁数、横ブロック数、
縦の行数等である。ここで要求されるデータを全て埋め
ると、プログラム生成部100は、入力終了のメッセー
ジを表示し、コーディング処理を行う。
れた場合には、ワークステーションには、フレームをデ
ザインするためのデータ入力を要求する表示が行われ
る。この要求としては、例えば、桁数、横ブロック数、
縦の行数等である。ここで要求されるデータを全て埋め
ると、プログラム生成部100は、入力終了のメッセー
ジを表示し、コーディング処理を行う。
【0021】画面には、フレーム表示と共に、データ入
力の様子と、入力データの要求メッセージ、及び入力す
るためのキーワード等が表示されている。このためにユ
ーザとしては、キーワードを選択して数値入力や、文字
入力を行えば良く、プログラム構築が極めて容易とな
る。
力の様子と、入力データの要求メッセージ、及び入力す
るためのキーワード等が表示されている。このためにユ
ーザとしては、キーワードを選択して数値入力や、文字
入力を行えば良く、プログラム構築が極めて容易とな
る。
【0022】上記の例は、説明をわかりやすくするため
に極めて単純で、また主な部分のみのプログラム作成例
を示しているが、実際のコーディングを行う場合には、
さらに細かいステップが必要となる。
に極めて単純で、また主な部分のみのプログラム作成例
を示しているが、実際のコーディングを行う場合には、
さらに細かいステップが必要となる。
【0023】スケルトン自体のステップ数でも、プログ
ラム内容によっては非常に大きなステップ数となる。上
記のシステムでは、複数のスケルトンがスケルトンファ
イル300に格納されている。
ラム内容によっては非常に大きなステップ数となる。上
記のシステムでは、複数のスケルトンがスケルトンファ
イル300に格納されている。
【0024】上記の説明において、図2では、あるプロ
グラムXの全ステップ11を示し、このうちの一点鎖線
で囲むステップ12がスケルトンであるとして説明し
た。しかしこのスケルトンデータをスケルトンファイル
に記憶する場合、未定部分13のエリアを確保した状態
で記憶したのでは、記憶容量を無駄に使うことになり、
スケルトンファイル300の容量が無駄になる。
グラムXの全ステップ11を示し、このうちの一点鎖線
で囲むステップ12がスケルトンであるとして説明し
た。しかしこのスケルトンデータをスケルトンファイル
に記憶する場合、未定部分13のエリアを確保した状態
で記憶したのでは、記憶容量を無駄に使うことになり、
スケルトンファイル300の容量が無駄になる。
【0025】そこでこのシステムでは、図4に示すよう
に、未定部分13を意味するフラッグを当該未定部分に
対応させて挿入して、未定部分13容量を最小容量にし
ている。このために、可変部分が多く未定部分が非常に
大きなステップとなるスケルトンであっても、スケルト
ンファイル300に格納されているときは、圧縮されて
おり極めて小容量で記憶されている。
に、未定部分13を意味するフラッグを当該未定部分に
対応させて挿入して、未定部分13容量を最小容量にし
ている。このために、可変部分が多く未定部分が非常に
大きなステップとなるスケルトンであっても、スケルト
ンファイル300に格納されているときは、圧縮されて
おり極めて小容量で記憶されている。
【0026】そして、プログラム生成部100に読み出
されて、プログラムが構築されるに従って、フラッグ部
分が外部入力により満たされていき、本来のステップ長
のプログラムとなる。
されて、プログラムが構築されるに従って、フラッグ部
分が外部入力により満たされていき、本来のステップ長
のプログラムとなる。
【0027】従って、プログラム生成部100は、スケ
ルトンをワークメモリに読み込むと、その中のフラッグ
をプログラムステップの順にサーチする機能を有する。
そしてフラッグが検出されると、このフラッグ番号に応
じて、ワークステーション200に対して、入力すべき
データを要求する。またスケルトン内や追加したステッ
プににジャンプ命令があるかどうかを判定し、そのジャ
ンプ命令のアドレス(ステップ番号)を管理修正する機
能も備えている。これは、スケルトンの未定部分を満た
していったときに、ジャンプするアドレス(ステップ)
が変わるので、その変わった分を最後に補正するためで
ある。
ルトンをワークメモリに読み込むと、その中のフラッグ
をプログラムステップの順にサーチする機能を有する。
そしてフラッグが検出されると、このフラッグ番号に応
じて、ワークステーション200に対して、入力すべき
データを要求する。またスケルトン内や追加したステッ
プににジャンプ命令があるかどうかを判定し、そのジャ
ンプ命令のアドレス(ステップ番号)を管理修正する機
能も備えている。これは、スケルトンの未定部分を満た
していったときに、ジャンプするアドレス(ステップ)
が変わるので、その変わった分を最後に補正するためで
ある。
【0028】図5はその一例を示すフローチャートであ
る。
る。
【0029】ステップC1でスタートし、スケルトンが
スケルトンファイル300からプリグラム生成部(ビル
ダ−)100に読み込まれる。プログラム生成部100
は、スケルトンをステップを順次読取りプログラムデー
タを確認するためにアドレスを増加する(ステップC
2、C3)。プログラムエンドデータがあるか否かを判
定し、なければフラッグがあるかどうかを判定する(ス
テップC4、C5)。フラッグがみつかると、そのフラ
ッグに対応しているプログラムデータを読取り、入力す
べきデータをワークステーション200に要求する(C
6)。要求する形態は、ワークシート形であり、要求内
容に応じて固定のフォーマットである。従って、ユーザ
は、ワークステーションで表示されたワークシートの所
定の箇所に要求されている可変項目(数値や記号)を入
力すれば良く、この要求項目をすべて満たしていけば、
条件等の指定漏れが発生することはない。つまりプログ
ラムがプログラマーによって異なることはなく、画一化
される。
スケルトンファイル300からプリグラム生成部(ビル
ダ−)100に読み込まれる。プログラム生成部100
は、スケルトンをステップを順次読取りプログラムデー
タを確認するためにアドレスを増加する(ステップC
2、C3)。プログラムエンドデータがあるか否かを判
定し、なければフラッグがあるかどうかを判定する(ス
テップC4、C5)。フラッグがみつかると、そのフラ
ッグに対応しているプログラムデータを読取り、入力す
べきデータをワークステーション200に要求する(C
6)。要求する形態は、ワークシート形であり、要求内
容に応じて固定のフォーマットである。従って、ユーザ
は、ワークステーションで表示されたワークシートの所
定の箇所に要求されている可変項目(数値や記号)を入
力すれば良く、この要求項目をすべて満たしていけば、
条件等の指定漏れが発生することはない。つまりプログ
ラムがプログラマーによって異なることはなく、画一化
される。
【0030】データ入力が終り、入力終了のキー入力が
あると(ステップC7)、次のステップでは、ユーザに
より追加または減少されたステップ数に応じて、以降の
スケルトンのステップアドレスが修正される(ステップ
C8)。スケルトンは、可変項目により以降のステップ
増加することもあれば、また不要なルーチンは一部削除
され減少することもある。削除を行う場合も、フラッグ
の位置のプログラムデータアドレスに格納されている要
求項目により削除選択を行うことができるようになって
いる。
あると(ステップC7)、次のステップでは、ユーザに
より追加または減少されたステップ数に応じて、以降の
スケルトンのステップアドレスが修正される(ステップ
C8)。スケルトンは、可変項目により以降のステップ
増加することもあれば、また不要なルーチンは一部削除
され減少することもある。削除を行う場合も、フラッグ
の位置のプログラムデータアドレスに格納されている要
求項目により削除選択を行うことができるようになって
いる。
【0031】ステップC8には、元のスケルトンステッ
プ(アドレス)と、可変項目や部品項目を追加したり、
スケルトンの一部を修正した後の命令用語全体のステッ
プ(アドレス)を逐次管理するステップアドレス管理マ
ップが構築されている。この様に順次、フラッグ部分が
満たされて行き、プログラムエンドデータが検出される
と、ステップC9に移り、構築されたプログラムの初期
のステップに戻る。次に、アドレスを増加してステップ
を進め、この位置にジャンプ命令があるかどうかを確認
する(ステップC10、C12)。ジャンプ命令があっ
た場合は、この命令データで示しているジャンプ先のア
ドレスを修正しなければならない。そこで先に管理して
いるステップアドレス管理マップを検索して、ジャンプ
先アドレスをいずれのアドレスに変化させるべきかを検
出し、新しいジャンプ先アドレスに修正する(ステップ
C13)。このように次々とジャンプ先アドレスの修正
を行い、プログラムエンドデータが検出されると、この
データ入力処理を終了する(ステップC14、C1
5)。
プ(アドレス)と、可変項目や部品項目を追加したり、
スケルトンの一部を修正した後の命令用語全体のステッ
プ(アドレス)を逐次管理するステップアドレス管理マ
ップが構築されている。この様に順次、フラッグ部分が
満たされて行き、プログラムエンドデータが検出される
と、ステップC9に移り、構築されたプログラムの初期
のステップに戻る。次に、アドレスを増加してステップ
を進め、この位置にジャンプ命令があるかどうかを確認
する(ステップC10、C12)。ジャンプ命令があっ
た場合は、この命令データで示しているジャンプ先のア
ドレスを修正しなければならない。そこで先に管理して
いるステップアドレス管理マップを検索して、ジャンプ
先アドレスをいずれのアドレスに変化させるべきかを検
出し、新しいジャンプ先アドレスに修正する(ステップ
C13)。このように次々とジャンプ先アドレスの修正
を行い、プログラムエンドデータが検出されると、この
データ入力処理を終了する(ステップC14、C1
5)。
【0032】上記したようにこのシステムは、スケルト
ンを記憶する容量を削減するために、スケルトンのステ
ップを圧縮して保存している。そして、フラッグ部分に
可変項目や部品項目を追加した場合、ジャンプ命令のジ
ャンプ先アドレスが変化するので、その修正機能を持っ
ている。
ンを記憶する容量を削減するために、スケルトンのステ
ップを圧縮して保存している。そして、フラッグ部分に
可変項目や部品項目を追加した場合、ジャンプ命令のジ
ャンプ先アドレスが変化するので、その修正機能を持っ
ている。
【0033】図6及び図7は、例えば得意先マスターフ
ァイルのプログラムを作成するのに利用されるスケルト
ンの一部を常用語に変換して示した実例である。左端に
は、スケルトンのステップ(アドレス)があり、フラッ
グの位置(未定領域)には、可変項目や使用部品を入力
することになる。
ァイルのプログラムを作成するのに利用されるスケルト
ンの一部を常用語に変換して示した実例である。左端に
は、スケルトンのステップ(アドレス)があり、フラッ
グの位置(未定領域)には、可変項目や使用部品を入力
することになる。
【0034】図8は、上記のスケルトンのフラッグの位
置に可変項目や使用部品を挿入して、プログラムコーデ
ィングを行い出来上がったプログラムの一部をさらに常
用語に変換して示している。左端のステップ1.00〜
29.00、33.00〜35.00は可変項目から自
動生成されたステップであり、ステップ30.00〜3
2.00、40.00〜43.00は使用部品から自動
生成されたステップ、ステップ36.00〜39.0
0、44.00〜60.00はもともと存在したスケル
トンのステップである。
置に可変項目や使用部品を挿入して、プログラムコーデ
ィングを行い出来上がったプログラムの一部をさらに常
用語に変換して示している。左端のステップ1.00〜
29.00、33.00〜35.00は可変項目から自
動生成されたステップであり、ステップ30.00〜3
2.00、40.00〜43.00は使用部品から自動
生成されたステップ、ステップ36.00〜39.0
0、44.00〜60.00はもともと存在したスケル
トンのステップである。
【0035】図9以後は各種スケルトンの例を示してい
る。図9及び図10はバッチ更新用のスケルトンの一部
である。また図11及び図12はもバッチ更新用のスケ
ルトンの一部である。図13及び図14も別のスケルト
ンの一部である。以下図15乃至図62は、2つの図で
1つのスケルトンの一部を示している。
る。図9及び図10はバッチ更新用のスケルトンの一部
である。また図11及び図12はもバッチ更新用のスケ
ルトンの一部である。図13及び図14も別のスケルト
ンの一部である。以下図15乃至図62は、2つの図で
1つのスケルトンの一部を示している。
【0036】
【発明の効果】以上説明したようにこの発明によれば、
プログラム作成工程をプラント化し、工業的な手法によ
り正確で、誤りのないプログラムを画一的に作成するこ
とができ、しかも、設計段階においては単純な作業であ
り作成時間を短縮することができる。
プログラム作成工程をプラント化し、工業的な手法によ
り正確で、誤りのないプログラムを画一的に作成するこ
とができ、しかも、設計段階においては単純な作業であ
り作成時間を短縮することができる。
【図1】この発明の一実施例における基本構成を示すブ
ロック図。
ロック図。
【図2】図1のシステムの機能の一例を説明するために
示した説明図。
示した説明図。
【図3】この発明装置の使用例を説明するための説明
図。
図。
【図4】この発明装置で適用されるスケルトンの例を示
す説明図。
す説明図。
【図5】この発明装置の取扱いを説明するために示した
フローチャート。
フローチャート。
【図6】この発明装置で用いられたスケルトンの一部を
示す図。
示す図。
【図7】図6のスケルトンの続きを示す図。
【図8】この発明装置で用いられたスケルトンの一部を
示す図。
示す図。
【図9】この発明装置で用いられたスケルトンの一部を
示す図。
示す図。
【図10】図9のスケルトンの続きを示す図。
【図11】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図12】図11のスケルトンの続きを示す図。
【図13】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図14】図13のスケルトンの続きを示す図。
【図15】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図16】図15のスケルトンの続きを示す図。
【図17】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図18】図17のスケルトンの続きを示す図。
【図19】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図20】図19のスケルトンの続きを示す図。
【図21】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図22】図21のスケルトンの続きを示す図。
【図23】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図24】図23のスケルトンの続きを示す図。
【図25】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図26】図25のスケルトンの続きを示す図。
【図27】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図28】図27のスケルトンの続きを示す図。
【図29】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図30】図29のスケルトンの続きを示す図。
【図31】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図32】図31のスケルトンの続きを示す図。
【図33】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図34】図33のスケルトンの続きを示す図。
【図35】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図36】図35のスケルトンの続きを示す図。
【図37】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図38】図37のスケルトンの続きを示す図。
【図39】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図40】図39のスケルトンの続きを示す図。
【図41】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図42】図41のスケルトンの続きを示す図。
【図43】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図44】図43のスケルトンの続きを示す図。
【図45】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図46】図45のスケルトンの続きを示す図。
【図47】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図48】図47のスケルトンの続きを示す図。
【図49】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図50】図49のスケルトンの続きを示す図。
【図51】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図52】図51のスケルトンの続きを示す図。
【図53】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図54】図53のスケルトンの続きを示す図。
【図55】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図56】図55のスケルトンの続きを示す図。
【図57】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図58】図57のスケルトンの続きを示す図。
【図59】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図60】図59のスケルトンの続きを示す図。
【図61】この発明装置で用いられたスケルトンの一部
を示す図。
を示す図。
【図62】図61のスケルトンの続きを示す図。
100…プログラム生成部、200…ワークステーショ
ン、300…スケルトンファイル、400…選択ファイ
ル、500…自動コーディング部。
ン、300…スケルトンファイル、400…選択ファイ
ル、500…自動コーディング部。
Claims (4)
- 【請求項1】 業務内容における定型的な固定の処理項
目の命令データからなる各々のフォーマットの複数スケ
ルトンをそれぞれ記憶させた記憶手段と、 指定したフォーマットのスケルトンを読み出す手段と、 読み出したスケルトンの未定の命令領域に予め取り決め
られた命令用語を、所定の順序で入力するように要求す
る手段と、 前記読み出したスケルトンの前記未定の命令領域の全て
に必要な命令データが入力したことを判定し、プログラ
ムコーディングを行う手段とを具備したことを特徴とす
るプログラム自動生成装置。 - 【請求項2】 前記記憶手段に格納されている前記複数
のスケルトンは、それぞれ前記未定の領域に対応する部
分が前記記憶手段の容量を有効活用するためにアドレス
をつめた形で圧縮されて記憶されていることを特徴とす
る請求項1記載のプログラム自動生成装置。 - 【請求項3】 前記スケルトンにの前記未定の領域に命
令用が挿入された状態で、前記固定の処理項目内にジャ
ンプ命令があった場合、そのジャンプ命令のジャンプ先
アドレスを修正する手段を含むことを特徴とする請求項
1記載のプログラム自動生成装置。 - 【請求項4】前記プログラムコーディングを行う手段
が、プログラムコーディングを行った後で、コーデイン
グされたプログラムデータを読取り逆変換し、当該プロ
グラムの構成及び手順を示すプログラムドキュメントを
自動生成する手段をさらに有したことを特徴とする請求
項1記載のプログラム自動生成装置。
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5141182A JPH06332680A (ja) | 1993-05-21 | 1993-05-21 | プログラム自動生成装置 |
CA002123848A CA2123848C (en) | 1993-05-21 | 1994-05-18 | Automatic program generating apparatus |
DE69427885T DE69427885T2 (de) | 1993-05-21 | 1994-05-19 | Vorrichtung zur Programmerzeugung |
EP94830232A EP0625748B1 (en) | 1993-05-21 | 1994-05-19 | Program generating apparatus |
SG1996004142A SG46388A1 (en) | 1993-05-21 | 1994-05-19 | Automatic program generating apparatus |
TW083104543A TW289102B (ja) | 1993-05-21 | 1994-05-19 | |
MYPI94001277A MY110602A (en) | 1993-05-21 | 1994-05-19 | Automatic program generating apparatus |
AU63205/94A AU656694B2 (en) | 1993-05-21 | 1994-05-20 | Automatic program generating apparatus |
US08/246,889 US5522078A (en) | 1993-05-21 | 1994-05-20 | Automatic program generating apparatus using skeletons having fixed instruction areas and undefined instruction areas |
CN94107735A CN1099072C (zh) | 1993-05-21 | 1994-05-20 | 自动程序生成装置 |
KR1019940011148A KR0128230B1 (ko) | 1993-05-21 | 1994-05-21 | 자동 프로그램 생성장치 |
HK98115095.5A HK1013870B (en) | 1993-05-21 | 1998-12-23 | Program generating apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5141182A JPH06332680A (ja) | 1993-05-21 | 1993-05-21 | プログラム自動生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06332680A true JPH06332680A (ja) | 1994-12-02 |
Family
ID=15286064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5141182A Pending JPH06332680A (ja) | 1993-05-21 | 1993-05-21 | プログラム自動生成装置 |
Country Status (11)
Country | Link |
---|---|
US (1) | US5522078A (ja) |
EP (1) | EP0625748B1 (ja) |
JP (1) | JPH06332680A (ja) |
KR (1) | KR0128230B1 (ja) |
CN (1) | CN1099072C (ja) |
AU (1) | AU656694B2 (ja) |
CA (1) | CA2123848C (ja) |
DE (1) | DE69427885T2 (ja) |
MY (1) | MY110602A (ja) |
SG (1) | SG46388A1 (ja) |
TW (1) | TW289102B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08234975A (ja) * | 1995-02-28 | 1996-09-13 | Fujitsu Ltd | プログラム生成装置および方法 |
FI103155B (fi) | 1995-10-11 | 1999-04-30 | Nokia Telecommunications Oy | Menetelmä tietokoneohjattujen palvelujen tuottamiseksi |
US6182274B1 (en) * | 1997-05-01 | 2001-01-30 | International Business Machines Corporation | Reusing code in object-oriented program development |
US6370683B1 (en) | 1999-05-07 | 2002-04-09 | Arnold Sobers | Computer software for generating flowchart images of a source program |
US6973639B2 (en) * | 2000-01-25 | 2005-12-06 | Fujitsu Limited | Automatic program generation technology using data structure resolution unit |
KR100400360B1 (ko) * | 2000-09-06 | 2003-10-04 | 삼성에스디에스 주식회사 | 프로그램 산출물 자동 생성 시스템 및 그 방법 |
US7308675B2 (en) * | 2003-08-28 | 2007-12-11 | Ricoh Company, Ltd. | Data structure used for directory structure navigation in a skeleton code creation tool |
US7237224B1 (en) * | 2003-08-28 | 2007-06-26 | Ricoh Company Ltd. | Data structure used for skeleton function of a class in a skeleton code creation tool |
US7502029B2 (en) * | 2006-01-17 | 2009-03-10 | Silicon Integrated Systems Corp. | Instruction folding mechanism, method for performing the same and pixel processing system employing the same |
CN103176801B (zh) * | 2013-03-18 | 2016-11-23 | 北京首开世纪科技有限公司 | 一种表项操作接口函数的生成方法及装置 |
WO2015055384A1 (en) * | 2013-10-18 | 2015-04-23 | Tetra Laval Holdings & Finance S.A. | A method for designing a processing plant |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01290037A (ja) * | 1988-05-17 | 1989-11-21 | Nec Corp | パターンプログラミングにおけるオウンコーディング誘導方式 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315315A (en) * | 1971-03-09 | 1982-02-09 | The Johns Hopkins University | Graphical automatic programming |
US4734854A (en) * | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
US5371895A (en) * | 1985-10-08 | 1994-12-06 | The Foxboro Company | Local equipment controller for computerized process control applications utilizing language structure templates in a hierarchical organization and method of operating the same |
US5291587A (en) * | 1986-04-14 | 1994-03-01 | National Instruments, Inc. | Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs |
US5237688A (en) * | 1987-11-18 | 1993-08-17 | International Business Machines Corporation | Software packaging structure having hierarchical replaceable units |
US5099413A (en) * | 1987-12-12 | 1992-03-24 | Sadashiro Sakai | System which reads type and position of task element marks on a matrix of program tasks for automatically generating programs |
FR2633413B1 (fr) * | 1988-06-22 | 1994-07-08 | Bull Sa | Procede pour la generation de fenetres de dialogue visualisables sur l'ecran d'un systeme informatique et dispositif pour mettre en oeuvre ce procede |
JPH02183338A (ja) * | 1988-11-29 | 1990-07-17 | Internatl Business Mach Corp <Ibm> | プログラム言語トランスレータ生成装置および方法 |
JP2728559B2 (ja) * | 1989-10-09 | 1998-03-18 | 株式会社日立製作所 | 知識処理システム構築ツール及び推論プログラムの生成方法 |
US5247651A (en) * | 1990-04-17 | 1993-09-21 | At&T Bell Laboratories | Interactive computer program specification and simulation system |
US5193180A (en) * | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
EP0525258A1 (en) * | 1991-07-29 | 1993-02-03 | International Business Machines Corporation | Generation of rules-based computer programs |
-
1993
- 1993-05-21 JP JP5141182A patent/JPH06332680A/ja active Pending
-
1994
- 1994-05-18 CA CA002123848A patent/CA2123848C/en not_active Expired - Fee Related
- 1994-05-19 EP EP94830232A patent/EP0625748B1/en not_active Expired - Lifetime
- 1994-05-19 TW TW083104543A patent/TW289102B/zh active
- 1994-05-19 MY MYPI94001277A patent/MY110602A/en unknown
- 1994-05-19 SG SG1996004142A patent/SG46388A1/en unknown
- 1994-05-19 DE DE69427885T patent/DE69427885T2/de not_active Expired - Fee Related
- 1994-05-20 CN CN94107735A patent/CN1099072C/zh not_active Expired - Fee Related
- 1994-05-20 US US08/246,889 patent/US5522078A/en not_active Expired - Fee Related
- 1994-05-20 AU AU63205/94A patent/AU656694B2/en not_active Ceased
- 1994-05-21 KR KR1019940011148A patent/KR0128230B1/ko not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01290037A (ja) * | 1988-05-17 | 1989-11-21 | Nec Corp | パターンプログラミングにおけるオウンコーディング誘導方式 |
Also Published As
Publication number | Publication date |
---|---|
AU6320594A (en) | 1994-12-01 |
EP0625748A3 (en) | 1997-02-05 |
EP0625748A2 (en) | 1994-11-23 |
CN1099072C (zh) | 2003-01-15 |
DE69427885T2 (de) | 2001-11-22 |
CN1101143A (zh) | 1995-04-05 |
DE69427885D1 (de) | 2001-09-13 |
CA2123848C (en) | 1998-09-15 |
EP0625748B1 (en) | 2001-08-08 |
TW289102B (ja) | 1996-10-21 |
MY110602A (en) | 1998-08-29 |
US5522078A (en) | 1996-05-28 |
KR0128230B1 (ko) | 1998-04-15 |
AU656694B2 (en) | 1995-02-09 |
SG46388A1 (en) | 1998-02-20 |
CA2123848A1 (en) | 1994-11-22 |
HK1013870A1 (en) | 1999-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5287449A (en) | Automatic program generation method with a visual data structure display | |
US5956732A (en) | Software system management device for maintaining revisions of a source code | |
US6636774B2 (en) | CAD supporting apparatus, and CAD supporting program storage medium | |
JPH06332680A (ja) | プログラム自動生成装置 | |
JPH1139145A (ja) | プログラム構築支援装置及び記憶媒体 | |
KR0121574B1 (ko) | 데이터 처리장치 및 이것을 사용하는 편집장치 | |
US6345270B1 (en) | Data management system | |
JPH07219754A (ja) | 画面遷移図を用いた要求定義支援装置 | |
CN116382602B (zh) | 一种标签打印方法及装置 | |
JPH08329004A (ja) | アプリケーション・プログラム使用の端末操作性向上方法 | |
JP2776242B2 (ja) | Camシステム | |
JP3449101B2 (ja) | 機器設計支援システム | |
JPH08115323A (ja) | 自動ページアップルール作成装置 | |
JPH10301615A (ja) | Cnc画面表示システム | |
HK1013870B (en) | Program generating apparatus | |
JP3206808B2 (ja) | 属性データ編集機能付きパラメトリック設計システム | |
JPH0844549A (ja) | ドキュメント管理システム | |
EP0315172B1 (en) | Automatic program generation method with a visual data structure display | |
JPH06103277A (ja) | ソフトウェア開発管理用レポート出力方式 | |
JP2992412B2 (ja) | Cad/cam装置におけるパラメータ設定方法 | |
JP3528249B2 (ja) | 文書処理装置 | |
JP2005190178A (ja) | データメンテナンス装置、データメンテナンス方法、及びデータメンテナンスプログラム | |
JP2002278760A (ja) | 電子帳票プログラム作成システム、電子帳票プログラム作成方法、および、電子帳票プログラム作成プログラム | |
JPH06290035A (ja) | 情報処理システム設計支援システム | |
JPH0421229B2 (ja) |