JPH02255914A - プログラム自動生成装置 - Google Patents

プログラム自動生成装置

Info

Publication number
JPH02255914A
JPH02255914A JP1100533A JP10053389A JPH02255914A JP H02255914 A JPH02255914 A JP H02255914A JP 1100533 A JP1100533 A JP 1100533A JP 10053389 A JP10053389 A JP 10053389A JP H02255914 A JPH02255914 A JP H02255914A
Authority
JP
Japan
Prior art keywords
variable
program
software component
search
name
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.)
Granted
Application number
JP1100533A
Other languages
English (en)
Other versions
JP2670345B2 (ja
Inventor
Yasuko Ono
小野 康子
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of JPH02255914A publication Critical patent/JPH02255914A/ja
Application granted granted Critical
Publication of JP2670345B2 publication Critical patent/JP2670345B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • Y10S706/922Computer program preparation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、システム仕様が人力されると対象システム
に合ったプログラムを選択的に自動生成させる技術に関
し、プログラムの設計のみならずハードウェアの回路設
計等にも利用可能な、汎用性のあるプログラム自動生成
装置に関する。
(従来の技術) 近年、ソフトウェア設計の生産性向上を計るため、知識
工学を応用したプログラム自動生成システムの研究・開
発が活発化してきている。その中でも主流を占めるのは
、既存のプログラムをソフトウェア部品とみなしてソフ
トウェア部品間の接続やデータ構造を機能として表現し
、要求される機能を満足するソフトウェア部品をルール
により自動検索する方法を用いたソフトウェア部品検索
装置である。
第9図は、従来のソフトウェア部品検索装置の構成を表
した概略ブロック図である。従来のソフトウェア部品検
索装置80は、部品検索を行うためのソフトウェア部品
検索推論処理系81と、ソフトウェア部品検索ルール記
憶部30と、ソフトウェア部品記憶部85とを持つ。こ
の装置80は、ソフトウェア部品の機能を定義した要求
機能86を人力として、検索ルールにより検索されたプ
ログラム87を出力することに特徴がある。
以下、第9図に従って同装置の内容を具体的に説明する
要求機能86は、検索したいソフトウェア部品の機能を
定義したもので、キーボードや文字読み取り装置等から
入力される。入力された要求機能仕様は、要求機能内部
データ記憶部83に格納される。
格納された内部データに基づき、ソフトウェア部品検索
推論処理系81に内装されるソフトウェア部品検索手段
21は、ソフトウェア部品検索ルール記憶部30のルー
ルに適合するソフトウェア部品を、ソフトウェア部品記
憶部85に内装されるプログラム記憶部41のプログラ
ムから、検索する。こうして検索されたプログラムは、
内部部品プログラム記憶部84に記憶される。ここに記
憶されたプログラムは、ソフトウェア部品検索装置80
内部で使用される統一された言語(たとえばマシン語)
で表されている。このプログラムの内部使用言語は、プ
ログラム変換・出力処理系62において、自動生成され
たソフトウェアにより対象プラントを運転するためのプ
ログラマブルコントローラやシーケンサ等の対象マシン
言語に変換される。
作業記憶部50は、その内部に、ソフトウェア部品検索
時に使用されるデータを記憶するソフトウェア部品検索
特使用データ記憶部51を持つ。
この記憶部51を用いて、ソフトウェア部品検索手段2
1によりソフトウェア部品検索ルールが解釈・実行され
るときに、−時的に内部データの書き込み・読み出しが
行われる。
ターゲットプログラム87は、入力された要求機能・に
応じて検索された部品プログラムで実際に使用する計算
機やプログラマブルコントローラ等の対象マシン言語の
プログラムに変換したものであり、ソフトウェア部品検
索装置の出力としてCRT表示装置やファイル装置等に
送られる。
(発明が解決しようとする課題) 従来のプログラム自動生成装置では、ソフトウェア部品
に対する機能、及びソフトウェア部品間の結合を定義し
た要求機能をプログラム自動生成装置に入力して、プロ
グラムを生成している。
しかし、たとえば一般のプラント設備においては、設備
機械をどの様に運転するか、またこの設備の駆動装置の
種類、検出器の種類、及びその使用目的はどんなものか
等を記述した、対象システム毎のシステム仕様書が存在
する。従って、このシステム仕様書を満足するプラント
システムのプログラムを生成するためには、そのシステ
ム仕様を基に、設計者がプログラム全体の構成を考慮し
、前記要求機能を別途作成しなければならなかった。
また前記ソフトウェア部品は、部品を構成する信号、デ
ータの意味、及びそれらの組合せが使用目的毎に具体的
に決められた専用部品であり、汎用性がない。従って、
前記要求機能とソフトウェア部品とを極カ一致させるた
めには、多種のソフトウェア部品を数多く用意しなけれ
ばならない。
ソフトウェア部品の数が少ないと、要求機能にぴったり
の部品が見つからないことが起きる(検索失敗)。この
場合、要求機能に最も近いソフトウェア部品を検索した
後、検索されたソフトウェア部品を設計者が要求機能に
合うよう個別に修正する必要が生ずる。
このように、従来のプログラム自動生成装置を使うため
には、多くの人手と時間を要するか、さもなくば多くの
ソフトウェア部品を必要とする。
この発明の目的は、ソフトウェア部品に柔軟性を持たせ
、相対的に少ない人手と少ないソフトウェア部品数で、
所望のシステム仕様に合ったプログラムを自動生成でき
るプログラム自動生成装置を提供することである。
[発明の構成] (課題を解決するための手段) この発明のプログラム自動生成装置では、システム仕様
が入力され、その仕様に合うソフトウェア部品が検索さ
れる。この検索により得られたソフトウェア部品中に納
められている基本プログラム展開知識に従って、システ
ム仕様を満足する機能が得られるように、検索されたソ
フトウェア部品が修正または変換される。
これを実現すべく、この発明のプログラム自動生成装置
は、システム仕様が要求する機能を細分化されかつ簡素
化した機能の集合として順序立てたプログラム生成ルー
ル、及び前記簡素化した機能を満足するソフトウェアの
部品を検索するソフトウェア部品検索ルールの記憶部を
含むソフトウェア部品検索ルール記憶部と、 前記機能の基本機能を実現する基本プログラム、前記基
本プログラムを前記システム仕様に合うように展開また
は変更するための基本プログラム展開知識、及び前記基
本プログラム中の変数の属性を決定する知識の記憶部を
含むところの前記ソフトウェア部品を格納するソフトウ
ェア部品記憶部と、 前記システム仕様から前記プログラム生成ルールを求め
、この求められたプログラム生成ルールからさらに前記
ソフトウェア部品検索ルールにより要求される機能をも
つソフトウェア部品を検索するソフトウェア部品検索手
段と、 前記プログラム中で使用する変数または定数の属性に応
じてその名称を生成する変数名称生成処理系、及び前記
変数または定数の変数名称とその属性を記憶する変数属
性記憶部を含む変数属性管理処理系と、 前記ソフトウェア部品検索手段により検索して得られた
前記ソフトウェア部品の中の変数属性決定知識に基づき
前記変数の属性を決定し、この決定した変数属性を前記
変数属性管理処理系に送って前記変数名称を得、この得
た変数名称と前記ソフトウェア部品中の前記プログラム
展開知識に従ってこのソフトウェア部品中の前記基本プ
ログラムを展開または変更するソフトウェア部品展開手
段とを持つことを特徴とする。
なお、この発明における変数は定数も含む。また変数の
内部表現型(ビット型、整数型、浮動小数点型)は問わ
ない。
(作用) この発明のプログラム自動・生成装置の基本構成は、例
えば第1図に示すようになっている。この発明の詳細な
説明する前に、ソフトウェア部品について述べる。
この発明で用いられるソフトウェア部品は、所定の機能
を実現するための基本的な手段が示された基本プログラ
ムと、この基本プログラムを利用するにあたりこの基本
プログラムを様々なシステム仕様で各々異なる機能に合
致させる基本プログラム展開知識と、この基本プログラ
ム中で用いられている変数に対して機能に合わせた意味
付けを行うための変数属性決定知識とが、一体となった
ものである。すなわち、対象システムが要求する機能に
合わせ、ソフトウェア部品展開手段および変数属性管理
処理系において、変数属性決定知識を用いて基本プログ
ラム中で用いられている変数の意味づけを行い、続いて
基本プログラム展開知識を用いて基本プログラムをシス
テム仕様に合わせて展開・変更する。これにより、基本
プログラムはシステム仕様に合致した機能を持つように
なる。
(実施例) この発明の実施例を第1図を参照して説明する。
なお以下の説明において、第9図を用いてすでに説明済
みの部分については、同一の参照符号を用いることで重
複説明を避けることにする。
システム仕様11は、キーボードや文字読み取り装置等
、何等かの人力手段により、プログラム自動生成装置1
0に入力される。
入力されたシステム仕様11はプログラム自動生成装置
10内で使用する形式の内部データに変換され、変換さ
れたデータはシステム仕様内部データ記憶部63に格納
される。
記憶部63に格納されたシステム仕様内部データを基に
、プログラム自動生成推論処理系20のソフトウェア部
品検索手段21は、ソフトウェア部品検索ルール記憶部
3・0内のプログラム生成ルール記憶部31に納められ
たプログラム生成ルールを検索する。この検索によりソ
フトウェア部品検索手段21は作成すべきプログラムを
決定する。ソフトウェア部品検索手段21は次に、決定
されたプログラムに対応した部品検索ルールを、記憶部
30内のソフトウェア部品検索ルール記憶部32から、
同様に検索する。さらにソフトウェア部品検索手段21
は、前記部品検索ルールを解釈し、解釈したルールに適
合したソフトウェア部品の番号とそのソフトウェア部品
を使ってどのようなプログラムを生成したいのかを示し
たゴールとを、ソフトウェア部品展開手段22へ転送す
る。
ソフトウェア部品展開手段22は、受は取ったソフトウ
ェア部品番号に従い、ソフトウェア部品をソフトウェア
部品記憶部40より読み出す。このソフトウェア部品は
、対象とするシステム仕様11が要求する機能の基本機
能を実現するための基本プログラム(41)および基本
プログラム展開知識(42)と、この基本プログラム(
41)中で使用されている変数(あるいは定数)の属性
をシステム仕様に合うように特殊化するための変数属性
決定知識(43)とからなる。続いて、ソフトウェア部
品検索手段21により検索されたソフトウェア部品中の
変数属性決定知識(43)を基に、変数属性定義・検索
条件が決定されると、決定された条件が変数属性管理処
理系70に与えられる。変数名称生成処理系72は、与
えられた変数属性の定義・検索条件に応じて、当該条件
が定義条件の場合には新たな変数名称を生成し、この新
変数名称とともに変数属性定義・検索条件の持つ意味を
変数属性記憶部71に記憶させる。当該条件が検索条件
の場合には、処理系72は変数属性定義・検索条件の持
つ意味に該当する変数あるいは定数の変数名称を変数属
性記憶部71から検索し、前記新変数名称とともに検索
された変数名称をソフトウェア部品展開手段22に返送
する。
このように生成されたプログラムは、内部プログラム記
憶部64に記憶される。
なお、作業記憶部50は、プログラム生成やソフト部品
検索を行うときに使用したデータを、時的に、ゴール記
憶部51および展開部品記憶部52に格納するためのも
のである。プログラム変換・出力処理系62およびプロ
グラム87は第9図のものと同じである。
このプログラム生成ルールとソフトウェア部品検索ルー
ルについて、第2図を用いて説明する。
あるシステム仕様を満足させるには、まづその仕様が要
求している機能を細分化する。第2図では、左列(メタ
ルール)に記載されている部分がプログラム生成ルール
を示す。通常は、プログラム生成ルールはシステムで実
行される推論のため一条件を示すのが、第2図の中左列
(RulesOc)である。この中左列に示される条件
者々をさらに細分化したのが第2図の中有列(Rule
s Oc 1)である。この中有列に示された各機能を
実現するためのソフトウェア部品が最古列の部品群であ
る。
第2図の中左列および中有列の推論の順序を示したもの
が、ソフトウェア部品検索ルールである。
すなわち、システム仕様が要求する機能を最も大まかに
微小機能の集合として示したものがプログラム生成ルー
ルである。また、プログラム生成ルールで示された各機
能をさらに細分化した機能として示し、こうして細分化
された機能の1つをさらにまた段階的に細分化して行き
、ソフトウェア部品で実現可能な機能まで掘り下げて示
すものがソフトウェア部品検索ルールである。
第3図はプログラム自動生成推論処理系20で行われる
処理の概要を示すフローチャートである。
プログラム自動生成の処理が開始されると、ステップP
1にて、ソフトウェア部品検索ルール記憶部30からプ
ログラム生成ルールが読み出され、このルールに従って
プログラム生成のためのゴールが生成される。つぎにソ
フトウェア部品検索ルールが読み出される。読み出され
たルールに従って、ゴールの内容に適合したソフトウェ
ア部品の検索が行われる。ステップC1では、ゴールに
適合したソフトウェア部品がステップP1において検索
されたか否かの判断が行われる。
ステップC1でソフトウェア部品が検索されたと判断さ
れると、ソフトウェア部品展開手段22と変数属性管理
処理系70において、以下の処理が行なわれる。ステッ
プP2では、ステップPIで生成されたゴールに基づき
、ソフトウェア部品検索手段21から受は取ったソフト
ウェア部品の中の変数属性決定知識(43)に従って、
このソフトウェア部品で使用する変数属性の定義条件・
検索条件が生成される。
ステップC2では、ステップP2で生成された条件が定
義条件なのか検索条件なのかの判断がなされる。生成さ
れた条件が定義条件であれば、ステップP3において、
この定義条件に従い新しい変数名称が生成され、生成さ
れた新変数名称は定義条件とともに変数属性記憶部71
に格納される。
格納後、新変数名称(定義変数)はプログラム自動生成
推論処理系20に返される。
一方、生成された条件が検索条件であれば、ステップP
4において、この検索条件に該当する変数名称が変数属
性記憶部71から検索され、その信号名称(参照変数)
が取り出される。
ステップC3では、基本プログラム中で使用しているす
べての変数名称が決定されたか否かが判断される。すべ
ての変数名称が決定されていないときは、ステップP2
.C2,P3.P4.C3の手順が再実行される。
すなわち、ステップP2.C2,P3.P4゜C3は変
数属性管理処理系70の処理を表したものである。これ
らのステップにおいて、ステップP2で展開された変数
属性決定知識(43)に従って、基本プログラム内で使
用される変数の名称すべてが、ステップP3.P4にて
決定される。
ステップC3にてすべての変数名称が決定されたと判定
されると、ステップP5では、ソフトウェア部品中の基
本プログラムが、ステップP3およびP4で決定された
定義変数および参照変数をもとに展開される。すなわち
、ステップP5において、ソフトウェア部品で使用され
ている仮の変数名称が、ステップP3で生成された変数
名称、またはステップP4で検索された変数名称と置換
される。
ステップC4では、システム仕様内部データ記憶部63
に格納されたシステム仕様に対応するプログラムが可能
な限りすべて生成されたか否かが、判断される。システ
ム仕様対応プログラムがすべて生成されていないときは
、ステップP1に戻り、第牛図の手順が初めから実行さ
れる。システム仕様対応プログラムがすべて生成された
と判断されると、第3図の処理は終了する。
第4図、第5図、および第6図は、この発明により給油
ポンプシーケンスのソフトウェア部品検索を行う場合に
於ける、各種データの内容およびそのデータの流れの具
体例を示す。
第4図は第3図の処理ステップP1に対応する。
第4図において、ソフトウェア部品検索手段21は、シ
ステム仕様内部データ記憶部63内のシステム仕様内部
データを解釈する。そしてソフトウェア部品検索ルール
記憶部30に記憶されたソフトウェア部品検索ルールに
従って、ソフトウェア部品の検索を行う。この検索実行
時、使用されたデータがゴール記憶部51 (51−1
〜5l−n)に随時格納されていく過程は、たとえば次
のようになる。
第1図の構成において、ソフトウェア部品検索ルール記
憶部30に、 「(制御がMCC,NRのモータ ?MOTがある ならば 部品PKOOIを用いて ?MOTを制御するプログラムを作る。)」というルー
ルがあるとする。ここでシステム仕様内部データ記憶部
63を参照すると、所定のモータ定格リストより、たと
えば rMOOl  アプリケーション:給油ポンプ制御: 
M CC,N R−−−−−−Jが検索ルールの?MO
Tに該当するモータであると判定される。するとゴール
記憶部51(−51−1)に、たとえば rGOAL 101 アプリケーション:給油ポンプ、 デバイス番号:MOOl、 部品番号:PKOOIJ が格納される。この後、ソフトウェア部品PKO01の
展開が開始される。
第5図は、第4図に示したゴールGOALIO1を基に
、ソフトウェア部品PKOOIの中の変数属性決定知識
に従って変数の検索条件および定義条件を生成する過程
の例を示す。第5図は、第3図の処理ステップP2に相
当する。
第5図において、ソフトウェア部品展開手段22は、ソ
フトウェア部品記憶部40から読み出されたソフトウェ
ア部品(ここではPKOOIという識別名をもつソフト
ウェア部品)と、ゴール記憶部51 (−51−1)の
内容とを参照しながら、変数属性決定知識記憶部43に
格納された知識を展開して展開部品を作成し、作成され
た展開部品を展開部品記憶部52に格納して行く。
第5図の例では、基本プログラム(41)の中で使用さ
れている記号A、B、C,D、Eは、当該ソフトウェア
部品から他のソフトウェア部品を参照する際の変数であ
り、記号Fは当該ソフトウェア部品により定義される変
数である。変数属性決定知識(43)には、前記記号A
、B、C。
−−Fという仮の名称を持つ変数の意味付けの方法、つ
まり正式な変数名称の決定方法が示されている。
例えば変数属性決定知識(43)の中に、知識「A 検
索条件 機械名称がゴールの機械名称と等しく、意味が運転指令
である信号」 があり、参照しているゴールの内容が、「機械名称:給
油ポンプ デバイス番号:MOOl 部品番号:PKOOIJ であるときは、Aの条件として、 [A 検索条件 機械名称が給油ポンプ、 意味が運転指令である信号」 が生成される。
同様の手法により、例えば変数Fの定義条件として、 「F 定義条件 機械名称が給油ポンプ、 意味が運転出力となる信号」 が生成される。
第6図は、第3図に示すステップP3ないしステップP
5の処理内容を例示するものである。
第6図において、決定しようとする変数の定義条件が与
えられた場合、変数属性管理処理系70は、ソフトウェ
ア部品展開手段22から受は取った変数Fの定義条件に
従い、まづ、この定義条件を変数名称生成処理系72(
第1図)に転送する。変数名称生成処理系72は、受は
取った定義条件を基に変数名称を生成する。ここでは、
処理系72は、MOOI−Fという変数名称を生成して
いる。
変数属性管理処理系70は、変数Fの正式な変数名称M
OOI−Fを受は取ると、変数Fの定義条件の内容と併
せてこの正式変数名称MOOI−Fを変数属性記憶部7
1に登録し、その後、変数名称MOOI−Fをソフトウ
ェア部品展開手段22に返す。
決定しようとしている変数の検索条件が与えられた場合
、変数属性管理処理系70は、ソフトウェア部品展開手
段22から受は取った変数の検索条件に示されている条
件に合致する変数の変数名称を、変数属性記憶部71か
ら検索する。これを第6図の場合で説明する。
当初、展開部品記憶部52には、変数Aの検索条件とし
て、 「A 検索条件 機械名称が給油ポンプ、 意味が運転指令である信号」 と記述されている。そこで、この条件にあう変数が変数
属性記憶部71に既に定義されているか否かを検索する
。この検索により、 rPLOl−ON:機械名称が給油ポンプ、意味が運転
指令、 モードが手動である信号」 という記述と、 rcPUIF−1:機械名称が給油ポンプ、意味が運転
指令、 モードがCPUである信号」 という記述が見つかる。この場合、変数名称PL01−
ONおよびCPUIF−1を検索した変数属性管理処理
系70は、この変数名称をソフトウェア部品展開手段2
2に返す。同様なやり方で、変数B、C,・・Fの変数
名称の検索が行われる。
以上のような手法を用いて検索または定義された変数名
称に従い、プログラム展開機構22において、基本プロ
グラム記憶部41に記憶された基本プログラムの中の変
数A、B、  ・・・Fを正式な変数名称に変更し、出
来上がったプログラムを内部プログラム記憶部64に転
送し、そこに格納する。
このとき、1つの検索変数に対し複数の変数が返された
り、逆に1つも変数が返されなかったりした場合は、基
本プログラム展開知識(42)に従って、変数の組合せ
、削除、選択等を行う。
第6図の場合は、基本プログラム(41)の内容 r  (−F  (and  (o  r  (and
   A   B)(and   E   F)) CD))J を、 r  (−MOOI−F  (and  (o  rP
LOI−ON CPU  I  F−1 (and   MOOI−F   MOOI−88)P
LO2−OFF (not   CPUIF−2 MOOI−3)  )J と置き換えて、内部プログラム記憶部64に格納する。
(第6図の記憶部64のブロックは上記置き換えられた
プログラムの構成を図式化して示している。)このよう
にして、順次ゴールに対するプログラムが生成されてい
く。
一旦変数属性記憶部71に格納された変数名称とその属
性は、どのソフトウェア部品からも参照(アクセス)可
能になる。このようにある変数名称・変数属性が複数の
ソフトウェア部品から共通参照可能となることで、異な
るソフトウェア部品同士がその意味レベルで結合されて
いくことになる。
例えば、第4図のゴール記憶部51−nに格納されたゴ
ールGOAL20(1)を基にソフトウェア部品PKO
O5を展開するとき、PKOO5から検索する変数の一
つとして、 「X 検索条件 機械名称が給油ポンプ、 意味が運転出力である信号」 という変数があったとする。この場合、上記変数の条件
Xにより、変数属性管理処理系70は変数名称MOOI
−Fを返すことになる。
逆に、ゴールの内容は異なるがソフトウェア部品番号が
同じだった場合、例えば、ゴールが、「機械名称:換気
ファン、 デバイス番号:MOO9、 部品番号:PKOOIJ という内容であったときは、変数Aの検索条件は、「A
 検索条件 機械名称が換気ファン、 意味が運転指令である信号j となる。この場合、第6図で示した変数名称PL01−
ON、CPUIF−1とは異なる変数名称が検索されて
くることになり、同様に変数Fに対しても異なる変数名
称が定義されることになる。
第7図は、第3図のステップP3の処理に対応する。第
7図において、変数属性管理手段71は、ソフトウェア
部品展開手段22から受は取った信号Eの定義条件に従
い、まづこの定義条件を変数名称生成手段72に転送す
る。変数名称生成手段72は、受は取った定義条件中の
言葉の意味を基に変数名称73−1を生成する。
この実施例では、変数名称生成手段72中に、そこで扱
われる言葉の略語を定義した辞書が用意されており、こ
れらの略語の組合せから変数名称が生成される。ここで
は、変数名称生成手段72は、PMPRUNという変数
名称73−1を生成して、この変数名称を変数属性管理
手段7oに返している。
変数属性管理手段70は、信号Eの正式な変数名称73
−1 (PMPRUN)を受は取ると、信号Eの定義条
件の内容と合わせて、受は取った正式変数名称PMPR
UNを、ソフトウェア部品展開手段22に返送する。
第8図は、第3図のステップP4の処理に対応する。第
8図において、変数属性管理手段7oは、ソフトウェア
部品展開手段22がら受は取った信号Aの検索条件52
−1に示されている条件に合致する変数の変数名称を変
数属性記憶手段71がら検索する。第8図の例では、変
数名称PLO2INが検索される。変数属性管理手段7
oは、検索された変数名称73−2 (PLO2IN)
 を7フトウ工ア部品展開手段22に返送する。
同様の方法で、信号B、C,D各々の変数名称73〜2
の検索も行われる。
第7図および第8図にて説明した方法で検索または定義
された変数名称73−1.73−2に従い、ソフトウェ
ア部品展開手段22は、基本プログラム記憶部41に格
納されている基本プログラム中の信号A、B、−・・E
それぞれを、正式な変数名称に変更する。こうして出来
上がったプログラムは、プログラム記憶手段64に転送
され、そこに格納される。
このようにして順次ゴールに対するプログラムが生成さ
れて行く。こうして−旦変数属性記憶手段71に格納さ
れた変数名称とその属性は、どのソフトウェア部品から
も参照可能になる。このため互いに異なるソフトウェア
部品同士が意味レベルで結合されて行くことになる。
第5図に例示した変数属性決定知識記憶手段43の内容
と、変数属性定義・検索条件記憶手段52の内容とを比
較すると分かるように、この実施例では、変数属性決定
知識(43)内では一般的な記述がなされ、変数属性定
義・検索条件(52)内ではゴールに基づいて特殊化さ
れた記述がなされている。すなわち、この特殊化された
記述が、変数の特殊化された意味を表現するものとなる
つまり、一般的な意味を特殊な意味に変更する操作によ
って1つのソフトウェア部品の適用可能範囲が広がる。
と同時に、1つのシステムを設計する時に同じソフトウ
ェア部品を何度使用しても、生成しようとするプログラ
ムのゴールが異なれば、確実に違う意味を持ったプログ
ラムが生成される。
さらに、1つの汎用プログラム部品が目的に応じて細か
く修正されるので、システム仕様により忠実なプログラ
ムを自動生成することができる。
[発明の効果] 以上述べたように、この発明によれば、システム仕様の
人力に応じて所望のプログラムが自動生成できる。この
ため、プログラム開発の人手、時間が大幅に節減できる
。また、ソフ)・ウェア部品自身が基本プログラムを展
開・変更するための知識を具備しているのでソフトウェ
ア部品に柔軟性があり、全体として見た場合ソフトウェ
ア部品の数、ソフトウェア部品検索ルールの数が少なく
て済む。従って検索ルールの複雑さを回避することがで
きる。さらに、ソフトウェア部品の中に基本プログラム
展開知識が含まれているため、この発明のプログラム自
動生成装置は、基本プログラムの修正・変更に対しても
柔軟に対応できる。加えて、1つのソフトウェア部品を
採用するに当たっての拘束条件が従来よりも少ない、つ
まり検索ルールとソフトウェア部品が粗結合である。こ
のため、ソフトウェア部品が修正・変更されても、ソフ
トウェア部品検索ルールは、必ずしも修正・変更する必
要はない。逆に、ソフトウェア部品検索ルールが変更に
なった場合、必ずしもソフトウェア部品を変更する必要
はない。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るプログラム自動生成
装置の構成を示すブロック図;第2図はソフトウェア部
品を検索する際のルールを説明するルール展開図;第3
図はこの発明の一実施例に係るプログラム自動生成装置
における処理の流れを説明するフローチャート;第4図
は第3図のフローチャート中のステップP1の処理にお
けるプログラム生成過程を示す図;第5図は第4図のゴ
ールGOAL 101を基にソフトウェア部品P K2
O2内の変数属性知識に従って変数検索条件および定義
条件が生成される過程を示す図;第6図は第3図のフロ
ーチャート中のステップP3゜P4.P5の処理の具体
例を説明する図;第7図および第8図はそれぞれ第3図
のステップP3およびP4に対応し、変数名称決定から
プログラム生成までの過程を説明する図;第9図はこの
発明が適用されないプログラム自動生成装置の問題点を
説明するためのブロック図である。 10・・・プログラム自動生成装置;11・・・システ
ム仕様;20・・・プログラム自動生成推論処理系;2
1・・・ソフトウェア部品検索手段;22・・・ソフト
ウェア部品展開手段;30・・・ソフトウェア部品検索
ルール記憶部;31・・・プログラム生成ルール記憶部
;32・・・ソフトウェア部品検索ルール記憶部40・
・・ソフトウェア部品記憶手段;41・・・基本プログ
ラム記憶部;42・・・基本プログラム展開知識記憶部
;43・・・変数属性決定知識記憶部;50・・・作業
記憶部;51・・・ゴール記憶部;52・・・展開部品
記憶部;62・・・プログラム変換・出力処理系;63
・・・システム仕様内部データ記憶部;64・・・内部
プログラム記憶部;70・・・変数属性管理手段;71
・・・変数属性記憶部;72・・・変数名称生成処理系
;87・・・ターゲットプログラム 出願人代理人 弁理士 鈴江武彦 第 図

Claims (1)

  1. 【特許請求の範囲】 対象とするシステムの要求に合致するプログラムを生成
    するものにおいて、 前記システムのシステム仕様が要求する機能を、細分化
    されかつ簡素化した機能の集合として順序立てたプログ
    ラム生成ルール、及び前記簡素化した機能を満足するソ
    フトウェアの部品を検索するソフトウェア部品検索ルー
    ルの記憶部を含むソフトウェア部品検索ルール記憶部と
    、 前記機能の基本機能を実現する基本プログラム、前記基
    本プログラムを前記システム仕様に合うように展開また
    は変更するための基本プログラム展開知識、及び前記基
    本プログラム中の変数の属性を決定する知識の記憶部を
    含むところの前記ソフトウェア部品を格納するソフトウ
    ェア部品記憶部と、 前記システム仕様から前記プログラム生成ルールを求め
    、この求められたプログラム生成ルールからさらに前記
    ソフトウェア部品検索ルールにより要求される機能をも
    つソフトウェア部品を検索するソフトウェア部品検索手
    段と、 前記プログラム中で使用する変数または定数の属性に応
    じてその名称を生成する変数名称生成処理系、及び前記
    変数または定数の変数名称とその属性を記憶する変数属
    性記憶部を含む変数属性管理処理系と、 前記ソフトウェア部品検索手段により検索して得られた
    前記ソフトウェア部品の中の変数属性決定知識に基づき
    前記変数の属性を決定し、この決定した変数属性を前記
    変数属性管理処理系に送って前記変数名称を得、この得
    た変数名称と前記ソフトウェア部品中の前記プログラム
    展開知識に従ってこのソフトウェア部品中の前記基本プ
    ログラムを展開または変更するソフトウェア部品展開手
    段とを具備したことを特徴とするプログラム自動生成装
    置。
JP1100533A 1988-04-20 1989-04-20 プログラム自動生成装置 Expired - Fee Related JP2670345B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP63-95413 1988-04-20
JP9541388 1988-04-20
JP63-329749 1988-12-27
JP32974988 1988-12-27

Publications (2)

Publication Number Publication Date
JPH02255914A true JPH02255914A (ja) 1990-10-16
JP2670345B2 JP2670345B2 (ja) 1997-10-29

Family

ID=26436651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1100533A Expired - Fee Related JP2670345B2 (ja) 1988-04-20 1989-04-20 プログラム自動生成装置

Country Status (2)

Country Link
US (1) US5084813A (ja)
JP (1) JP2670345B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107628A (ja) * 1990-08-28 1992-04-09 Nec Corp ソフトウェア再利用支援システム
JPH04137038A (ja) * 1990-09-27 1992-05-12 Business Syst Kenkyusho:Kk アプリケーションソフトウェア作成装置
JP2007206798A (ja) * 2006-01-31 2007-08-16 Fujitsu Ten Ltd 制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH022419A (ja) * 1988-06-10 1990-01-08 Hitachi Ltd プログラム情報管理方式
JP2978184B2 (ja) * 1989-10-06 1999-11-15 株式会社日立製作所 制御ルール作成装置
DK0502975T3 (da) * 1989-11-30 1998-02-23 Seer Technologies Inc Computerunderstøttet softwareudviklingsfacilitet
US5495610A (en) * 1989-11-30 1996-02-27 Seer Technologies, Inc. Software distribution system to build and distribute a software release
US5542085A (en) * 1990-07-24 1996-07-30 Hitachi, Ltd. Method for producing program modules
JPH04137039A (ja) * 1990-09-28 1992-05-12 Toshiba Corp プログラム自動生成方式
US5423041A (en) * 1990-09-28 1995-06-06 Texas Instruments Incorporated Coupling rules to an object-oriented program
US5345380A (en) * 1990-12-18 1994-09-06 Bell Communications Research, Inc. System and processes specifying customized customer telecommunication services using a graphical interface
CA2190889C (en) * 1990-12-18 1999-03-30 David Leveau Babson, Iii Systems and processes for specifying customized telecommunication services
EP0496494A3 (en) * 1991-01-22 1993-05-12 International Business Machines Corporation Software maintenance system
JPH04241023A (ja) * 1991-01-25 1992-08-28 Hitachi Ltd プログラム合成方法
EP0501613A3 (en) * 1991-02-28 1993-09-01 Hewlett-Packard Company Heterogeneous software configuration management apparatus
JPH04280320A (ja) * 1991-03-08 1992-10-06 Nec Corp プログラム自動生成装置
US5216592A (en) * 1991-04-25 1993-06-01 International Business Machines Corporation System and method for business process automation
US5317732A (en) * 1991-04-26 1994-05-31 Commodore Electronics Limited System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources
US5574843A (en) * 1991-04-26 1996-11-12 Escom Ag Methods and apparatus providing for a presentation system for multimedia applications
US6484189B1 (en) 1991-04-26 2002-11-19 Amiga Development Llc Methods and apparatus for a multimedia authoring and presentation system
US5398197A (en) * 1991-10-06 1995-03-14 Mitsubishi Denki Kabushiki Kaisha Method of creating debug specification and test program creating specification
JPH05113879A (ja) * 1991-10-23 1993-05-07 T A S Tsusho Kk プログラムの作成及びデータの処理方法
CZ293613B6 (cs) * 1992-01-17 2004-06-16 Westinghouse Electric Corporation Způsob monitorování chodu zařízení pomocí CPU
US5485601A (en) * 1992-05-14 1996-01-16 Ching; Hugh Completely automated and self-generating software system
DE4227809A1 (de) * 1992-08-21 1994-02-24 Siemens Ag Verfahren zur Erzeugung einer aus Schaltkreisen bestehenden Schaltung mit Hilfe eines Rechners
US5511116A (en) * 1992-08-25 1996-04-23 Bell Communications Research Inc. Method of creating and accessing value tables in a telecommunication service creation and execution environment
WO1994005112A1 (en) * 1992-08-25 1994-03-03 Bell Communications Research, Inc. System and method for creating, transferring, and monitoring services in a telecommunication system
US5455853A (en) * 1992-08-25 1995-10-03 Bell Communications Research, Inc. Method of creating a telecommunication service template
US5450480A (en) * 1992-08-25 1995-09-12 Bell Communications Research, Inc. Method of creating a telecommunication service specification
US5463682A (en) * 1992-08-25 1995-10-31 Bell Communications Research, Inc. Method of creating user-defined call processing procedures
US5442690A (en) * 1992-08-25 1995-08-15 Bell Communications Research, Inc. Telecommunication service record structure and method of execution
JP2945223B2 (ja) * 1992-12-02 1999-09-06 三菱電機株式会社 知識ベース保存装置と合成装置、およびファジィ制御システム
US5671415A (en) * 1992-12-07 1997-09-23 The Dow Chemical Company System and method for facilitating software development
US5539862A (en) * 1992-12-08 1996-07-23 Texas Instruments Incorporated System and method for the design of software system using a knowledge base
US5524238A (en) * 1994-03-23 1996-06-04 Breakout I/O Corporation User specific intelligent interface which intercepts and either replaces or passes commands to a data identity and the field accessed
US5748973A (en) * 1994-07-15 1998-05-05 George Mason University Advanced integrated requirements engineering system for CE-based requirements assessment
US5617533A (en) * 1994-10-13 1997-04-01 Sun Microsystems, Inc. System and method for determining whether a software package conforms to packaging rules and requirements
US5648898A (en) * 1994-12-19 1997-07-15 Caterpillar Inc. Method for programming a vehicle monitoring and control system
US5872909A (en) * 1995-01-24 1999-02-16 Wind River Systems, Inc. Logic analyzer for software
JPH08234975A (ja) * 1995-02-28 1996-09-13 Fujitsu Ltd プログラム生成装置および方法
US5724242A (en) * 1995-03-21 1998-03-03 Caterpillar Inc. Method for producing production control software for a natural gas engine controller
US6269300B1 (en) 1995-03-29 2001-07-31 Caterpillar Inc. Method for producing production control software for a natural gas or diesel engine controller
US5600726A (en) * 1995-04-07 1997-02-04 Gemini Systems, L.L.C. Method for creating specific purpose rule-based n-bit virtual machines
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
US5678044A (en) * 1995-06-02 1997-10-14 Electronic Data Systems Corporation System and method for improved rehosting of software systems
US5815717A (en) * 1995-10-27 1998-09-29 Authorgenics, Inc. Application program and documentation generator system and method
US5732274A (en) * 1995-11-08 1998-03-24 Electronic Data Systems Corporation Method for compilation using a database for target language independence
US5920717A (en) * 1995-12-20 1999-07-06 Nec Corporation Method and apparatus for automated program-generation
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6145120A (en) * 1998-03-24 2000-11-07 Lockheed Martin Corporation Declaration programming language extension for procedural programming languages
US6370542B1 (en) * 1998-10-23 2002-04-09 Qwest Communications International, Inc. Method and apparatus for knowledge acquisition and management
US6279030B1 (en) * 1998-11-12 2001-08-21 International Business Machines Corporation Dynamic JAVA™ class selection and download based on changeable attributes
US20070016692A1 (en) * 2000-10-16 2007-01-18 Edward Balassanian Method and system for dynamic delivery of beads
US20020069309A1 (en) * 2000-09-25 2002-06-06 Edward Balassanian Method and system for data metering
US20040015820A1 (en) * 2000-09-25 2004-01-22 Edward Balassanian Method and system for dynamic delivery of beads
US6907446B1 (en) * 2000-10-16 2005-06-14 Implicit Networks, Inc. Method and system for dynamic delivery of beads
US7234132B2 (en) * 2002-08-29 2007-06-19 International Business Machines Corporation Application integration model for dynamic software component assembly within an application at runtime
US20050081218A1 (en) * 2003-08-26 2005-04-14 Acott Troy Steven Configurable simulation of virtual machine behavior
US20050102249A1 (en) * 2003-11-12 2005-05-12 Bigus Joseph P. Methods and apparatus for customization of rule-based applications
US20060129526A1 (en) * 2004-12-14 2006-06-15 Sitze Richard A System, apparatus and method of providing at least one of a plurality of serivce providers of a service based on a context in which the service is to be used
US8364786B2 (en) * 2005-01-20 2013-01-29 The Regents Of The University Of California Synthesizing a scalable and incrementally updatable system software infrastructure for sensor networks
US20070006130A1 (en) * 2005-06-02 2007-01-04 Arnold Stamler Model oriented method of automatically detecting alterations in the design of a software system
US8473898B2 (en) * 2008-07-08 2013-06-25 Synapsense Corporation Apparatus and method for building integrated distributed applications for use with a mesh network
US8302088B2 (en) * 2008-10-15 2012-10-30 International Business Machines Corporation Analysis of effects of a software maintenance patch on configuration items of a CMDB
US10055198B1 (en) * 2017-06-13 2018-08-21 Sap Se Systems and methods for probably approximate intent matching of procurement rules

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5794803A (en) * 1980-12-05 1982-06-12 Hitachi Ltd Adjusting meter
JPS5960506A (ja) * 1982-09-29 1984-04-06 Fanuc Ltd 数値制御システム
US4679137A (en) * 1985-04-30 1987-07-07 Prometrix Corporation Process control interface system for designer and operator
US4827404A (en) * 1986-04-14 1989-05-02 Schlumberger Technology Corporation Method and system for computer programming
JPS63104104A (ja) * 1986-10-21 1988-05-09 Fanuc Ltd 自動プログラミングシステム
JPS63181033A (ja) * 1987-01-23 1988-07-26 Hitachi Ltd プログラム自動生成方式
US4835730A (en) * 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
NZ224848A (en) * 1987-07-15 1995-07-26 Computer Associates Internatio Application software created from defined modules of code
US4862345A (en) * 1987-11-16 1989-08-29 Litwin Engineers & Constructors, Inc. Process plant instrumentation design system
US4931950A (en) * 1988-07-25 1990-06-05 Electric Power Research Institute Multimedia interface and method for computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04107628A (ja) * 1990-08-28 1992-04-09 Nec Corp ソフトウェア再利用支援システム
JPH04137038A (ja) * 1990-09-27 1992-05-12 Business Syst Kenkyusho:Kk アプリケーションソフトウェア作成装置
JP2007206798A (ja) * 2006-01-31 2007-08-16 Fujitsu Ten Ltd 制御プログラム生成プログラム、制御プログラム生成方法および制御プログラム生成装置

Also Published As

Publication number Publication date
JP2670345B2 (ja) 1997-10-29
US5084813A (en) 1992-01-28

Similar Documents

Publication Publication Date Title
JPH02255914A (ja) プログラム自動生成装置
US5485544A (en) History sensitive help control method and system
US5161211A (en) Method and system of specification processing
JP3009215B2 (ja) 自然語処理方法および自然語処理システム
US4853873A (en) Knowledge information processing system and method thereof
JPH02264329A (ja) プログラム自動生成装置
EP1715418A1 (en) Task-based interface with underlying extensible framework
JP2008234430A (ja) クエリ処理装置、プログラムおよびクエリ処理方法
US20230088670A1 (en) Reverse compiler
JP2022047714A (ja) モデル作成システム
JP6993573B2 (ja) プログラム解析方法、プログラム解析装置およびプログラム解析プログラム
JPS62197826A (ja) システムフロ−仕様生成方式
JPH02148137A (ja) ソフトウェア開発支援システム
JP6511793B2 (ja) テストケース生成プログラム、テストケース生成方法及びテストケース生成装置
JPH0616268B2 (ja) 分離型知識ベ−ス生成支援方式
JP2724241B2 (ja) ブロック図部品処理機能付きプログラム自動生成装置
JP3307461B2 (ja) 推論装置
JP2724242B2 (ja) マクロブロック図処理機能付きプログラム自動生成装置
CN117763101A (zh) 一种基于神经网络语言模型的模糊测试方法
Ingham et al. The Xselect User’s Guide
JP2724240B2 (ja) ブロック図処理機能付きプログラム自動生成装置
JPH0561662A (ja) プログラム部品実行制御方法及びその装置
JPH05307473A (ja) プログラム自動生成装置
JPS62177627A (ja) 部品切り出しプログラム作成方法
JPH08171486A (ja) データ項目部品を利用するプログラム開発支援装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees