JPH05307473A - Automatic program generating device - Google Patents

Automatic program generating device

Info

Publication number
JPH05307473A
JPH05307473A JP11272792A JP11272792A JPH05307473A JP H05307473 A JPH05307473 A JP H05307473A JP 11272792 A JP11272792 A JP 11272792A JP 11272792 A JP11272792 A JP 11272792A JP H05307473 A JPH05307473 A JP H05307473A
Authority
JP
Japan
Prior art keywords
variable
knowledge
program
software component
macro
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
JP11272792A
Other languages
Japanese (ja)
Inventor
Yasuko Sano
康子 佐野
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
Priority to JP11272792A priority Critical patent/JPH05307473A/en
Publication of JPH05307473A publication Critical patent/JPH05307473A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To facilitate the change or the maintenance of variable determining knowledge by reading and using the variable determining knowledge stored in a variable determining knowledge storage part based on the discrimination symbol of the variable determining knowledge described in software parts. CONSTITUTION:In the case that various kinds of the variable determining knowledge are necessary, a parts developing means 4 reads in and uses first and second variable determining knowledge stored in the varialbe determining knowledge storage part 7 based on the first and the second discrimination symbols of the variable determining knowledge. Namely, the part developing means 4 reads in the software parts from a software parts group 6 on the basis of information received from a parts retrieving part 3, and develops the program so as to be adaptive to a received program generation goal. At that time, if the discrimination symbol of the variable determining knowledge stored in the variable determining knowledge storage part 7 is described in the software parts, it reads in the corresponding variable determining knowledge from the variable determining knowledge storage part 7, and puts it to use for the development of the software parts to be the basis.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、例えばプロセス制御シ
ステム等の対象システムにおけるシステム仕様に合った
プログラムを、ソフトウェア部品を基に自動的に生成す
るプログラム自動生成装置に係り、特にソフトウェア部
品の中に記述すべき定義知識の一部を、部品からは独立
した共通の記憶部で管理することにより、複数のソフト
ウェア部品で共通に用いることができる変数決定知識を
効率よく管理し得るようにしたプログラム自動生成装置
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an automatic program generation apparatus for automatically generating a program that matches system specifications in a target system such as a process control system based on a software component, and more particularly to a software component generation apparatus. A program that manages a part of the definition knowledge that should be described in a common storage unit that is independent of the parts, so that variable decision knowledge that can be commonly used by multiple software parts can be efficiently managed. The present invention relates to an automatic generation device.

【0002】[0002]

【従来の技術】最近、例えばプロセス制御システム等の
対象システムにおけるシステム仕様に従って、ソフトウ
ェア部品を検索/展開し、要求する機能を持つプログラ
ムを自動的に生成するプログラム自動生成装置が各種開
発されてきている。そして、この中の1種類として、ソ
フトウェア部品の中に、プログラムのひな型と、ひな型
の中で使われている各変数の属性を決定するための知識
である変数決定知識とを持ち、システム仕様に従って部
品を展開することにより、最終的なプログラムを生成す
るものがある。
2. Description of the Related Art Recently, various automatic program generators have been developed for searching / developing software parts and automatically generating a program having a required function in accordance with system specifications of a target system such as a process control system. There is. And, as one of these, the software component has a template of the program and variable determination knowledge that is knowledge for determining the attributes of each variable used in the template, and according to the system specifications. Some develop a final program by expanding the parts.

【0003】図10はこの種の従来のプログラム自動生
成装置の構成例を示すブロック図、また図11は同プロ
グラム自動生成装置で用いるソフトウェア部品の構成例
を示す図である。
FIG. 10 is a block diagram showing a configuration example of a conventional program automatic generation device of this type, and FIG. 11 is a diagram showing a configuration example of software parts used in the program automatic generation device.

【0004】まず、ソフトウェア部品の記述方式につい
て述べる。従来から用いられているソフトウェア部品
は、図11に示すように、目的とするプログラムの構成
の基になるプログラムのひな型61と、プログラムのひ
な型61の中で用いられる変数の名称と属性を決定する
ための知識を表現した変数定義部61xとにより構成さ
れている。
First, a description method of software parts will be described. As shown in FIG. 11, a conventionally used software component determines a program template 61 that is a basis of a target program configuration, and the names and attributes of variables used in the program template 61. And a variable definition unit 61x expressing knowledge for

【0005】一方、図10において、従来のソフトウェ
ア部品記述方法により記述されたソフトウェア部品を展
開することのできる部品検索/展開手段を備えたプログ
ラム自動生成装置1は、対象となるプラントの制御方法
や、プラントを構成する各種機器についての詳細仕様等
を表現したシステム仕様9を入力とし、そのシステム仕
様9に基づいて、対象となるプラントを制御するための
プログラム10を出力するものである。そして、このプ
ログラム自動生成装置1は、内部に、プログラム生成制
御手段2、部品検索手段3、部品展開手段4x、変数属
性管理手段5等の、プログラムを生成するための各種手
段と、それら各種手段が用いることのできる各種知識ベ
ースを備えている。
On the other hand, in FIG. 10, the program automatic generation apparatus 1 equipped with a parts search / expansion means capable of expanding the software parts described by the conventional software parts description method is a method for controlling the target plant or A system specification 9 expressing detailed specifications and the like of various devices constituting the plant is input, and a program 10 for controlling a target plant is output based on the system specification 9. The automatic program generation apparatus 1 internally has various means for generating a program, such as the program generation control means 2, the component search means 3, the component development means 4x, and the variable attribute management means 5, and the various means. It has a variety of knowledge bases that can be used by.

【0006】すなわち、プログラム生成制御手段2で
は、システム仕様9の内容から、どのような最終プログ
ラムを生成すべきか、目的とするプログラムの全体の構
造と、部分プログラムの構成を決定し、部分プログラム
の単位にプログラム生成ゴールを生成し、部品検索手段
3に送ってゴール毎のプログラム生成を促す。
That is, the program generation control means 2 determines from the contents of the system specification 9 what kind of final program should be generated, the overall structure of the target program and the configuration of the partial program, and determines the partial program. A program generation goal is generated for each unit and sent to the parts search means 3 to prompt the generation of a program for each goal.

【0007】また、部品検索手段3では、プログラム生
成制御手段2から受け取ったプログラム生成ゴールに基
づいて、そのゴールの目的とするプログラムを生成する
ためには、どのようなソフトウェア部品を用いればいい
か、内部に持っている部品検索知識に従ってソフトウェ
ア部品を選択し、選択された部品の部品番号をプログラ
ム生成ゴールに付加して部品展開手段4xに送り、固定
のソフトウェア部品を、プログラム生成ゴールで示され
た目的に適合するように展開する。
Further, what kind of software component should be used in the component search means 3 in order to generate the target program of the goal based on the program generation goal received from the program generation control means 2? , A software part is selected according to the internal parts search knowledge, the part number of the selected part is added to the program generation goal and sent to the part developing means 4x, and the fixed software part is indicated by the program generation goal. Expand to suit your purpose.

【0008】一方、部品展開手段4xで扱うソフトウェ
ア部品は、プログラムの構造の基になるプログラムのひ
な型と、そのひな型の中で用いられている各種変数の決
定知識、およびひな型や各種変数の決定知識をマクロ展
開するための記述と、マクロ展開のためのマクロ変数を
検索する知識とにより構成される。
On the other hand, the software component handled by the component expanding means 4x is a model of the program that is the basis of the structure of the program, decision knowledge of various variables used in the model, and decision knowledge of the model and various variables. Is composed of a description for macro-expanding and knowledge for searching macro variables for macro-expansion.

【0009】また、部品展開手段4xでは、部品検索手
段3から受け取った情報を基に、ソフトウェア部品群6
xよりソフトウェア部品を読み込み、受け取ったプログ
ラム生成ゴールに適合するようにプログラムを展開す
る。この部品展開手段4xにおいて、プログラムのひな
型の中で用いられている変数を、変数決定知識に従って
実際にプログラム内で用いられる変数名に変換する時に
は、変数属性管理手段5に対して変数の検索パターンま
たは定義パターンを送ることによって、他の部分プログ
ラムで決定された変数との間の整合をとりながら決定し
ていく。
Further, in the parts developing means 4x, based on the information received from the parts searching means 3, the software parts group 6
The software component is read from x and the program is developed so as to match the received program generation goal. When converting the variables used in the template of the program into the variable names actually used in the program according to the variable determination knowledge in the component expansion means 4x, the variable attribute management means 5 is searched for the variable. Alternatively, by sending the definition pattern, the decision is made while matching with the variables decided by other partial programs.

【0010】さらに、変数属性管理手段5では、部品展
開手段4xから受け取った変数決定知識に従って変数名
称を決定し、部品展開手段4xに返す。ここで、部品展
開手段4xから受け取ったパターンが変数検索パターン
であった場合には、変数属性記憶部8に既に登録されて
いる変数の属性と検索パターンとが合致するものを見つ
け出し、その変数に付けられた変数名称を返す。また、
部品展開手段4xから受け取ったパターンが変数定義パ
ターンであった場合には、そのパターンに記述されてい
る内容を基に、パターンの中に記述された用語の略号が
格納された辞書等を参照して変数名称を生成し、この変
数名称と定義パターンとを組にして変数属性記憶部8に
登録し、生成された変数名称を部品展開手段4xに返
す。
Further, the variable attribute management means 5 determines a variable name according to the variable determination knowledge received from the component developing means 4x and returns it to the component developing means 4x. Here, when the pattern received from the component expanding means 4x is a variable search pattern, a pattern in which the attribute of the variable already registered in the variable attribute storage unit 8 and the search pattern match is found and the variable is searched for. Returns the attached variable name. Also,
If the pattern received from the component expanding means 4x is a variable definition pattern, a dictionary or the like in which the abbreviations of the terms described in the pattern are stored is referenced based on the contents described in the pattern. A variable name is generated by using the variable name, the variable name and the definition pattern are paired and registered in the variable attribute storage unit 8, and the generated variable name is returned to the component expanding unit 4x.

【0011】しかしながら、このようなプログラム自動
生成装置で扱えるソフトウェア部品を用いる場合、ソフ
トウェア部品の数が増えてくると、似通ったソフトウェ
ア部品も多くなり、複数のソフトウェア部品の中で個々
に定義されている変数決定知識を共有できる部品が増え
る。このため、例えば共通する変数決定知識を変更する
必要が生じた場合には、同様に用いている全てのソフト
ウェア部品に記述されている変数決定知識も変更しなけ
ればならないことも出てくる。
However, when using software components that can be handled by such an automatic program generation device, as the number of software components increases, the number of similar software components also increases and they are individually defined among a plurality of software components. The number of parts that can share variable decision knowledge increases. Therefore, for example, when it becomes necessary to change the common variable decision knowledge, the variable decision knowledge described in all similarly used software components also has to be changed.

【0012】従って、変数決定知識の変更や保守を行な
い難いばかりでなく、複数のソフトウェア部品で重複し
て変数決定知識を保有する必要があるため、結果的に変
数決定知識を記憶する領域も多くなってしまう。
Therefore, not only is it difficult to change or maintain the variable decision knowledge, but also it is necessary to hold the variable decision knowledge in duplicate by a plurality of software parts, and as a result, there are many areas for storing the variable decision knowledge. turn into.

【0013】[0013]

【発明が解決しようとする課題】以上のように、従来の
プログラム自動生成装置においては、変数決定知識の変
更や保守が行ない難いばかりでなく、複数のソフトウェ
ア部品で重複して変数決定知識を保有する必要性から記
憶領域が多くなるという問題があった。
As described above, in the conventional program automatic generation device, it is not only difficult to change and maintain the variable decision knowledge, but also the variable decision knowledge is redundantly held by a plurality of software parts. There is a problem that the storage area increases due to the necessity of performing

【0014】本発明の目的は、複数のソフトウェア部品
で共通に用いることができる変数決定知識を一括して効
率よく管理し、変数決定知識の変更や保守を行ない易い
と共に、複数のソフトウェア部品で重複して変数決定知
識を保有するのを不要として記憶領域の節約を図ること
が可能な極めて信頼性の高いプログラム自動生成装置を
提供することにある。
An object of the present invention is to efficiently manage the variable decision knowledge that can be commonly used by a plurality of software components collectively, to easily change or maintain the variable decision knowledge, and to duplicate the plurality of software components. Another object of the present invention is to provide an extremely reliable automatic program generation device that can save the storage area by eliminating the need to hold variable decision knowledge.

【0015】[0015]

【課題を解決するための手段】上記の目的を達成するた
めに、入力されたシステム仕様に基づいてソフトウェア
部品を選択し、当該選択されたソフトウェア部品をシス
テム仕様に基づいて再度展開することにより、対象とす
るシステムの要求に合致するプログラムを自動的に生成
するプログラム自動生成装置において、
In order to achieve the above object, a software component is selected based on an input system specification, and the selected software component is expanded again based on the system specification. In a program automatic generation device that automatically generates a program that meets the requirements of the target system,

【0016】まず、請求項1に記載の発明では、目的と
するプログラムの構成の基になるプログラムのひな型
と、変数決定知識記憶部の中の変数決定知識に対する識
別記号を有する変数決定命令とにより構成されるソフト
ウェア部品の集合体であるソフトウェア部品群と、複数
のソフトウェア部品から共通に呼び出すことが可能な変
数決定知識を記憶した変数決定記憶部とを備え、ソフト
ウェア部品を展開する過程で各種変数決定知識を必要と
した場合に、ソフトウェア部品内に記述された変数決定
知識の識別記号を基に、変数決定知識記憶部に記憶され
ている変数決定知識を読み込んで用いるようにしてい
る。
First, according to the first aspect of the invention, a model of a program which is a basis of the structure of a target program and a variable decision command having an identification symbol for the variable decision knowledge in the variable decision knowledge storage unit are used. A software component group that is a collection of software components that are configured and a variable determination storage unit that stores variable determination knowledge that can be commonly called from a plurality of software components. When the decision knowledge is required, the variable decision knowledge stored in the variable decision knowledge storage unit is read and used based on the identification symbol of the variable decision knowledge described in the software component.

【0017】一方、請求項2に記載の発明では、目的と
するプログラムの構成の基になるプログラムのひな型
と、変数決定知識記憶部の中の第1の変数決定知識に対
する第1の識別記号を有する変数決定命令と、プログラ
ムのひな型、第1の変数決定命令、および対象システム
仕様に応じてマクロ展開するためのマクロ展開命令と、
マクロ展開命令で用いる、対象システム仕様の内容を保
持する変数であるマクロ変数と、変数決定知識記憶部の
中の第2の変数決定知識に対する第2の識別記号を有す
るマクロ変数決定命令とにより構成されるソフトウェア
部品の集合体であるソフトウェア部品群と、複数のソフ
トウェア部品から共通に呼び出すことが可能な第1およ
び第2の変数決定知識を記憶した変数決定記憶部とを備
え、ソフトウェア部品を展開する過程で各種変数決定知
識を必要とした場合に、ソフトウェア部品内に記述され
た変数決定知識の第1および第2の識別記号を基に、変
数決定知識記憶部に記憶されている第1および第2の変
数決定知識を読み込んで用いるようにしている。
On the other hand, according to the second aspect of the invention, the model of the program which is the basis of the structure of the target program and the first identification symbol for the first variable decision knowledge in the variable decision knowledge storage unit are provided. A variable decision instruction to have, a model of the program, a first variable decision instruction, and a macro expansion instruction for macro expansion according to the target system specification;
Consists of a macro variable, which is a variable that holds the contents of the target system specification, used in the macro expansion instruction, and a macro variable determination instruction having a second identification symbol for the second variable determination knowledge in the variable determination knowledge storage unit. The software component group, which is a collection of software components to be stored, and a variable determination storage unit that stores first and second variable determination knowledge that can be commonly called from a plurality of software components, and develops the software components. When various variable decision knowledge is required in the process of performing, the first and second stored in the variable decision knowledge storage unit are based on the first and second identification symbols of the variable decision knowledge described in the software component. The second variable decision knowledge is read and used.

【0018】[0018]

【作用】従って、本発明のプログラム自動生成装置にお
いては、以上のような手段を講じたことにより、部品展
開手段でソフトウェア部品を展開する過程で、各種変数
決定知識を必要とした場合に、ソフトウェア部品内に記
述された変数決定知識の識別記号を手がかりに、変数決
定知識記憶部に記憶されている変数決定知識を読み込ん
で、ソフトウェア部品内に記述された知識に準ずるもの
として用いることができる。
Therefore, in the automatic program generating apparatus of the present invention, by taking the above-mentioned means, when various variable decision knowledge is required in the process of developing the software component by the component developing means, the software can be used. By using the identification symbol of the variable decision knowledge described in the component as a clue, the variable decision knowledge stored in the variable determination knowledge storage unit can be read and used as the same as the knowledge described in the software component.

【0019】これにより、他のソフトウェア部品からも
同じ内容の変数決定知識を必要としたような場合でも、
識別記号のみを合わせることで、同じ変数決定知識を呼
び出すことが可能となり、変数決定知識の変更が行なわ
れる時等に、極めて管理が行ない易くなる。
As a result, even when other software parts need the same variable decision knowledge as the above,
By matching only the identification symbols, the same variable decision knowledge can be called, and when the variable decision knowledge is changed, it becomes extremely easy to manage.

【0020】[0020]

【実施例】以下、本発明の一実施例について図面を参照
して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail below with reference to the drawings.

【0021】図1は、本発明によるプログラム自動生成
装置の構成例を示すブロック図であり、図10と同一部
分には同一符号を付してその説明を省略し、ここでは異
なる部分についてのみ述べる。
FIG. 1 is a block diagram showing a configuration example of an automatic program generation device according to the present invention. The same parts as those in FIG. 10 are designated by the same reference numerals and the description thereof will be omitted. Here, only different parts will be described. ..

【0022】すなわち、本実施例のプログラム自動生成
装置は、図10におけるソフトウェア部品群6xおよび
部品展開手段4xに代えて、ソフトウェア部品群6およ
び部品展開手段4を備えると共に、変数決定知識記憶部
7を新たに付加したものである。
That is, the automatic program generation apparatus of the present embodiment is provided with a software component group 6 and component developing means 4 instead of the software component group 6x and component developing means 4x in FIG. Is newly added.

【0023】ここで、ソフトウェア部品群6は、目的と
するプログラムの構成の基になるプログラムのひな型
と、変数決定知識記憶部の中の第1の変数決定知識に対
する第1の識別記号を有する変数決定命令と、プログラ
ムのひな型、第1の変数決定命令、および対象システム
仕様9に応じてマイクロ展開するためのマクロ展開命令
と、マクロ展開命令で用いる、対象システム仕様9の内
容を保持する変数であるマクロ変数と、変数決定知識記
憶部の中の第2の変数決定知識に対する第2の識別記号
を有するマクロ変数決定命令とにより構成されるソフト
ウェア部品の集合体である。また、変数決定知識記憶部
7は、複数のソフトウェア部品から共通に呼び出すこと
が可能な第1および第2の変数決定知識を記憶したもの
である。
Here, the software component group 6 is a variable that has a model of the program that is the basis of the configuration of the target program and a variable having the first identification symbol for the first variable decision knowledge in the variable decision knowledge storage unit. A decision instruction, a model of a program, a first variable decision instruction, and a macro expansion instruction for performing micro expansion according to the target system specification 9, and a variable used for the macro expansion instruction to hold the contents of the target system specification 9. It is a set of software parts configured by a macro variable and a macro variable determination instruction having a second identification symbol for the second variable determination knowledge in the variable determination knowledge storage unit. The variable decision knowledge storage unit 7 stores the first and second variable decision knowledge that can be commonly called from a plurality of software components.

【0024】さらに、部品展開手段4は、ソフトウェア
部品を展開する過程で各種変数決定知識を必要とした場
合に、ソフトウェア部品内に記述された変数決定知識の
第1および第2の識別記号を基に、変数決定知識記憶部
7に記憶されている第1および第2の変数決定知識を読
み込んで用いるものである。
Further, the component developing means 4 uses the first and second identification symbols of the variable determining knowledge described in the software component when various variable determining knowledge is required in the process of developing the software component. In addition, the first and second variable decision knowledge stored in the variable decision knowledge storage unit 7 are read and used.

【0025】次に、以上のように構成した本実施例のプ
ログラム自動生成装置の作用について、図2ないし図9
を用いて説明する。なお、プログラム生成制御手段2、
部品検索手段3、および変数属性管理手段5の作用につ
いては前述と同様であるので、ここでは部品展開手段4
の作用を中心に説明する。
Next, referring to FIGS. 2 to 9, the operation of the automatic program generator of the present embodiment configured as described above will be described.
Will be explained. The program generation control means 2,
The operations of the parts search means 3 and the variable attribute management means 5 are the same as those described above, so here, the parts development means 4 is used.
The operation will be mainly described.

【0026】図1において、部品展開手段4では、部品
検索手段3から受け取った情報を基に、ソフトウェア部
品群6よりソフトウェア部品を読み込み、受け取ったプ
ログラム生成ゴールに適合するようにプログラムを展開
する。この時、ソフトウェア部品の中に、変数決定知識
記憶部7に格納されている変数決定知識の識別記号が記
述されていたら、該当する変数決定知識を変数決定知識
記憶部7より読み込んで、基になるソフトウェア部品の
展開に役立てる。すなわち、部品展開手段4において、
プログラムのひな型の中で用いられている変数を、変数
決定知識に従って実際にプログラム内で用いられる変数
名に変換する時には、変数属性管理手段5に対して変数
の検索パターンまたは定義パターンを送ることによっ
て、他の部分プログラムで決定された変数との間の整合
をとりながら決定していく。
In FIG. 1, the component developing means 4 reads software components from the software component group 6 based on the information received from the component searching means 3 and develops the program so as to match the received program generation goal. At this time, if the identification symbol of the variable determination knowledge stored in the variable determination knowledge storage unit 7 is described in the software component, the corresponding variable determination knowledge is read from the variable determination knowledge storage unit 7 and Useful for developing software components that That is, in the component developing means 4,
When converting the variables used in the template of the program into the variable names actually used in the program according to the variable decision knowledge, by sending the variable search pattern or definition pattern to the variable attribute management means 5. , The decision is made while matching the variables decided by other partial programs.

【0027】図2および図3は、かかる説明のうち、プ
ログラム生成制御手段2、部品検索手段3、部品展開手
段4の間のデータ、すなわちプログラム生成ゴールの受
け渡しについて、具体例を用いてそれぞれ示した図であ
る。
2 and 3 show, among the above explanations, the transfer of data between the program generation control means 2, the component search means 3, and the component development means 4, that is, the program generation goal, using concrete examples. It is a figure.

【0028】図2において、システム仕様9が入力され
た場合、プログラム生成制御手段2は、このシステム仕
様9に基づいて、いくつかのプログラム生成ゴールを生
成する。ここでは、このうちの1つのプログラム生成ゴ
ール11aを例にとって、以下説明する。
In FIG. 2, when the system specification 9 is input, the program generation control means 2 generates some program generation goals based on the system specification 9. Here, one of the program generation goals 11a will be described below as an example.

【0029】プログラム生成制御手段2では、システム
仕様9の内容より、プラントを構成する機器の一つであ
る「NO.1機械」を操作するためのスイッチとして、
「PLO1」「PLO2」「PLO3」があることを発
見し、これらのスイッチを用いて「NO.1機械」に対
する運転指令を出すためのプログラム生成ゴール11a
を生成し、部品検索手段3に送る。
From the contents of the system specification 9, the program generation control means 2 operates as a switch for operating "NO.
It was discovered that there are "PLO1", "PLO2", and "PLO3", and using these switches, a program generation goal 11a for issuing a driving command to "NO.1 machine"
Is generated and sent to the parts search means 3.

【0030】図3において、部品検索手段3では、プロ
グラム生成制御手段2から受け取ったプログラム生成ゴ
ール11aと、システム仕様9とを必要に応じて参照
し、ゴールが目的とするプログラムを生成するためには
どのソフトウェア部品を使うべきかを判断し、部品番号
を選択する。選択された部品番号は、プログラム生成ゴ
ールに付加し、プログラム生成ゴール11bとして部品
展開手段4に送る。
In FIG. 3, the component search means 3 refers to the program generation goal 11a received from the program generation control means 2 and the system specification 9 as needed to generate a program targeted by the goal. Determines which software component to use and selects the part number. The selected part number is added to the program generation goal and is sent to the part development means 4 as the program generation goal 11b.

【0031】部品展開手段4では、部品検索手段3から
受け取ったプログラム生成ゴール11bを基に、指定さ
れたソフトウェア部品を読み込み、システム仕様9を必
要に応じて参照しながら部品を展開することで、目的と
するプログラムを生成し、生成されたプログラムを付加
したプログラム生成ゴール11cを部品検索手段3に返
す。部品検索手段3では、部品展開手段4から返された
プログラム生成ゴール11cを、そのままプログラム生
成制御手段2に返す。
The component developing means 4 reads the specified software component based on the program generation goal 11b received from the component searching means 3 and develops the component by referring to the system specification 9 as necessary. A target program is generated, and the program generation goal 11c to which the generated program is added is returned to the component search means 3. The component search means 3 returns the program generation goal 11c returned from the component expansion means 4 to the program generation control means 2 as it is.

【0032】プログラム生成制御手段2では、返された
プログラム生成ゴール11cから生成された部分プログ
ラム12を取り出し、他のプログラム生成ゴールにより
生成された部分プログラムとの間の順序の整合をとっ
て、プログラム10として出力する。図4はソフトウェ
ア部品の記述例を示す図であり、図5は図4にて示した
ソフトウェア部品により参照される変数決定知識の一部
の記述例を示す図である。図4において、ソフトウェア
部品60は、変数定義部61と、プログラムのひな型6
2とにより構成される。
In the program generation control means 2, the partial program 12 generated from the returned program generation goal 11c is taken out, the order is matched with the partial programs generated by other program generation goals, and the program is controlled. Output as 10. FIG. 4 is a diagram showing a description example of the software component, and FIG. 5 is a diagram showing a description example of a part of the variable determination knowledge referred to by the software component shown in FIG. In FIG. 4, the software component 60 includes a variable definition section 61 and a program template 6
2 and.

【0033】プログラムのひな型62とは、目的とする
プログラムの構成の基になる情報を記したものである。
また、変数定義部61とは、プログラムのひな型の中で
用いられる変数の名称と属性を決定するための知識を表
現したものであり、この変数定義部61は、各種変数を
決定するためのいくつかの変数決定命令により構成され
る。各変数定義命令とプログラムのひな型は、必要に応
じマクロ展開命令で修飾することができる。
The program template 62 describes information that is the basis of the structure of a target program.
The variable definition unit 61 expresses knowledge for determining the names and attributes of variables used in the template of the program, and the variable definition unit 61 determines how many variables are used to determine various variables. It is composed of a variable decision command. Each variable definition command and the template of the program can be modified by a macro expansion command as needed.

【0034】図4に示すソフトウェア部品の例は、プロ
グラム言話LISPの表現に基づいて表わされているも
ので、括弧で始まり、対応する閉じ括弧で終了するまで
の一連の表現を1つの命令とみなしており、命令の中に
命令を書くことが許されている。ここで、(cons
t....)で記述される命令文がマクロ変数決定命令
であり、(every!!....)および(if!
!....)がマクロ展開命令、(inpu
t....)が入力変数の変数決定命令、(outpu
t....)が出力変数の変数決定命令、(progr
am....)がプログラムのひな型である。ソフトウ
ェア部品の中には、このほかに、局所変数の変数決定命
令や、オプションプログラムの定義命令、固定の変数名
の定義命令などが用意されている。
The example of the software component shown in FIG. 4 is expressed based on the expression of the program language LISP, and a series of expressions starting from a parenthesis and ending with a corresponding closing parenthesis is a single instruction. I am allowed to write an instruction in an instruction. Where (cons
t. . . . ) Is a macro variable determination command, and the commands are (every !! ...) And (if!
! . . . . ) Is a macro expansion instruction, and (inpu
t. . . . ) Is a variable determination instruction of an input variable, and (outpu
t. . . . ) Is a variable determination instruction of an output variable, and (progr
am. . . . ) Is a model of the program. In addition to these, in the software parts, a variable determination command for local variables, a definition command for an option program, a definition command for a fixed variable name, etc. are prepared.

【0035】一方、図5の変数決定知識も、図4と同様
にLISPの表現に基づいて記述されており、ここで、
(defway....)が変数決定知識の1つを表わ
し、この中の(find....)がマクロ変数や変数
名称の検索知識を表わす。なお、この他に、変数名称の
定義知識や複数の変数が検索された場合のカイタマイズ
の知識なども記述が可能である。次に、図6は部品展開
手段4における処理の流れを示すフロー図である。
On the other hand, the variable decision knowledge of FIG. 5 is also described based on the expression of LISP as in FIG. 4, and here,
(Defway ...) Represents one of the variable determination knowledges, and (find ...) Among these is the retrieval knowledge of macro variables and variable names. In addition to this, it is possible to describe definition knowledge of variable names and knowledge of customization when a plurality of variables are searched. Next, FIG. 6 is a flow chart showing the flow of processing in the component developing means 4.

【0036】図6において、部品展開手段4では、部品
検索手段3からプログラム生成ゴールを受け取ると、ス
テップS1において、ソフトウェア部品の格納されてい
るファイルからゴールにより示されたソフトウェア部品
を読み込み、同時にソフトウェア部品に記述されている
内容の解釈、実行も行なう。例えば、読み込んだ命令が
マクロ変数決定命令であった場合、処理系は、そのマク
ロ変数決定命令に従ってマクロ変数の検索を行なう。
In FIG. 6, when the component developing means 4 receives the program generation goal from the component searching means 3, in step S1, the software component indicated by the goal is read from the file in which the software component is stored, and at the same time the software is generated. It also interprets and executes the contents described in the parts. For example, when the read instruction is a macro variable determination instruction, the processing system searches for a macro variable according to the macro variable determination instruction.

【0037】ここで、マクロ変数の検索を行なう時に、
マクロ変数決定命令の中に、変数決定知識を参照する命
令が記述されていた場合には、該当する変数決定知識を
変数決定知識記憶部7から読み込んで、マクロ変数の検
索に役立てる。そして、この時点でマクロ変数の検索を
行なうことにより、このマクロ変数決定命令が実行され
た後に読み込まれる変数属性定義命令やマクロ変数決定
命令、およびプログラムのひな型は、必要に応じて、こ
こで検索されたマクロ変数により修飾することができ
る。
Here, when searching for macro variables,
When the macro variable determination instruction includes an instruction that refers to the variable determination knowledge, the relevant variable determination knowledge is read from the variable determination knowledge storage unit 7 and is used for searching the macro variable. By searching the macro variable at this point, the variable attribute definition instruction and macro variable determination instruction that are read after the execution of this macro variable determination instruction, and the template of the program are searched here as necessary. Can be modified by the specified macro variable.

【0038】また、読み込んだ命令がマクロ展開の命令
であった場合には、それ以前に検索されたマクロ変数の
値をマクロ変数の名称の代わりに用いることにより、こ
のマクロ展開命令が影響を及ぼす範囲全体に対してマク
ロ展開する。さらに、読み込んだ命令がマクロ変数決定
命令やマクロ展開命令以外の場合にも、それぞれの命令
に必要な処置を行ないながらソフトウェア部品を読み込
むことにより、ソフトウェア部品の読み込みが完了した
時点では、読み込んだ部品のマクロ展開が終了している
ことになる。
If the read instruction is a macro expansion instruction, the macro expansion instruction has an effect by using the value of the macro variable retrieved before that instead of the macro variable name. Expand macro for the entire range. Furthermore, even if the read instruction is other than the macro variable determination instruction or macro expansion instruction, the software component is read while performing the necessary measures for each instruction. It means that the macro expansion of is finished.

【0039】次に、ステップS2においては、ステップ
S1で読み込まれたソフトウェア部品のプログラムのひ
な型の中で、実際に用いられている入力変数、出力変
数、および局所変数を取り出す。これにより、無駄な変
数名称の検索や定義をしないようにする。すなわち、マ
クロ変数決定命令とマクロ展開命令は、ソフトウェア部
品を読み込む時に逐次処理されていくが、入力/出力/
局所変数の変数決定命令は、部品の読み込み時点では命
令を保持するだけで、このステップS2の段階ではじめ
て処理されるわけである。
Next, in step S2, the input variables, output variables, and local variables actually used are extracted from the template of the software component program read in step S1. As a result, unnecessary variable name searches and definitions are prevented. That is, the macro variable determination instruction and the macro expansion instruction are sequentially processed when the software component is read, but input / output /
The variable determination command for the local variable only holds the command at the time of reading the component, and is processed for the first time in the step S2.

【0040】次に、ステップS3においては、ステップ
S2で取り出された入力変数に対し、変数決定命令に従
って変数属性管理手段5を呼び出すことにより、要求す
る変数の意味に該当する変数の名称を検索する。また、
出力変数、局所変数に対しては、変数決定命令に従って
変数属性管理手段5を呼び出すことにより、要求する変
数の意味内容に合った名称を生成する。この時、入力変
数の検索、および出力変数、局所変数の定義の際に、変
数決定知識の中に、変数決定知識記憶部7の中の変数決
定知識を参照する命令が記述されていた場合には、該当
する変数決定知識を変数決定知識記憶部7から読み込ん
で役立てる。
Next, in step S3, the variable attribute management means 5 is called in accordance with the variable determination command for the input variable fetched in step S2 to retrieve the variable name corresponding to the meaning of the requested variable. .. Also,
For the output variables and the local variables, the variable attribute management means 5 is called in accordance with the variable determination command to generate a name that matches the meaning of the requested variable. At this time, when an instruction that refers to the variable decision knowledge in the variable decision knowledge storage unit 7 is described in the variable decision knowledge at the time of searching the input variables and defining the output variables and the local variables, Reads the relevant variable decision knowledge from the variable decision knowledge storage unit 7 and uses it.

【0041】次に、ステップS4においては、ステップ
S3で検索または生成された変数の名称をプログラムの
ひな型に埋め込むことにより、プログラム生成ゴールの
内容に適合したプログラムを生成し、必要ならば、さら
に論理的な最適化処理を施した上で最終のプログラムと
し、プログラム生成ゴールに付加して部品検索手段3に
返す。図7は、ソフトウェア部品の中のマクロ変数決定
命令が展開されて、要求するマクロ変数が検索されるま
での過程を示した図である。
Next, in step S4, the name of the variable retrieved or generated in step S3 is embedded in the model of the program to generate a program that matches the contents of the program generation goal, and if necessary, further logical The final program is subjected to a general optimization process, added to the program generation goal, and returned to the component search means 3. FIG. 7 is a diagram showing a process until the macro variable determination command in the software component is expanded and the requested macro variable is searched.

