[go: up one dir, main page]

JPH11259282A - Device for synthesizing program and method therefor - Google Patents

Device for synthesizing program and method therefor

Info

Publication number
JPH11259282A
JPH11259282A JP6136398A JP6136398A JPH11259282A JP H11259282 A JPH11259282 A JP H11259282A JP 6136398 A JP6136398 A JP 6136398A JP 6136398 A JP6136398 A JP 6136398A JP H11259282 A JPH11259282 A JP H11259282A
Authority
JP
Japan
Prior art keywords
program
component
processing procedure
parameter
selecting
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
JP6136398A
Other languages
Japanese (ja)
Inventor
Takeshi Shimada
毅 島田
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 JP6136398A priority Critical patent/JPH11259282A/en
Publication of JPH11259282A publication Critical patent/JPH11259282A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To generate a search solution using various parts by preventing plural programs to be synthesized from being constituted of the same program parts and convergence only on the programs whose parameter values only are different. SOLUTION: This device is provided with an outline processing procedure designating means 10 for designating an outline processing procedure being the rough processing of a synthetic program, program parts selecting means 11 for selecting a prescribed program parts according to the applied outline processing procedure 10, and supplying the information of the parameter to a program parts parameter adjusting means 14, program connecting means 13 for connecting the program parts selected by the program parts selecting means 11 according to the outline processing procedure, and synthesizing the programs, and means 14 for adjusting the parameter of the program parts included in the synthesized program for allowing the synthetic program to obtain the highest evaluated value.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、事前に登録された
プログラム部品から所望のプログラムを合成するプログ
ラム合成装置に関するものであり、特に、最初は暫定的
なプログラムを合成し、当該プログラムに繰り返し改良
を加えることで最終的に性能の良いプログラムを合成す
るプログラム合成装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program synthesizing device for synthesizing a desired program from program components registered in advance, and more particularly to synthesizing a temporary program at first, and repeatedly improving the program. And a program synthesizing device that finally synthesizes a high-performance program.

【0002】[0002]

【従来の技術】過去に蓄積したプログラム部品を組み合
わせて新しいプログラムを作る技術においては、人間の
専門家が持っているプログラミングの知識を機械によっ
て扱える形式に纒める必要がある。これは煩雑かつ困難
な作業であるが、比較的容易に専門家から獲得すること
が可能な知識の一つである、プログラム部品同士の接続
情報、つまり入出力引数の結合情報という形式的知識の
みを使う技術が既に提案されている。
2. Description of the Related Art In a technique of creating a new program by combining program parts accumulated in the past, it is necessary to combine programming knowledge possessed by human experts into a form that can be handled by a machine. Although this is a complicated and difficult task, it is one of the knowledge that can be acquired relatively easily from experts, only formal knowledge of connection information between program parts, that is, connection information of input / output arguments. Technologies that use are already proposed.

【0003】例えば、暫定的なプログラムを出発点と
し、修正を繰り返し加えることで、徐々に性能の良いプ
ログラムを合成する技術が提案されている。参考文献
(「認識機構学習システムMIRACLE−IVにおけ
る画像処理戦略の学習」、電子情報通信学会技術研究報
告PRU88−20)に記載されている遺伝的アルゴリ
ズムによる技術はこの例である。
For example, a technique has been proposed in which a tentative program is used as a starting point, and a program having a gradually higher performance is synthesized by repeatedly making corrections. A technique using a genetic algorithm described in a reference document (“learning of an image processing strategy in a recognition mechanism learning system MIRACLE-IV”, IEICE Technical Report PRU88-20) is an example of this.

【0004】また、最初に暫定的なプログラムを作成
し、そのプログラムの処理結果と処理結果の目標との差
に基づく評価を行い、その評価値が所望の値に達するま
で当該プログラムに修正を繰り返し施すことによって最
終的に性能の高いプログラムを得るというプログラム合
成技術がある。
[0004] In addition, first, a temporary program is created, evaluation is performed based on the difference between the processing result of the program and the target of the processing result, and correction is repeatedly performed on the program until the evaluation value reaches a desired value. There is a program synthesizing technique that finally obtains a high-performance program by applying the program.

【0005】かかるプログラム合成技術においては、探
索によって複数のプログラム部品のなかから所定のプロ
グラム部品を幾つか選択し、これらを結合することでプ
ログラムを合成する。
In such a program synthesizing technique, a predetermined program part is selected from a plurality of program parts by search, and a program is synthesized by combining these parts.

【0006】プログラム部品の実体である関数サブルー
チンには、様々な入力引数が含まれている。入力引数に
は、そのプログラム部品よりも前に実行されたプログラ
ム部品によって既に値が定まっている出力引数を複写す
るものの他に、適当に具体的な値を代入して値を定める
ものがある。後者の入力引数を本明細書においては「プ
ログラム部品のパラメータ」と称する。
A function subroutine, which is a substance of a program component, includes various input arguments. As input arguments, there are those which copy output arguments whose values are already determined by program components executed before the program component, and those which determine values by appropriately substituting specific values. The latter input argument is referred to as “program component parameter” in this specification.

【0007】ここで、プログラム部品のパラメータを調
整することによる評価値の変化が、プログラム部品を変
更することによる変化に比べて小さい場合、言い替えれ
ば、合成するプログラムの評価値の変化がどのプログラ
ム部品を選択したかによって大きく変わるというような
条件下における一つの問題を考える。
Here, if the change in the evaluation value due to the adjustment of the parameters of the program component is smaller than the change due to the change in the program component, in other words, the change in the evaluation value of the program to be synthesized indicates which program component Consider a problem under the condition that it changes greatly depending on whether or not is selected.

【0008】上述の従来技術によってプログラム合成を
行った場合、評価値が高いプログラムが皆、同じプログ
ラム部品を組合せたものとなり、単にパラメータの値だ
けが異なるものに限られてしまうという現象が起こる。
[0008] When the program synthesis is performed by the above-described conventional technique, all the programs having high evaluation values are obtained by combining the same program parts, and a phenomenon occurs in which only the values of the parameters are simply different.

【0009】所望する以上の評価値のプログラムが多数
得られた場合は、いずれか一つのプログラムを選択する
わけであるが、これらのプログラムが特定のプログラム
部品を含んでいる場合において、評価値の高低にかかわ
らずそのプログラムを採用できないという問題がある。
When a large number of programs having evaluation values higher than desired are obtained, any one of the programs is selected. However, when these programs include a specific program component, the evaluation value is not determined. There is a problem that the program cannot be adopted regardless of the height.

【0010】たとえば、製品の外観検査に使用する画像
処理プログラムを考える。表面の引っ掻きキズを検出す
るためには、直線を抽出するプログラム部品「ハフ変
換」が有効であり、これを組み込んだプログラムは高い
評価値を示す。製造ラインでこのプログラムを使うため
には、検査装置に搭載されている画像処理ボード上で動
作可能なプログラムに移植する必要がある。ところが、
ハフ変換は非常に計算時間を要する演算であるため、瞬
時の処理を目的としている画像処理ボードには組み込ま
れていないことが多い。このため、上記の目的にはハフ
変換を含んだプログラムを使うことはできない。
For example, consider an image processing program used for a visual inspection of a product. In order to detect scratches on the surface, a program component “Hough transform” for extracting a straight line is effective, and a program incorporating this program has a high evaluation value. In order to use this program on a production line, it is necessary to port the program to a program that can operate on an image processing board mounted on an inspection device. However,
Since the Hough transform is a calculation that requires a long calculation time, it is often not incorporated in an image processing board intended for instantaneous processing. Therefore, it is not possible to use a program including Hough transform for the above purpose.

