JPH032923A - 自動プログラミングシステム - Google Patents

自動プログラミングシステム

Info

Publication number
JPH032923A
JPH032923A JP13695689A JP13695689A JPH032923A JP H032923 A JPH032923 A JP H032923A JP 13695689 A JP13695689 A JP 13695689A JP 13695689 A JP13695689 A JP 13695689A JP H032923 A JPH032923 A JP H032923A
Authority
JP
Japan
Prior art keywords
program
specifications
parts
component
knowledge
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
JP13695689A
Other languages
English (en)
Inventor
Takao Kaneto
金戸 孝夫
Kozo Ogimoto
荻本 浩三
Naoyuki Takada
直幸 高田
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.)
Shimadzu Corp
Original Assignee
Shimadzu Corp
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 Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP13695689A priority Critical patent/JPH032923A/ja
Publication of JPH032923A publication Critical patent/JPH032923A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は、予め登録されたプログラム部品を要求仕様
に合うように自動的に合成する自動プログラミングシス
テムに関する。
B、従来技術 従来、この種の自動プログラミングシステムは確定され
た単純な仕様、換言すれば設計における最下層に対応し
て予め定められたlO数種類のパターンをもったプログ
ラム部品を備え、これらのプログラム部品の中から要求
仕様に合う部品を検索し、それらを適当に組み合わせて
目標プログラムを作成し°ζいる。
したがって、この種のシステムでは、ユーザが例え設計
における上層レベルに対応した要求仕様(上層仕様)を
持っていても、その上層仕様を詳細な単純仕様に分解し
て入力している。
C4発明が解決しようとする課題 上述のように、従来システムによれば、ユーザがその要
求仕様をいつも単純仕様に分解して入力しなければなら
ないので、プログラムの作成効率が低いという問題点が
ある。
この発明は、このような事情に鑑みてなされたものであ
って、要求仕様に合致したプログラムを効率良く作成す
る二七ができる自動プログラミングシステムを提供する
ことを目的としている。
01課題を解決するための手段 この発明は、上記目的を達成するために次のような構成
を備えている。
即ち、この発明は、プログラム部品群を記憶したプログ
ラムデータベースと、各プログラム部品の合成に関する
知識を記憶した知識ベースと、目標プログラムの仕様を
入力する入力手段と、前記入力された目標プログラムの
仕様に基づき、前記各プログラム部品の知識を参照して
プログラム部品群を検索し、前記仕様を満足するプログ
ラム部品を合成するプログラム部品合成部と、前記合成
された合成プログラムの論理的検証を行う論理検証部と
を備えた自動プログラミングシステムにおいて、前記論
理検証された合成プログラムをプログラム部品として前
記プログラムデータベースに記?!!するとともに、そ
のプログラム部品の知識を前記知識ベースに記憶するよ
うにしたことを特徴としている。
E9作用 この発明によれば、合成されたプログラムをプログラム
部品としてプログラムデータベースに格納するとともに
、そのプログラムの知識を知識ベースに格納するように
したから、それ以後に入力された仕様が前記合成された
プログラムに関するものであれば、最下層のプログラム
部品をその都度合成することなく、前記プログラムデー
タベースに格納された上層のプログラム部品が選択され
る。
F、実施例 以下、この発明の実施例を図面に基づいて説明する。
第1図は、この発明の一実施例に係る自動プログラミン
グシステムの概略構成を示したブロック図である。
図中、符号lは、目標プログラムの仕様やプログラム自
体を入力するキーボードと、システムからの応答を表示
するCRTなどから構成されている入出力装置である。
2は、入出力装置tから人力された目標プログラムの仕
様記述を機械語に翻訳する仕様解析部である。
3は、解析された仕様記述に基づいて、データベース管
理部4を介して、プログラムデータベース5に格納され
たプログラム部品群を検索し、仕様を満足した各プログ
ラム部品を合成するプログラム部品合成部である。
プログラムデータベース5には、各プログラム部品ごと
に、プログラムソースと検索用のキーワードとが格納さ
れている0例えば、ファイルを読むためのプログラム部
品の場合、キーワードとして、「ファイル・リード」、
「ファイル構造名」、「記述言語」などが格納されてお
り、プログラムソースは、部品合成を行うときに必要に
応じて書き換え、または差換え可能な構成部分を備えて
いる− 6は、プログラム部品を検索したり、各部品を合成した
りする際に参照される各プログラム部品ごとの知識(項
目データ)を記憶した知識ベースである0項目データと
しては、部品の名前、部品の人出ツノの性質、部品自体
の性質といった項目がある9例えば、ファイルからデー
タを読み出すためのプログラム部品の場合、入力として
ファイル名が与えられ、出力としてデータと、そのデー
タ数が与えられるので、これらの各々の入出力について
、入出力の型(実数型、整数型、あるいは文字型の区別
)、入出力の取り得る最大値および最小値などが、当該
部品の入出力の性質として記1aされている。また、部
品自体の性質としては、部品の精度(有効桁数)、対象
機器、対象オペレーティング・システム、記述言語、部
品の機能などが記憶されている。
7は、プログラムデータベース5に仕様を満足するプロ
グラム部品が存在しなかった場合、入出力装置lからの
指示によりプログラムを生成するプログラム生成部であ
る。
8は、プログラム部品合成部3で合成された各プログラ
ム部品間の論理性をチエツクする論理検証部である。
9は、論理検証された合成プログラムの技術的資料を生
成するドキヱメント生成部である。
lOは、論理検証された合成プログラムを、ユーザが指
定した言語のソースプログラムに生成するプログラムソ
ース生成部である。
次に、上述した構成を備えた自動プログラミングシステ
ムの動作を、第2図に示したフローチャートを参照して
説明する。
ステップSに8入出力装置Nによって、目標プログラム
の仕様が記述される。仕様記述の入力方法としては、例
えば自然言語や図形による入力方法などが用いられる。
ここでは、rアスキーコードで書かれたワアイルからデ
ータを読み出し、このデータを平均移動法によりスムー
ジング処理して画面に表示するjという仕様記述が自然
言語で人力されたとする。このようにして入力された仕
様記述は、仕様解析部2で機械語に翻訳された後、プロ
グラム部品合成部3に与えられる。
ステップS2ニブログラム部品合成部3は、データヘー
ス管理部4を介して、プログラムデータベース5に記憶
されたプログラム部品群をキーワードによって検索する
とともに、知識ベース6に記憶されたプログラム部品の
項目データを参照して、仕様を満足するプログラム部品
を絞り込む。
具体的には、まず、仕様解析部2で解析された仕様記述
からキーワードを取り出す。キーワードには上位のキー
ワードと下位のキーワードとがある。上位のキーワード
としては、例えば、「ファイルを読む」、「スムージン
グ処理する」、[画面表示するJなとのような動詞表現
の記述を取り出し、下位のキーワードとしては、例えば
、[アスキーコードで書かれた」、「平均移動法により
」のような修飾詞表現の記述を取り出す。
そして、上位のキーワードを含むプログラム部品を取り
出し、さらにその中から下位のキーワードを含むプログ
ラム部品を取り出すことによって、これらのキーワード
を全て含むようなプログラム部品、即ち、入力された上
層の仕様記述を満足するようなプログラム部品を探し出
す。
該当するhaのプログラム部品がなければ、それよりも
下層の設計仕様を満足するようなプログラム部品、即ち
、いずれかのキーワードの組合せを含むプログラム部品
を自動的に探し出す0例えば、 ■「ファイルを読む」と「アスキーコード」をキーワー
ドとして含むプログラム部品、■「スムージング処理J
と「平均移動法」をキーワードとして含むプログラム部
品、 ■「両面表示する」をキーワードとして含むプログラム
部品、 ■ 前記■と■、あるいは■と■のキーワードを含むプ
ログラム部品、 を探し出す。
上述のようなキーワードによる検索で選び出されたプロ
グラム部品群は、知識ベース6に記憶された各プログラ
ム部品の項目データを参照しながら、さらに絞り込まれ
る。検索されたプログラム部品を絞り込む上で、ユーザ
から入力される必要のある情報があれば、入出力装置t
に質問形式で表示してその情報を求める。
ステップS3ニステツプS2の処理が終わると、入力さ
れた仕様を満足するプログラム部品があったかどうかを
判断し、なければステップS4へ、あればステップS7
に進む。
ステップS4ニステツプS2で自動的に仕様を分割して
も、なおその仕様を満足する部品がなければ、ユーザー
に対して、その仕様を更に詳細に分υ1することができ
るかどうかを質問する。
ステップS5:詳細な仕様記述が可能であれば、ユーザ
によって入出力装置1から入力された詳細な仕様記述に
基づいて、ステップS2の検索処理を同様に行う。
ステップS6:それ以上、詳細に仕様を分割することが
できないとユーザが応えた場合には、プロゲラ11生成
部7を起動して、該当仕様を満足するプログラム部品と
、それに関する項目データなどを新たに作成するように
、ユーザに要求する。
作成されたプログラム部品は、システムで自動的に決定
したキーワードや、ユーザによって新たに指定されたキ
ーワードとともに、データベース管理部4を介してプロ
グラムデータベース5に記憶し、そのプログラム部品の
項目データはデータベース管理部4を介して知識ベース
6に記憶する。
ステップS7:要求された仕様を満足するプログラム部
品が存在するとステップS3で判断された場合や、ステ
ップS6で仕様を満足するプログラム部品が作成される
と、各プログラム部品の人出力部に対して接続すべき他
のプログラム部品の入出力を決定する。例えば、上述の
仕様記述を満足する次のような三つのプログラム部品が
探し出されたとする。
[AJアスキーコードで書かれたワアイルからデータを
読み出すためのプログラム部品 (B)読み出されたデータを平均移動法によりスムージ
ング処理するためのプログラム部品〔C−〕処理された
結果を画面に表示するためのプログラム部品 −F記の各プログラム部品において、プログラム部品(
A)の出力は、プログラム部品CB)の入力となり、プ
ログラム部品CB)の出力はプログラム部品(C)の入
力となるというように、各プログラム部品相互の入出力
を決定する。
このとき、各プログラム部品の項目データを参照し、接
続されるプログラム部品の一方が実数型で、他方が整数
型のように型が異なる場合には、どちらかの型を変換し
て、結合される部品間の型が一致するようにする。
ステップS8:各プログラム部品が接続されると、部品
間の精度(有効桁数)が−敗しているかどうかを判断す
る。ステップS7では適当に型変換するため、例えば、
実数型から整数型に型変換した際に、小数部分が切り捨
てられるので、そのプログラム部品の精度が低くなり、
その結果、接続された部品間で精度が一致しなくなるお
それがあるからである。
ステップS9:接続されるプログラム部品間で精度が一
致しない場合は、両者の型をilAし、精度が一致する
ように修正する。
ステップSIOニブログラム部品間の精度が一致すれば
、各プログラム部品に含まれる変数名を自動的に、ある
いはユーザからの指定により決定する。
ステップSllニステップS7からステップSIOまで
の処理が、選択された全てのプログラム部品の入出力に
ついて完了したかどうかを判断する。
ステップ312:完了しておれば、各プログラム部品が
接続されてなる合成プログラムについて、データ処理の
実行順序が正しいかどうかを判断する。これは、仮に合
成プログラムの中に、一つのデータDを用いて処理する
複数のプログラム部品(E)、  (F)、(G)があ
り、そのうちのプログラム部品(E)の入力と出力とが
同じ引き数(入力、出力型)である場合に、(E)−+
(F)4(G)の順に処理を実行すると、プログラム部
品(F)には本来必要とするデータDではなく、プログ
ラム部品(E)で処理されたデータD′が入力されると
いう不都合を生じるからである。
ステップS】3:このような実行順序の不都合が生じる
場合には、CF)に)(G)→(E)のように実行順序
を変更する。
ステップS14:合成プログラムの実行順序が正しいと
判断されると、その合成プログラムのソースコードをキ
ーワードとともにプログラムデータベース5に記憶する
。例えば、上記の三つのプログラム(A)、CB)、 
 (C)が合成された場合、そのキーワードとして、「