【0042】図7において、部品展開手段4では、ソフ
トウェア部品からマクロ変数決定命令64を読み込む
と、このマクロ変数決定命令がマクロ変数の検索のため
に変数決定知識70を参照していることがわかるので、
参照する変数決定知識を基にマクロ変数を検索するため
に、プログラム生成ゴール11bの内容を仮のゴール1
1xにコピーする。以下のマクロ変数の検索は、この仮
のゴール11xを基にして行なう。マクロ変数決定命令
が参照しようとしている変数決定知識の識別記号はma
n−op−pbl−actionsなので、変数決定知
識記憶部7から同じ識別記号のついた変数決定知識70
を取り出し、この変数決定知識70に記述されている検
索パターンに従って、検索対象データ領域13から必要
なデータを検索する。この検索対象データ領域13に
は、システム仕様9や変数属性記憶部8等、部品展開手
段4が参照できる全てのデータ領域が含まれる。ここで
は、結果として、マクロ変数actsの値として「前
進」と「後退」が検索される。図8は、図7に示した手
順で検索したマクロ変数に基づいて、それ以降に読み込
まれるプログラム部品をマクロ展開する過程について示
す図である。
In FIG. 7, when the macro variable determination instruction 64 is read from the software component in the component expansion means 4, it is found that this macro variable determination instruction refers to the variable determination knowledge 70 for searching the macro variable. So
In order to retrieve a macro variable based on the variable decision knowledge to be referred to, the contents of the program generation goal 11b are changed to the tentative goal 1
Copy to 1x. The following macro variable search is performed based on this tentative goal 11x. The identification symbol of the variable decision knowledge that the macro variable decision instruction attempts to refer to is ma.
Since it is n-op-pbl-actions, the variable decision knowledge 70 with the same identification symbol is added from the variable decision knowledge storage unit 7.
Is retrieved, and necessary data is retrieved from the retrieval target data area 13 according to the retrieval pattern described in the variable determination knowledge 70. The search target data area 13 includes all data areas such as the system specification 9 and the variable attribute storage unit 8 that can be referred to by the component expanding unit 4. Here, as a result, “forward” and “backward” are retrieved as the values of the macro variable acts. FIG. 8 is a diagram showing a process of macro-expanding a program component read thereafter, based on the macro variable retrieved by the procedure shown in FIG.