【0011】しかしながら従来のプログラム合成技術で
は、この場合、ハフ変換を含んだプログラムばかりを含
んだプログラムが合成されてしまう。このため、折角高
い性能を示すプログラムが得られたにもかかわらず、そ
れを利用することができなくなるという問題点がある。
However, according to the conventional program synthesizing technique, in this case, a program including only programs including Hough transform is synthesized. For this reason, there is a problem in that, although a program exhibiting high performance is obtained, it cannot be used.

【0012】[0012]

【発明が解決しようとする課題】本発明は上述した事情
に対処すべくなされたものであり、その目的は、プログ
ラム部品の選択を探索によって行い、しかる後にパラメ
ータの調整を行うことで、探索解のプログラムが同じプ
ログラム部品から成りパラメータ値のみが異なるものば
かりに収束することを回避し、いろいろな部品を使った
探索解を生成できるプログラム合成装置及びプログラム
の合成方法を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in order to cope with the above-described circumstances, and has as its object to select a program part by searching, and then adjust parameters to thereby find a search solution. It is an object of the present invention to provide a program synthesizing apparatus and a method for synthesizing a program, which can avoid a convergence of a program consisting only of the same program components and differ only in parameter values, and can generate a search solution using various components.

【0013】[0013]

【課題を解決するための手段】本発明のプログラム合成
装置及び方法は、プログラム部品とそのパラメータとを
探索の対象にすることが、特定のプログラム部品を含む
プログラムに探索解が限定される原因である点に着目し
たものであり、パラメータ値の調整を探索によらず行う
ことによって、この問題を解決する。
According to the program synthesizing apparatus and method of the present invention, a search for program parts and their parameters is performed because the search solution is limited to a program containing a specific program part. Focusing on a certain point, this problem is solved by adjusting the parameter values without searching.

【0014】より具体的には、本発明は次のように構成
されている。
More specifically, the present invention is configured as follows.

【0015】(1)本発明のプログラム合成装置は、目
的プログラムの概略処理手順を指定する概略処理手順指
定手段と、各々が部品分類及びパラメータを有する複数
のプログラム部品を記憶するプログラム部品記憶手段
と、前記プログラム部品記憶手段から所定のプログラム
部品を選択するプログラム部品選択手段と、前記概略処
理手順に従い、前記プログラム部品選択手段が選択した
プログラム部品を結合して目的プログラムを合成するプ
ログラム合成手段と、前記合成手段により合成された目
的プログラムを構成する個々のプログラム部品の前記パ
ラメータを調整するパラメータ調整手段とを具備する。
(1) A program synthesizing apparatus according to the present invention includes a general processing procedure designating means for specifying a general processing procedure of a target program, and a program component storage means for storing a plurality of program components each having a component classification and a parameter. Program component selecting means for selecting a predetermined program component from the program component storage means, and program synthesizing means for synthesizing a target program by combining the program components selected by the program component selecting means according to the general processing procedure; Parameter adjusting means for adjusting the parameters of the individual program parts constituting the target program synthesized by the synthesizing means.

【0016】(2)本発明のプログラム合成装置は、上
記(1)に記載の装置であって、且つ前記パラメータ調
整手段により個々のプログラム部品のパラメータ調整が
なされた目的プログラムの評価値を求める評価手段をさ
らに具備し、前記プログラム部品選択手段は、前記評価
手段によって得られた評価値に基づいてプログラム部品
を選択することを特徴とする。
(2) The program synthesizing apparatus according to the present invention is the apparatus according to the above (1), wherein the parameter adjusting means obtains an evaluation value of a target program for which parameters of individual program components have been adjusted by the parameter adjusting means. Means for selecting a program part based on the evaluation value obtained by the evaluation means.

【0017】(3)本発明のプログラム合成方法は、前
記プログラム部品の分類に基づき所望のプログラムの概
略処理手順を指定するステップと、前記複数のプログラ
ム部品から前記概略処理手順に対応するプログラム部品
を選択する部品選択ステップと、前記部品選択ステップ
において選択されたプログラム部品を結合して目的プロ
グラムを合成する合成ステップと、前記合成ステップに
おいて合成された目的プログラムに組み込まれたプログ
ラム部品のパラメータを調整する調整ステップと、前記
調整ステップにおいてパラメータを調整した目的プログ
ラムの性能を評価して評価値を求める評価ステップと、
前記部品選択ステップと、前記合成ステップと、前記調
整ステップと、前記評価ステップとを所定の終了条件が
成立するまで繰り返して実行させる実行制御ステップ
と、を具備することを特徴とする。
(3) In the program synthesizing method according to the present invention, a step of designating a general processing procedure of a desired program based on the classification of the program parts, and a step of selecting a program part corresponding to the general processing procedure from the plurality of program parts A component selecting step to be selected, a combining step of combining the program components selected in the component selecting step to combine a target program, and adjusting parameters of the program components incorporated in the target program combined in the combining step An adjusting step, an evaluating step of evaluating the performance of the target program whose parameters have been adjusted in the adjusting step to obtain an evaluation value;
An execution control step of repeatedly executing the component selection step, the synthesis step, the adjustment step, and the evaluation step until a predetermined end condition is satisfied.

【0018】(4)本発明のプログラム合成方法は、上
記(3)に記載の方法であって、前記部品選択ステップ
は、前記評価ステップにおいて得られた評価値を参照し
てプログラム部品を選択することを特徴とする。
(4) The program synthesizing method according to the present invention is the method according to the above (3), wherein the component selecting step selects a program component by referring to the evaluation value obtained in the evaluating step. It is characterized by the following.

【0019】(5)本発明の記録媒体は、予め分類され
た複数のプログラム部品のうち所定のプログラム部品を
組合せて所望のプログラムを合成するためのプログラム
を記録した記録媒体であって、前記プログラム部品の分
類に基づき所望のプログラムの概略処理手順を指定する
手段と、前記複数のプログラム部品から前記概略処理手
順に対応するプログラム部品を選択する手段と、前記選
択されたプログラム部品を結合してプログラムを合成す
る手段と、前記合成されたプログラムに含まれるプログ
ラム部品のパラメータを調整する手段と、前記合成され
たプログラムの性能を評価して評価値を求める手段と、
を実行するプログラムが記録されていることを特徴とす
る。
(5) The recording medium of the present invention is a recording medium on which a program for synthesizing a desired program by combining predetermined program components among a plurality of program components classified in advance is provided. Means for designating a general processing procedure of a desired program based on a classification of parts, means for selecting a program part corresponding to the general processing procedure from the plurality of program parts, and combining the selected program parts with a program Means for adjusting the parameters of the program components included in the synthesized program, and means for evaluating the performance of the synthesized program to obtain an evaluation value;
Is recorded.

【0020】[0020]

【発明の実施の形態】以下、図面を参照しながら本発明
の実施形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0021】本実施形態は、暫定的なプログラムを予め
登録されているプログラム部品を用いて合成し、そのプ
ログラムに対して徐々に改良を加えることによって性能
の良い最終的なプログラムを合成するプログラム合成装
置に関する。
In this embodiment, a program synthesis is performed in which a tentative program is synthesized by using pre-registered program parts, and a final program having good performance is synthesized by gradually improving the program. Related to the device.

【0022】図1は本実施形態に係るプログラム合成装
置の概略構成を示すブロック図である。
FIG. 1 is a block diagram showing a schematic configuration of a program synthesizing apparatus according to this embodiment.

【0023】図1に示すようにプログラム合成装置は、
概略処理手順指定手段10と、プログラム部品選択手段
11と、プログラム部品記憶手段12と、プログラム結
合手段13と、プログラム部品パラメータ調整手段14
と、プログラム評価手段15とによって構成されてい
る。
As shown in FIG. 1, the program synthesizing apparatus
Rough processing procedure designating means 10, program part selecting means 11, program part storing means 12, program combining means 13, program part parameter adjusting means 14
And a program evaluation means 15.

【0024】先ずは本実施形態に係るプログラム合成装
置の全体の流れを各手段間のデータの流れに着目して大
まかに説明し、次に各手段の具体的な構成及び動作につ
いて詳細に説明する。
First, the overall flow of the program synthesizing apparatus according to the present embodiment will be roughly described, focusing on the flow of data between the means, and then the specific configuration and operation of each means will be described in detail. .

【0025】(全体の大まかな流れ)図2は本実施形態
に係るプログラム合成装置の全体の流れを示すフローチ
ャートである。まず、合成しようとするプログラムの大
まかな処理である概略処理手順を概略処理手順指定手段
において指定する(ステップC1)。次にプログラム部
品選択手段が、与えられた概略処理手順に従って所定の
プログラム部品をプログラム部品記憶手段から選択する
(ステップC2)。このとき、選択されたプログラム部
品のパラメータの情報がプログラム部品パラメータ調整
手段に供給される。
(Overall General Flow) FIG. 2 is a flowchart showing the general flow of the program synthesizing apparatus according to the present embodiment. First, a rough processing procedure which is a rough processing of a program to be synthesized is specified by a rough processing procedure designating means (step C1). Next, the program component selection means selects a predetermined program component from the program component storage means according to the given general processing procedure (step C2). At this time, information on the parameters of the selected program component is supplied to the program component parameter adjusting means.

【0026】次に、プログラム結合手段はプログラム部
品選択手段が選択したプログラム部品を概略処理手順に
従って結合し、プログラムを合成する(ステップC
3)。プログラム部品パラメータ調整手段はプログラム
評価手段と共同して、合成されたプログラムに含まれる
部品のパラメータを調整する(ステップC4)。このと
き、合成プログラムが最も高い評価値を取るように調整
が行われる。次に終了条件が成立しているか否かを判定
し(ステップC5)、成立していなければステップC2
に戻って上記一連の処理を繰り返す。成立していれば終
了する。
Next, the program combining means combines the program components selected by the program component selecting means in accordance with the general processing procedure to synthesize a program (step C).
3). The program component parameter adjustment means adjusts the parameters of the components included in the synthesized program in cooperation with the program evaluation means (step C4). At this time, adjustment is performed so that the synthesis program takes the highest evaluation value. Next, it is determined whether or not the termination condition is satisfied (step C5).
And the above series of processing is repeated. If so, the process ends.

【0027】終了条件としては様々なものが考えられる
が、たとえば、合成したプログラムの最高評価値が所望
の基準値以上になること、又はステップC2からステッ
プC5までを繰返す回数が上限値を越えること、又は一
連の処理を繰り返して合成したプログラムの数が上限値
を越えること、などが挙げられる。
Various termination conditions are conceivable. For example, the highest evaluation value of the synthesized program must be equal to or more than a desired reference value, or the number of repetitions of steps C2 to C5 exceeds the upper limit value. Or that the number of programs synthesized by repeating a series of processes exceeds the upper limit.

【0028】次に、図1に示した各手段の具体的な構成
について説明する。
Next, a specific configuration of each means shown in FIG. 1 will be described.

【0029】(概略処理手順指定手段10)概略処理手
順指定手段10は、所望のプログラムがとるべき処理手
順の概略(これを「概略処理手順」と称する)を操作者
に指定させるための手段であって、概略処理の一覧表
(テーブル)を予め保持しており、これを操作者に提示
し個々の概略処理及びその実行順序を操作者に指定させ
る。
(Schematic processing procedure designating means 10) The general processing procedure designating means 10 is a means for designating an outline of a processing procedure to be performed by a desired program (this is referred to as a "schematic processing procedure"). A summary table (table) of the outline processing is held in advance, and the list is presented to the operator, and the operator specifies the outline processing and the execution order.

【0030】図3は概略処理手順指定手段10の具体的
な構成例を示すブロック図である。
FIG. 3 is a block diagram showing a specific configuration example of the schematic processing procedure designating means 10.

【0031】フローチャート編集手段31は、ディスプ
レイ端末30上において、合成したいプログラムの概略
処理手順をフローチャートとして作成し、編集するため
の手段である。
The flowchart editing means 31 is a means for creating and editing a schematic processing procedure of a program to be synthesized on the display terminal 30 as a flowchart.

【0032】図4はフローチャート編集手段31がディ
スプレイ端末30上に表示するマン・マシンインターフ
ェース画面の一例を模式的に示している。操作者はディ
スプレイ端末30に備え付けられたマウスなどの入力装
置(不図示)を用い、当該インターフェース画面上にお
いてフローチャートの編集作業を行う。
FIG. 4 schematically shows an example of a man-machine interface screen displayed on the display terminal 30 by the flowchart editing means 31. The operator edits the flowchart on the interface screen using an input device (not shown) such as a mouse provided on the display terminal 30.

【0033】例えば操作者はマウスを操作し、概略処理
を表す箱型のシンボル40を編集画面42上に張り付
け、この箱型のシンボル40に対し概略処理の一覧表4
3から適当な概略処理を選んで割り付ける。個々の概略
処理は概略処理保持手段32において事前に登録され、
保持されているものである。
For example, the operator operates the mouse to paste a box-shaped symbol 40 representing the outline processing on the edit screen 42, and displays a list 4 of the outline processing for the box-shaped symbol 40.
3. An appropriate general process is selected from 3 and assigned. Each rough processing is registered in advance in the rough processing holding means 32,
Is what is being held.

【0034】概略処理の実行順序は、箱型のシンボルを
実行の順序に従って矢印で結ぶことによって指定する。
この作業は、いわゆるフローチャートを作成する作業と
同じである。ちなみに図4において六角形をなすシンボ
ル41はプログラミングの分岐処理をあらわすシンボル
である。
The execution order of the outline processing is specified by connecting box-shaped symbols with arrows in the execution order.
This operation is the same as the operation for creating a flowchart. Incidentally, a hexagonal symbol 41 in FIG. 4 is a symbol representing a branching process of programming.

【0035】(プログラム部品記憶手段12)プログラ
ム部品記憶手段12は、プログラム部品を部品分類に分
けて保持する役割を持つ。ここで言う部品分類とは特定
の観点でプログラム部品を部分集合に纏める際の「観
点」又は「分類そのもの」を指す。その一例としては類
似の機能を持つプログラム同士をひとまとめにする部品
分類が挙げられる。プログラム部品の各々は汎用に使え
るように標準化がなされたプログラムコードと、プログ
ラムコードの属性とからなる。プログラムコードの属性
には、そのプログラムコードの用途、効果、実行にかか
る時間、サイズ、引数の情報など、そのプログラムコー
ドに関連する任意の情報を含める。
(Program Parts Storage Means 12) The program parts storage means 12 has a role of storing program parts by classifying them into parts classifications. Here, the component classification refers to a “viewpoint” or “classification itself” when the program components are grouped into a subset from a specific viewpoint. As one example, there is a component classification for putting together programs having similar functions. Each of the program components includes a program code standardized so as to be used for general purposes, and an attribute of the program code. The attributes of the program code include any information related to the program code, such as the purpose, effect, time required for execution, size, and argument information of the program code.

【0036】図5は、プログラム部品記憶手段12の保
持内容の具体例を模式的に示す図である。同図に示すよ
うに複数のプログラム部品が部品分類10、331、5
10などに分類されて保持されている。また図7は、プ
ログラム部品が上述のようにプログラムコードとその属
性とによって構成されることを模式的に示している。
FIG. 5 is a diagram schematically showing a specific example of the contents held in the program component storage means 12. As shown in FIG. As shown in FIG.
10 and so on. FIG. 7 schematically shows that the program component is constituted by the program code and its attribute as described above.

【0037】(プログラム部品選択手段11)プログラ
ム部品選択手段11は、概略処理手順を構成するそれぞ
れの概略処理に対応するプログラム部品をプログラム部
品記憶手段12から選択し、プログラム結合手段に供給
する手段である。なお、本発明の効果はどのプログラム
部品を選択したかに拘らず発生するのでプログラム部品
の選択方法は特に限定しない。例えば、乱数に基づいて
プログラム部品を選択する方法でも良いし、過去に合成
したプログラムの評価値をプログラム評価手段から取り
込み、評価値の高低とプログラムに使われているプログ
ラム部品との相関とから、高い評価値が得られるように
選択する方法(後述の実施形態において詳しく説明す
る)でもよい。ちなみに後者の方法を用いた場合は試行
錯誤的に徐々に評価値の高いプログラムを合成すること
ができる。
(Program part selecting means 11) The program part selecting means 11 is a means for selecting a program part corresponding to each general processing constituting the general processing procedure from the program part storing means 12 and supplying it to the program combining means. is there. Note that the effect of the present invention occurs regardless of which program component is selected, so the method of selecting the program component is not particularly limited. For example, a method of selecting a program component based on a random number may be used, or an evaluation value of a program synthesized in the past may be fetched from a program evaluation unit, and a correlation between a high / low evaluation value and a program component used in the program may be obtained. A method of selecting so as to obtain a high evaluation value (described in detail in an embodiment described later) may be used. By the way, when the latter method is used, a program with a gradually higher evaluation value can be synthesized by trial and error.

【0038】(プログラム結合手段13)プログラム結
合手段13は、概略処理手順に記述されている部品の実
行順序と部品の引数情報とに従ってプログラム部品を結
合してプログラムを合成する。ここで言う「プログラム
部品を結合する」とは、概略処理手順に指定された実行
順序に合わせてプログラム部品を配置し、プログラム部
品の引数の値の設定方法を決める作業を意味する。
(Program Combining Means 13) The program combining means 13 combines the program parts according to the execution order of the parts and the argument information of the parts described in the general processing procedure to synthesize a program. Here, "combining program components" means an operation of arranging the program components in accordance with the execution order specified in the general processing procedure and determining a method of setting the value of the argument of the program component.

【0039】図9は、プログラム結合手段13の具体的
な構成例を示すブロック図である。プログラム結合手段
13はプログラム部品選択手段により選択されたプログ
ラム部品と、概略処理手順指定手段10により指定され
た概略処理手順とから、プログラムを合成する。
FIG. 9 is a block diagram showing a specific configuration example of the program combining means 13. As shown in FIG. The program combining unit 13 synthesizes a program from the program component selected by the program component selecting unit and the general processing procedure specified by the general processing procedure specifying unit 10.

【0040】共通コード保持手段90は作業用メモリの
確保機能や、入力データのファイルロード機能、結果の
出力機能など、選択したプログラム部品の種類にかかわ
らず必要となる共通のプログラムコードを保持する。
The common code holding means 90 holds necessary common program codes such as a function of securing a working memory, a function of loading input data, and a function of outputting a result irrespective of the type of the selected program component.

【0041】共通コード準備手段91はこれら共通コー
ド保持手段90の保持内容を読み込み、合成するプログ
ラムの共通部分を作成する。つぎに、プログラム部品配
列手段92は、概略処理手順において指定されているプ
ログラム部品の実行順序に従ってプログラム部品を配列
し、ソースコードの探索解ごとに異なる部分を作成す
る。つぎに部品引数設定手段93はプログラム部品の各
引数の設定方法を定める。以下に、部品引数設定手段9
3により行われる引数の設定方法について説明する。
The common code preparation means 91 reads the contents held by the common code holding means 90 and creates a common part of the program to be synthesized. Next, the program part arranging means 92 arranges the program parts according to the execution order of the program parts specified in the general processing procedure, and creates a different part for each search solution of the source code. Next, the component argument setting means 93 determines a setting method of each argument of the program component. Below, the component argument setting means 9
The method of setting the arguments performed in Step 3 will be described.

【0042】引数値の設定方法には、(1)別の変数の
値を複写する、(2)パラメータとして調整する、の二
通りの場合があり、上述したプログラム部品記憶手段1
2の説明において述べた引数情報に(1)又は(2)の
いずれかの設定方法が指定されるものとなっている。
There are two ways of setting the argument value: (1) copying the value of another variable, and (2) adjusting the value as a parameter.
One of the setting methods (1) and (2) is specified in the argument information described in the description of (2).

【0043】図8はプログラム部品の引数情報の一例を
示す図である。同図に示すように個々のプログラム部品
の引数ごとに、その入出力種別、内容、設定方法、及び
値範囲が指定されている。
FIG. 8 is a diagram showing an example of the argument information of the program component. As shown in the figure, the input / output type, contents, setting method, and value range are specified for each argument of each program component.

【0044】図8において「kirsch」はKirschオペレー
タで画像のエッジを検出する画像処理のプログラム部品
であり、「lap 」は同様の機能を持つ3×3のラプラシ
アン演算を行うプログラム部品であり、「ersrgn」は画
像中の連結成分のうち面積が閾値以下の領域を消去する
部品である。これらのプログラム部品はいずれも入力と
して画像、画像の幅、画像の高さを受け取る。さらに部
品lap はパラメータとして演算子選択typeをとる。すな
わち引数名typeは、3種類のラプラシアン演算子のいず
れを施すかのスイッチであり、同図の「値範囲」の行に
は、1、2、3のいずれかの値をとることが示されてい
る。また部品ersrgnは、パラメータとして消去閾値thre
s をとる。これは、消去する連結成分の面積閾値を指定
するものであり、10〜1000の範囲の値を取り得、また刻
み幅が1である。
In FIG. 8, "kirsch" is a program part for image processing for detecting an edge of an image by a Kirsch operator, and "lap" is a program part for performing a 3 × 3 Laplacian operation having the same function. “ersrgn” is a component for erasing a region whose area is equal to or smaller than a threshold among connected components in an image. Each of these program parts receives an image, an image width, and an image height as input. Further, the part lap takes an operator selection type as a parameter. That is, the argument name type is a switch indicating which of the three types of Laplacian operator is to be applied, and the row of “value range” in FIG. ing. Also, the part ersrgn is an erasure threshold thre as a parameter.
Take s. This specifies the area threshold value of the connected component to be deleted, and can take a value in the range of 10 to 1000, and the step size is 1.

【0045】このような引数情報に従って各引数の設定
方法を定める部品引数設定手段93の動作を図6のフロ
ーチャートを参照して詳細に説明する。
The operation of the component argument setting means 93 which determines the setting method of each argument according to such argument information will be described in detail with reference to the flowchart of FIG.