ファイルリード」。
「ファイル構造基J、「記述言語]、「スムージング」
、「平均移動法」、[画面出力Jなどが登録される。ま
た、この合成プログラム部品についての項目データが、
各構成部品から自動的に選択され、あるいはユーザによ
り指定されることにより、知識ベース6に記憶される。
このような合成プログラム部品や、その項目データがプ
ログラムデータベース5および知識ベース6にそれぞれ
記憶された後は、例えばrアスキーコードで書かれたワ
アイルからデータを読み出し、このデータを平均移動法
によりスムージング処理して画面に表示するAという上
層の仕様記述が入力されると、これに対応した合成プロ
グラム部品がプログラムデータベース5から選び出され
てくるので、自動プログラミングが効率よく行われるよ
うになる。
ステップS15:以上のように合成プログラムが登録さ
れると、ドキュメント生成部9およびプログラムソース
生成部IOが起動されて、その合成プログラムのドキュ
メントおよびプログラムソースを生成して印字出力する
なお、前述したようにこの発明の特徴は、最下層の仕様
に対応したプログラム部品のみならず、上層の仕様に対
応した合成プログラムをも逐次、プログラム部品として
格納し、これを検索対象にしたことにあり、各プログラ
ム部品の項目データの構成や、合成プログラムの精度や
実行順序のチェンジなどの処理は、実施例で説明したも
のに限定されず、種々変更実施することができる。
G1発明の効果 以、トの説明から明らかなように、この発明に係る自動
プログラミングシステムによれば、最下層の仕様に対応
したプログラム部品のみならず、−L層仕様に対応した
合成プログラムをもプログラム部品として利用できるよ
うにしたから、要求仕様にあったプログラムを効率よく
生産することができる。
【図面の簡単な説明】
第1Mはこの発明の一実施例に係る自動プログラミング
システムの概略構成を示したブロック図、第2図は実施
例の動作フローチャートである。 1・・・入出力装置   2・・・仕様解析部3・・・
プログラム部品合成部 4・・・y−タベース管理部 5・・・プログラムデータベース 6・・・知識ベース   7・・・プログラム生成部8
・・・論理検証部   9・・・ドキュメント生成部I
O・・・プログラムソース生成部 特許出願人 株式会社 島津製作所

Claims (1)

    【特許請求の範囲】
  1. (1)プログラム部品群を記憶したプログラムデータベ
    ースと、各プログラム部品の合成に関する知識を記憶し
    た知識ベースと、目標プログラムの仕様を入力する入力
    手段と、前記入力された目標プログラムの仕様に基づき
    、前記各プログラム部品の知識を参照してプログラム部
    品群を検索し、前記仕様を満足するプログラム部品を合
    成するプログラム部品合成部と、前記合成された合成プ
    ログラムの論理的検証を行う論理検証部とを備えた自動
    プログラミングシステムにおいて、前記論理検証された
    合成プログラムをプログラム部品として前記プログラム
    データベースに記憶するとともに、そのプログラム部品
    の知識を前記知識ベースに記憶するようにしたことを特
    徴とする自動プログラミングシステム。
JP13695689A 1989-05-30 1989-05-30 自動プログラミングシステム Pending JPH032923A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13695689A JPH032923A (ja) 1989-05-30 1989-05-30 自動プログラミングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13695689A JPH032923A (ja) 1989-05-30 1989-05-30 自動プログラミングシステム

Publications (1)

Publication Number Publication Date
JPH032923A true JPH032923A (ja) 1991-01-09

Family

ID=15187436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13695689A Pending JPH032923A (ja) 1989-05-30 1989-05-30 自動プログラミングシステム

Country Status (1)

Country Link
JP (1) JPH032923A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008290A1 (en) * 1992-10-02 1994-04-14 Fujitsu Limited System for writing program in user's language
US5940378A (en) * 1996-02-02 1999-08-17 Fujitsu Limited Call control in exchange suitable for intelligent network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6288032A (ja) * 1985-10-14 1987-04-22 Hitachi Ltd プログラム開発のための部品選択方式
JPS62177627A (ja) * 1986-01-31 1987-08-04 Hitachi Ltd 部品切り出しプログラム作成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6288032A (ja) * 1985-10-14 1987-04-22 Hitachi Ltd プログラム開発のための部品選択方式
JPS62177627A (ja) * 1986-01-31 1987-08-04 Hitachi Ltd 部品切り出しプログラム作成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994008290A1 (en) * 1992-10-02 1994-04-14 Fujitsu Limited System for writing program in user's language
US5640576A (en) * 1992-10-02 1997-06-17 Fujitsu Limited System for generating a program using the language of individuals
US5940378A (en) * 1996-02-02 1999-08-17 Fujitsu Limited Call control in exchange suitable for intelligent network

Similar Documents

Publication Publication Date Title
US20090024384A1 (en) Data processing method and system, program for realizing the method, and computer readable storage medium storing the program
JPH08234975A (ja) プログラム生成装置および方法
JP7055064B2 (ja) データベースマイグレーション支援システム及びプログラム
US20050065947A1 (en) Thesaurus maintaining system and method
JPH09212353A (ja) 再利用設計支援方法および設計支援装置
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN112328621A (zh) Sql转换方法、装置、计算机设备及计算机可读存储介质
JP4136594B2 (ja) データ処理方法およびデータ処理プログラム
JPH032923A (ja) 自動プログラミングシステム
JP6775740B1 (ja) 設計支援装置、設計支援方法及び設計支援プログラム
JP6993573B2 (ja) プログラム解析方法、プログラム解析装置およびプログラム解析プログラム
JPH04160473A (ja) 事例再利用型翻訳方法および装置
JPH09292986A (ja) 部品抽出方法
JPH04319771A (ja) オンライン情報検索・更新システム
JP2015011685A (ja) ビジネスルール管理システム及びビジネスルール管理方法
CN115168399B (zh) 基于图形化界面的数据处理方法、装置、设备及存储介质
JP3345522B2 (ja) データ項目部品を利用するプログラム開発支援装置
JP2507650B2 (ja) ファイル入出力装置
JPH07146785A (ja) プログラム自動生成方法および装置
JPH0743728B2 (ja) 要約文生成方式
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JP2005202612A (ja) データベース生成プログラム作成装置
JP3245635B2 (ja) ソフトウェア生産物の標準化方法及び解析方法
JPH02116972A (ja) プログラムデータベースの検索方式
JP2605402B2 (ja) 辞書システムにおけるデータ導出方式