【0043】図8において、マクロ展開命令 (every!! (x acts) (input (*s* op−in x) (refer!! man−op−sw−input (for (func x))))…) では、(every!!....)の2番目の表現(x
acts)が、マクロ変数の代入関係を表わしてお
り、これ以後に現われる変数xに対して、マクロ変数a
ctsに対して検索された値「前進」と「後退」が逐次
代入されながら、ソフトウェア部品の展開が行なわれ
る。
In FIG. 8, a macro expansion instruction (every !! (x acts) (input (* s * op-in x) (refer !! man-op-sw-input (for (func x)))) ... ), The second expression (x!
(acts) represents the substitution relation of the macro variable, and the macro variable a appears with respect to the variable x appearing thereafter.
The software components are developed while the retrieved values "forward" and "backward" are successively substituted into cts.

【0044】また、プログラムのひな型の中で用いられ
ているマクロ展開命令 (if!! (= x y) (else!! (not! (*s* com y)))) の場合は、(= x y)で変数xとyの値が同じであ
るかどうかを判定し、同じ場合には、何も行なわず、異
なっていた場合には、(else!!....)で表現
してある内容を展開する。このような手順に従って、マ
クロ展開後のソフトウェア部品63を得る。
In the case of the macro expansion instruction (if !! (= xy) (else !! (not! (* S * comy))))) used in the template of the program, (= x y) determines whether or not the values of variables x and y are the same. If they are the same, nothing is done, and if they are different, they are expressed by (else !! ... Expand some content. According to such a procedure, the software component 63 after macro expansion is obtained.

【0045】図9は、マクロ展開後のプログラムのひな
型で使用されている入力変数(*s* op−in 前
進)に対する、実際の変数名称を検索する過程を表わし
た図である。
FIG. 9 is a diagram showing a process of searching for an actual variable name for an input variable (* s * op-in forward) used in a model of a program after macro expansion.

【0046】図9において、(*s* op−in 前
進)の入力変数決定命令は、変数決定知識man−op
−sw−inputを、(for(func 前進))
という記述で表わされた条件つきで参照している。この
条件を有効にするために、部品展開手段4では、プログ
ラム生成ゴール11bの内容をコピーした仮のゴール1
1xに対して、(for....)で記述された条件の
内容を上書きする形で付加し、この仮のゴール11xに
対して、以下の変数名称の検索や定義等の処理を行な
う。
In FIG. 9, the input variable determination command (* s * op-in forward) is the variable determination knowledge man-op.
-Sw-input, (for (func forward))
Is referred to with the condition. In order to make this condition effective, in the component developing means 4, the provisional goal 1 obtained by copying the contents of the program generation goal 11b is used.
The contents of the condition described in (for ...) Are added to 1x in a form of overwriting, and the following processing of variable name search and definition is performed on this tentative goal 11x.

【0047】すなわち、変数決定命令が参照しようとし
ている変数決定知識の識別記号は、man−op−sw
−inputであるので、変数決定知識記憶部7から同
じ識別記号の付いた変数決定知識70を取り出し、この
変数決定知識70に記述されている検索パターンに従っ
て変数属性検索パターンを生成し、変数属性管理手段5
を介して実際のプログラムで用いられるべき変数の名称
を検索する。この検索パターン生成の時、必要に応じ
て、マクロ変数の検索の時と同様に、検索対象データ領
域13を参照することも可能である。これにより、変数
名称(*s* op−in 前進)に対しては、PLO
1INという実際の変数名称が検索される。なお、出力
変数と局所変数の定義についても、入力変数の検索の場
合と同様に行なう。
That is, the identification symbol of the variable decision knowledge which the variable decision instruction is going to refer to is man-op-sw.
Since it is -input, the variable decision knowledge 70 with the same identification symbol is taken out from the variable decision knowledge storage unit 7, the variable attribute search pattern is generated according to the search pattern described in this variable decision knowledge 70, and the variable attribute management is performed. Means 5
Retrieve the name of the variable that should be used in the actual program via. When generating this search pattern, it is possible to refer to the search target data area 13 as needed, as in the case of searching for macro variables. Therefore, for the variable name (* s * op-in forward), PLO
The actual variable name of 1IN is retrieved. The definition of the output variable and the local variable is performed in the same manner as in the case of searching the input variable.

【0048】上述したように、本実施例のプログラム自
動生成装置においては、目的とするプログラムの構成の
基になるプログラムのひな型と、変数決定知識記憶部の
中の第1の変数決定知識に対する第1の識別記号を有す
る変数決定命令と、プログラムのひな型、第1の変数決
定命令、および対象システム仕様に応じてマイクロ展開
するためのマクロ展開命令と、マクロ展開命令で用い
る、対象システム仕様の内容を保持する変数であるマク
ロ変数と、変数決定知識記憶部の中の第2の変数決定知
識に対する第2の識別記号を有するマクロ変数決定命令
とにより構成されるソフトウェア部品60の集合体から
ソフトウェア部品群6を構成し、複数のソフトウェア部
品60から共通に呼び出すことが可能な第1および第2
の変数決定知識を記憶した変数決定知識記憶部7とを備
え、部品展開手段4でソフトウェア部品60を展開する
過程で各種変数決定知識を必要とした場合に、ソフトウ
ェア部品60内に記述された変数決定知識の第1および
第2の識別記号を基に、変数決定知識記憶部7に記憶さ
れている第1および第2の変数決定知識を読み込んで用
いるようにしたものである。
As described above, in the automatic program generation apparatus of this embodiment, the model of the program that is the basis of the configuration of the target program and the first variable decision knowledge for the first variable decision knowledge in the variable decision knowledge storage unit are stored. Contents of the target system specification used in the macro determination instruction having a variable determination instruction having an identification symbol of 1, a program template, a first variable determination instruction, and a target system specification, and a macro expansion instruction From a set of software parts 60 composed of macro variables, which are variables for holding the variables, and macro variable decision instructions having a second identification symbol for the second variable decision knowledge in the variable decision knowledge storage unit. First and second units that constitute the group 6 and can be commonly called from a plurality of software components 60
And a variable decision knowledge storage unit 7 for storing the variable decision knowledge of the above, and when various variable decision knowledge is required in the process of developing the software component 60 by the component developing means 4, the variables described in the software component 60. The first and second variable decision knowledge stored in the variable decision knowledge storage unit 7 are read and used based on the first and second identification symbols of the decision knowledge.

【0049】従って、これまでソフトウェア部品本体の
中に全ての詳細情報を記述していた変数決定知識につい
て、複数のソフトウェア部品60で共通に使用すること
ができる変数決定知識を一括して管理することができる
ため、変数決定知識の変更や保守を行ない易いばかりで
なく、複数のソフトウェア部品で重複して変数決定知識
を保有する必要がなくなるので、結果的に記憶領域の節
約にも役立つ。
Therefore, it is possible to collectively manage the variable decision knowledge that can be commonly used by a plurality of software components 60, while the variable decision knowledge that has been described in the software component main body is all the detailed information. Therefore, not only is it easy to change and maintain the variable decision knowledge, but it is not necessary to hold the variable decision knowledge in duplicate by a plurality of software components, which eventually helps save the storage area.

【0050】すなわち、ソフトウェア部品の中には、変
数決定知識記憶部7の中の変数決定知識に対する識別記
号を記述しておき、ソフトウェア部品の中で使用したい
変数決定知識を、ソフトウェア部品を展開する段階で必
要に応じて読み込んで使用することができる、換言する
と、他のソフトウェア部品からも同じ内容の変数決定知
識を必要としたような場合でも、識別記号のみを合わせ
ることで、同じ変数決定知識を呼び出すことができるた
め、変数決定知識の変更が行なわれる時等に、変数決定
知識を極めて効率よく管理することが可能となる。
That is, in the software component, the identification symbol for the variable determination knowledge in the variable determination knowledge storage unit 7 is described, and the variable determination knowledge desired to be used in the software component is expanded into the software component. It can be read and used as needed at the stage, in other words, even if other software components also require the same variable decision knowledge, by matching only the identification symbols, the same variable decision knowledge can be obtained. Can be called, it becomes possible to manage the variable decision knowledge extremely efficiently, for example, when the variable decision knowledge is changed.

【0051】以上により、変数決定知識の変更や保守を
行ない易くなると共に、複数のソフトウェア部品で重複
して変数決定知識を保有するのを不要として、記憶領域
の節約を図ることができる。
As described above, it becomes easy to change and maintain the variable decision knowledge, and it becomes unnecessary to redundantly hold the variable decision knowledge in a plurality of software parts, so that the storage area can be saved.

【0052】[0052]

【発明の効果】以上説明したように本発明によれば、複
数のソフトウェア部品で共通に用いることができる変数
決定知識を一括して効率よく管理し、変数決定知識の変
更や保守を行ない易いと共に、複数のソフトウェア部品
で重複して変数決定知識を保有するのを不要として記憶
領域の節約を図ることが可能な極めて信頼性の高いプロ
グラム自動生成装置が提供できる。
As described above, according to the present invention, the variable decision knowledge that can be commonly used by a plurality of software parts is efficiently managed collectively, and the variable decision knowledge can be easily changed and maintained. Thus, it is possible to provide an extremely reliable automatic program generation device capable of saving storage areas by eliminating the need to redundantly hold variable decision knowledge in a plurality of software parts.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明によるプログラム自動生成装置の一実施
例を示すブロック図。
FIG. 1 is a block diagram showing an embodiment of an automatic program generation device according to the present invention.

【図2】同実施例におけるプログラム生成制御手段と部
品検索手段との間のデータの受け渡しを示す図。
FIG. 2 is a diagram showing data transfer between a program generation control means and a component search means in the embodiment.

【図3】同実施例における部品検索手段と部品展開手段
の間のデータの受け渡しを示す図。
FIG. 3 is a diagram showing the passing of data between a parts search means and a parts development means in the embodiment.

【図4】同実施例におけるソフトウェア部品の記述例を
示す図。
FIG. 4 is a diagram showing a description example of software components in the embodiment.

【図5】同実施例における変数決定知識の記述例を示す
図。
FIG. 5 is a diagram showing a description example of variable determination knowledge in the embodiment.

【図6】同実施例における部品展開手段の処理手順を示
すフロー図。
FIG. 6 is a flowchart showing a processing procedure of a component developing means in the embodiment.

【図7】同実施例における部品展開手段によりマクロ変
数決定命令が処理される過程でのデータの流れを示す
図。
FIG. 7 is a diagram showing a data flow in the process of processing a macro variable determination command by the component expanding unit in the embodiment.

【図8】同実施例における検索されたマクロ変数を基に
ソフトウェア部品の中のマクロ展開命令が処理されるの
を示す図。
FIG. 8 is a diagram showing that a macro expansion instruction in a software component is processed based on the retrieved macro variable in the embodiment.

【図9】同実施例におけるソフトウェア部品の中の入力
変数の変数決定命令が処理される過程でのデータの流れ
を示す図。
FIG. 9 is a diagram showing a data flow in the process of processing a variable determination command of an input variable in the software component in the embodiment.

【図10】従来のプログラム自動生成装置の構成例を示
すブロック図。
FIG. 10 is a block diagram showing a configuration example of a conventional program automatic generation device.

【図11】同従来のプログラム自動生成装置で扱うこと
のできるソフトウェア部品の一例を示す図。
FIG. 11 is a diagram showing an example of software components that can be handled by the conventional program automatic generation device.

【符号の説明】[Explanation of symbols]

1…プログラム自動生成装置、2…プログラム生成制御
手段、3…部品検索手段、4…部品展開手段、4x…部
品展開手段、5…変数属性管理手段、6…ソフトウェア
部品群、6x…ソフトウェア部品群、60…ソフトウェ
ア部品、61…変数定義部、61x…変数定義部、62
…プログラムのひな型、63…マクロ展開後のソフトウ
ェア部品、64…マクロ変数決定命令、65…入力変数
決定命令、7…変数決定知識記憶部、70…変数決定知
識、8…変数属性記憶部、9…システム仕様、10…プ
ログラム、11a,11b,11c…プログラム生成ゴ
ール、11x…仮のゴール、12…部分プログラム、1
3…検索対象データ領域、14…検索結果、15…変数
名称検索結果。
DESCRIPTION OF SYMBOLS 1 ... Automatic program generation device, 2 ... Program generation control means, 3 ... Parts search means, 4 ... Parts expansion means, 4x ... Parts expansion means, 5 ... Variable attribute management means, 6 ... Software parts group, 6x ... Software parts group , 60 ... Software component, 61 ... Variable definition part, 61x ... Variable definition part, 62
... program template, 63 ... software component after macro expansion, 64 ... macro variable determination command, 65 ... input variable determination command, 7 ... variable determination knowledge storage unit, 70 ... variable determination knowledge, 8 ... variable attribute storage unit, 9 ... system specification, 10 ... program, 11a, 11b, 11c ... program generation goal, 11x ... tentative goal, 12 ... partial program, 1
3 ... Search target data area, 14 ... Search result, 15 ... Variable name search result.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 入力されたシステム仕様に基づいてソフ
トウェア部品を選択し、当該選択されたソフトウェア部
品を前記システム仕様に基づいて再度展開することによ
り、対象とするシステムの要求に合致するプログラムを
自動的に生成するプログラム自動生成装置において、 目的とするプログラムの構成の基になるプログラムのひ
な型と、変数決定知識記憶部の中の変数決定知識に対す
る識別記号を有する変数決定命令とにより構成されるソ
フトウェア部品の集合体であるソフトウェア部品群と、 前記複数のソフトウェア部品から共通に呼び出すことが
可能な変数決定知識を記憶した変数決定記憶部とを備
え、 前記ソフトウェア部品を展開する過程で各種変数決定知
識を必要とした場合に、前記ソフトウェア部品内に記述
された変数決定知識の識別記号を基に、前記変数決定知
識記憶部に記憶されている変数決定知識を読み込んで用
いるようにしたことを特徴とするプログラム自動生成装
置。
1. A program that meets the requirements of a target system is automatically selected by selecting a software component based on the input system specification and then expanding the selected software component again based on the system specification. For automatically generating a program, software configured by a model of a program that is a basis of the configuration of a target program and a variable determination instruction having an identification symbol for the variable determination knowledge in the variable determination knowledge storage unit A software component group, which is a collection of components, and a variable determination storage unit that stores variable determination knowledge that can be commonly called from the plurality of software components, and various variable determination knowledge in the process of developing the software component. , The variable decision information described in the software component is required. An automatic program generation device, characterized in that variable decision knowledge stored in the variable decision knowledge storage unit is read and used based on an identification symbol of the sense.
【請求項2】 入力されたシステム仕様に基づいてソフ
トウェア部品を選択し、当該選択されたソフトウェア部
品を前記システム仕様に基づいて再度展開することによ
り、対象とするシステムの要求に合致するプログラムを
自動的に生成するプログラム自動生成装置において、 目的とするプログラムの構成の基になるプログラムのひ
な型と、変数決定知識記憶部の中の第1の変数決定知識
に対する第1の識別記号を有する変数決定命令と、前記
プログラムのひな型、前記第1の変数決定命令、および
対象システム仕様に応じてマクロ展開するためのマクロ
展開命令と、前記マクロ展開命令で用いる、対象システ
ム仕様の内容を保持する変数であるマクロ変数と、変数
決定知識記憶部の中の第2の変数決定知識に対する第2
の識別記号を有するマクロ変数決定命令とにより構成さ
れるソフトウェア部品の集合体であるソフトウェア部品
群と、 前記複数のソフトウェア部品から共通に呼び出すことが
可能な第1および第2の変数決定知識を記憶した変数決
定記憶部とを備え、 前記ソフトウェア部品を展開する過程で各種変数決定知
識を必要とした場合に、前記ソフトウェア部品内に記述
された変数決定知識の第1および第2の識別記号を基
に、前記変数決定知識記憶部に記憶されている第1およ
び第2の変数決定知識を読み込んで用いるようにしたこ
とを特徴とするプログラム自動生成装置。
2. A program that matches the requirements of the target system is automatically created by selecting a software component based on the input system specification and then expanding the selected software component again based on the system specification. For automatically generating a program, a model of a program that is a basis of the configuration of a target program, and a variable determination instruction having a first identification symbol for the first variable determination knowledge in the variable determination knowledge storage unit And a macro expansion instruction for expanding the macro according to the template of the program, the first variable determination instruction, and the target system specification, and a variable used to hold the contents of the target system specification used in the macro expansion instruction. The macro variable and the second for the second variable decision knowledge in the variable decision knowledge storage unit
Storing a software component group, which is a set of software components configured by a macro variable determination command having an identification symbol, and first and second variable determination knowledge that can be commonly called from the plurality of software components. And a variable decision storage unit for storing various variable decision knowledge required in the process of developing the software component, the first and second identification symbols of the variable decision knowledge described in the software component are used. In addition, the automatic program generation device is characterized in that the first and second variable decision knowledge stored in the variable decision knowledge storage unit is read and used.
JP11272792A 1992-05-01 1992-05-01 Automatic program generating device Pending JPH05307473A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11272792A JPH05307473A (en) 1992-05-01 1992-05-01 Automatic program generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11272792A JPH05307473A (en) 1992-05-01 1992-05-01 Automatic program generating device

Publications (1)

Publication Number Publication Date
JPH05307473A true JPH05307473A (en) 1993-11-19

Family

ID=14594032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11272792A Pending JPH05307473A (en) 1992-05-01 1992-05-01 Automatic program generating device

Country Status (1)

Country Link
JP (1) JPH05307473A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853225B2 (en) 2018-03-16 2020-12-01 Fujitsu Limited Control method, apparatus, and non-transitory computer-readable storage medium for generating data body adjusted to second program by converting data type of parameter of first program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853225B2 (en) 2018-03-16 2020-12-01 Fujitsu Limited Control method, apparatus, and non-transitory computer-readable storage medium for generating data body adjusted to second program by converting data type of parameter of first program

Similar Documents

Publication Publication Date Title
JP2670345B2 (en) Automatic program generator
US5485544A (en) History sensitive help control method and system
US5204939A (en) Rule base processing system and rule evaluation control method therein
US4853873A (en) Knowledge information processing system and method thereof
JPH05307473A (en) Automatic program generating device
JPH0528088A (en) Method for automatically generating hardware constitution information
JPS62197826A (en) Production of system flow specifications
US7225196B2 (en) Data conversion method and computer system therefor
JPH03152640A (en) Data base inquiry processor
JP2724241B2 (en) Automatic program generator with block diagram parts processing function
JP2571229B2 (en) Multi-layer search processing device
JPH0616268B2 (en) Separate knowledge base generation support method
JP2724240B2 (en) Automatic program generator with block diagram processing function
JPS6027941A (en) Identifier generation system
JPH0561657A (en) Program editing system
JPH0868831A (en) Method and equipment for testing semiconductor
JPH0887418A (en) Program convesion system
JPH05313862A (en) Automatic generation system for network environment defining language
JPH02287737A (en) Automatic designing system for test item
JPH0277939A (en) Intelligent supporting system for execution
JPH06230951A (en) Program development supporting device
JPH0259984A (en) Data flow processor program creating system
JPH08234999A (en) Machine language instruction scheduler
JPH04293128A (en) Expert system
JPH04273572A (en) Input option recognition system