【0046】処理はすべてのプログラム部品、及びその
すべての引数について繰返し行う(ステップA1、A
2)。プログラム部品を処理する順序は、概略処理手順
の下流にある部品から始め、徐々に上流の部品へと処理
を進める。同じプログラム部品の引数については、特に
処理の順序は定めないが、たとえば引数情報の順に処理
すればよい。まず、その引数の入出力種別を引数情報
(図8参照)から調べる(ステップA3)。入出力種別
が「出力」である場合は、設定方法を決める必要はない
ので、次の引数の処理に移行する。種別が「入力」であ
る引数のみを設定方法を決める対象とし、つぎに引数情
報に指定されている設定方法を調べる(ステップA
4)。設定方法が「接続」の場合、その入力引数の値の
複写元である別の変数すなわち別部品の出力引数を決定
する(ステップA5)。この複写元の変数としては、処
理対象の部品のよりも前に実行される部品(概略処理手
順中において、より上流の部品)であって、且つ処理対
象の入力引数と同じ内容を持つものから選ぶ(ステップ
A8、A9)。この条件を満たすものが複数存在する場
合には最初に見つかった引数を採用する。なお、本発明
の効果は複写元の引数を決める方法に依存せずに発生す
る。したがって、他の方法に従って複写元の引数を決め
るように構成しても良い。例えば、特願平8−2453
59号明細書に記載の引数接続方法を採用すればよい。
The process is repeated for all program components and all their arguments (steps A1, A
2). The order in which the program components are processed starts with the components downstream of the general processing procedure and gradually proceeds to the upstream components. The order of processing is not particularly defined for the arguments of the same program component, but may be processed in the order of the argument information, for example. First, the input / output type of the argument is checked from the argument information (see FIG. 8) (step A3). If the input / output type is “output”, there is no need to determine the setting method, so the processing shifts to the processing of the next argument. Only the argument whose type is “input” is set as a target for determining the setting method, and then the setting method specified in the argument information is checked (step A).
4). If the setting method is "connection", another variable from which the value of the input argument is copied, that is, the output argument of another component is determined (step A5). The variables of the copy source include components executed before the component to be processed (upstream components in the general processing procedure) and those having the same contents as the input arguments to be processed. Select (steps A8, A9). If there is more than one that satisfies this condition, the first found argument is used. The effect of the present invention occurs independently of the method of determining the copy source argument. Therefore, the configuration may be such that the copy source argument is determined according to another method. For example, Japanese Patent Application No. Hei 8-2453
The argument connection method described in the specification of Japanese Patent No. 59 may be adopted.

【0047】値の複写元となる変数が見つからなかった
場合は、処理対象の引数の値を設定する方法が決まらな
いので、このプログラム部品を選択したことが失敗であ
ったと見なし、本プログラムを棄却する(ステップA1
0)。
If the variable from which the value is to be copied is not found, the method of setting the value of the argument to be processed is not determined. Therefore, it is considered that the selection of this program component has failed, and the program is rejected. (Step A1
0).

【0048】設定方法が「パラメータ」の場合は、後
程、プログラム部品パラメータ調整手段14が値を調整
する対象とする。この準備のため、調整対象の引数を調
整対象情報(引数名とその値の取り得る範囲の一覧表)
に登録する(ステップA6)。図10は、調整対象情報
のデータ構造を模式的に示す図である。調整対象情報
は、対象の引数ごとにその引数に付与された番号(パラ
メータ番号)およびその引数の取りうる値(調整範囲)
とから成る。この調整対象情報は、プログラム部品パラ
メータ調整手段14に提供される。また合成されるプロ
グラムに、その引数の値を外部から設定するための引数
ポートを組み込む(ステップA7)。
When the setting method is "parameter", the program component parameter adjusting means 14 adjusts the value later. For this preparation, adjust the argument to be adjusted by adjusting information (list of argument names and possible values).
(Step A6). FIG. 10 is a diagram schematically illustrating the data structure of the adjustment target information. The adjustment target information is a number (parameter number) assigned to each argument for each target argument and a value that the argument can take (adjustment range).
Consisting of This adjustment target information is provided to the program component parameter adjustment unit 14. Also, an argument port for setting the value of the argument from outside is incorporated into the synthesized program (step A7).

【0049】図8に示した具体的なプログラム部品を例
にとって、引数の値の設定方法が如何にして決まるかを
説明する。例えばラプラシアン演算を行う部品lap の引
数については、最初の引数ipは種別が「入力」であるか
ら、設定方法決定の処理対象となる(ステップA3)。
引数情報によると設定方法が「接続」であるから、値の
複写元である別の部品の出力引数を探す(ステップA
4、A5)。概略処理手順の中で、部品lap よりも先に
実行され、且つその出力値が決まるプログラム部品の引
数であって且つ引数情報の内容が一致するものを探すの
であるから、この場合は内容が画像であるもののうちか
ら選ぶ。画像処理の場合、プログラム部品間で画像の受
け渡しが行なわれながら処理が進んでいく。したがっ
て、部品lapの直前で実行されるプログラム部品の出力
画像を複写すれば良い。次の引数jpは種別が「出力」で
あるから、設定方法決定の処理対象とせず、つぎの引数
isx に処理を進める(ステップA3)。引数isx は種別
が「入力」であるから、設定方法決定の処理対象とする
(ステップA3)。設定方法は「接続」であるから、先
に処理した引数ipと同様の処理を施す。次の引数isy も
同じである。その次の引数typeは設定方法決定の処理対
象である。設定方法によると「パラメータ」となってい
るからパラメータ調整の対象とする(ステップA4)。
もしこれが最初の調整対象の引数であるなら、調整対象
情報は図11に示す通り、パラメータ番号が「1」、調
整範囲が「1、2、3」となる。つまりパラメータであ
る引数typeは、その値として1、2、3のいずれかの値
を取る。また、合成したプログラムに、小領域を消去す
る部品ersrgn(図8参照)が含まれており、そのパラメ
ータ引数である消去閾値thres が上記の引数typeのつぎ
の調整対象であったとすると、その調整対象情報は、パ
ラメータ番号が「2」、調整範囲が「10〜1000,1」とな
る。つまりパラメータである引数thres は、その値とし
て下限値10、上限値1000、刻み幅1の範囲の値(10,11,
…,1000 )のいずれかを取る。また、これら調整対象の
引数に外部から値を設定するための引数ポートは、合成
するプログラムが例えばC言語で記述される場合は、た
とえばメイン関数(main( ) )の引数として準備すれば
良い。あるいは、プログラム部品パラメータ調整手段1
4が設定値を特定のファイルに保存しておき、合成する
プログラムがそのファイルを読んで、対応する値を調整
対象の引数にセットする方法でもよい。このために必要
となるコードは、プログラム結合手段13の説明におい
て述べた共通コード保持手段90に格納しておけば良
い。
Using the specific program components shown in FIG. 8 as an example, how the setting method of the argument value is determined will be described. For example, as for the argument of the component lap for which the Laplacian operation is performed, the first argument ip has a type of “input”, and thus is subjected to the setting method determination processing (step A3).
According to the argument information, since the setting method is “connection”, an output argument of another component from which the value is copied is searched for (step A).
4, A5). In the general processing procedure, an argument of a program component that is executed before the component lap and whose output value is determined and whose contents of the argument information match are searched. Choose from among In the case of image processing, processing proceeds while an image is transferred between program components. Therefore, the output image of the program component executed immediately before the component lap may be copied. Since the type of the next argument jp is "output", the next argument jp
The process proceeds to isx (step A3). Since the type of the argument isx is “input”, the parameter isx is set as a processing target for setting method determination (step A3). Since the setting method is “connection”, the same processing as that of the previously processed argument “ip” is performed. The next argument isy is the same. The next argument type is a processing target for setting method determination. Since the parameter is “parameter” according to the setting method, the parameter is adjusted (step A4).
If this is the first argument to be adjusted, the adjustment target information has a parameter number of “1” and an adjustment range of “1, 2, 3” as shown in FIG. That is, the argument type, which is a parameter, takes one of 1, 2, and 3 as its value. Also, if the combined program includes a part ersrgn (see FIG. 8) for erasing a small area, and the erasure threshold thres, which is a parameter argument thereof, is to be adjusted next to the above argument type, the adjustment is made. The target information has a parameter number of “2” and an adjustment range of “10 to 1000, 1”. In other words, the argument thres, which is a parameter, is a value in the range of the lower limit value 10, the upper limit value 1000, and the step size 1 (10,11,
…, 1000). When a program to be synthesized is described in, for example, the C language, an argument port for externally setting a value of the argument to be adjusted may be prepared as, for example, an argument of a main function (main ()). Alternatively, the program component parameter adjusting means 1
4, the setting value may be stored in a specific file, and the program to be synthesized reads the file and sets the corresponding value to the argument to be adjusted. The code required for this purpose may be stored in the common code holding means 90 described in the description of the program combining means 13.

