JP2015075876A - Design support device, design support method and program - Google Patents

Design support device, design support method and program Download PDF

Info

Publication number
JP2015075876A
JP2015075876A JP2013211115A JP2013211115A JP2015075876A JP 2015075876 A JP2015075876 A JP 2015075876A JP 2013211115 A JP2013211115 A JP 2013211115A JP 2013211115 A JP2013211115 A JP 2013211115A JP 2015075876 A JP2015075876 A JP 2015075876A
Authority
JP
Japan
Prior art keywords
module
information
modules
combination
attribute information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013211115A
Other languages
Japanese (ja)
Other versions
JP6257254B2 (en
Inventor
智也 本條
Tomoya Honjo
智也 本條
優和 真継
Masakazu Matsugi
優和 真継
伊藤 嘉則
Yoshinori Ito
嘉則 伊藤
野村 修
Osamu Nomura
修 野村
山本 貴久
Takahisa Yamamoto
貴久 山本
英生 野呂
Hideo Noro
英生 野呂
英 大野
Suguru Ono
英 大野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013211115A priority Critical patent/JP6257254B2/en
Publication of JP2015075876A publication Critical patent/JP2015075876A/en
Application granted granted Critical
Publication of JP6257254B2 publication Critical patent/JP6257254B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To present connection candidates even for a module that has no connection history with other modules.SOLUTION: In a support device of graphic programming for performing programming by connecting a plurality of modules each indicating processing and by creating a data flow, a module information extraction part extracts attribute information of a selected module and on the basis of the extracted attribute information and connection history information between modules stored in a database, a combination candidate generation part extracts a combination of the selected module and the other module within the data flow meeting a predetermined condition. Thus, even for a module that has no connection history with the other modules, connection candidates for such a module can be presented.

Description

本発明は、図形プログラミングに係る設計支援装置、設計支援方法、及びプログラムに関する。   The present invention relates to a design support apparatus, a design support method, and a program related to graphic programming.

近年、ビジュアル環境でプログラミングを行う図形プログラミングツールが普及している。図形プログラミング(ビジュアルプログラミング、視覚プログラミングとも言う)は視覚的にわかりやすいという特徴を有する。しかし、入力端子及び出力端子を有する処理モジュールを複数接続してプログラミングを行う場合、通常は、設計者が各モジュールの入出力端子を調べて、あるモジュールの入出力端子を別のモジュールの入出力端子に接続するといった対応付けを行う必要がある。プログラム中の入出力端子数が増えた場合には、それらの接続に多大な手間を要していた。   In recent years, graphic programming tools for programming in a visual environment have become widespread. Graphic programming (also called visual programming or visual programming) has a feature that it is visually easy to understand. However, when programming by connecting multiple processing modules with input terminals and output terminals, the designer usually examines the input / output terminals of each module and changes the input / output terminals of one module to the input / output of another module. It is necessary to associate such as connecting to a terminal. When the number of input / output terminals in the program increased, it took a great deal of time to connect them.

そこで、モジュールに係る対応付けを支援するために、組み合わせを自動的に提示する手法が提案されている。例えば、特許文献1には、処理順序が指定された上で、選択された任意のモジュールと、他のモジュールとの間の接続履歴に基づいて、モジュール間の組み合わせの生成確率を計算し出力する技術が提案されている。   Therefore, a method of automatically presenting combinations has been proposed in order to support associations related to modules. For example, in Patent Document 1, a processing order is specified, and a generation probability of a combination between modules is calculated and output based on a connection history between an arbitrary selected module and another module. Technology has been proposed.

特許第4908073号公報Japanese Patent No. 4908073

特許文献1に記載のものは、選択された任意のモジュールと他のモジュールとの間の接続履歴に基づいて、モジュール間の組み合わせの生成確率を計算する。したがって、選択された任意のモジュールに、他のモジュールとの間の接続履歴がない場合には、選択された任意のモジュールに対する接続候補を提示することができず、モジュール間の接続が非効率であるという課題があった。本発明は、このような事情に鑑みてなされたものであり、他のモジュールとの間の接続履歴がないモジュールであっても、そのモジュールに対する接続候補を提示できるようにすることを目的とする。   The device described in Patent Document 1 calculates a generation probability of a combination between modules based on a connection history between an arbitrary selected module and another module. Therefore, if the selected module does not have a connection history with other modules, connection candidates for the selected module cannot be presented, and the connection between modules is inefficient. There was a problem that there was. The present invention has been made in view of such circumstances, and an object of the present invention is to be able to present connection candidates for a module even if the module has no connection history with another module. .

本発明に係る設計支援装置は、処理を示すモジュール間の接続履歴情報が格納されたデータベースと接続され、前記モジュールを接続してデータフローを作成しプログラミングを行う図形プログラミングに係る設計支援装置であって、選択された前記モジュールの属性情報を抽出する情報抽出手段と、前記情報抽出手段により抽出された前記属性情報と、前記データベースに格納されている前記モジュール間の接続履歴情報とに基づいて、予め定めた条件を満たす、前記選択されたモジュールと前記データフローの内の他の前記モジュールとの組み合わせを抽出する組み合わせ候補生成手段とを備えることを特徴とする。   A design support apparatus according to the present invention is a design support apparatus related to graphic programming which is connected to a database storing connection history information between modules indicating processing, creates a data flow by connecting the modules, and performs programming. Based on the information extraction means for extracting the attribute information of the selected module, the attribute information extracted by the information extraction means, and the connection history information between the modules stored in the database, A combination candidate generation unit that extracts a combination of the selected module and another module in the data flow that satisfies a predetermined condition is provided.

本発明によれば、モジュールの属性情報とモジュール間の接続履歴情報とに基づいて、予め定めた条件を満たすモジュール間の組み合わせが抽出される。これにより、他のモジュールとの間の接続履歴がないモジュールであっても、そのモジュールに対する接続候補を提示することができ、モジュール間の接続を効率的に行うことが可能になる。   According to the present invention, combinations between modules that satisfy a predetermined condition are extracted based on module attribute information and inter-module connection history information. Thereby, even for a module that has no connection history with other modules, connection candidates for the module can be presented, and connections between modules can be efficiently performed.

本発明の実施形態における設計支援装置を含むプログラミングシステムの構成例を示す図である。It is a figure which shows the structural example of the programming system containing the design assistance apparatus in embodiment of this invention. 第1の実施形態におけるビジュアルプログラミング支援装置での処理フローを示す図である。It is a figure which shows the processing flow in the visual programming assistance apparatus in 1st Embodiment. 第1の実施形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 1st Embodiment. 第1の実施形態における接続履歴情報及び組み合わせ生成確率の例を示す図である。It is a figure which shows the example of the connection history information in 1st Embodiment, and a combination production | generation probability. 第2の実施形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 2nd Embodiment. 第2の実施形態における接続履歴情報の例を示す図である。It is a figure which shows the example of the connection log information in 2nd Embodiment. 第2の実施形態における接続履歴情報及び組み合わせ生成確率の例を示す図である。It is a figure which shows the example of the connection history information in 2nd Embodiment, and a combination production | generation probability. 第3の実施形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 3rd Embodiment. 第3の実施形態における接続履歴情報及び組み合わせ生成確率の例を示す図である。It is a figure which shows the example of the connection history information in 3rd Embodiment, and a combination production | generation probability. 第4の実施形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 4th Embodiment. 第4の実施形態における接続履歴情報及び組み合わせ生成確率の例を示す図である。It is a figure which shows the example of the connection history information in 4th Embodiment, and a combination production | generation probability. 第6の実施形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 6th Embodiment. 第6の実施形態における関連モジュール検索ステップの処理フローを示す図である。It is a figure which shows the processing flow of the related module search step in 6th Embodiment. 本実施形態におけるビジュアルプログラミング支援装置を実現可能なコンピュータ機能を示す図である。It is a figure which shows the computer function which can implement | achieve the visual programming assistance apparatus in this embodiment.

以下、本発明の実施形態を図面に基づいて説明する。
本発明の実施形態は、入力端子及び出力端子を有する処理モジュールを複数接続してデータフロー図を作成しプログラミングを行う図形プログラミングに関するものである。本実施形態では、図形プログラミングにおいて、データフロー図上に新規のモジュール(新規モジュール)を設置した際に、接続可能なモジュール間の組み合わせ候補を出力する。本実施形態で扱うデータフローは、処理を表すモジュール(処理モジュール)と、処理の入出力を表す入出力端子と、それら端子を接続するリンクから構成される。モジュールは、四角形で表示され、左側に入力端子、右側に出力端子が付属するとする。各モジュールは、それぞれ属性情報を有し、その属性情報を基に関連性のあるモジュール(関連モジュール)の検索が行われる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
Embodiments of the present invention relate to graphic programming in which a plurality of processing modules having input terminals and output terminals are connected to create a data flow diagram and perform programming. In this embodiment, when a new module (new module) is installed on the data flow diagram in graphic programming, a combination candidate between connectable modules is output. The data flow handled in this embodiment includes a module (processing module) representing processing, an input / output terminal representing input / output of processing, and a link connecting these terminals. The module is displayed as a rectangle, with input terminals on the left and output terminals on the right. Each module has attribute information, and a search for related modules (related modules) is performed based on the attribute information.

(第1の実施形態)
本発明の第1の実施形態について説明する。
第1の実施形態では、関連モジュールの検索に係るモジュールの属性情報として、モジュールの処理の概念を示したカテゴリを採用する。カテゴリの例としては、画像処理分野であれば「フィルタ処理」等が挙げられる。また、モジュール間の接続の条件として、すでに他の入出力端子と接続されている入出力端子には接続できないものとする。また、入力端子同士、出力端子同士は、接続できないものとし、データフロー内でループを形成してしまう入出力端子の接続は行わないものとする。
(First embodiment)
A first embodiment of the present invention will be described.
In the first embodiment, a category indicating the concept of module processing is employed as module attribute information related to the related module search. Examples of categories include “filter processing” in the image processing field. Further, as a condition for connection between modules, it is assumed that connection cannot be made to an input / output terminal that is already connected to another input / output terminal. Also, input terminals and output terminals cannot be connected to each other, and input / output terminals that form a loop in the data flow are not connected.

第1の実施形態では、関連モジュールの候補を決定する際の関連判断条件として、カテゴリが同一であるか否かという基準を採用し、カテゴリが同一であれば関連モジュールの候補にする。また、新規モジュールは、過去にどのモジュールとも接続が行われておらず、他のモジュールとの間の接続履歴情報がまったくないが、カテゴリは新規モジュールの作成時に与えられる。なお、第1の実施形態における例では、新規モジュールに「AAA」というカテゴリが与えられているとする。   In the first embodiment, a criterion for determining whether or not a category is the same is used as a relationship determination condition when determining a candidate for a related module. If the category is the same, a candidate for a related module is used. The new module has not been connected to any module in the past and has no connection history information with other modules, but the category is given when the new module is created. In the example of the first embodiment, it is assumed that the category “AAA” is given to the new module.

第1の実施形態では、さらに簡単のため、入力端子と出力端子は、各モジュールに対して1つずつ与えられ、入出力データの型、すなわち入出力端子の型はすべて同じとし、前述の接続条件を満たす入力端子と出力端子の組み合わせはすべて有効なものとする。また、第1の実施形態では、モジュール間の接続履歴情報は、各モジュールの入出力端子との接続が行われた回数を指すものとする。そして、接続可能なモジュール間の組み合わせ候補を出力する際には、組み合わせ生成確率が高いものから順番に、しきい値等を設けずすべてリスト化する。生成確率が等しくなった場合の順番については任意とする。   In the first embodiment, for the sake of simplicity, one input terminal and one output terminal are provided for each module, and the input / output data types, that is, the input / output terminal types are all the same. All combinations of input and output terminals that meet the conditions are valid. Further, in the first embodiment, the connection history information between modules indicates the number of times of connection with the input / output terminals of each module. Then, when outputting the combination candidates between connectable modules, all are listed without providing a threshold or the like in descending order of the combination generation probability. The order in which the generation probabilities are equal is arbitrary.

図1は、本実施形態における設計支援装置を含むプログラミングシステムの構成例を示す図である。データフロー格納モジュール101は、ユーザーが作成しているデータフローを格納する領域を提供する。データベース102は、新規モジュールを除く個々のモジュールの属性情報と、そのモジュールの接続履歴情報とを格納する。入力装置103は、ユーザーからの指示の受け付けを行う。表示装置104は、データフローの作成に必要な情報を表示する。表示装置104は、例えば、ユーザーが操作しているデータフロー図を表示したり、接続可能なモジュール間の組み合わせ候補を表示したりする。データフロー更新装置105は、データフローにモジュールが追加されたり、ユーザーの指示を受けてモジュール同士が接続されたりしたときに、データフロー格納モジュール101のデータフローを更新する。   FIG. 1 is a diagram illustrating a configuration example of a programming system including a design support apparatus according to the present embodiment. The data flow storage module 101 provides an area for storing a data flow created by the user. The database 102 stores attribute information of individual modules excluding new modules and connection history information of the modules. The input device 103 accepts instructions from the user. The display device 104 displays information necessary for creating a data flow. The display device 104 displays, for example, a data flow diagram operated by the user or a combination candidate between connectable modules. The data flow update device 105 updates the data flow of the data flow storage module 101 when a module is added to the data flow or when modules are connected in response to a user instruction.

本実施形態における設計支援装置としてのビジュアルプログラミング支援装置111は、指示選択部106、モジュール情報抽出部107、組み合わせ候補生成部108、及び出力部109を有する。指示選択部106は、入力装置103からのユーザーの指示に応じて、データフロー中の任意のモジュールの入出力端子を選択したり、接続可能なモジュール間の組み合わせ候補を選択したりする。モジュール情報抽出部107は、選択されたモジュールの属性情報を抽出する。組み合わせ候補生成部108は、選択されたモジュールと関連するモジュールを検索し、選択されたモジュール間の組み合わせが生成される確率が予め定めた条件を満たすモジュール間の組み合わせ候補を抽出する。出力部109は、モジュール間の組み合わせ候補を出力する。   A visual programming support apparatus 111 as a design support apparatus in the present embodiment includes an instruction selection unit 106, a module information extraction unit 107, a combination candidate generation unit 108, and an output unit 109. The instruction selection unit 106 selects an input / output terminal of an arbitrary module in the data flow or selects a combination candidate between connectable modules in accordance with a user instruction from the input device 103. The module information extraction unit 107 extracts attribute information of the selected module. The combination candidate generation unit 108 searches for a module related to the selected module, and extracts a combination candidate between modules that satisfies a predetermined probability that a combination between the selected modules is generated. The output unit 109 outputs a combination candidate between modules.

ホストプロセッサ110は、図1に示すプログラミングシステムが有する各装置が動作するために必要な補助機能を提供する。例えば、ホストプロセッサ110は、入力装置103からの指示に従いデータフローにモジュールを追加したり、表示装置104で表示するデータを生成したりする。なお、図1に示した構成は、一例であり、本発明はこれに限定されるものではない。例えば、モジュール情報抽出部107が、指示選択部106を含むような構成であっても良い。   The host processor 110 provides auxiliary functions necessary for the operation of each device included in the programming system shown in FIG. For example, the host processor 110 adds a module to the data flow in accordance with an instruction from the input device 103 or generates data to be displayed on the display device 104. The configuration shown in FIG. 1 is an example, and the present invention is not limited to this. For example, the module information extraction unit 107 may include the instruction selection unit 106.

図2は、第1の実施形態におけるプログラミングシステムでの処理フローを示す図である。
入力ステップS201において、指示選択部106は、入力装置103を用いて入力されたユーザーの指示に応じて、作成しているデータフロー中から接続候補を探したいモジュールの入出力端子を選択する。本例では、図3(a)に示すように、モジュール301、302、303、304を含むデータフローにおいて、新規モジュール301の出力端子301−Oが選択されたとする。
FIG. 2 is a diagram illustrating a processing flow in the programming system according to the first embodiment.
In input step S <b> 201, the instruction selection unit 106 selects an input / output terminal of a module for which a connection candidate is to be searched from the created data flow in accordance with a user instruction input using the input device 103. In this example, it is assumed that the output terminal 301-O of the new module 301 is selected in the data flow including the modules 301, 302, 303, and 304 as shown in FIG.

次に、モジュール情報抽出ステップS202において、モジュール情報抽出部107は、入力ステップS201で選択されたモジュールの属性情報を抽出する。本例では、新規モジュール301のカテゴリとして「AAA」が抽出される。   Next, in module information extraction step S202, the module information extraction unit 107 extracts the attribute information of the module selected in input step S201. In this example, “AAA” is extracted as the category of the new module 301.

関連モジュール検索ステップS203において、組み合わせ候補生成部108は、モジュール情報抽出部107により抽出されたモジュールの属性情報を基に、選択されたモジュールの関連モジュールをデータベース102から検索する。第1の実施形態では、関連モジュールの検索に係る関連判断条件として、カテゴリが同一であるか否かという基準を用いる。検索により、図4(a)に示すように、データベース102に登録されているモジュールのうち、カテゴリが「AAA」に属するモジュールが、接続履歴情報とともにリストアップされる。そして、リストアップされた接続履歴情報を集計して、関連モジュールの接続履歴情報とする。ここでは、集計手法として、リストアップされた接続履歴情報のうち、項目毎に総計をとるものとする。本例における集計された接続履歴情報を図4(b)に示す。   In the related module search step S <b> 203, the combination candidate generation unit 108 searches the database 102 for related modules of the selected module based on the module attribute information extracted by the module information extraction unit 107. In the first embodiment, the criterion of whether or not the categories are the same is used as the relation determination condition related to the search for the related module. As a result of the search, as shown in FIG. 4A, among the modules registered in the database 102, modules whose category belongs to “AAA” are listed together with the connection history information. Then, the listed connection history information is aggregated to obtain connection history information of related modules. Here, as a totaling method, the total is taken for each item in the listed connection history information. The tabulated connection history information in this example is shown in FIG.

組み合わせ生成ステップS204において、組み合わせ候補生成部108は、選択されたモジュールの入出力端子と接続可能なモジュールの入出力端子を探索し、モジュール間の組み合わせ候補とする。この探索は、データフロー格納モジュール101に格納されているデータフローの中で使用されているモジュールを対象として行う。本例では、モジュールa302、モジュールb303、モジュールc304の入力端子が、新規モジュール301の出力端子301−Oとの組み合わせ候補とされる。   In the combination generation step S204, the combination candidate generation unit 108 searches for an input / output terminal of a module that can be connected to the input / output terminal of the selected module, and sets it as a combination candidate between modules. This search is performed for the modules used in the data flow stored in the data flow storage module 101. In this example, the input terminals of the module a302, the module b303, and the module c304 are set as combination candidates with the output terminal 301-O of the new module 301.

有効確認ステップS205では、組み合わせ候補生成部108は、組み合わせ生成ステップS204で得られたモジュール間の組み合わせ候補を、モジュール間の接続条件に当てはめて、接続が有効かどうかを個々に調べる。その結果、接続可能な組み合わせである場合には、組み合わせ生成確率計算ステップS206に進み、接続不可能な組み合わせである場合には、組み合わせ生成ステップS204に戻り、次の組み合わせ候補について処理を行う。   In the validity confirmation step S205, the combination candidate generation unit 108 applies the combination candidate between modules obtained in the combination generation step S204 to the connection condition between modules, and individually checks whether the connection is valid. As a result, if the combination is connectable, the process proceeds to a combination generation probability calculation step S206. If the combination is not connectable, the process returns to the combination generation step S204 to process the next combination candidate.

組み合わせ生成確率計算ステップS206において、組み合わせ候補生成部108は、関連モジュールの接続履歴情報とモジュール間の組み合わせ候補とを用いて、組み合わせの生成確率を計算する。ここで用いられる関連モジュールの接続履歴情報は、関連モジュール検索ステップS203で得られたものであり、モジュール間の組み合わせ候補は、組み合わせ生成ステップS204で得られたものである。本例では、例えば、注目するモジュール間の組み合わせの接続回数をnk、関連モジュール検索ステップS203で得られたモジュール間の組み合わせの合計接続回数をΣniとして、(nk÷Σni)を注目する組み合わせの生成確率Nkとする。本例によって計算された各モジュール間の組み合わせ生成確率を図4(c)に示す。例えば、新規モジュール301とモジュールa302との組み合わせの生成確率Nkは、nk=40、Σni=400となるから、Nk=0.1となる。   In the combination generation probability calculation step S206, the combination candidate generation unit 108 calculates a combination generation probability using the connection history information of the related modules and the combination candidates between modules. The connection history information of the related modules used here is obtained in the related module search step S203, and the combination candidates between the modules are those obtained in the combination generation step S204. In this example, for example, nk is the number of connections of a combination between modules of interest, and Σni is the total number of connections of the combinations obtained in the related module search step S203, so that a combination that focuses on (nk ÷ Σni) is generated. The probability is Nk. FIG. 4C shows the combination generation probability between modules calculated according to this example. For example, since the generation probability Nk of the combination of the new module 301 and the module a302 is nk = 40 and Σni = 400, Nk = 0.1.

終了条件ステップS207では、組み合わせ候補生成部108は、接続可能なモジュール間の組み合わせのすべてについて探索が完了したか否かを判定する。その結果、接続可能なモジュール間の組み合わせの探索が完了した場合には、組み合わせ候補生成ステップS208へ移行し、まだ他に接続可能なモジュール間の組み合わせが残っている場合には、組み合わせ生成ステップS204に戻る。   In the end condition step S207, the combination candidate generation unit 108 determines whether or not the search has been completed for all combinations of connectable modules. As a result, when a search for a combination between connectable modules is completed, the process proceeds to a combination candidate generation step S208. When there are still other combinations between connectable modules, a combination generation step S204 is performed. Return to.

組み合わせ候補生成ステップS208において、組み合わせ候補生成部108は、組み合わせ生成確率計算ステップS206で算出された組み合わせ生成確率が予め定めた条件を満たすモジュール間の組み合わせを抽出する。本例では、モジュール間の組み合わせの中で生成確率が0以上のもの、すなわちすべての組み合わせを抽出し、組み合わせ生成確率が高い順番に並べ替えたものをすべてリスト化して、モジュール間の組み合わせ候補として出力部109より出力する。すなわち、図4(c)に従い、モジュールb303、モジュールa302、モジュールc304の順にリスト化して、それをモジュール間の組み合わせ候補として出力する。   In the combination candidate generation step S208, the combination candidate generation unit 108 extracts combinations between modules in which the combination generation probability calculated in the combination generation probability calculation step S206 satisfies a predetermined condition. In this example, the combinations between modules that have a generation probability of 0 or more, that is, all combinations are extracted, and all combinations that are sorted in descending order of the combination generation probability are listed as candidate combinations between modules. Output from the output unit 109. That is, according to FIG. 4C, the module b303, the module a302, and the module c304 are listed in this order, and are output as candidate combinations between modules.

画面表示ステップS209において、ホストプロセッサ110は、組み合わせ候補生成ステップS208で出力されたモジュール間の組み合わせ候補の情報を、表示装置104に表示する。本例では、例えば図3(b)に示すように、組み合わせ候補生成ステップS208で出力されたモジュール間の組み合わせ候補に基づき、接続候補を接続線の太さと色を変えて表示する。ここでは、リストの上位に位置する組み合わせを太く、色の明度を低くしている。   In the screen display step S209, the host processor 110 displays the information on the combination candidates between modules output in the combination candidate generation step S208 on the display device 104. In this example, for example, as shown in FIG. 3B, based on the combination candidates between modules output in the combination candidate generation step S208, the connection candidates are displayed with the connection line thickness and color changed. Here, the combination located at the top of the list is thick and the color brightness is low.

確定ステップS210において、指示選択部106は、入力装置103を用いて入力されたユーザーの指示に応じて、表示装置104に表示されたモジュール間の組み合わせ候補の中から1つを選択する。そして、データフロー更新装置105によって、選択されたモジュール間の接続が行われて、図3(c)に示すようにデータフローが更新される。   In the confirmation step S <b> 210, the instruction selection unit 106 selects one of the combination candidates between modules displayed on the display device 104 in accordance with a user instruction input using the input device 103. Then, the data flow update device 105 connects the selected modules, and the data flow is updated as shown in FIG.

第1の実施形態によれば、モジュールの属性情報としてカテゴリを用い、選択されたモジュールと同じカテゴリに属する関連モジュールの接続履歴情報を利用して、選択されたモジュールに対する接続候補を提示することができる。これにより、他のモジュールとの間の接続履歴がないモジュールであっても、そのモジュールに対する接続候補をユーザー等に提示することができ、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。   According to the first embodiment, a category is used as module attribute information, and connection history information of a related module belonging to the same category as the selected module is used to present a connection candidate for the selected module. it can. Thereby, even if a module has no connection history with other modules, connection candidates for the module can be presented to the user and the like, and connections between modules can be efficiently performed in graphic programming. .

(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
第2の実施形態では、関連モジュールの検索に係るモジュールの属性情報として、カテゴリの代わりに、モジュールの入出力を示したインターフェースを採用する。以下では、第1の実施形態と同様の部分については説明を省略し、第1の実施形態との相違点について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.
In the second embodiment, an interface indicating input / output of a module is employed instead of a category as module attribute information related to a related module search. Hereinafter, description of the same parts as those of the first embodiment will be omitted, and differences from the first embodiment will be described.

まず、第2の実施形態では、各モジュールが有する入出力端子の数は任意とし、入出力端子の型についても任意とする。入出力端子の型は、対応する入出力端子の隣の位置に、モジュールを示す四角形の内側に示される。また、モジュール間の接続条件として、第2の実施形態では、第1の実施形態で設定した条件に加え、接続しようとする入出力端子の型が一致している組み合わせを有効なものとする。例えば、あるモジュールの出力端子が整数型であった場合には、他のモジュールの整数型の入力端子との接続が可能とする。   First, in the second embodiment, the number of input / output terminals included in each module is arbitrary, and the type of input / output terminals is also arbitrary. The type of the input / output terminal is shown inside the square indicating the module at a position next to the corresponding input / output terminal. In addition, as a connection condition between the modules, in the second embodiment, in addition to the conditions set in the first embodiment, a combination in which the types of input / output terminals to be connected match is effective. For example, when an output terminal of a certain module is an integer type, connection to an integer type input terminal of another module is possible.

第2の実施形態では、関連モジュールの候補を決定する際の関連判断条件として、インターフェースが同一であるか否かという基準を採用し、インターフェースが同一であれば関連モジュールの候補にする。インターフェースとは、ここではモジュールの入出力端子の組み合わせと定義する。   In the second embodiment, a criterion for determining whether or not an interface is the same is adopted as a relation determination condition when determining a candidate for a related module. If the interface is the same, the candidate is a related module. Here, an interface is defined as a combination of input / output terminals of a module.

また、第2の実施形態では、モジュール間の接続履歴情報は、各モジュールの入出力端子同士が接続された回数と、そのとき使用したユーザーの情報を指すものとする。一例として、ユーザーの担当工程をユーザーの情報とする。データフローを操作するユーザー(操作ユーザー)のユーザー情報は予め与えられているものとし、本例ではユーザー情報として「アルゴリズム開発」が与えられているものとする。そして、接続可能なモジュール間の組み合わせ候補を出力する際には、組み合わせ生成確率の高いものから順番にリスト化したものを出力する。第2の実施形態では、操作ユーザーのユーザー情報に、モジュールの接続履歴情報に登録されているユーザー情報が一致するときの組み合わせの中でリスト化したものと、ユーザー情報が一致しないときの組み合わせの中でリスト化したものを出力する。   In the second embodiment, the connection history information between modules indicates the number of times the input / output terminals of each module are connected to each other and the information of the user used at that time. As an example, the user's assigned process is user information. It is assumed that user information of a user who operates the data flow (operation user) is given in advance, and “algorithm development” is given as user information in this example. Then, when outputting the combination candidates between connectable modules, the ones listed in descending order of the combination generation probability are output. In the second embodiment, the list of combinations when the user information registered in the module connection history information matches the user information of the operating user and the combination when the user information does not match Output what is listed in it.

第2の実施形態におけるプログラミングシステムでの全体的な処理の流れは、第1の実施形態と同様であり、図2に示した処理フローに従って行われる。
ただし、第2の実施形態では、モジュール情報抽出ステップS202において、モジュール情報抽出部107は、入力ステップS201で選択されたモジュールの属性情報として、モジュールのインターフェースの情報を抽出する。本例では、入力ステップS201において、図5(a)に示すように、モジュール501、502、503、504、505を含むデータフローにおいて、新規モジュール501の出力端子501−Oが選択されているとする。したがって、新規モジュール501のインターフェースとして、入力端子501−I1のimage型(8ビットRGB型)、入力端子501−I2のint型(32ビット整数型)、出力端子501−Oのint型(32ビット整数型)という情報が抽出される。
The overall processing flow in the programming system in the second embodiment is the same as that in the first embodiment, and is performed according to the processing flow shown in FIG.
However, in the second embodiment, in the module information extraction step S202, the module information extraction unit 107 extracts module interface information as the attribute information of the module selected in the input step S201. In this example, in the input step S201, when the output terminal 501-O of the new module 501 is selected in the data flow including the modules 501, 502, 503, 504, and 505, as shown in FIG. To do. Therefore, as the interface of the new module 501, the input terminal 501-I1 image type (8-bit RGB type), the input terminal 501-I2 int type (32-bit integer type), and the output terminal 501-O int type (32-bit). (Integer type) information is extracted.

関連モジュール検索ステップS203において、組み合わせ候補生成部108は、モジュールのインターフェースが同一であるか否かという基準を関連判断条件として用い、選択されたモジュールの関連モジュールをデータベース102から検索する。検索により、図6に示すように、データベース102に登録されているモジュールのうち、image型の入力端子と、int型の入力端子と、int型の出力端子とを有するモジュールが、接続履歴情報とともにリストアップされる。そして、リストアップされた接続履歴情報を集計して、関連モジュールの接続履歴情報とする。ここでの集計手法は第1の実施形態と同様とする。本例では、各モジュールの入出力端子同士が接続された回数と、接続時のユーザーの情報を利用するため、ユーザー情報毎に接続回数を集計する。本例における集計された接続履歴情報を図7(a)に示す。   In the related module search step S <b> 203, the combination candidate generation unit 108 searches the database 102 for related modules of the selected module using the criterion of whether or not the interfaces of the modules are the same as the related determination condition. As a result of the search, as shown in FIG. 6, among the modules registered in the database 102, a module having an image type input terminal, an int type input terminal, and an int type output terminal is displayed together with connection history information. Listed. Then, the listed connection history information is aggregated to obtain connection history information of related modules. The aggregation method here is the same as in the first embodiment. In this example, in order to use the number of times the input / output terminals of each module are connected to each other and the user information at the time of connection, the number of connections is totaled for each user information. The tabulated connection history information in this example is shown in FIG.

組み合わせ生成ステップS204において、本例では、モジュールa502、モジュールb503、モジュールc504、モジュールh505の入力端子が、新規モジュール501の出力端子501−Oとの組み合わせ候補とされる。   In the combination generation step S204, in this example, the input terminals of the module a502, the module b503, the module c504, and the module h505 are set as combination candidates with the output terminal 501-O of the new module 501.

有効確認ステップS205では、組み合わせ候補生成部108は、第1の実施形態での条件の他に、端子の型が一致しないものをリストから除外する。本例では、選択されている出力端子501−Oの型がint型であるので、対となる入力端子の型がint型以外のものをリストから除外する。つまり、本例では、モジュールa502の入力端子502−I2、モジュールb503の入力端子503−I2、及びモジュールc504の入力端子504−I2が接続可能な組み合わせ候補とされる。   In the validity confirmation step S205, the combination candidate generation unit 108 excludes from the list those terminals whose terminal types do not match in addition to the conditions in the first embodiment. In this example, since the type of the selected output terminal 501 -O is the int type, the type of the input terminal to be paired is excluded from the list. That is, in this example, the input terminal 502-I2 of the module a502, the input terminal 503-I2 of the module b503, and the input terminal 504-I2 of the module c504 are set as possible combination candidates.

組み合わせ生成確率計算ステップS206において、本例では、組み合わせ候補生成部108は、モジュール間の組み合わせ生成確率をユーザー情報毎に計算する。第1の実施形態と同様の式に従って計算された、本例での各モジュール間の組み合わせ生成確率を図7(b)に示す。   In the combination generation probability calculation step S206, in this example, the combination candidate generation unit 108 calculates a combination generation probability between modules for each user information. FIG. 7B shows the combination generation probability between the modules in this example, calculated according to the same formula as in the first embodiment.

組み合わせ候補生成ステップS208において、本例では、組み合わせ候補生成部108は、前述した条件の下、次のようにしてモジュール間の組み合わせ候補を生成し出力部109より出力する。出力先モジュールが重複する場合には、生成確率が0ではなく、かつユーザー情報が一致するものを優先してリストに残し、続いて生成確率が最も高いもののみリストに残す。   In the combination candidate generation step S208, in this example, the combination candidate generation unit 108 generates a combination candidate between modules as described below under the above-described conditions, and outputs it from the output unit 109. When the output destination modules are duplicated, the generation probabilities that are not 0 and the user information matches are preferentially left in the list, and then only those with the highest generation probabilities are left in the list.

図7(b)を用いて具体的に説明すると、モジュールa502とモジュールb503については、ユーザー情報が「アルゴリズム開発」の時の生成確率の順番でリスト化される。その次に、モジュールc504については、ユーザー情報が「アルゴリズム開発」の生成確率が0であるので、ユーザー情報が「製品実装」の時の生成確率でリスト化される。つまり、図7(c)に示すように、モジュールb503(ユーザー情報:「アルゴリズム開発」)、モジュールa502(ユーザー情報:「アルゴリズム開発」)、モジュールc504(ユーザー情報:「製品開発」)の順にリスト化する。そして、それをモジュール間の組み合わせ候補として出力する。   More specifically, with reference to FIG. 7B, the modules a502 and b503 are listed in the order of generation probabilities when the user information is “algorithm development”. Next, the module c504 is listed with the generation probability when the user information is “product implementation” because the generation probability of the user information “algorithm development” is 0. That is, as shown in FIG. 7C, the list is in the order of module b503 (user information: “algorithm development”), module a502 (user information: “algorithm development”), module c504 (user information: “product development”). Turn into. And it outputs as a combination candidate between modules.

画面表示ステップS209において、本例では、例えば図5(b)に示すように、組み合わせ候補生成ステップS208で出力されたモジュール間の組み合わせ候補に基づき、接続候補を接続線の太さと色を変えて表示する。ここでは、接続順位が高いものほど太く、色の明度を低くしている。また、ユーザー情報が一致するものと、一致しないものとで、線の種類を変えている。   In the screen display step S209, in this example, as shown in FIG. 5B, for example, the connection candidates are changed in connection line thickness and color based on the combination candidates between modules output in the combination candidate generation step S208. indicate. Here, the higher the connection order, the thicker the color and the lower the lightness of the color. Also, the line type is changed depending on whether the user information matches or does not match.

第2の実施形態によれば、モジュールの属性情報として入出力を示したインターフェースを用い、同じインターフェースを有する関連モジュールの接続履歴情報を利用して、選択されたモジュールに対する接続候補を提示することができる。これにより、他のモジュールとの間の接続履歴がないモジュールであっても、そのモジュールに対する接続候補をユーザー等に提示することができ、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。また、処理の入出力によって決まるインターフェースを利用することで、ユーザーが事前に追加情報を与えることなく関連モジュールを検索できるため、さらにユーザーの手間を軽減することができる。   According to the second embodiment, an interface indicating input / output is used as module attribute information, and connection candidates for a selected module are presented using connection history information of related modules having the same interface. it can. Thereby, even if a module has no connection history with other modules, connection candidates for the module can be presented to the user and the like, and connections between modules can be efficiently performed in graphic programming. . In addition, by using an interface determined by input / output of processing, the user can search for related modules without giving additional information in advance, so that the user's labor can be further reduced.

なお、前述した第2の実施形態では、同一の型の入出力端子同士の接続しか許可していないが、型コンバートが可能な組み合わせであれば、接続間に型コンバーターを挿入して、接続を許可するようにしても良い。例えば、出力端子の型が整数型で、入力端子の型が実数型であった場合には、整数型から実数型へ変換するコンバーターを間に挿入することで、接続可能としても良い。このようにすることで、提示する接続候補の漏れを軽減することができる。また、ユーザー情報としてユーザーの担当工程を定義しているが、これに限定されるものではなく、ユーザーに関する情報であれば良く、例えば、ユーザーが所属する部署名などでも良い。また、ユーザーに関する情報として複数の情報を用いても良く、さらに接続候補を絞り込むことができる。   In the second embodiment described above, only the connection between the input / output terminals of the same type is permitted. However, if the combination allows the type conversion, a type converter is inserted between the connections to establish the connection. It may be allowed. For example, when the type of the output terminal is an integer type and the type of the input terminal is a real number type, the converter may be connected by inserting a converter for converting from the integer type to the real number type. In this way, leakage of connection candidates to be presented can be reduced. Further, the user's responsible process is defined as the user information, but the process is not limited to this, and any information related to the user may be used, for example, a department name to which the user belongs. Also, a plurality of information may be used as information about the user, and connection candidates can be further narrowed down.

(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
第3の実施形態では、関連モジュールの検索に係るモジュールの属性情報として、モジュールの入出力端子に接続されているモジュールの属性情報を採用する。以下では、第1、第2の実施形態と同様の部分については説明を省略し、第1、第2の実施形態との相違点について説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described.
In the third embodiment, the attribute information of the module connected to the input / output terminal of the module is employed as the attribute information of the module related to the related module search. Hereinafter, description of the same parts as those in the first and second embodiments will be omitted, and differences from the first and second embodiments will be described.

第3の実施形態では、新規モジュールと他のモジュールとの間にすでに1つ以上の接続があるとし、これから未接続の入出力端子の接続を行うときのモジュール間の組み合わせ候補を出力する。各モジュールが有する入出力端子の数は任意とし、入出力端子の型についても任意とする。また、モジュール間の接続条件として、第3の実施形態では、第1の実施形態で設定した条件に加え、接続しようとする入出力端子の型が一致している組み合わせを有効なものとする。   In the third embodiment, it is assumed that one or more connections have already been made between a new module and another module, and a combination candidate between modules when an unconnected input / output terminal is connected is output. The number of input / output terminals included in each module is arbitrary, and the type of input / output terminals is also arbitrary. In addition, as a connection condition between modules, in the third embodiment, in addition to the condition set in the first embodiment, a combination in which the types of input / output terminals to be connected match is valid.

第3の実施形態では、関連モジュールの候補を決定する際の関連判断条件として、新規モジュールにすでに接続されているモジュールの組み合わせが同じモジュールを選ぶという基準を採用する。また、モジュール間の接続履歴情報は、各モジュールの入出力端子同士が接続された回数と、使用されたときの製品カテゴリの情報を指すものとする。製品カテゴリとは、製品を機能別に分類するためのキーワードのことである。例えば、製品カテゴリとして「デジタル一眼レフカメラ」や「コンパクトカメラ」といったカテゴリが考えられる。接続候補を出力したい製品カテゴリ情報は予め与えられ、本例では製品カテゴリ情報として「P1」が与えられる。そして、接続可能なモジュール間の組み合わせ候補を出力する際には、組み合わせ生成確率の高いものから順番に並べ替えすべてリスト化したものを出力する。第3の実施形態では、製品カテゴリ情報と、モジュール間の接続履歴情報に登録されている製品カテゴリ情報が一致するときの組み合わせの中でリスト化したものと、製品カテゴリ情報が一致しないときの組み合わせの中でリスト化したものを出力するものとする。   In the third embodiment, a criterion that a module having the same combination of modules already connected to a new module is selected as a related determination condition when determining a related module candidate. In addition, the connection history information between modules indicates the number of times the input / output terminals of each module are connected to each other and information on the product category when used. The product category is a keyword for classifying products by function. For example, categories such as “digital single-lens reflex camera” and “compact camera” can be considered as product categories. Product category information for which a connection candidate is desired to be output is given in advance. In this example, “P1” is given as product category information. And when outputting the combination candidate between connectable modules, the thing which rearranged in order from the thing with a high combination production | generation probability is output. In the third embodiment, the list of combinations when the product category information matches the product category information registered in the connection history information between modules, and the combination when the product category information does not match Output the list in.

第3の実施形態におけるプログラミングシステムでの全体的な処理の流れは、第1の実施形態と同様であり、図2に示した処理フローに従って行われる。
ただし、第3の実施形態では、モジュール情報抽出ステップS202において、モジュール情報抽出部107は、モジュールの属性情報として、新規モジュールが他のどのモジュールと接続されているかという情報を抽出する。本例では、図8に示すように、モジュール801、802、803、804、805、806を含むデータフローにおいて、新規モジュール801の出力端子801−Oが選択されているとする。したがって、モジュールi805の出力端子805−Oと新規モジュール801の入力端子801−I1が接続され、モジュールj806の出力端子806−Oと新規モジュール801の入力端子801−I2が接続されているという情報が抽出される。
The overall processing flow in the programming system in the third embodiment is the same as that in the first embodiment, and is performed according to the processing flow shown in FIG.
However, in the third embodiment, in the module information extraction step S202, the module information extraction unit 107 extracts information as to which other module the new module is connected as module attribute information. In this example, as shown in FIG. 8, it is assumed that the output terminal 801-O of the new module 801 is selected in the data flow including the modules 801, 802, 803, 804, 805, 806. Therefore, there is information that the output terminal 805-O of the module i805 and the input terminal 801-I1 of the new module 801 are connected, and the output terminal 806-O of the module j806 and the input terminal 801-I2 of the new module 801 are connected. Extracted.

関連モジュール検索ステップS203において、組み合わせ候補生成部108は、モジュールi805とモジュールj806とがそれぞれ入力として接続された履歴があるモジュールが、接続履歴情報とともにリストアップされる。そして、リストアップされた接続履歴情報を集計して、関連モジュールの接続履歴情報とする。ここでの集計手法は第1の実施形態と同様とする。本例では、各モジュールの入出力端子同士が接続された回数と、そのときの製品カテゴリ情報を利用するため、製品カテゴリ情報毎に接続回数を集計する。本例における関連モジュールの接続履歴情報の一部を図9(a)に、集計後の接続履歴情報を図9(b)に示す。   In the related module search step S203, the combination candidate generation unit 108 lists modules having a history of connection of the modules i805 and j806 as inputs together with the connection history information. Then, the listed connection history information is aggregated to obtain connection history information of related modules. The aggregation method here is the same as in the first embodiment. In this example, in order to use the number of times the input / output terminals of each module are connected to each other and the product category information at that time, the number of connections is totaled for each product category information. FIG. 9A shows part of the connection history information of the related modules in this example, and FIG. 9B shows the connection history information after aggregation.

組み合わせ生成ステップS204において、本例では、モジュールa802、モジュールb803、モジュールc804、モジュールi805、モジュールj806の入力端子が、新規モジュール801の出力端子801−Oとの組み合わせ候補とされる。   In the combination generation step S204, in this example, the input terminals of the module a802, the module b803, the module c804, the module i805, and the module j806 are set as combination candidates with the output terminal 801-O of the new module 801.

有効確認ステップS205では、組み合わせ候補生成部108は、第2の実施形態と同様の条件に従い、条件に合致しないものをリストから除外する。本例では、新規モジュール801の出力端子801−Oがモジュールi805、モジュールj806の入力端子に接続するとループを形成してしまうため、モジュールi805、モジュールj806をリストから除外する。よって、モジュールa802、モジュールb803、モジュールc804の入力端子が接続可能な組み合わせ候補とされる。   In the validity confirmation step S205, the combination candidate generation unit 108 excludes those that do not meet the conditions from the list according to the same conditions as in the second embodiment. In this example, when the output terminal 801-O of the new module 801 is connected to the input terminals of the module i805 and the module j806, a loop is formed, so the module i805 and the module j806 are excluded from the list. Therefore, the input terminals of the module a802, the module b803, and the module c804 are set as possible combination candidates.

組み合わせ候補生成ステップS208において、第2の実施形態と同様の手順で、組み合わせ候補生成部108は、前述した条件の下、モジュール間の組み合わせ候補を生成し出力部109より出力する。図9(c)を用いて具体的に説明すると、モジュールa802とモジュールb803については、製品カテゴリ情報が「P1」の時の生成確率の順番でリスト化される。その次に、モジュールc804については、製品カテゴリ情報が「P1」の生成確率が0であるので、製品カテゴリ情報が「P2」の時の生成確率でリスト化される。つまり、図9(d)に示すように、モジュールb803(製品カテゴリ情報:「P1」)、モジュールa802(製品カテゴリ:「P1」)、モジュールc804(製品カテゴリ情報:「P2」)の順にリスト化する。そして、それをモジュール間の組み合わせ候補として出力する。   In the combination candidate generation step S208, the combination candidate generation unit 108 generates a combination candidate between modules under the above-described conditions and outputs it from the output unit 109 in the same procedure as in the second embodiment. Specifically, using FIG. 9C, the modules a802 and b803 are listed in the order of generation probabilities when the product category information is “P1”. Next, the module c804 is listed with the generation probability when the product category information is “P2” because the generation probability of the product category information “P1” is 0. That is, as shown in FIG. 9D, the module b803 (product category information: “P1”), the module a802 (product category: “P1”), and the module c804 (product category information: “P2”) are listed in this order. To do. And it outputs as a combination candidate between modules.

第3の実施形態によれば、注目しているモジュールがどのモジュールと接続しているかという情報を利用することで、より適切な関連モジュールを検索できる。その関連モジュールの接続履歴情報を利用して、選択されたモジュールに対する接続候補を提示することができ、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。   According to the third embodiment, it is possible to search for a more appropriate related module by using information on which module the module of interest is connected to. By using the connection history information of the related modules, connection candidates for the selected module can be presented, and connections between modules can be efficiently performed in graphic programming.

(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
第4の実施形態では、関連モジュールの検索に係るモジュールの属性情報として、カテゴリを採用し、さらにデータフロー中の他のモジュールの接続関係を考慮する。以下では、第1、第2の実施形態と同様の部分については説明を省略し、第1、第2の実施形態との相違点について説明する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described.
In the fourth embodiment, a category is adopted as attribute information of a module related to a related module search, and connection relations of other modules in the data flow are taken into consideration. Hereinafter, description of the same parts as those in the first and second embodiments will be omitted, and differences from the first and second embodiments will be described.

第4の実施形態では、各モジュールが有する入出力端子の数は任意とし、入出力端子の型についても任意とする。また、モジュール間の接続の組み合わせを生成するときの条件は、第2の実施形態に準ずるものとする。また、本例では図10(a)に示すように、新規モジュール1001以外のモジュール1002、1003、1004、1005、1006が、接続されているとする。このとき、新規モジュール1001の組み合わせ候補として、モジュールa1002、モジュールb1003、モジュールc1004が得られているものとする。   In the fourth embodiment, the number of input / output terminals included in each module is arbitrary, and the type of input / output terminals is also arbitrary. In addition, the conditions for generating a combination of connections between modules are the same as those in the second embodiment. In this example, it is assumed that modules 1002, 1003, 1004, 1005, and 1006 other than the new module 1001 are connected as shown in FIG. At this time, it is assumed that a module a1002, a module b1003, and a module c1004 are obtained as combination candidates of the new module 1001.

第4の実施形態では、関連モジュールの候補を決定する際の関連判断条件として、第1の実施形態と同様に、カテゴリが同一であるか否かという基準を採用する。なお、第4の実施形態における例では、新規モジュール1001のカテゴリとして「AAA」が与えられているものとする。また、モジュール間の接続履歴情報は、各モジュールの入出力端子同士が接続された確率を指すものとする。さらに、そのとき接続先モジュールがどのモジュールの入出力端子に接続していたかという情報も指すものとする。そして、接続可能なモジュール間の組み合わせ候補を出力する際には、接続先モジュールを含むモジュールの接続関係が同一のときの組み合わせ生成確率を接続先モジュール毎に出力し、その生成確率の高いものから順番にリスト化したものを出力する。また、第4の実施形態では、モジュールの接続関係が同一でない場合には、組み合わせ生成確率を0とする。   In the fourth embodiment, a criterion for determining whether or not a category is the same is adopted as a related determination condition when determining a candidate for a related module, as in the first embodiment. In the example of the fourth embodiment, it is assumed that “AAA” is given as the category of the new module 1001. The connection history information between modules indicates the probability that the input / output terminals of each module are connected to each other. In addition, the information indicates which module's input / output terminal is connected to the connection destination module. And when outputting the combination candidate between connectable modules, the combination generation probability when the connection relation of the module including the connection destination module is the same is output for each connection destination module, and the generation probability is high. Output a list in order. In the fourth embodiment, the combination generation probability is set to 0 when the module connection relationship is not the same.

第4の実施形態におけるプログラミングシステムでの全体的な処理の流れは、第1の実施形態と同様であり、図2に示した処理フローに従って行われる。
以下、図10(b)を用いて説明する。接続履歴として、カテゴリ「AAA」に属するモジュールd1007とモジュールa1002との接続に注目すると、モジュールp1005の出力端子がモジュールa1002の入力端子に接続されている。また、モジュールa1002の出力端子がモジュールb1003の入力端子に接続されている。このような処理の流れ(この処理の流れをモジュールの接続順序と呼び、p→a→bと書くことにする)があったときに、モジュールd1007とモジュールa1002が接続される確率が0.1であったとする。すなわち、モジュールの接続順序p→a→bが与えられたときの、モジュールd1007とモジュールa1002の組み合わせの条件付き接続確率が0.1であったとする。一方、モジュールd1007とモジュールb1003との接続に注目すると、モジュールの接続順序a→b→cが与えられたときの、モジュールd1007とモジュールb1003の組み合わせの条件付き接続確率が0.2であったとする。同様にして、モジュールd1007とモジュールc1004との接続に注目すると、モジュールの接続順序b→c→qが与えられたときの、モジュールd1007とモジュールc1004の組み合わせの条件付き接続確率が0であったとする。
The overall processing flow in the programming system in the fourth embodiment is the same as that in the first embodiment, and is performed according to the processing flow shown in FIG.
Hereinafter, a description will be given with reference to FIG. Focusing on the connection between the module d1007 belonging to the category “AAA” and the module a1002 as the connection history, the output terminal of the module p1005 is connected to the input terminal of the module a1002. The output terminal of the module a1002 is connected to the input terminal of the module b1003. When there is such a processing flow (this processing flow is called a module connection order and is written as p → a → b), the probability that the module d1007 and the module a1002 are connected is 0.1. Suppose that That is, it is assumed that the conditional connection probability of the combination of the module d1007 and the module a1002 is 0.1 when the module connection order p → a → b is given. On the other hand, focusing on the connection between the module d1007 and the module b1003, it is assumed that the conditional connection probability of the combination of the module d1007 and the module b1003 is 0.2 when the module connection order a → b → c is given. . Similarly, focusing on the connection between the module d1007 and the module c1004, it is assumed that the conditional connection probability of the combination of the module d1007 and the module c1004 is 0 when the module connection order b → c → q is given. .

このようにモジュールd1007と接続されるモジュールが、さらにどのモジュールと接続されているかという情報、すなわちモジュールの接続順序を含めて、接続確率が接続履歴情報として記録されている。図11(a)は、カテゴリ「AAA」に属するモジュールd、モジュールe、モジュールfの、処理の流れ別の各モジュールの組み合わせの接続確率の例を示している。   In this way, the connection probability is recorded as the connection history information including the information indicating which module is connected to the module d1007, that is, the module connection order. FIG. 11A shows an example of connection probabilities of combinations of modules according to the processing flow of the modules d, e, and f belonging to the category “AAA”.

ここで、新規モジュール1001の関連モジュールと、モジュールa1002、モジュールb1003、モジュールc1004との接続確率について考える。本例では、関連モジュールに属する既存モジュールが所定の処理の流れfのときに注目するモジュールと接続するときの条件付き確率の総和Σpi(f)を、所定の処理の流れfのときの注目するモジュールとの接続確率p(f)とする。例えば、図11(a)に示した例に従えば、p(p→a→b)=0.1+0.1+0.1=0.3となる。また、p(a→b→c)=0.2+0.3+0.1=0.6となり、p(b→c→q)=0+0.1+0.1=0.2となる。また、前述した条件に従い、これ以外におけるモジュールの接続順序時のp(f)は0とする。   Here, the connection probability of the related module of the new module 1001 and the module a1002, the module b1003, and the module c1004 is considered. In this example, the sum Σpi (f) of conditional probabilities when an existing module belonging to a related module is connected to a module to be noticed when the flow f is a predetermined process is noted at the time of the predetermined process flow f. It is assumed that the connection probability p (f) with the module. For example, according to the example shown in FIG. 11A, p (p → a → b) = 0.1 + 0.1 + 0.1 = 0.3. Further, p (a → b → c) = 0.2 + 0.3 + 0.1 = 0.6, and p (b → c → q) = 0 + 0.1 + 0.1 = 0.2. Further, in accordance with the above-described conditions, p (f) in the connection order of modules other than this is set to 0.

そして、(pk(f)÷Σpi(fi))を、所定の処理の流れがあったときの関連モジュールの組み合わせの生成確率Nk’とする。ここで、Σpi(fi)は所定の処理の流れfiがあったときの各モジュール間の組み合わせiの接続確率pi(fi)の総和である。本例によって計算された各モジュール間の組み合わせkの生成確率Nk’を図11(b)に示す。例えば、Σpi(fi)=p(p→a→b)+p(a→b→c)+p(b→c→q)=1.1である。   Then, (pk (f) ÷ Σpi (fi)) is set as the generation probability Nk ′ of the combination of related modules when there is a predetermined processing flow. Here, Σpi (fi) is the total sum of the connection probabilities pi (fi) of the combination i between the modules when there is a predetermined processing flow fi. FIG. 11B shows the generation probability Nk ′ of the combination k between the modules calculated according to this example. For example, Σpi (fi) = p (p → a → b) + p (a → b → c) + p (b → c → q) = 1.1.

組み合わせ候補生成ステップS208において、本例では、組み合わせ候補生成部108は、前述した条件の下、モジュールb1003、モジュールa1002、モジュールc904の順にリスト化し、それをモジュール間の組み合わせ候補として出力する。図11(c)は、出力されたモジュール間の組み合わせ候補を示す。   In the combination candidate generation step S208, in this example, the combination candidate generation unit 108 lists modules b1003, modules a1002, and modules c904 in this order under the conditions described above, and outputs them as combinations candidates between modules. FIG. 11C shows combination candidates between the output modules.

第4の実施形態によれば、データフロー中の、注目しているモジュール以外の他のモジュールの接続関係を考慮することで、処理内容に即した、より適切な関連モジュールを検索することができる。その関連モジュールの接続履歴情報を利用して、選択されたモジュールに対する接続候補を提示することができ、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。   According to the fourth embodiment, by considering the connection relationship of modules other than the module of interest in the data flow, it is possible to search for a more appropriate related module in accordance with the processing content. . By using the connection history information of the related modules, connection candidates for the selected module can be presented, and connections between modules can be efficiently performed in graphic programming.

なお、前述した第4の実施形態では、接続先モジュールがさらにどのモジュールに接続しているかを考慮したが、さらにその先の接続先を考慮するようにしても良い。すなわち、考慮する接続先の数を十分に大きくし、データフロー全体を考慮して組み合わせ候補を提示するようにしても良い。このようにすることで、接続候補をより適切に提示することが可能となる。   In the above-described fourth embodiment, the module to which the connection destination module is further connected is considered. However, the connection destination beyond that may be considered. That is, the number of connection destinations to be considered may be sufficiently increased, and combination candidates may be presented in consideration of the entire data flow. In this way, connection candidates can be presented more appropriately.

(第5の実施形態)
次に、本発明の第5の実施形態について説明する。
第5の実施形態は、前述した第1の実施形態におけるカテゴリが階層化されている場合である。以下では、第1の実施形態と同様の部分については説明を省略し、第1の実施形態との相違点について説明する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described.
The fifth embodiment is a case where the categories in the first embodiment described above are hierarchized. Hereinafter, description of the same parts as those of the first embodiment will be omitted, and differences from the first embodiment will be described.

カテゴリの階層化とは、例えば画像処理で用いられるガウスフィルタ処理を3階層にカテゴライズした場合には、第1階層としては「画像処理」、第2階層としては「フィルタ処理」、第3階層としては「ガウスフィルタ処理」とすることができる。上位階層から順に第1階層、第2階層、第3階層と定義する。同様に、ソーベルフィルタ処理を3階層にカテゴライズした場合には、第1階層としては「画像処理」、第2階層としては「フィルタ処理」、第3階層としては「ソーベルフィルタ処理」とすることができる。このとき、ガウスフィルタ処理とソーベルフィルタ処理とを比較すると、第3階層では異なるカテゴリが付与されているが、第2階層より上位では同じカテゴリが付与されている。   For example, when the Gaussian filter processing used in image processing is categorized into three layers, “stratification of categories” is “image processing” as the first layer, “filter processing” as the second layer, and “third layer”. Can be “Gaussian filter processing”. The first hierarchy, the second hierarchy, and the third hierarchy are defined in order from the upper hierarchy. Similarly, when the Sobel filter processing is categorized into three layers, the first layer is “image processing”, the second layer is “filter processing”, and the third layer is “Sobel filter processing”. be able to. At this time, when the Gaussian filter processing and the Sobel filter processing are compared, different categories are assigned in the third hierarchy, but the same categories are assigned in the higher hierarchy than the second hierarchy.

本例では、カテゴリの階層を3階層とし、選択されたモジュールのカテゴリの第1階層が「A」、第2階層が「a」、第3階層が「1」とし、以後「A−a−1」と表現する。また、プログラミングシステムのデータベース102には、カテゴリ「A−a−2」のモジュールは登録されているが、「A−a−1」のモジュールは登録されていないものとする。   In this example, the category hierarchy is three, the first hierarchy of the category of the selected module is “A”, the second hierarchy is “a”, and the third hierarchy is “1”. 1 ”. Further, it is assumed that the module “A-a-2” is registered in the database 102 of the programming system, but the module “A-a-1” is not registered.

第5の実施形態では、関連モジュールの検索に係るモジュールの属性情報として前述の階層化されたカテゴリを採用する。また、関連モジュールの候補を決定する際の関連判断条件として、このカテゴリが同一であるか否かという基準を採用する。また、カテゴリが同一であるものがなければ、さらに所定の階層分だけ上位のカテゴリ、例えばカテゴリの上位n階層が同一であるか否かという基準を採用する。   In the fifth embodiment, the above-described hierarchical category is adopted as the attribute information of the module related to the related module search. In addition, a criterion for determining whether or not this category is the same is adopted as a related determination condition when determining a candidate for a related module. Further, if there is no category that is the same, a criterion of whether or not a category higher by a predetermined hierarchy, for example, the upper n hierarchy of the category is the same is adopted.

第5の実施形態におけるプログラミングシステムでの全体的な処理の流れは、第1の実施形態と同様であり、図2に示した処理フローに従って行われる。
第5の実施形態では、モジュール情報抽出ステップS202において、モジュール情報抽出部107は、入力ステップS201で選択されたモジュールの属性情報を抽出する。本例では、選択されたモジュールのカテゴリとして「A−a−1」が抽出される。抽出した情報は、関連モジュール検索ステップS203に送られる。
The overall processing flow in the programming system in the fifth embodiment is the same as that in the first embodiment, and is performed according to the processing flow shown in FIG.
In the fifth embodiment, in the module information extraction step S202, the module information extraction unit 107 extracts the attribute information of the module selected in the input step S201. In this example, “A-a-1” is extracted as the category of the selected module. The extracted information is sent to the related module search step S203.

関連モジュール検索ステップS203において、組み合わせ候補生成部108は、モジュール情報抽出部107により抽出されたモジュールのカテゴリを基に、関連判断条件を用いて、選択されたモジュールの関連モジュールをデータベース102から検索する。本例では、データベース102にカテゴリ「A−a−1」のモジュールが登録されていないので、関連判断条件に従い、カテゴリ「A−a」のモジュールを検索する。データベース102に登録されているカテゴリ「A−a−2」のモジュールは、カテゴリ「A−a」でもあるので、このカテゴリ「A−a−2」のモジュールが接続履歴情報とともにリストアップされる。その後、第1の実施形態と同様にして処理が行われ、モジュール間の組み合わせ候補が出力される。   In the related module search step S <b> 203, the combination candidate generation unit 108 searches the database 102 for related modules of the selected module using the relationship determination condition based on the module category extracted by the module information extraction unit 107. . In this example, since the module of category “A-a-1” is not registered in the database 102, the module of category “A-a” is searched according to the related determination condition. Since the module of category “A-a-2” registered in the database 102 is also the category “A-a”, the module of category “A-a-2” is listed together with the connection history information. Thereafter, processing is performed in the same manner as in the first embodiment, and a combination candidate between modules is output.

第5の実施形態によれば、関連モジュールを検索する際に利用する情報を階層化することで、注目している階層の情報が不足していても、さらに上位の階層の情報を参照して関連モジュールを検索することができ、提示する接続候補の漏れを軽減することができる。その関連モジュールの接続履歴情報を利用して、選択されたモジュールに対する接続候補を提示することができ、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。   According to the fifth embodiment, the information used when searching for related modules is hierarchized, so that even if the information of the layer of interest is insufficient, the information of the higher layer is referred to. Related modules can be searched, and leakage of connection candidates to be presented can be reduced. By using the connection history information of the related modules, connection candidates for the selected module can be presented, and connections between modules can be efficiently performed in graphic programming.

なお、前述した説明では、情報の階層が3階層の例を示したが、階層数はこれに限るものではない。また、階層化の例としてモジュールのカテゴリを挙げたが、他の指標を階層化しても良い。例えば、数値型→整数型→32ビット整数型、というように入出力端子の型を階層化しても良い。最下位の型が異なる場合には、コンバーターを使用するようにしても良い。このようにすることで、提示する接続候補の漏れを軽減できる。   In the above description, an example in which the information layer has three layers is shown, but the number of layers is not limited to this. Moreover, although the category of the module is given as an example of hierarchization, other indicators may be hierarchized. For example, the input / output terminal types may be hierarchized such as numerical type → integer type → 32-bit integer type. If the lowest type is different, a converter may be used. By doing so, leakage of connection candidates to be presented can be reduced.

(第6の実施形態)
次に、本発明の第6の実施形態について説明する。
第6の実施形態は、新規モジュールが1つ以上の既存モジュールから構成される場合である。以下では、第1の実施形態と同様の部分については説明を省略し、第1の実施形態との相違点について説明する。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described.
In the sixth embodiment, the new module is composed of one or more existing modules. Hereinafter, description of the same parts as those of the first embodiment will be omitted, and differences from the first embodiment will be described.

図12は、複数の既存モジュールから構成されている新規モジュールの例を示す図である。新規モジュール1201の入力端子1201−I1、1201−I2は、ともに内部モジュールn1203の入力端子と内部モジュールo1204の入力端子とに接続されている。同様に、新規モジュール1201の出力端子1201−Oは、内部モジュールm1202の出力端子1202−Oと接続されている。ここで、新規モジュール1201のカテゴリを「AAA」とし、データベース102には、カテゴリ「AAA」のモジュールが登録されていないものとする。また、新規モジュール1201の出力端子1201−Oに接続している内部モジュールm1202のカテゴリを「BBB」とし、データベース102にも登録されているものとする。   FIG. 12 is a diagram illustrating an example of a new module including a plurality of existing modules. The input terminals 1201-I1 and 1201-I2 of the new module 1201 are both connected to the input terminal of the internal module n1203 and the input terminal of the internal module o1204. Similarly, the output terminal 1201-O of the new module 1201 is connected to the output terminal 1202-O of the internal module m1202. Here, it is assumed that the category of the new module 1201 is “AAA”, and the module of the category “AAA” is not registered in the database 102. Further, it is assumed that the category of the internal module m1202 connected to the output terminal 1201-O of the new module 1201 is “BBB” and is registered in the database 102.

第6の実施形態におけるプログラミングシステムでの全体的な処理の流れは、第1の実施形態と同様であり、図2に示した処理フローに従って行われる。
入力ステップS201において、指示選択部106が、図12に示す新規モジュール1201の出力端子1201−Oを選択したとする。モジュール情報抽出ステップS202において、モジュール情報抽出部107は、選択されたモジュールの属性情報として、新規モジュール1201のカテゴリ「AAA」という情報を抽出する。抽出した情報は、関連モジュール検索ステップS203に送られる。
The overall processing flow in the programming system in the sixth embodiment is the same as that in the first embodiment, and is performed according to the processing flow shown in FIG.
In the input step S201, it is assumed that the instruction selection unit 106 selects the output terminal 1201-O of the new module 1201 shown in FIG. In module information extraction step S202, the module information extraction unit 107 extracts information of the category “AAA” of the new module 1201 as attribute information of the selected module. The extracted information is sent to the related module search step S203.

関連モジュール検索ステップS203において、組み合わせ候補生成部108は、モジュール情報抽出部107により抽出されたモジュールのカテゴリを基に、関連判断条件を用いて、選択されたモジュールの関連モジュールをデータベース102から検索する。より具体的には、選択されたモジュールを構成する内部モジュールの検索を行う。第6の実施形態における関連モジュール検索ステップS203の処理の流れを、図13に示す。   In the related module search step S <b> 203, the combination candidate generation unit 108 searches the database 102 for related modules of the selected module using the relationship determination condition based on the module category extracted by the module information extraction unit 107. . More specifically, the internal module constituting the selected module is searched. FIG. 13 shows the flow of processing of the related module search step S203 in the sixth embodiment.

条件判断ステップS1301では、抽出されたカテゴリのモジュールがデータベース102に登録されておらず、かつ内部モジュールの検索が終了していない場合には、内部モジュール検索ステップS1302に移行する。それ以外の場合には、モジュールリストアップステップS1304に移行する。本例では、データベース102にカテゴリ「AAA」のモジュールが登録されていないので、まず内部モジュール検索ステップS1302に移行する。   In the condition determination step S1301, if the extracted category module is not registered in the database 102 and the internal module search is not completed, the process proceeds to the internal module search step S1302. In other cases, the process proceeds to module list-up step S1304. In this example, since the module of the category “AAA” is not registered in the database 102, the process first proceeds to the internal module search step S1302.

内部モジュール検索ステップS1302では、選択されている出力端子1201−Oに接続している内部モジュールを検索する。その結果、本例では、内部モジュールm1202が得られる。   In the internal module search step S1302, the internal module connected to the selected output terminal 1201-O is searched. As a result, in this example, an internal module m1202 is obtained.

内部モジュールカテゴリ抽出ステップS1303では、内部モジュールm1202のカテゴリを、モジュール情報抽出部107によって抽出する。その結果、カテゴリ「BBB」という情報が得られるとする。カテゴリ「BBB」のモジュールはデータベース102に登録されているので、条件判断ステップS1301を通してモジュールリストアップステップS1304に移行し、関連モジュールのリストアップが接続履歴情報とともに行われる。   In the internal module category extraction step S1303, the module information extraction unit 107 extracts the category of the internal module m1202. As a result, information of the category “BBB” is obtained. Since the module of the category “BBB” is registered in the database 102, the process proceeds to the module list-up step S1304 through the condition determination step S1301, and the related module is listed together with the connection history information.

最後に、集計ステップS1305において、リストアップされた接続履歴情報を第1の実施形態と同様に集計し、関連モジュールの接続履歴情報として出力する。
その後、第1の実施形態と同様にして処理が行われ、モジュール間の組み合わせ候補が出力される。
Finally, in the totaling step S1305, the listed connection history information is totaled in the same manner as in the first embodiment, and is output as connection history information of related modules.
Thereafter, processing is performed in the same manner as in the first embodiment, and a combination candidate between modules is output.

第6の実施形態によれば、モジュールが複数の内部モジュールで構成されている場合には、その内部モジュールの属性情報を利用することで、他のモジュールとの接続履歴がないモジュールにおいてもユーザーに対して接続候補を提示することができる。これにより、提示する接続候補の漏れを軽減することができるとともに、図形プログラミングにおいてモジュール間の接続を効率的に行うことができる。   According to the sixth embodiment, when a module is composed of a plurality of internal modules, the attribute information of the internal modules is used to allow the user even in modules having no connection history with other modules. On the other hand, connection candidates can be presented. Thereby, leakage of connection candidates to be presented can be reduced, and connections between modules can be efficiently performed in graphic programming.

なお、第6の実施形態では、注目する入出力端子に接続される内部モジュールを参照するようにしているが、その内部モジュールがさらに内部モジュールを含む場合には、その情報を用いても良い。また、そのようにしてモジュールをさかのぼるとき、さかのぼる回数を制限することもできる。このようにすることで、候補を検索するための処理を軽減することができる。   In the sixth embodiment, the internal module connected to the input / output terminal of interest is referred to. However, when the internal module further includes an internal module, the information may be used. It is also possible to limit the number of times that modules can be traced back in this way. By doing so, it is possible to reduce processing for searching for candidates.

なお、前述した各実施形態では、選択されたモジュールは過去にどのモジュールとも接続が行われておらず、他のモジュールとの間の接続履歴情報がないものとしている。しかし、選択されたモジュールが、過去に他のモジュールに接続され、モジュール間の接続履歴情報がある場合には、そのモジュール間の接続履歴情報に基づいて接続候補を提示すれば良い。すなわち、選択されたモジュールについてのモジュール間の接続履歴情報がデータベース102に存在する場合には、その接続履歴情報に基づいて、モジュール間の組み合わせ候補を生成すれば良い。一方、選択されたモジュールについてのモジュール間の接続履歴情報がデータベース102に存在しない場合には、前述した各実施形態に示したように、関連モジュールの接続履歴情報に基づいて、モジュール間の組み合わせ候補を生成すれば良い。   In each of the embodiments described above, it is assumed that the selected module has not been connected to any module in the past, and there is no connection history information with other modules. However, if the selected module has been connected to another module in the past and there is connection history information between modules, connection candidates may be presented based on the connection history information between the modules. That is, when connection history information between modules for the selected module exists in the database 102, combination candidates between modules may be generated based on the connection history information. On the other hand, if the connection history information between the modules for the selected module does not exist in the database 102, as shown in each of the embodiments described above, the combination candidates between modules are based on the connection history information of the related modules. Should be generated.

また、前述した各実施形態で関連モジュールの検索に用いたモジュールの属性情報は、それぞれ組み合わせて使用しても良い。例えば、インターフェースをさらにカテゴリで分類しても良い。モジュールの属性情報を組み合わせて使用することで、さらに接続候補を絞り込むことが可能になる。また、ある属性情報で接続履歴情報が見つからなかった場合には、他の属性情報を使用するようにしても良い。このようにすることで、提示する接続候補の漏れを軽減することができる。   Further, the module attribute information used for searching for related modules in each of the above-described embodiments may be used in combination. For example, the interfaces may be further classified by category. By using a combination of module attribute information, connection candidates can be further narrowed down. In addition, when connection history information is not found with certain attribute information, other attribute information may be used. In this way, leakage of connection candidates to be presented can be reduced.

また、前述した各実施形態で用いたモジュール間の接続履歴情報はどのようなものであっても良い。例えば、接続した時のタイムスタンプを使っても良く、最近使用されたモジュール間の組み合わせを優先することで、さらに接続候補を適切に絞り込むことが可能になる。また、前述した組み合わせ生成確率の算出方法は一例であり、任意に変更して良い。   Further, the connection history information between modules used in the above-described embodiments may be any information. For example, a time stamp at the time of connection may be used, and it becomes possible to further narrow down connection candidates by giving priority to combinations among recently used modules. Moreover, the method for calculating the combination generation probability described above is an example, and may be arbitrarily changed.

また、前述した各実施形態における接続可能なモジュール間の組み合わせ候補を出力する際の条件は、どのようなものであっても良い。例えば、組み合わせ生成確率に対して、しきい値を設定し、リストの中からしきい値を超えたものを表示するようにしても良い。このようにすることで、接続候補を検索するための処理を軽減することができる。   In addition, the conditions for outputting the combination candidates between connectable modules in each embodiment described above may be any. For example, a threshold value may be set for the combination generation probability, and a list that exceeds the threshold value may be displayed. By doing in this way, the process for searching for a connection candidate can be reduced.

また、前述した各実施形態における関連判断条件は、どのようなものであっても良い。例えば、第2の実施形態では、インターフェースが同一であるか否かという基準を採用したが、インターフェースを構成する入出力端子のうちの所定数が同一のものであるという基準を採用しても良い。また、例えば、第4の実施形態では、接続先モジュールを含むモジュールの接続関係が同一でなければ生成確率を0としたが、第5の実施形態のように階層的に考えて、接続先モジュールの所定数が同一のものであるという基準を採用しても良い。また、モジュールがどの程度関連しているかを示すパラメータとして関連性を定義し、それに基づいて組み合わせ候補を生成しても良い。このようにすることで、提示する接続候補の漏れを軽減できる。   In addition, the relevance determination condition in each embodiment described above may be any. For example, in the second embodiment, the criterion of whether or not the interfaces are the same is adopted, but the criterion that a predetermined number of input / output terminals constituting the interface are the same may be adopted. . Further, for example, in the fourth embodiment, the generation probability is set to 0 if the connection relation of the modules including the connection destination module is not the same, but the connection destination module is considered hierarchically as in the fifth embodiment. The standard that the predetermined number of the same is the same may be adopted. Further, the relationship may be defined as a parameter indicating how much the modules are related, and a combination candidate may be generated based on the relationship. By doing so, leakage of connection candidates to be presented can be reduced.

(本発明の他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other embodiments of the present invention)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.

例えば、前述した実施形態に示したビジュアルプログラミング支援装置は、図14に示すようなコンピュータ機能1400を有し、そのCPU1401により前述した各実施形態での動作が実施される。コンピュータ機能1400は、図14に示すように、CPU1401と、ROM1402と、RAM1403とを備える。また、操作部(CONS)1409のコントローラ(CONSC)1405と、ディスプレイ(DISP)1410のディスプレイコントローラ(DISPC)1406とを備える。さらに、ハードディスク(HD)1411、及びフレキシブルディスク等の記憶デバイス(STD)1412のコントローラ(DCONT)1407と、ネットワークインタフェースカード(NIC)1408とを備える。それら機能部1401、1402、1403、1405、1406、1407、1408は、システムバス1404を介して互いに通信可能に接続された構成としている。   For example, the visual programming support apparatus shown in the above-described embodiment has a computer function 1400 as shown in FIG. 14, and the CPU 1401 performs the operations in the above-described embodiments. As shown in FIG. 14, the computer function 1400 includes a CPU 1401, a ROM 1402, and a RAM 1403. Further, a controller (CONSC) 1405 of the operation unit (CONS) 1409 and a display controller (DISPC) 1406 of the display (DISP) 1410 are provided. Furthermore, a hard disk (HD) 1411, a controller (DCONT) 1407 of a storage device (STD) 1412 such as a flexible disk, and a network interface card (NIC) 1408 are provided. These functional units 1401, 1402, 1403, 1405, 1406, 1407, and 1408 are configured to be communicably connected to each other via a system bus 1404.

CPU1401は、ROM1402又はHD1411に記憶されたソフトウェア、又はSTD1412より供給されるソフトウェアを実行することで、システムバス1404に接続された各構成部を総括的に制御する。すなわち、CPU1401は、前述したような動作を行うための処理プログラムを、ROM1402、HD1411、又はSTD1412から読み出して実行することで、前述した各実施形態での動作を実現するための制御を行う。RAM1403は、CPU1401の主メモリ又はワークエリア等として機能する。CONSC1405は、CONS1409からの指示入力を制御する。DISPC1406は、DISP1410の表示を制御する。DCONT1407は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び前述した各実施形態における前記処理プログラム等を記憶するHD1411及びSTD1412とのアクセスを制御する。NIC1408はネットワーク1413上の他の装置と双方向にデータをやりとりする。   The CPU 1401 comprehensively controls each component connected to the system bus 1404 by executing software stored in the ROM 1402 or the HD 1411 or software supplied from the STD 1412. In other words, the CPU 1401 reads out and executes a processing program for performing the above-described operation from the ROM 1402, the HD 1411, or the STD 1412, thereby performing control for realizing the operation in each of the above-described embodiments. The RAM 1403 functions as a main memory or work area for the CPU 1401. The CONSC 1405 controls instruction input from the CONS 1409. The DISPC 1406 controls display of the DISP 1410. The DCONT 1407 controls access to the HD 1411 and the STD 1412 that store a boot program, various applications, user files, a network management program, and the processing program in each of the above-described embodiments. The NIC 1408 exchanges data with other devices on the network 1413 in both directions.

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

101:データフロー格納モジュール 102:データベース 103:入力装置 104:表示装置 105:データフロー更新装置 106:指示選択部 107:モジュール情報抽出部 108:組み合わせ候補生成部 109:出力部 110:ホストプロセッサ 111:ビジュアルプログラミング支援装置(設計支援装置) 101: Data flow storage module 102: Database 103: Input device 104: Display device 105: Data flow update device 106: Instruction selection unit 107: Module information extraction unit 108: Combination candidate generation unit 109: Output unit 110: Host processor 111: Visual programming support device (design support device)

Claims (10)

処理を示すモジュール間の接続履歴情報が格納されたデータベースと接続され、前記モジュールを接続してデータフローを作成しプログラミングを行う図形プログラミングに係る設計支援装置であって、
選択された前記モジュールの属性情報を抽出する情報抽出手段と、
前記情報抽出手段により抽出された前記属性情報と、前記データベースに格納されている前記モジュール間の接続履歴情報とに基づいて、予め定めた条件を満たす、前記選択されたモジュールと前記データフローの内の他の前記モジュールとの組み合わせを抽出する組み合わせ候補生成手段とを備えることを特徴とする設計支援装置。
A design support apparatus related to graphic programming that is connected to a database storing connection history information between modules indicating processing, creates a data flow by connecting the modules, and performs programming,
Information extracting means for extracting attribute information of the selected module;
Based on the attribute information extracted by the information extraction means and the connection history information between the modules stored in the database, the selected module and the data flow satisfying a predetermined condition A design support apparatus comprising: combination candidate generation means for extracting a combination with another module.
前記組み合わせ候補生成手段は、前記情報抽出手段により抽出された前記属性情報と所定の判断条件とによって、前記データベースから前記選択されたモジュールと関連するモジュールを検索し、検索されたモジュールの前記データベースに格納されている前記モジュール間の接続履歴情報に基づいて、予め定めた条件を満たす、前記選択されたモジュールと前記他のモジュールとの組み合わせを抽出することを特徴とする請求項1記載の設計支援装置。   The combination candidate generating unit searches for a module related to the selected module from the database based on the attribute information extracted by the information extracting unit and a predetermined determination condition, and stores the module in the database of the searched module. The design support according to claim 1, wherein a combination of the selected module and the other module that satisfies a predetermined condition is extracted based on the stored connection history information between the modules. apparatus. 前記情報抽出手段により抽出される前記属性情報には前記モジュールに与えられたカテゴリの情報を含み、
前記組み合わせ候補生成手段は、前記選択されたモジュールと前記他のモジュールとの組み合わせの抽出に、前記情報抽出手段により抽出された前記カテゴリの情報を用いることを特徴とする請求項1又は2記載の設計支援装置。
The attribute information extracted by the information extraction means includes information on a category given to the module,
The said combination candidate production | generation means uses the information of the said category extracted by the said information extraction means for extraction of the combination of the said selected module and the said other module, The Claim 1 or 2 characterized by the above-mentioned. Design support device.
前記情報抽出手段により抽出される前記属性情報には前記モジュールが有する入出力端子の情報を含み、
前記組み合わせ候補生成手段は、前記選択されたモジュールと前記他のモジュールとの組み合わせの抽出に、前記情報抽出手段により抽出された前記入出力端子の情報を用いることを特徴とする請求項1〜3の何れか1項に記載の設計支援装置。
The attribute information extracted by the information extraction means includes information on input / output terminals of the module,
The combination candidate generation unit uses the information of the input / output terminals extracted by the information extraction unit for extracting a combination of the selected module and the other module. The design support apparatus according to any one of the above.
前記情報抽出手段により抽出される前記属性情報には前記モジュールが有する入出力端子に接続されているモジュールの属性情報を含み、
前記組み合わせ候補生成手段は、前記選択されたモジュールと前記他のモジュールとの組み合わせの抽出に、前記情報抽出手段により抽出された前記入出力端子に接続されているモジュールの属性情報を用いることを特徴とする請求項1〜4の何れか1項に記載の設計支援装置。
The attribute information extracted by the information extraction means includes attribute information of a module connected to an input / output terminal of the module,
The combination candidate generation unit uses attribute information of a module connected to the input / output terminal extracted by the information extraction unit to extract a combination of the selected module and the other module. The design support apparatus according to any one of claims 1 to 4.
前記組み合わせ候補生成手段は、前記選択されたモジュールとは異なる、前記データフローの内の前記モジュールの接続関係に応じて、前記選択されたモジュールと前記他のモジュールとの組み合わせを抽出することを特徴とする請求項1〜5の何れか1項に記載の設計支援装置。   The combination candidate generation unit extracts a combination of the selected module and the other module according to a connection relation of the module in the data flow different from the selected module. The design support apparatus according to any one of claims 1 to 5. 前記情報抽出手段により抽出される前記属性情報は階層化されており、
前記組み合わせ候補生成手段は、前記選択されたモジュールと前記他のモジュールとの組み合わせを抽出するときに、所定の上位階層までさかのぼった前記属性情報を用いることを特徴とする請求項1〜6の何れか1項に記載の設計支援装置。
The attribute information extracted by the information extraction means is hierarchized,
The combination candidate generation unit uses the attribute information that goes back to a predetermined upper layer when extracting a combination of the selected module and the other module. The design support apparatus according to claim 1.
前記選択されたモジュールが複数の内部モジュールを有する場合には、前記情報抽出手段により抽出される前記属性情報として、前記内部モジュールの属性情報を用いることを特徴とする請求項1〜7の何れか1項に記載の設計支援装置。   The attribute information of the internal module is used as the attribute information extracted by the information extraction unit when the selected module has a plurality of internal modules. The design support apparatus according to Item 1. 処理を示すモジュール間の接続履歴情報が格納されたデータベースと接続される設計支援装置を用い、前記モジュールを接続してデータフローを作成しプログラミングを行う図形プログラミングに係る設計支援方法であって、
選択された前記モジュールの属性情報を抽出する情報抽出工程と、
前記情報抽出工程で抽出された前記属性情報と、前記データベースに格納されている前記モジュール間の接続履歴情報とに基づいて、予め定めた条件を満たす、前記選択されたモジュールと前記データフローの内の他の前記モジュールとの組み合わせを抽出する組み合わせ候補生成工程とを有することを特徴とする設計支援方法。
A design support method related to graphic programming that uses a design support apparatus connected to a database storing connection history information between modules indicating processing, creates a data flow by connecting the modules, and performs programming.
An information extraction step of extracting attribute information of the selected module;
Based on the attribute information extracted in the information extraction step and the connection history information between the modules stored in the database, the selected module and the data flow satisfying a predetermined condition And a combination candidate generation step of extracting a combination with the other module.
処理を示すモジュール間の接続履歴情報が格納されたデータベースと接続されるコンピュータに、前記モジュールを接続してデータフローを作成しプログラミングを行う図形プログラミングに係る処理を実行させるプログラムであって、
選択された前記モジュールの属性情報を抽出する情報抽出ステップと、
前記情報抽出ステップで抽出された前記属性情報と、前記データベースに格納されている前記モジュール間の接続履歴情報とに基づいて、予め定めた条件を満たす、前記選択されたモジュールと前記データフローの内の他の前記モジュールとの組み合わせを抽出する組み合わせ候補生成ステップとをコンピュータに実行させるためのプログラム。
A program for executing processing related to graphic programming for creating a data flow by connecting the module to a computer connected to a database storing connection history information between modules indicating processing,
An information extraction step of extracting attribute information of the selected module;
Based on the attribute information extracted in the information extraction step and the connection history information between the modules stored in the database, the selected module and the data flow satisfying a predetermined condition A program for causing a computer to execute a combination candidate generation step of extracting a combination with another module.
JP2013211115A 2013-10-08 2013-10-08 Design support apparatus, design support method, and program Active JP6257254B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013211115A JP6257254B2 (en) 2013-10-08 2013-10-08 Design support apparatus, design support method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013211115A JP6257254B2 (en) 2013-10-08 2013-10-08 Design support apparatus, design support method, and program

Publications (2)

Publication Number Publication Date
JP2015075876A true JP2015075876A (en) 2015-04-20
JP6257254B2 JP6257254B2 (en) 2018-01-10

Family

ID=53000702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013211115A Active JP6257254B2 (en) 2013-10-08 2013-10-08 Design support apparatus, design support method, and program

Country Status (1)

Country Link
JP (1) JP6257254B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557312A (en) * 2015-09-24 2017-04-05 瑞萨电子株式会社 Program development support device and program development support software
JPWO2021024791A1 (en) * 2019-08-05 2021-02-11
US11334350B2 (en) 2020-04-28 2022-05-17 Hitachi, Ltd. Program component evaluation system and program component evaluation method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274333A (en) * 1993-03-22 1994-09-30 Hitachi Ltd Input support method and editing support method for program
JPH07160191A (en) * 1993-12-10 1995-06-23 Mitsubishi Electric Corp Control program design assisting device
JPH08249171A (en) * 1995-03-14 1996-09-27 Mitsubishi Electric Corp Communication service specification generation system
JPH08286901A (en) * 1995-04-14 1996-11-01 Yamatake Honeywell Co Ltd Reutilizing system for software parts
JPH10149280A (en) * 1996-09-17 1998-06-02 Toshiba Corp Device and method for program composition
JP2000089944A (en) * 1998-07-15 2000-03-31 Hitachi Software Eng Co Ltd Method for displaying connection guide marker, system therefor and recording medium
JP2005234814A (en) * 2004-02-18 2005-09-02 Fujitsu Ltd Program, program construction method, storage medium, program construction system and terminal equipment
JP2007334627A (en) * 2006-06-15 2007-12-27 Hitachi Ltd Service base software design support method, and device therefor
JP2010176195A (en) * 2009-01-27 2010-08-12 Internatl Business Mach Corp <Ibm> Method for exhibiting connecting destination candidate of component in web application, and computer program and computer system therefor

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274333A (en) * 1993-03-22 1994-09-30 Hitachi Ltd Input support method and editing support method for program
JPH07160191A (en) * 1993-12-10 1995-06-23 Mitsubishi Electric Corp Control program design assisting device
JPH08249171A (en) * 1995-03-14 1996-09-27 Mitsubishi Electric Corp Communication service specification generation system
JPH08286901A (en) * 1995-04-14 1996-11-01 Yamatake Honeywell Co Ltd Reutilizing system for software parts
JPH10149280A (en) * 1996-09-17 1998-06-02 Toshiba Corp Device and method for program composition
JP2000089944A (en) * 1998-07-15 2000-03-31 Hitachi Software Eng Co Ltd Method for displaying connection guide marker, system therefor and recording medium
JP2005234814A (en) * 2004-02-18 2005-09-02 Fujitsu Ltd Program, program construction method, storage medium, program construction system and terminal equipment
JP2007334627A (en) * 2006-06-15 2007-12-27 Hitachi Ltd Service base software design support method, and device therefor
JP2010176195A (en) * 2009-01-27 2010-08-12 Internatl Business Mach Corp <Ibm> Method for exhibiting connecting destination candidate of component in web application, and computer program and computer system therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557312A (en) * 2015-09-24 2017-04-05 瑞萨电子株式会社 Program development support device and program development support software
CN106557312B (en) * 2015-09-24 2021-07-09 瑞萨电子株式会社 Program development support device and program development support software
JPWO2021024791A1 (en) * 2019-08-05 2021-02-11
JP7248801B2 (en) 2019-08-05 2023-03-29 日立Astemo株式会社 Design support system and design support method
US11334350B2 (en) 2020-04-28 2022-05-17 Hitachi, Ltd. Program component evaluation system and program component evaluation method

Also Published As

Publication number Publication date
JP6257254B2 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
JP5472504B1 (en) Work flow creation support apparatus and method, and program
US10073827B2 (en) Method and system to generate a process flow diagram
JP6975692B2 (en) Method of presenting information related to the basis of the predicted value output by the computer system and the predictor.
US20220035847A1 (en) Information retrieval
US10853732B2 (en) Constructing new formulas through auto replacing functions
JP7242994B2 (en) Video event identification method, apparatus, electronic device and storage medium
US20180322166A1 (en) System and method of extracting data from structured and unstructured sources of data using automated joins
CN113656587B (en) Text classification method, device, electronic equipment and storage medium
CN111090991B (en) Scene error correction method, device, electronic equipment and storage medium
CN111324535A (en) Control abnormity detection method and device and computer equipment
JP6257254B2 (en) Design support apparatus, design support method, and program
JP2017146846A (en) Work procedure generation support device, work procedure generation support method, and program
JP2009134520A (en) Social network display system, method, and program
KR101889007B1 (en) Method for management drawings using attributes of drawing object and drawing management system
US20200225838A1 (en) Computer program product and information processing method
JP2010092312A (en) Causal relation visualizing device and causal relation visualization method
WO2018038065A1 (en) Information management device and file management method
CN115687704A (en) Information display method and device, electronic equipment and computer readable storage medium
JP2012226697A (en) Wbs creation system and wbs creation method
US20180365341A1 (en) Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad
CN111723177A (en) Modeling method and device of information extraction model and electronic equipment
JP2016157411A (en) Information management device and file management method
US20130265326A1 (en) Discovering a reporting model from an existing reporting environment
CN110674137A (en) Data processing method and device, storage medium and electronic equipment
JP6364786B2 (en) Design document management program, design document management method, and design document management apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171205

R151 Written notification of patent or utility model registration

Ref document number: 6257254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151