【0050】以上説明したようにプログラム結合手段1
3が動作することによってプログラム合成が完了する。
As described above, the program combining means 1
The operation of 3 completes the program synthesis.

【0051】(プログラム部品パラメータ調整手段14
及びプログラム評価手段15)プログラム部品パラメー
タ調整手段14は、プログラム結合手段13が合成した
プログラムを構成する個々のプログラム部品のパラメー
タを調整し、プログラム評価手段15は当該調整がなさ
れたプログラムを評価する。なお、本発明の効果は当該
プログラム部品パラメータ調整手段13における引数の
調整方法に依らないで発生するので、引数調整の方法は
具体的には限定されない。
(Program part parameter adjusting means 14)
And the program evaluation means 15) The program component parameter adjustment means 14 adjusts the parameters of the individual program components constituting the program synthesized by the program combination means 13, and the program evaluation means 15 evaluates the adjusted program. Note that the effect of the present invention occurs without depending on the method of adjusting the arguments in the program component parameter adjusting means 13, and the method of adjusting the arguments is not specifically limited.

【0052】以下、調整方法の一例として、すべてのパ
ラメータの組合せで合成したプログラムを実行した評価
値を計算し、最も評価値が高くなったパラメータ値の組
合せを、最終的な調整値とする場合について具体的に説
明する。
Hereinafter, as an example of the adjustment method, a case will be described in which an evaluation value obtained by executing a program synthesized with all combinations of parameters is calculated, and the combination of parameter values having the highest evaluation value is used as a final adjustment value. Will be specifically described.

【0053】図12はプログラム部品パラメータ調整手
段14及びプログラム評価手段15が共同で行う、パラ
メータ調整及びプログラム評価の処理の大まかな流れを
示すフローチャートである。
FIG. 12 is a flowchart showing a rough flow of a parameter adjustment and program evaluation process performed jointly by the program component parameter adjustment means 14 and the program evaluation means 15.

【0054】先ず、プログラム部品パラメータ調整手段
14は、プログラム結合手段13が作成した調整対象情
報中の全引数について、その取り得る値の全てのパラメ
ータ値の組合せを作成する(ステップB1)。
First, the program component parameter adjusting means 14 creates a combination of all possible parameter values for all arguments in the adjustment target information created by the program combining means 13 (step B1).

【0055】繰返し処理の中では、先ず、合成されたプ
ログラムと、そのパラメータ値との組みの一つがプログ
ラム評価手段15に供給される。プログラム評価手段1
5は当該合成プログラムを実行し、その評価値を求める
(ステップB3)。つぎに、パラメータ値の組みとプロ
グラムの評価値が、プログラム部品パラメータ調整手段
14の内部に記録される(ステップB4)。
In the repetitive processing, first, one of a set of the synthesized program and its parameter value is supplied to the program evaluation means 15. Program evaluation means 1
5 executes the synthesis program and obtains an evaluation value (step B3). Next, the set of parameter values and the evaluation value of the program are recorded inside the program component parameter adjusting means 14 (step B4).

【0056】パラメータ値の全組合せについてこれらの
処理が行われてプログラムの評価値が求まる。その後、
上記記録した内容に基づいて、最も高い評価値とそのと
きのパラメータ値の組を判定する。このパラメータ値の
組を、合成した当該プログラムの最終的なパラメータ調
整値とする(ステップB5)。最も高い評価値は、その
プログラムの最終的な評価値としてプログラム部品選択
手段11に供給される。
These processes are performed for all combinations of the parameter values to determine the evaluation value of the program. afterwards,
Based on the recorded contents, a set of the highest evaluation value and the parameter value at that time is determined. This set of parameter values is used as the final parameter adjustment value of the synthesized program (step B5). The highest evaluation value is supplied to the program component selection means 11 as the final evaluation value of the program.

【0057】図13は、プログラム部品パラメータ調整
手段14と、プログラム評価手段15との関係及び各々
の構成の具体例を示すブロック図である。プログラム部
品パラメータ調整手段14はパラメータ値組合せ手段1
30、パラメータ値組合せ保持手段131によって構成
される。一方、プログラム評価手段15は、プログラム
実行手段132、入力保持手段133、評価値計算手段
134、期待出力保持手段135によって構成される。
FIG. 13 is a block diagram showing the relationship between the program component parameter adjusting means 14 and the program evaluating means 15 and a specific example of each configuration. The program component parameter adjusting means 14 is a parameter value combining means 1
30 and a parameter value combination holding means 131. On the other hand, the program evaluation unit 15 includes a program execution unit 132, an input holding unit 133, an evaluation value calculation unit 134, and an expected output holding unit 135.

【0058】先ず、パラメータ値組合せ手段130は調
整対象情報を参照し、合成プログラム中の全引数につい
て取り得る値の全組合せを作成し、この情報をパラメー
タ値組合わせ保持手段131に記録する。
First, the parameter value combination means 130 creates all combinations of possible values for all arguments in the synthesis program with reference to the adjustment target information, and records this information in the parameter value combination holding means 131.

【0059】次に、プログラム実行手段はプログラム結
合手段13から供給される合成プログラムに対し、パラ
メータ値組合わせ保持手段131に記憶されているすべ
てのパラメータ値を与えて当該合成プログラムを実行す
る。すなわち、記憶されているパラメータ値の組合せを
一つ取り出す毎に、合成プログラムの引数ポート(前述
した)にそのパラメータ値を設定してプログラムを実行
する。そうすると、当該プログラムは入力保持手段13
3に格納されている入力データをロードし、その処理結
果を評価値計算手段134に供給する。一方、期待出力
保持手段135には、合成プログラムが所定の入力デー
タを与えられたときに出力することが期待されている期
待出力を保持している。
Next, the program executing means gives all the parameter values stored in the parameter value combination holding means 131 to the synthesizing program supplied from the program combining means 13 and executes the synthesizing program. That is, every time one stored combination of parameter values is taken out, the parameter value is set in the argument port (described above) of the synthesis program and the program is executed. Then, the program is stored in the input holding unit 13.
3 is loaded, and the processing result is supplied to the evaluation value calculation means 134. On the other hand, the expected output holding means 135 holds an expected output which is expected to be output when the synthesis program is given predetermined input data.

【0060】評価値計算手段134は、プログラム実行
手段132から供給される合成プログラムからの出力
と、期待出力保持手段135から供給される現在の入力
データに対する期待出力とを取り込み、当該合成プログ
ラムの評価値を計算し、パラメータ値組合せ保持手段1
31に供給する。パラメータ値組合せ保持手段は、当該
のパラメータ値の組合せと評価値とを対応づけて記録す
る。パラメータ値の全組合せに対しする当該合成プログ
ラムの評価値が全て定まったら、パラメータ値組合せ保
持手段131は、記録している最も高い評価値を、当該
プログラムの最終的な評価値として部品選択手段11に
供給する。
The evaluation value calculation means 134 takes in the output from the synthesis program supplied from the program execution means 132 and the expected output for the current input data supplied from the expected output holding means 135, and evaluates the synthesis program. Calculate the value and store the parameter value combination holding means 1
31. The parameter value combination holding unit records the combination of the parameter value and the evaluation value in association with each other. When all the evaluation values of the synthesis program for all combinations of the parameter values are determined, the parameter value combination holding unit 131 uses the highest evaluation value recorded as the final evaluation value of the program, and selects the component selection unit 11. To supply.

【0061】以上説明した本実施形態によれば、先ず合
成しようとするプログラムの大まかな処理である概略処
理手順が概略処理手順指定手段において指定され、次
に、与えられた概略処理手順に従って所定のプログラム
部品がプログラム部品選択手段により選択されるととも
に選択されたプログラム部品のパラメータの情報がプロ
グラム部品パラメータ調整手段に供給される。そして、
プログラム結合手段により、プログラム部品選択手段が
選択したプログラム部品が概略処理手順に従って結合さ
れ、プログラムが合成される。
According to the above-described embodiment, first, a rough processing procedure, which is a rough processing of a program to be synthesized, is specified by the rough processing procedure designating means, and then a predetermined processing is performed according to the given rough processing procedure. The program component is selected by the program component selection means, and information on the parameters of the selected program component is supplied to the program component parameter adjustment means. And
The program combining unit combines the program components selected by the program component selecting unit according to the general processing procedure, and synthesizes the program.

【0062】ここで、プログラム部品パラメータ調整手
段は、プログラム評価手段と共同して、合成されたプロ
グラムに含まれるプログラム部品のパラメータを調整す
る。このとき、合成プログラムが最も高い評価値を取る
ように調整が行われる。
Here, the program part parameter adjusting means adjusts the parameters of the program parts included in the synthesized program in cooperation with the program evaluation means. At this time, adjustment is performed so that the synthesis program takes the highest evaluation value.

【0063】このような本実施形態のプログラム合成装
置によれば、プログラム部品の選択を例えば探索によっ
て行われる一方で、パラメータの調整が別途行われるこ
とになる。したがって、探索解のプログラムが同じプロ
グラム部品から成りパラメータ値のみが異なるものばか
りに収束することを回避することができ、いろいろな部
品を使ったプログラムを合成できる。
According to the program synthesizing apparatus of this embodiment, the selection of the program component is performed by, for example, a search, while the parameter adjustment is performed separately. Therefore, it is possible to avoid that the search solution program converges only to the one made up of the same program parts and only the parameter values are different, and it is possible to synthesize a program using various parts.

【0064】なお、本発明は上述した実施形態に限定さ
れず種々変形して実施可能である。
The present invention is not limited to the above-described embodiments, but can be implemented with various modifications.

【0065】[0065]

【発明の効果】以上説明したように、本発明によればプ
ログラム部品の選択を探索によって行い、しかる後にパ
ラメータの調整を行うことで、探索解のプログラムが同
じプログラム部品から成りパラメータ値のみが異なるも
のばかりに収束することを回避し、いろいろな部品を使
った探索解を生成できるプログラム合成装置及びプログ
ラムの合成方法を提供することができる。
As described above, according to the present invention, by selecting a program part by searching and then adjusting the parameters, the search solution program is composed of the same program part and only the parameter value is different. It is possible to provide a program synthesizing apparatus and a program synthesizing method capable of generating a search solution using various components while avoiding convergence of only a part.

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

【図1】本発明の一実施形態に係るプログラム合成装置
の概略構成を示すブロック図。
FIG. 1 is a block diagram showing a schematic configuration of a program synthesizing apparatus according to an embodiment of the present invention.

【図2】上記実施形態に係るプログラム合成装置の全体
の流れを示すフローチャート。
FIG. 2 is a flowchart showing an overall flow of the program synthesizing apparatus according to the embodiment.

【図3】上記実施形態に係る概略処理手順指定手段の具
体的な構成例を示すブロック図。
FIG. 3 is a block diagram showing a specific configuration example of a schematic processing procedure designating unit according to the embodiment.

【図4】上記実施形態に係るフローチャート編集手段が
ディスプレイ端末上に表示するマン・マシンインターフ
ェース画面の一例を模式的に示す図。
FIG. 4 is a diagram schematically showing an example of a man-machine interface screen displayed on a display terminal by a flowchart editing unit according to the embodiment.

【図5】上記実施形態に係るプログラム部品記憶手段の
保持内容の具体例を模式的に示す図。
FIG. 5 is a view schematically showing a specific example of contents held in a program component storage unit according to the embodiment.

【図6】上記実施形態に係る部品引数設定手段の動作を
示すフローチャート。
FIG. 6 is a flowchart showing the operation of a component argument setting unit according to the embodiment.

【図7】上記実施形態に係るプログラム部品のデータ構
成を模式的に示す図。
FIG. 7 is a diagram schematically showing a data configuration of a program component according to the embodiment.

【図8】上記実施形態に係るプログラム部品の引数情報
の一例を示す図。
FIG. 8 is a view showing an example of argument information of a program component according to the embodiment.

【図9】上記実施形態に係るプログラム結合手段の具体
的な構成例を示すブロック図。
FIG. 9 is a block diagram showing a specific configuration example of a program combining unit according to the embodiment.

【図10】上記実施形態に係る調整対象情報のデータ構
造を模式的に示す図。
FIG. 10 is a diagram schematically showing a data structure of adjustment target information according to the embodiment.

【図11】上記実施形態に係る調整対象情報のデータの
一例を模式的に示す図。
FIG. 11 is a diagram schematically illustrating an example of data of adjustment target information according to the embodiment.

【図12】上記実施形態に係るプログラム部品パラメー
タ調整手段及びプログラム評価手段が共同で行う、パラ
メータ調整及びプログラム評価の処理の大まかな流れを
示すフローチャート。
FIG. 12 is a flowchart showing a rough flow of parameter adjustment and program evaluation processing performed jointly by the program component parameter adjustment unit and the program evaluation unit according to the embodiment;

【図13】上記実施形態に係るプログラム部品パラメー
タ調整手段と、プログラム評価手段との関係及び各々の
構成の具体例を示すブロック図。
FIG. 13 is a block diagram showing the relationship between the program component parameter adjustment means and the program evaluation means according to the embodiment, and a specific example of each configuration.

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

10…概略処理手順指定手段 11…プログラム部品選択手段 12…プログラム部品記憶手段 13…プログラム結合手段 14…プログラム部品パラメータ調整手段 15…プログラム評価手段 30…ディスプレイ端末 31…フローチャート編集手段 32…概略処理保持手段 90…共通コード保持手段 91…共通コード準備手段 92…部品配列手段 93…部品引数設定手段 130…パラメータ値組合わせ手段 131…パラメータ値組合わせ保持手段 132…プログラム実行手段 133…入力保持手段 134…評価値計算手段 135…期待出力保持手段 DESCRIPTION OF SYMBOLS 10 ... Outline processing procedure designating means 11 ... Program part selection means 12 ... Program part storage means 13 ... Program combination means 14 ... Program part parameter adjustment means 15 ... Program evaluation means 30 ... Display terminal 31 ... Flow chart editing means 32 ... Outline processing retention Means 90 ... Common code holding means 91 ... Common code preparation means 92 ... Parts arrangement means 93 ... Parts argument setting means 130 ... Parameter value combination means 131 ... Parameter value combination holding means 132 ... Program execution means 133 ... Input holding means 134 ... Evaluation value calculation means 135 ... Expected output holding means

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 目的プログラムの概略処理手順を指定す
る概略処理手順指定手段と、 各々が部品分類及びパラメータを有する複数のプログラ
ム部品を記憶するプログラム部品記憶手段と、 前記プログラム部品記憶手段から所定のプログラム部品
を選択するプログラム部品選択手段と、 前記概略処理手順に従い、前記プログラム部品選択手段
が選択したプログラム部品を結合して目的プログラムを
合成するプログラム合成手段と、 前記合成手段により合成された目的プログラムを構成す
る個々のプログラム部品の前記パラメータを調整するパ
ラメータ調整手段とを具備することを特徴とするプログ
ラム合成装置。
A schematic processing procedure designating means for designating a general processing procedure of a target program; a program component storing means for storing a plurality of program components each having a component classification and a parameter; Program component selecting means for selecting a program component; program synthesizing means for synthesizing a target program by combining the program components selected by the program component selecting means in accordance with the general processing procedure; and a target program synthesized by the synthesizing means. And a parameter adjusting means for adjusting the parameters of the individual program components constituting the program synthesizing apparatus.
【請求項2】 前記パラメータ調整手段により個々のプ
ログラム部品のパラメータ調整がなされた目的プログラ
ムの評価値を求める評価手段をさらに具備し、 前記プログラム部品選択手段は、前記評価手段によって
得られた評価値に基づいてプログラム部品を選択するこ
とを特徴とする請求項1のプログラム合成装置。
2. The apparatus according to claim 1, further comprising: an evaluation unit that obtains an evaluation value of the target program for which parameters of the individual program components have been adjusted by the parameter adjustment unit; and wherein the program component selection unit has an evaluation value obtained by the evaluation unit. 2. The program synthesizing apparatus according to claim 1, wherein the program component is selected based on the following.
【請求項3】 前記プログラム部品の分類に基づき所望
のプログラムの概略処理手順を指定するステップと、 前記複数のプログラム部品から前記概略処理手順に対応
するプログラム部品を選択する部品選択ステップと、 前記部品選択ステップにおいて選択されたプログラム部
品を結合して目的プログラムを合成する合成ステップ
と、 前記合成ステップにおいて合成された目的プログラムに
組み込まれたプログラム部品のパラメータを調整する調
整ステップと、 前記調整ステップにおいてパラメータを調整した目的プ
ログラムの性能を評価して評価値を求める評価ステップ
と、 前記部品選択ステップと、前記合成ステップと、前記調
整ステップと、前記評価ステップとを所定の終了条件が
成立するまで繰り返して実行させる実行制御ステップ
と、を具備することを特徴とするプログラム合成方法。
A step of specifying a general processing procedure of a desired program based on the classification of the program parts; a part selecting step of selecting a program part corresponding to the general processing procedure from the plurality of program parts; A combining step of combining the program parts selected in the selecting step to combine a target program; an adjusting step of adjusting parameters of program components incorporated in the target program synthesized in the combining step; and a parameter in the adjusting step An evaluation step of evaluating the performance of the adjusted target program to obtain an evaluation value, repeating the component selection step, the combining step, the adjustment step, and the evaluation step until a predetermined termination condition is satisfied. Execution control step to be executed Program synthesizing method characterized in that comprises a.
【請求項4】 前記部品選択ステップは、前記評価ステ
ップにおいて得られた評価値を参照してプログラム部品
を選択することを特徴とする請求項3に記載のプログラ
ム合成方法。
4. The program synthesizing method according to claim 3, wherein said component selecting step selects a program component by referring to an evaluation value obtained in said evaluating step.
【請求項5】 予め分類された複数のプログラム部品の
うち所定のプログラム部品を組合せて所望のプログラム
を合成するためのプログラムを記録した記録媒体であっ
て、 前記プログラム部品の分類に基づき所望のプログラムの
概略処理手順を指定する手段と、 前記複数のプログラム部品から前記概略処理手順に対応
するプログラム部品を選択する手段と、 前記選択されたプログラム部品を結合してプログラムを
合成する手段と、 前記合成されたプログラムに含まれるプログラム部品の
パラメータを調整する手段と、 前記合成されたプログラムの性能を評価して評価値を求
める手段と、を実行するプログラムを記録した記録媒
体。
5. A recording medium storing a program for combining a predetermined program component from a plurality of program components classified in advance to synthesize a desired program, wherein the desired program is classified based on the classification of the program component. Means for designating a general processing procedure, means for selecting a program part corresponding to the general processing procedure from the plurality of program parts, means for combining the selected program parts to synthesize a program, and A storage medium storing a program for executing a means for adjusting parameters of program components included in the combined program; and a means for evaluating the performance of the combined program to obtain an evaluation value.
JP6136398A 1998-03-12 1998-03-12 Device for synthesizing program and method therefor Pending JPH11259282A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6136398A JPH11259282A (en) 1998-03-12 1998-03-12 Device for synthesizing program and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6136398A JPH11259282A (en) 1998-03-12 1998-03-12 Device for synthesizing program and method therefor

Publications (1)

Publication Number Publication Date
JPH11259282A true JPH11259282A (en) 1999-09-24

Family

ID=13169021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6136398A Pending JPH11259282A (en) 1998-03-12 1998-03-12 Device for synthesizing program and method therefor

Country Status (1)

Country Link
JP (1) JPH11259282A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (en) * 2001-02-23 2002-09-06 Matsushita Electric Works Ltd Image processing program formation method and system for it
JP2010039928A (en) * 2008-08-07 2010-02-18 Nippon Telegr & Teleph Corp <Ntt> Mapping definition data generation device, mapping definition data generating method, and program
JP2011034179A (en) * 2009-07-30 2011-02-17 Toshiba Corp Plant model creating system and plant model creation method
JP2016062269A (en) * 2014-09-17 2016-04-25 富士通株式会社 Algorithm generation device, algorithm generation method, and computer program for algorithm generation
JP2018055389A (en) * 2016-09-28 2018-04-05 本田技研工業株式会社 Program creation support method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251603A (en) * 2001-02-23 2002-09-06 Matsushita Electric Works Ltd Image processing program formation method and system for it
JP2010039928A (en) * 2008-08-07 2010-02-18 Nippon Telegr & Teleph Corp <Ntt> Mapping definition data generation device, mapping definition data generating method, and program
JP2011034179A (en) * 2009-07-30 2011-02-17 Toshiba Corp Plant model creating system and plant model creation method
JP2016062269A (en) * 2014-09-17 2016-04-25 富士通株式会社 Algorithm generation device, algorithm generation method, and computer program for algorithm generation
JP2018055389A (en) * 2016-09-28 2018-04-05 本田技研工業株式会社 Program creation support method
CN107885493A (en) * 2016-09-28 2018-04-06 本田技研工业株式会社 Program making supports method and program making to support device
CN107885493B (en) * 2016-09-28 2021-04-13 本田技研工业株式会社 Program creation support method and program creation support device

Similar Documents

Publication Publication Date Title
US9445016B2 (en) Features such as titles, transitions, and/or effects which vary according to positions
US7730043B1 (en) Incremental batch-mode editing of digital media objects
US5467443A (en) System and method for automatically generating derived graphic elements
US20090164177A1 (en) Tolerance analyzing/calculating system, tolerance analyzing method, and storage medium
US20100218168A1 (en) System and Method for Generating a Test Environment Script File
JP2007052703A (en) Test scenario creation program, test scenario creation device, test scenario creation method
US6281872B1 (en) Rotation of an image implementing an independent mirror attribute
JPH06243023A (en) Scenario editing device
US20110320937A1 (en) Editing apparatus, editing method performed by editing apparatus, and storage medium storing program
JPH11259282A (en) Device for synthesizing program and method therefor
CN112306482A (en) Data processing method and device
EP0459711B1 (en) Method and apparatus for processing image data
US6633836B1 (en) Design system, design method, and storage medium storing design program for structural analysis after amendment of model form
JP3686802B2 (en) Database search method, apparatus, and recording medium recording database search program
CN113609122A (en) A data quality scanning method and system
CN114201158B (en) Method and device for automatically generating graphic configuration for safety-level DCS system of nuclear power plant
US9003985B2 (en) Device and non-transitory computer-readable medium
CN107087087A (en) Picture quality adjusting device and image quality adjustment method
CN116797500B (en) Image processing method, device, storage medium, electronic equipment and product
US6810157B1 (en) Dynamic templates for specifying values for parameters of an operation in a video editing system
JP7552908B2 (en) Information presentation method, information presentation device, and information presentation program
CN112604277B (en) GUI quick repeated engraving production method based on mobile phone game
JP2006013889A (en) Image processing method and apparatus
JP2965000B2 (en) Hardware description language editing apparatus, hardware description language editing method, and storage medium storing hardware description language editing program
JPH06236259A (en) Automatic program generator