(57)【要約】【課題】図形プログラミングにおいて、統合端子として複数の入力端子や出力端子をまとめる際に、類似した統合端子の乱立を防止する。【解決手段】処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、データベースに登録されているプログラミング部品の部品構成情報を参照して、指定された統合端子候補の使用実績を評価する処理を実行する使用実績評価処理手段と、統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える。【選択図】図４
2015135618.tif 000002
【特許請求の範囲】
【請求項１】
処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、
データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理手段と、
前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える情報処理装置。
【請求項２】
前記統合端子候補指定手段は、ユーザからの指定に応じて前記統合端子候補を指定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記統合端子候補指定手段は、前記処理モジュールが有する複数の入力端子又は複数の出力端子について任意の端子の組み合わせを抽出して前記統合端子候補に指定する統合端子候補自動抽出手段を有することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記使用実績評価処理手段は、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出する統合端子比較処理手段を有し、
前記統合端子比較処理手段により導出された前記一致度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記使用実績評価処理手段は、前記データベースに登録されている処理モジュールに関して、前記統合端子候補と同一のデータ型の組み合わせの端子の出現頻度をカウントする出現頻度計測評価手段を有し、
前記出現頻度計測評価手段により算出された出現頻度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項６】
前記使用実績評価処理手段は、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出する統合端子比較処理手段と、
前記データベースに登録されている処理モジュールに関して、前記統合端子候補と同一のデータ型の組み合わせの端子の出現頻度をカウントする出現頻度計測評価手段とを有し、
前記統合端子比較処理手段により算出された前記一致度、及び前記出現頻度計測評価手段により算出された出現頻度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項７】
前記統合端子比較処理手段は、前記統合端子候補に含まれる端子のデータ型及び端子数と、前記統合端子候補を有する処理モジュールの処理カテゴリーとを含む項目に関して、前記データベースに登録されている統合端子との一致度を算出する一致度スコア算出手段を有することを特徴とする請求項４又は６記載の情報処理装置。
【請求項８】
前記統合端子比較処理手段は、統合端子候補に対して接続される他の処理モジュールが有する属性と、前記データベースに登録されている統合端子が接続する処理モジュールが有する属性との一致度を算出する接続モジュール評価手段を有し、
前記一致度スコア算出手段は、前記接続モジュール評価手段により算出された前記一致度を合わせて、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出することを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記統合端子定義処理手段は、前記データベースに登録されている統合端子に対して、一部の端子のデータ型が異なる統合端子候補、及び端子数が異なる統合端子候補を統合端子として定義することを特徴とする請求項１〜８の何れか１項に記載の情報処理装置。
【請求項１０】
前記出現頻度計測評価手段は、前記データベースに登録されている処理モジュールに関して、前記統合端子候補の端子のデータ型を指定されたデータ型に変換した端子の組み合わせの出現頻度をさらにカウントすることを特徴とする請求項５又は６記載の情報処理装置。
【請求項１１】
前記統合端子定義処理手段は、前記統合端子候補を統合端子として定義することを決定した場合に、さらに登録処理に関するユーザの承認を得ることを特徴とする請求項１〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記統合端子定義処理手段は、前記統合端子候補を統合端子として定義する際に、前記統合端子候補を統合端子として前記データベースに登録することを特徴とする請求項１〜１１の何れか１項に記載の情報処理装置。
【請求項１３】
入力装置を用いて入力された指示入力を受け、前記指示入力に基づいて、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定工程と、
データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理工程と、
前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理工程とを有することを特徴とする情報処理方法。
【請求項１４】
コンピュータを、請求項１〜１２の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
データ入力端子及びデータ出力端子を有する処理モジュールを複数接続してデータフロー図を作成しプログラミングを行う図形プログラミング（ビジュアルプログラミング、視覚プログラミングとも言う）がある。図形プログラミングを実現するプログラミングシステムにおいて、ユーザが指定した複数の入力端子や出力端子をまとめる機能を提供するものがあった（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−４４３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、図形プログラミングにおいて、ユーザが複数の入力端子や出力端子を自由に指定して端子をまとめた場合、様々な端子構成でまとめられた端子（統合端子と称す）が乱立してしまう可能性があり、部品の再利用性が低下する。本発明は、このような事情に鑑みてなされたものであり、統合端子として複数の入力端子や出力端子をまとめる際に、類似した統合端子の乱立を防止し、部品の再利用性の低下を防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理手段と、前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える。
【発明の効果】
【０００６】
本発明によれば、処理モジュールが有する複数の入力端子又は出力端子を統合端子としてまとめる際に使用実績に基づいて定義の可否を判断することで、類似の統合端子の乱立を防止し、部品の再利用性の低下を防止できる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態における図形プログラミングシステムの構成例を示す図である。
【図２】本実施形態における図形プログラミングアプリケーションを実行可能なコンピュータの構成例を示す図である。
【図３】処理モジュールの例を示す図である。
【図４】第１の実施形態における統合端子生成処理の処理フローを示す図である。
【図５】第１の実施形態における図形プログラミングの例を示す図である。
【図６】第１の実施形態における統合端子の設定例を示す図である。
【図７】第１の実施形態における統合端子生成処理の処理フローを示す図である。
【図８】第１の実施形態における表示例を示す図である。
【図９】第２の実施形態における統合端子候補の指定例を示す図である。
【図１０】第３の実施形態における統合端子比較処理工程の処理フローを示す図である。
【図１１】第３の実施形態における処理モジュールの接続例を示す図である。
【図１２】第３の実施形態における階層的処理モジュールの例を示す図である。
【図１３】第４の実施形態における統合端子生成処理の処理フローを示す図である。
【図１４】第４の実施形態における出現頻度の計測例を説明するための図である。
【図１５】第５の実施形態における統合端子の設定例を示す図である。
【図１６】第５の実施形態における変換可能なデータ型の指定例を示す図である。
【図１７】第５の実施形態における出現頻度計測評価工程の処理フローを示す図である。
【図１８】第６の実施形態における統合端子生成処理の処理フローを示す図である。
【図１９】第７の実施形態における統合端子生成処理の処理フローを示す図である。
【図２０】第７の実施形態における処理モジュールの例を示す図である。
【図２１】第７の実施形態における表示例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を図面に基づいて説明する。
【０００９】
図１は、本発明の実施形態における統合端子生成処理の適用対象となる図形プログラミングを実現する図形プログラミングシステムの構成例を示す図である。図形プログラミングは、入力端子及び出力端子を有する処理モジュールを複数接続してデータフロー図を作成しプログラミングを行う。以下の説明において、「統合端子」とは、処理モジュールが有する複数の入力端子又は複数の出力端子をまとめたものである。
【００１０】
図１に示すように、図形プログラミングシステムは、図形プログラミングアプリケーションがインストールされたコンピュータ（ＰＣ）１１、及び図形プログラミング工程をユーザに提示するモニタ１２を有する。また、図形プログラミングシステムは、過去に登録されたプログラミング部品としての処理モジュール及び統合端子の情報を含む部品構成情報を保持するデータベース１３と、データベース１３を管理するためのデータベースサーバ１４を有する。データベース１３は、ネットワークを介してＰＣ１１に接続される。本実施形態における統合端子生成処理は、前述した図形プログラミングアプリケーションにおける１つの機能として提供される。
【００１１】
図２は、図形プログラミングアプリケーションを実行するコンピュータ機能６００の構成例を示す図である。図２に示すコンピュータ機能６００は、図１に示したＰＣ１１及びモニタ１２に相当する。コンピュータ機能６００のＣＰＵ６０１により、後述する各実施形態における統合端子生成処理を含む、図形プログラミングにおける各動作が実施され、本実施形態における情報処理装置の各手段の機能が実現される。
【００１２】
コンピュータ機能６００は、図２に示すように、ＣＰＵ６０１と、ＲＯＭ６０２と、ＲＡＭ６０３とを備える。また、入力装置を含む操作部（ＣＯＮＳ）６０９のコントローラ（ＣＯＮＳＣ）６０５と、モニタ１２としてのディスプレイ（ＤＩＳＰ）６１０のディスプレイコントローラ（ＤＩＳＰＣ）６０６とを備える。さらに、ハードディスク（ＨＤ）６１１、及びフレキシブルディスク等の記憶デバイス（ＳＴＤ）６１２のコントローラ（ＤＣＯＮＴ）６０７と、ネットワークインタフェースカード（ＮＩＣ）６０８とを備える。それら機能部６０１、６０２、６０３、６０５、６０６、６０７、６０８は、システムバス６０４を介して互いに通信可能に接続された構成としている。
【００１３】
ＣＰＵ６０１は、ＲＯＭ６０２又はＨＤ６１１に記憶されたソフトウェア、又はＳＴＤ６１２より供給されるソフトウェア（コンピュータプログラム）を実行することで、システムバス６０４に接続された各構成部を総括的に制御する。例えば、ＣＰＵ６０１は、図形プログラミングアプリケーションのコンピュータプログラムを、ＲＯＭ６０２、ＨＤ６１１、又はＳＴＤ６１２から読み出して実行することで、図形プログラミングにおける動作を実現するための制御を行う。ＲＡＭ６０３は、ＣＰＵ６０１の主メモリ又はワークエリア等として機能する。
【００１４】
ＣＯＮＳＣ６０５は、ＣＯＮＳ６０９からの指示入力を制御する。ＤＩＳＰＣ６０６は、ＤＩＳＰ６１０の表示を制御する。ＤＣＯＮＴ６０７は、ブートプログラム、図形プログラミングアプリケーションを含む種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム等を記憶するＨＤ６１１及びＳＴＤ６１２とのアクセスを制御する。ＮＩＣ６０８は、図１に示したデータベース１３を含むネットワーク６１３上の他の装置と双方向にデータをやりとりする。
【００１５】
本実施形態における図形プログラミングは、図１に示すようにユーザがＰＣ１１のモニタ１２上に表示される処理モジュールを入力端子及び出力端子を介して接続することで、所望の機能を実現するプログラムを作成する。処理モジュールは、ユーザがモニタ１２上の表示を参照して、新たな機能を有する処理モジュールとして作成することが可能である。また、処理モジュールは、過去に作成されてデータベース１３に登録されている処理モジュールを読み出して使用することも可能である。
【００１６】
処理モジュールは、属性として処理カテゴリーを有しており、データベース１３に新規登録する際に、処理の内容に応じて適当な処理カテゴリーを設定する。処理カテゴリーとしては、処理の内容を表す一般的なカテゴリーが事前に用意されており、データベース１３への登録時に、その処理モジュールを作成したユーザによって選択される。
【００１７】
続いて、処理モジュールの新規作成方法について説明する。図３に示すように、処理モジュールは、他の処理モジュールと接続するための入力端子３１及び出力端子３２を有する。処理モジュールの入力端子及び出力端子は、処理モジュールを新規に作成する際に、ユーザが図形プログラミングアプリケーションのコマンドを使用して、必要とされる入力端子及び出力端子を適宜生成する。その際、入力端子及び出力端子を通じてやり取りされるデータの型を、入力端子及び出力端子に対して設定する。
【００１８】
データ型として設定され得るのは、事前にデータベース１３に登録された基本データ型、及びデータベース１３に登録された統合端子型である。ここで、本例では、基本データ型として、例えば以下のデータ型がある（以下の基本データ型に対応するポインタ型も含まれるものとする）。
unsigned char：符号なし８ビット整数型
char：符号付き８ビット整数型
unsigned short：符号なし１６ビット整数型
short：符号付き１６ビット整数型
int：符号付き３２ビット整数型
float：３２ビット浮動小数点型
double：６４ビット浮動小数点型
【００１９】
図３に例示した処理モジュールは、unsigned char*、unsigned short、unsigned short、intの型を有する４個の入力端子３１が設定されており、intの型を有する１個の出力端子３２が設定されている。
【００２０】
また、統合端子型は、統合端子が有する各端子のデータ型、すなわち前述した基本データ型を複数組み合わせたデータ型であり、例えばＣ言語における構造体に相当する。統合端子型は、例えば、複数のデータをまとめて表すことで、ユーザにとってデータの意味を理解しやすくなる場合に使用される。本例では、統合端子型として、例えば以下のデータ型がある。以下に示す統合端子型は、｛  ｝の中に列記されたデータ型で定義された変数より構成されている。
画像型：｛unsigned char*, unsigned short, unsigned short｝
例えば、この画像型においては、unsigned char*が画素値データのポインタ型を示し、２つのunsigned shortが画像のＸ方向サイズデータ及びＹ方向サイズデータの型を示している。一般的に画像全体の画素値データと画像サイズのデータとはまとめて処理されることが多いため、統合端子型を用いることにより、ユーザは画像データに対する処理を理解することが容易になる。
【００２１】
また、統合端子型は、属性として処理カテゴリーを有しており、これは前述した処理モジュールにおける処理カテゴリーに紐付けられている。統合端子型は、様々な処理モジュールにおいて使用され得るが、統合端子型が処理モジュールの入力端子や出力端子において使用されるたびに、その処理モジュールが有する処理カテゴリーが、登録済みの統合端子型に属性として紐付けられる。これにより、データベースに登録されている統合端子型が、どの処理カテゴリーの処理モジュールにおいて使用されているかを判別することが可能となる。
【００２２】
以下、図形プログラミングにおいて、複数の入力端子又は複数の出力端子を統合端子として定義するための統合端子生成処理について説明する。
【００２３】
（第１の実施形態）
本発明の第１の実施形態について説明する。図４は、第１の実施形態における統合端子生成処理の処理フローを示す図である。第１の実施形態における統合端子生成処理は、図４（Ａ）に示すように、統合端子候補指定工程Ｐ４１、使用実績評価処理工程Ｐ４２、及び統合端子定義処理工程Ｐ４４を有する。本実施形態における統合端子候補指定手段が統合端子候補指定工程Ｐ４１の処理を行い、使用実績評価処理手段が使用実績評価処理工程Ｐ４２の処理を行い、統合端子定義処理手段が統合端子定義処理工程Ｐ４４の処理を行う。
【００２４】
統合端子候補指定工程Ｐ４１では、図形プログラミングシステムのＰＣ１１が、入力装置を用いて入力される、ユーザからの統合端子候補の指示入力を受ける。そして、受けたユーザからの指示入力に基づいて、ＰＣ１１が、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する。使用実績評価処理工程Ｐ４２では、ＰＣ１１が、データベース１３に登録されているプログラミング部品の部品構成情報を参照して、統合端子候補指定工程Ｐ４１で指定された統合端子候補の使用実績を評価する処理を実行する。使用実績評価処理工程Ｐ４２は、統合端子比較処理工程Ｐ４３を含む。本実施形態における統合端子比較処理手段が統合端子比較処理工程Ｐ４３の処理を行う。統合端子定義処理工程Ｐ４４では、ＰＣ１１が、使用実績評価処理工程Ｐ４２における使用実績の評価結果に基づいて、統合端子候補を統合端子として定義する。
【００２５】
統合端子比較処理工程Ｐ４３は、図４（Ｂ）に示すように、データ型一致度評価工程Ｐ４５、端子数一致度評価工程Ｐ４６、処理カテゴリー一致度評価工程Ｐ４７、及び一致度スコア算出工程Ｐ４８を有する。データ型一致度評価工程Ｐ４５では、ＰＣ１１が、統合端子候補に含まれる入力端子又は出力端子のデータ型と、データベース１３に登録されている既に定義済みの統合端子が有する端子のデータ型との一致度を評価する。端子数一致度評価工程Ｐ４６では、ＰＣ１１が、統合端子候補に含まれる入力端子又は出力端子の端子数と、データベース１３に登録されている既に定義済みの統合端子が有する端子数との一致度を評価する。
【００２６】
処理カテゴリー一致度評価工程Ｐ４７では、ＰＣ１１が、統合端子候補が指定された処理モジュールに設定された処理カテゴリーが、データベース１３に登録されている既に定義済みの統合端子の処理カテゴリー属性に含まれているかを評価する。一致度スコア算出工程Ｐ４８では、ＰＣ１１が、前述した各評価工程Ｐ４５、Ｐ４６、Ｐ４７における評価結果を総合的に評価し、統合端子候補とデータベース１３に登録されている既に定義済みの統合端子との一致度を評価する。
【００２７】
なお、図４（Ｂ）においては、データ型一致度評価工程Ｐ４５、端子数一致度評価工程Ｐ４６、処理カテゴリー一致度評価工程Ｐ４７の順に実行するように示しているが、これは一例である。各評価工程Ｐ４５、Ｐ４６、Ｐ４７を実行する順序は任意であり、一致度スコア算出工程Ｐ４８を実行する前に、データ型一致度評価工程Ｐ４５、端子数一致度評価工程Ｐ４６、及び処理カテゴリー一致度評価工程Ｐ４７が完了していれば良い。
【００２８】
続いて、第１の実施形態における統合端子生成処理に関して詳細に説明する。
まず、ユーザが図形プログラミングシステムを用いて、図５に示すように所望の機能を実現するための図形プログラミングを行っているものとする。図５には、画面上で作成されている処理モジュールに関連する部分のみを示している。図５に示す例では、４個の入力端子５１と１個の出力端子５２を設定した処理モジュールＡ、２個の入力端子５３と１個の出力端子５４を設定した処理モジュールＢ、及び２個の入力端子５５と１個の出力端子５６を設定した処理モジュールＣが生成されている。これらの処理モジュール間をリンクで接続することで、データの流れを示している。
【００２９】
図５において、処理モジュールＡの入力端子５１は、画像データをunsigned char*で定義した入力端子ａを含んでいる。また、入力端子５１は、画像のＸ方向サイズデータをunsigned shortで定義した入力端子ｂと、画像のＹ方向サイズデータをunsigned shortで定義した入力端子ｃとを含んでいる。このとき、ユーザが処理モジュールＡの３個の入力端子ａ〜ｃを画像型の統合端子１個で表すことを希望する場合には、入力装置を用いてユーザが統合端子候補の指示入力を入力する。例えば、図６（Ａ）に示すようにユーザが入力装置を用いて矩形６１による矩形選択方法により３個の入力端子ａ〜ｃを選択することで、統合端子候補指定工程Ｐ４１において、ＰＣ１１が、選択された３個の入力端子ａ〜ｃを統合端子候補に指定する。
【００３０】
続いて、ＰＣ１１が、使用実績評価処理工程Ｐ４２の統合端子比較処理工程Ｐ４３において、統合端子候補に指定された入力端子ａ〜ｃの組み合わせが、データベース１３に既に統合端子として登録されているか否かを確認する。この確認は、統合端子比較処理工程Ｐ４３に含まれる各評価工程Ｐ４５、Ｐ４６、Ｐ４７、及び一致度スコア算出工程Ｐ４８により、統合端子候補とデータベース１３に登録されている既に定義済みの統合端子との一致度を導出し評価することにより実行される。
【００３１】
統合端子比較処理工程Ｐ４３のデータ型一致度評価工程Ｐ４５では、統合端子候補に含まれる端子のデータ型と、定義済みの統合端子が有する端子のデータ型との一致度を評価する。具体的には、ＰＣ１１が、評価対象の定義済みの統合端子が有する端子のデータ型に関して、統合端子候補に含まれる端子のデータ型と一致する比率、すなわち（データ型一致数）／（端子総数）をデータ型一致度評価値として算出する。本例で統合端子候補に指定した入力端子は、unsigned char*で定義した入力端子ａ、unsigned shortで定義した入力端子ｂ、及びunsigned shortで定義した入力端子ｃの３種類である。また、データベース１３には既に定義済みの統合端子として、前述した画像型：｛ unsigned char*, unsigned short, unsigned short ｝が登録されている。両者を比較すると、画像型に含まれる端子のデータ型はすべて統合端子候補が有する端子のデータ型に等しいため、３個中３個のデータ型が等しいこととなり、データ型一致度評価値は１（＝３／３）となる。
【００３２】
また、統合端子比較処理工程Ｐ４３の端子数一致度評価工程Ｐ４６では、統合端子候補に含まれる端子数と、定義済みの統合端子が有する端子数との一致度を評価する。第１の実施形態では、統合端子候補に含まれる端子数と、評価対象の定義済みの統合端子が有する端子数とが等しい場合には、端子数一致度評価値を１とする。一方、それ以外の場合、すなわち統合端子候補に含まれる端子数と、評価対象の定義済みの統合端子が有する端子数とが異なる場合には、端子数一致度評価値を０とする。本例では、統合端子候補の端子数は３であり、既に定義済みの統合端子として登録されている画像型の統合端子の端子数も３であるため、画像型における端子数一致度評価値は１となる。
【００３３】
また、統合端子比較処理工程Ｐ４３の処理カテゴリー一致度評価工程Ｐ４７では、統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の登録済みの統合端子型の処理カテゴリー属性に含まれているかを評価する。第１の実施形態では、統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の統合端子型が属性として有する処理カテゴリーに含まれる場合には、処理カテゴリー一致度評価値を１とする。一方、それ以外の場合、すなわち統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の統合端子型が属性として有する処理カテゴリーに含まれない場合には、処理カテゴリー一致度評価値を０とする。
【００３４】
本例では、既に統合端子型として登録済みの画像型が属性として有する処理カテゴリーは、“認識処理”、“検出処理”、及び“特徴量算出処理”の３通りとする。これらの処理カテゴリーは、画像型を使用する処理モジュールがデータベース１３に登録される際に、その処理モジュールの処理カテゴリーが統合端子型の属性に追加登録されたものである。すなわち、画像型は、“認識処理”、“検出処理”、及び“特徴量算出処理”の処理カテゴリーに含まれるデータベース１３に登録済みの処理モジュールで使用されている。ここで、本例では、統合端子候補を有する処理モジュールＡの処理カテゴリーは、“特徴量算出処理”とすると、処理モジュールＡの処理カテゴリーは、画像型が属性として有する処理カテゴリーに含まれている。したがって、画像型に対する処理カテゴリー一致度評価値は１となる。
【００３５】
続いて、統合端子比較処理工程Ｐ４３の一致度スコア算出工程Ｐ４８において、前述した各評価工程Ｐ４５、Ｐ４６、Ｐ４７による評価結果を総合的に評価して、統合端子候補とデータベース１３に登録されている統合端子との一致度を評価する。第１の実施形態では、それぞれの評価工程で算出された評価値を乗算することにより、一致度スコアを算出する。したがって、本例では、一致度スコアは１（＝１×１×１）となる。
【００３６】
さらに、統合端子比較処理工程Ｐ４３では、ＰＣ１１が、前述のようにして導出された一致度スコアと事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。例えば、一致度スコアが１である本例のような場合には、統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子が、既に登録されているため、統合端子候補を、画像型として登録されている統合端子として設定することができると評価する。この場合には、次工程である統合端子定義処理工程Ｐ４４に対して、統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子の情報が、一致判定とともに伝達される。
【００３７】
また、例えば、一致度スコアが１でない（完全一致ではない）ものの、閾値（本例では０．７とする）以上である場合には、既に登録されている統合端子と一致度が高いことから、使用実績の高い統合端子型であると判断する。一例として、ユーザが指定した統合端子候補が４個の入力端子を有しているとする。それに対して、既に登録されている統合端子として、４個中３個の入力端子が統合端子候補が有する入力端子と同一のデータ型であり、かつ統合端子候補を有する処理モジュールの処理カテゴリーを属性として含むものがあるとする。このとき、データ型一致度評価値は０．７５（＝３／４）となり、端子数一致度評価値は１となり、処理カテゴリー一致度は１となる。したがって、一致度スコアは、閾値以上である０．７５（＝０．７５×１×１）となるため、統合端子候補とまったく同一のデータ型の端子を有する統合端子は登録されていないものの、類似した統合端子がデータベース１３に登録されていると判断する。この場合には、次工程である統合端子定義処理工程Ｐ４４に対して、統合端子候補に類似する端子を有する統合端子の情報が、高使用実績判定とともに伝達される。
【００３８】
また、一致度スコアが閾値未満である場合には、既に登録されている統合端子の中に類似するものがなく、統合端子候補は使用実績が低いと判断する。この場合には、次工程である統合端子定義処理工程Ｐ４４に対して、低使用実績判定が伝達される。
【００３９】
続いて、統合端子定義処理工程Ｐ４４では、ＰＣ１１が、統合端子比較処理工程Ｐ４３を含む使用実績評価処理工程Ｐ４２における評価結果を基にして、統合端子候補を統合端子として定義するか否かを決定する処理を実行する。本例では、前述したように使用実績評価処理工程Ｐ４２より統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子の情報が、一致判定とともに伝達される。この場合には、図６（Ｂ）に示すように、統合端子候補指定工程Ｐ４１において指定した統合端子候補が、１個の入力端子６２にまとめられた上で、既に登録されている統合端子である画像型の統合端子に自動的に設定される。なお、図６（Ｂ）には、統合端子候補の３個の入力端子が１個にまとめられた状態を示しているが、図形プログラミングシステムの機能として、必要に応じて入力端子を画像型として１個にまとめた形で扱うことも、元の３個の入力端子として扱うことも可能である。
【００４０】
一方、使用実績評価処理工程Ｐ４２より高使用実績判定が伝達された場合（一致度スコアが閾値以上１未満である場合）には、ユーザに対して統合端子候補に類似する端子を有する統合端子を提示する。そして、統合端子候補を提示された統合端子として設定するか否かの確認をユーザに促す。ＰＣ１１は、ユーザが設定を承認した場合には、統合端子候補を類似する統合端子に設定し、ユーザが設定を承認しない場合には、統合端子候補を統合端子として設定せず、図５に示した元の端子のままの状態を維持する。ここで、統合端子候補を類似する統合端子に設定する場合には、統合端子候補に含まれる一部の端子のデータ型が元のデータ型と異なったりすることが生じる。その場合には、変更された端子に対応して、処理モジュールの内部定義を変更すれば良い。処理モジュールの定義が、処理を記述したプログラムで表現されている場合には、ユーザが、プログラムを一部変更することにより、処理モジュールの内部定義を変更することができる。
【００４１】
また、使用実績評価処理工程Ｐ４２より低使用実績判定が伝達された場合（一致度スコアが閾値未満である場合）には、統合端子候補を統合端子として設定することを却下されたことに相当し、統合端子候補は、図５に示した元の端子のままの状態を維持する。
【００４２】
前述した統合端子定義処理工程Ｐ４４では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、さらに統合端子候補の情報をシステム管理者側など（以下、「管理者側」）に伝達し、統合端子としてのデータベース１３への登録の可否を管理者側に判定させるようにしても良い。具体的には、統合端子候補が統合端子に設定されなかった場合には、メール等の伝達手段により統合端子候補の情報を管理者側に連絡し、管理者側がその使用実績を判断した上で統合端子としてのデータベース１３への登録を検討する。
【００４３】
管理者側が、該当する統合端子候補の使用実績が高いと判断した場合には、統合端子としてデータベース１３への登録を行い、ユーザ等にメール等の伝達手段により統合端子候補が正規の統合端子としてデータベース１３に登録された旨を連絡する。新規の統合端子のデータベース１３への登録は、管理者側が図１に示したデータベース管理サーバ１４を操作することにより行う。具体的には、データベース管理サーバ１４にインストールされたデータベース管理ツールを用いて、データベース１３を構成する記憶装置に新規の統合端子の情報を登録する。登録が完了した統合端子は、それ以降、統合端子候補の使用実績を評価する際に既に定義済みの統合端子として扱われる。このようにした場合には、統合端子としての登録を要求する統合端子候補の使用実績を人間の判断により判定するため、人間の知識に基づく使用実績評価による統合端子の新規登録が実現できる。
【００４４】
図７に、統合端子定義処理工程Ｐ４４において、データベース１３に統合端子を新規に登録するデータベース登録処理工程Ｐ７１を行う場合の処理フローを示す。図７において、図４（Ａ）に示した工程と同一の工程には同一の符号を付し、重複する説明は省略する。図７に示すデータベース登録処理工程Ｐ７１では、前述したように図１に示したデータベース管理サーバ１４がデータベース１３に対して統合端子を登録する処理を実行する。
【００４５】
また、前述した説明では、統合端子比較処理工程Ｐ４３において、一致度スコアが閾値以上１未満となる登録済みの統合端子が１個だけ検出される例を示したが、複数の統合端子が検出されるものであっても良い。その場合には、次工程である統合端子定義処理工程Ｐ４４に対して、統合端子候補に類似する端子を有する複数の統合端子の情報が、一致度スコア及び高使用実績判定とともに伝達されるようにする。そして、例えば図８に示すように、ユーザに対して統合端子候補に類似する端子を有する複数の統合端子８１を一致度スコア８２とともに提示し、統合端子候補を複数の類似する統合端子８１の中の１つに設定するか否かの承認をユーザに促す。ＰＣ１１は、ユーザが設定を承認した場合には、統合端子候補をユーザによって選択された類似する統合端子に設定し、ユーザが設定を承認しない場合には、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。
【００４６】
また、複数の入力端子を統合端子候補に指定して統合端子として定義する例について説明したが、複数の出力端子を統合端子候補に指定して統合端子として定義する場合についても、同様の手法を適用することができる。また、前述した統合端子比較処理工程Ｐ４３における処理方法は、一例であり、これに限定されるものではない。例えば、データ型一致度評価工程Ｐ４５、端子数一致度評価工程Ｐ４６、処理カテゴリー一致度評価工程Ｐ４７、及び一致度スコア算出工程Ｐ４８における処理方法や演算方法は、その他の方法を用いるものであっても良い。例えば、統合端子候補に含まれる端子に対して、統合端子候補指定工程Ｐ４１においてユーザが重み付けを設定し、その重み付けに基づいて前述した評価値を算出する手法などがある。また、一致度スコアを導出する際に、評価項目毎に重み付けをする方法を用いても良い。また、閾値により一致度スコアを評価する手法に関しても、これに限るものではなく、統合端子毎に異なる閾値を設定したり、又は閾値を用いずにすべての統合端子の一致度スコアをユーザに提示したりするなどの方法を用いるものであっても良い。
【００４７】
第１の実施形態によれば、ユーザが複数の入力端子又は複数の出力端子を統合端子として定義することを希望する際に、使用実績に基づいて統合端子としての定義の可否を判断する。これにより、類似した統合端子の乱立を防止することが可能となり、非汎用的な統合端子の乱立に起因する処理モジュールの再利用性の低下を防止することが可能となる。
【００４８】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態における統合端子生成処理は、データベース１３に登録されている統合端子が有する端子の情報、及び統合端子候補の使用実績を評価する処理が、第１の実施形態における統合端子生成処理と異なる。第２の実施形態における統合端子生成処理は、データベース１３に登録された統合端子が有する端子の情報として使用可能なデータ型の情報を有し、一部の端子構成が異なってもデータ型として同一の意味を有する統合端子として使用実績を評価する。以下では、第１の実施形態において説明した内容に関しては説明を省略し、第２の実施形態に特有の点について説明を行う。
【００４９】
第２の実施形態において、統合端子としての画像型は、以下のような情報としてデータベース１３に登録されている。
画像型：｛ (unsigned char*, unsigned short*, int*, float*, double*),
(unsigned char, unsigned short, int),
(unsigned char, unsigned short, int) ｝、
属性…サイズ付き画像データ
この画像型において、統合端子が有する端子数は３個であり、各端子のデータ型は｛  ｝の中に列記されている。さらに、それぞれの端子のデータ型は（  ）の中に使用可能なデータ型を列記することで定義されている。
【００５０】
第１の実施形態における画像型では、unsigned char*が画素値データのポインタ型を示し、２つのunsigned shortが画像のＸ方向サイズデータ及びＹ方向サイズデータの型を示していた。これに対して、例えば画素値データを定義するデータ型としては、より階調数が多いunsigned short型、int型、又は、浮動小数点型であるfloat型、double型、のポインタ型を使用したとしても、画像データとしての意味は損なわれない。また、同様に、画像のＸ方向サイズ及びＹ方向サイズを定義するデータ型としては、より階調数の少ないunsigned char型、又は、より階調数が多いint型を使用したとしても、画像データとしての意味は損なわれない。
【００５１】
すなわち、本実施形態における統合端子型は、構成要素としての端子が、データの意味を損なわずに取り得るデータ型のリストを情報として含む。そして、統合端子が処理モジュールの入力端子又は出力端子に対して実際に設定される際には、処理モジュールの機能に応じて、それぞれのデータ型のリストから適切なデータ型が選択されて端子のデータ型として設定される。また、第２の実施形態における画像型は、属性情報として「サイズ付き画像データ」との情報を含む。つまり、本実施形態における画像型は、使用可能なデータ型リストの情報を含めて「サイズ付き画像データ」としての性質を有することを属性情報として意味している。
【００５２】
続いて、第２の実施形態における統合端子生成処理に関して説明する。第２の実施形態における統合端子生成処理は、図４（Ａ）及び図４（Ｂ）に示した第１の実施形態における統合端子生成処理と同様であるが、使用実績評価処理工程Ｐ４２の統合端子比較処理工程Ｐ４３における処理の一部が第１の実施形態とは異なる。まず、ユーザが、図９に示す処理モジュールＤの３個の入力端子ａ〜ｃを画像型の統合端子１個で表すことを希望する場合には、例えば第１の実施形態と同様にユーザが入力装置を用いて矩形９１による矩形選択方法により３個の入力端子ａ〜ｃを選択する。それに応じて、統合端子候補指定工程Ｐ４１において、ＰＣ１１が、選択された３個の入力端子ａ〜ｃを統合端子候補に指定する。図９に示した例では、統合端子候補の３個の入力端子ａ〜ｃは、それぞれdouble*、int、unsigned charとして定義されている。
【００５３】
続いて、ＰＣ１１が、使用実績評価処理工程Ｐ４２の統合端子比較処理工程Ｐ４３において、統合端子候補に指定された入力端子ａ〜ｃの組み合わせが、データベース１３に既に統合端子として登録されているか否かを確認する。この確認は、第１の実施形態における統合端子比較処理工程Ｐ４３と同様に、統合端子候補とデータベース１３に登録されている既に定義済みの統合端子との一致度を導出し評価することにより実行される。
【００５４】
第２の実施形態における統合端子比較処理工程Ｐ４３のデータ型一致度評価工程Ｐ４５では、統合端子候補に含まれる端子のデータ型が、定義済みの統合端子が有する端子のデータ型リストに含まれるか否かを評価する。そして、（データ型含有数）／（端子総数）をデータ型一致度評価値として算出する。データ型含有数は、統合端子候補の端子の中でデータ型のリストに含まれるものの数である。本例で統合端子候補に指定した入力端子は、double*で定義した入力端子ａ、intで定義した入力端子ｂ、unsigned charで定義した入力端子ｃの３種類である。統合端子候補とデータベース１３に登録されている画像型とを比較すると、統合端子候補が有する端子のデータ型は、すべて画像型が有するデータ型リストに含まれている。したがって、統合端子候補における３個中３個のデータ型が、統合端子が有する端子のデータ型リストに含まれていることとなり、データ型一致度評価値は１（＝３／３）となる。
【００５５】
ここで、統合端子候補の端子のデータ型の組み合わせが、データベース１３に登録されている処理モジュールにおいて、実際には使われていない可能性が十分に有り得る。例えば、本例における統合端子候補のデータ型の組み合わせ｛ double*, int, unsigned char ｝は、型がすべて異なる。そのため、データベース１３に登録されている処理モジュールで使用されている統合端子に対して統合端子候補の使用実績を評価すると、類似する統合端子が検出されず、低使用実績評価を受けてしまうことが考えられる。しかしながら、第１の実施形態における画像型と、第２の実施形態で統合端子候補としたデータ型の組み合わせは、どちらも「サイズ付き画像データ」としての意味は同一である。したがって、本実施形態のように、統合端子が有する端子のデータ型をデータ型リストとして登録し、処理モジュールとは独立に使用実績を評価する。これにより、第２の実施形態では、統合端子候補のデータ型の組み合わせが、データベース１３に登録されている処理モジュールで一度も使用されていないデータ型の組み合わせであっても使用実績が高いものとして評価することが可能となる。なお、本実施形態において、処理モジュールの入力端子及び出力端子の組み合わせ情報は、処理モジュールに紐付けられた上で、処理モジュール自体とは独立にデータベースに保持されていることを想定している。
【００５６】
また、統合端子比較処理工程Ｐ４３の端子数一致度評価工程Ｐ４６では、第１の実施形態と同様に統合端子候補に含まれる端子数と、定義済みの統合端子が有する端子数との一致度を評価する。本例では、統合端子候補の端子数は３であり、既に定義済みの統合端子として登録されている画像型の統合端子の端子数も３であるため、画像型における端子数一致度評価値は１となる。
【００５７】
また、統合端子比較処理工程Ｐ４３の処理カテゴリー一致度評価工程Ｐ４７では、第１の実施形態と同様に統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の登録済みの統合端子型の処理カテゴリー属性に含まれているかを評価する。なお、データベース１３に登録されている統合端子に対して属性として設定される処理カテゴリーは、統合端子が有する端子のデータ型リストの中で、どのデータ型が使用されるかに関わらず、使用されたすべての処理モジュールの処理カテゴリーが設定される。本例では、既に統合端子型として登録済みの画像型が属性として有する処理カテゴリーは、“認識処理”、“検出処理”、及び“特徴量算出処理”の３通りとする。第１の実施形態と同様に統合端子候補を有する処理モジュールＤの処理カテゴリーは、“特徴量算出処理”とすると、処理モジュールＤの処理カテゴリーは、画像型が属性として有する処理カテゴリーに含まれている。したがって、画像型に対する処理カテゴリー一致度評価値は１となる。
【００５８】
第２の実施形態によれば、データベース１３に登録された統合端子が有する端子の情報として使用可能なデータ型の情報を有し、一部の端子のデータ型が異なっても同一の意味を有する統合端子型として使用実績を評価する。これにより、データベース１３に登録されている処理モジュールで使用されていない統合端子型であっても、よりデータの意味を反映した統合端子候補の使用実績の評価を行うことが可能となる。
【００５９】
なお、統合端子候補指定工程Ｐ４１において、ユーザが入力装置等を操作して統合端子候補に対して、統合端子型としての属性情報を指定する工程を有するようにしても良い。このようにした場合には、ユーザが、データベース１３に登録されている統合端子の属性リストから、統合端子候補に対応する属性を選択して指定することにより、使用実績を評価する対象となる登録済みの統合端子の数を減らすことが可能となる。これにより、統合端子比較処理工程Ｐ４３に要する処理時間及び処理量を削減することが可能となる。
【００６０】
（第３の実施形態）
本発明の第３の実施形態について説明する。第３の実施形態における統合端子生成処理は、統合端子比較処理工程に接続モジュール評価工程を含むことが、前述した第１の実施形態や第２の実施形態と異なる。以下では、第１の実施形態や第２の実施形態において説明した内容に関しては説明を省略し、第３の実施形態に特有の点について説明を行う。
【００６１】
図１０は、第３の実施形態における統合端子比較処理工程Ｐ１０１の処理フローを示す図である。第３の実施形態における統合端子比較処理工程Ｐ１０１は、データ型一致度評価工程Ｐ１０２、端子数一致度評価工程Ｐ１０３、処理カテゴリー一致度評価工程Ｐ１０４、接続モジュール評価工程Ｐ１０５、及び一致度スコア算出工程Ｐ１０６を有する。データ型一致度評価工程Ｐ１０２、端子数一致度評価工程Ｐ１０３、及び処理カテゴリー一致度評価工程Ｐ１０４のぞれぞれは、前述したデータ型一致度評価工程Ｐ４５、端子数一致度評価工程Ｐ４６、及び処理カテゴリー一致度評価工程Ｐ４７と同様である。
【００６２】
統合端子比較処理工程Ｐ１０１の接続モジュール評価工程Ｐ１０５では、ＰＣ１１が、統合端子候補に接続された処理モジュールの処理カテゴリーと、データベース１３に登録されている統合端子に接続された処理モジュールの処理カテゴリーの一致度を評価する。例えば、図１１に示すように、本例では処理モジュールＥの統合端子候補１１１は、処理カテゴリーとして“ぼかし処理”の属性を有する処理モジュールＦとリンクにより接続しているものとする。接続モジュール評価工程Ｐ１０５では、これに対して、データベース１３に登録されている統合端子が使用されている処理モジュールに関して、リンクにより統合端子に接続する処理モジュールの処理カテゴリーの一致度を比較する。本実施形態における接続モジュール評価手段が接続モジュール評価工程Ｐ１０５の処理を行う。
【００６３】
例えば、図１２に示すように、処理モジュールＩは、下位階層モジュールである処理モジュールＧ、Ｈをリンクにより結合することにより、機能を階層的に定義される。接続モジュール評価工程Ｐ１０５では、データベース１３に登録されている処理モジュールの中で、評価対象の登録済みの統合端子が使用されている下位階層モジュールに関し、統合端子にリンクを介して接続されている処理モジュールの処理カテゴリーを参照する。図１２に示した例では、処理モジュールの下位階層モジュールＧは画像型の統合端子が入力端子ｇに設定されている。また、その入力端子ｇにリンクにより接続する下位階層モジュールＨの属性として、“ぼかし処理”の処理カテゴリーが設定されている。
【００６４】
本例における処理モジュールＥの統合端子候補１１１は、処理カテゴリーとして“ぼかし処理”の属性を有する処理モジュールＦとリンクにより接続していることから、両者の処理カテゴリーの属性は同一のものとなる。これは、統合端子候補に接続する処理モジュールと、評価対象の登録済みの統合端子に接続する処理モジュールが、処理カテゴリーにおいて一致していることを意味している。つまり、統合端子候補は評価対象の登録済み統合端子と類似したデータ型であると考えられる。本例では、前述したように両者の処理カテゴリーの属性が同一である場合には、接続モジュール評価値を１とする。一方、それ以外の場合、すなわち両者の処理カテゴリーの属性が一致しない場合には、接続モジュール評価値を０．７とする。
【００６５】
統合端子比較処理工程Ｐ１０１の一致度スコア算出工程Ｐ１０６では、各評価工程Ｐ１０２、Ｐ１０３、Ｐ１０４、Ｐ１０５による評価結果を総合的に評価して、統合端子候補とデータベース１３に登録されている統合端子との一致度を評価する。第３の実施形態では、それぞれの評価工程で算出された評価値を乗算することにより、一致度スコアを算出する。したがって、例えば評価工程Ｐ１０２、Ｐ１０３、Ｐ１０４での評価値を前述した第１の実施形態と同様であるとすると、本例では一致度スコアは１（＝１×１×１×１）となる。さらに、統合端子比較処理工程Ｐ１０１では、前述した第１の実施形態や第２の実施形態と同様にして、ＰＣ１１が、算出された一致度スコアと事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。
【００６６】
以上のように第３の実施形態においては、統合端子候補にリンクにより接続された処理モジュールの処理カテゴリーと、データベースに登録されている処理モジュールの統合端子にリンクにより接続された処理モジュールの処理カテゴリーの一致度を評価する。これは、統合端子候補にリンクする処理モジュールの処理内容に基づいて、統合端子候補に一致する登録済みの統合端子型をフィルタリングすることに相当する。すなわち、統合端子候補と一致度の高い統合端子が多数検出された場合には、ユーザがその中から適切な統合端子を選択するのが困難なケースが生じ得る。第３の実施形態によれば、前述したように統合端子候補にリンクする処理モジュールの処理内容に基づいて統合端子型のフィルタリングを行うため、よりユーザが指定した統合端子候補に類似した統合端子を提示することが可能となる。なお、接続モジュール評価工程Ｐ１０５を実行するか否かをユーザに選択させるようにすることで、統合端子候補と一致度の高い統合端子の数が多い場合のみ、接続モジュール評価工程Ｐ１０５を実行することも可能である。
【００６７】
評価対象の統合端子が使用されている処理モジュールが複数存在し、かつそれぞれにリンクにより接続する処理モジュールの処理カテゴリーが異なる場合には、例えば１つでも統合端子候補の処理カテゴリーと一致すれば接続モジュール評価値を１とする。または、すべての接続する処理モジュール毎の接続モジュール評価値の平均値を算出するなどしても良い。また、評価対象の統合端子が使用されている処理モジュールが、データベース１３に存在しない場合には、例えば評価不能として接続モジュール評価値を１としても良い。なお、前述した説明において、接続モジュール評価値の算出方法、閾値による評価方法、及びそれらの具体的な数値に関しては、あくまで一例を示したに過ぎず、その他の算出方法、評価方法、及び具体的な数値を用いるものであっても良い。
【００６８】
なお、図１０においては、データ型一致度評価工程Ｐ１０２、端子数一致度評価工程Ｐ１０３、処理カテゴリー一致度評価工程Ｐ１０４、接続モジュール評価工程Ｐ１０５の順に実行するように示しているが、これは一例である。各評価工程Ｐ１０２、Ｐ１０３、Ｐ１０４、Ｐ１０５を実行する順序は任意であり、一致度スコア算出工程Ｐ１０６を実行する前に、各評価工程Ｐ１０２、Ｐ１０３、Ｐ１０４、Ｐ１０５が完了していれば良い。
【００６９】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。以下では、第１〜第３の実施形態において説明した内容に関しては説明を省略し、第４の実施形態に特有の点について説明を行う。図１３は、第４の実施形態における統合端子生成処理の処理フローを示す図である。第４の実施形態における統合端子生成処理は、統合端子候補指定工程Ｐ１３１、使用実績評価処理工程Ｐ１３２、及び統合端子定義処理工程Ｐ１３４を有する。
【００７０】
統合端子候補指定工程Ｐ１３１では、ＰＣ１１が、入力装置を用いて入力される、ユーザからの統合端子候補の指示入力を受け、その指示入力に基づいて、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の端子を統合端子候補に指定する。使用実績評価処理工程Ｐ１３２では、ＰＣ１１が、データベース１３に登録されているプログラミング部品の部品構成情報を参照して、統合端子候補指定工程Ｐ１３１で指定された統合端子候補の使用実績を評価する処理を実行する。使用実績評価処理工程Ｐ１３２は、出現頻度計測評価工程Ｐ１３３を含む。本実施形態における出現頻度計測評価手段が出現頻度計測評価工程Ｐ１３３の処理を行う。統合端子定義処理工程Ｐ１３４では、ＰＣ１１が、使用実績評価処理工程Ｐ１３２における使用実績の評価結果に基づいて、統合端子候補を統合端子として定義する。
【００７１】
第４の実施形態における統合端子生成処理に関して詳細に説明する。
まず、ユーザが図形プログラミングシステムを用いて、図５に示したように所望の機能を実現するためのプログラミングを行っているものとする。ここで、ユーザが図５に示した処理モジュールＡの３個の入力端子ａ〜ｃを画像型の統合端子１個で表すことを希望する場合には、入力装置を用いてユーザが統合端子候補の指示入力を入力する。例えば、図６（Ａ）に示したようにユーザが入力装置を用いて矩形６１による矩形選択方法により３個の入力端子ａ〜ｃを選択することで、統合端子候補指定工程Ｐ１３１において、ＰＣ１１が、選択された３個の入力端子ａ〜ｃを統合端子候補に指定する。
【００７２】
続いて、ＰＣ１１が、使用実績評価処理工程Ｐ１３２の出現頻度計測評価工程Ｐ１３３において、統合端子候補に指定された入力端子ａ〜ｃの組み合わせが、データベース１３に登録されている処理モジュールで使用されている頻度をカウントする。本例では、データベース１３には処理モジュールが１００種類登録されているとする。また、統合端子候補に指定した入力端子は、unsigned char*で定義した入力端子ａ、unsigned shortで定義した入力端子ｂ、及びunsigned shortで定義した入力端子ｃの３種類である。したがって、本例では、データベース１３に登録されている各処理モジュールに関して、入力端子としてunsigned char*、unsigned short、unsigned shortの組み合わせが出現する頻度をカウントする。
【００７３】
例えば、図１４（Ａ）に示すように、処理モジュールＪは、統合端子候補に指定された３個の入力端子と同一の型を有する入力端子１４１を有するため、出現頻度を１としてカウントする。また、例えば、図１４（Ｂ）に示すように、処理モジュールＫは、統合端子候補に指定された３個の入力端子と同一の型を有する入力端子１４２、１４３を２セット分有するため、出現頻度を２としてカウントする。これを、データベース１３に登録されているすべての処理モジュールに対して実行し、出現頻度の総計を算出する。本例では、出現頻度の総計が３０となったとする。そして、出現頻度計測評価工程Ｐ１３３では、統合端子候補の組み合わせの出現頻度の処理モジュール数に対する比率、すなわち（出現頻度の総計）／（処理モジュールの登録数）を出現頻度比率として算出する。したがって、本例では、出現頻度比率は０．３（＝３０／１００）となる。
【００７４】
さらに、出現頻度計測評価工程Ｐ１３３では、ＰＣ１１が、前述のようにして算出された出現頻度比率と事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。統合端子候補が所定の比率を超える頻度で使用されていた場合には、その統合端子候補の組み合わせは、まだ統合端子として登録されていないが、処理モジュールにおいて頻繁に使用されており、使用実績を有していると考えられる。例えば、閾値を０．１とした場合、前述した例での出現頻度比率である０．３は閾値を超えているので、統合端子候補は使用実績が高いと評価する。この場合には、次工程である統合端子定義処理工程Ｐ１３４に対して、統合端子候補の出現頻度比率が、高使用実績判定とともに伝達される。出現頻度比率が閾値未満の場合には、統合端子候補はデータベース１３に登録されている処理モジュールにおいて頻繁には使用されておらず、使用実績が低いと判断される。この場合には、次工程である統合端子定義処理工程Ｐ１３４に対して、統合端子候補の出現頻度比率が、低使用実績判定とともに伝達される。
【００７５】
続いて、統合端子定義処理工程Ｐ１３４では、ＰＣ１１が、出現頻度計測評価工程Ｐ１３３を含む使用実績評価処理工程Ｐ１３２における評価結果を基にして、統合端子候補を統合端子として定義する処理を実行する。本例では、前述したように使用実績評価処理工程１３２より高使用実績判定が伝達された場合（出現頻度比率が閾値以上である場合）には、ユーザに対して統合端子候補を統合端子として設定するか否かの確認をユーザに促す。ＰＣ１１は、ユーザが設定を承認した場合には、統合端子候補を統合端子に設定し、使用される処理モジュールの処理カテゴリーの情報とともに、統合端子としてデータベース１３に登録する。また、ユーザが設定を承認しない場合には、ＰＣ１１は、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。また、使用実績評価処理工程Ｐ１３２より低使用実績判定が伝達された場合（出現頻度比率が閾値未満である場合）には、統合端子候補を統合端子として設定することを却下されたことに相当し、統合端子候補は、元の端子のままの状態を維持する。
【００７６】
なお、ユーザが設定を承認した場合には、ＰＣ１１上の図形プログラミングツールの統合端子型登録機能よりデータベース管理サーバ１４が呼び出され、データベース１３に対する新規の統合端子の登録処理が実行される。具体的には、データベース管理サーバ１４にインストールされたデータベース管理ツールを介して、データベース１３を構成する記憶装置に新規の統合端子の情報を登録する。登録が完了した統合端子は、それ以降、第１〜第３の実施形態で説明した処理工程において、統合端子候補の使用実績を評価する際に既に定義済みの統合端子として扱われる。
【００７７】
前述した統合端子定義処理工程Ｐ１３４では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、さらに統合端子候補の情報を管理者側に伝達し、統合端子としてのデータベース１３への登録の可否を管理者側に判定させるようにしても良い。具体的には、統合端子候補が統合端子に設定されなかった場合には、メール等の伝達手段により統合端子候補の情報を管理者側に連絡し、管理者側がその使用実績を判断した上で統合端子としてのデータベース１３への登録を検討する。
【００７８】
管理者側が、該当する統合端子候補の使用実績が高いと判断した場合には、統合端子としてデータベース１３への登録を行い、ユーザ等にメール等の伝達手段により統合端子候補が正規の統合端子としてデータベース１３に登録された旨を連絡する。なお、管理者側による新規の統合端子のデータベース１３に対する登録手順は、第１の実施形態で説明したものと同様であるので説明は省略する。このようにした場合には、統合端子としての登録を要求する統合端子候補の使用実績を人間の判断により判定するため、人間の知識に基づく使用実績評価による統合端子の新規登録が実現できる。
【００７９】
なお、前述した説明では、出現頻度計測評価工程Ｐ１３３において、出現頻度比率を算出し、これを閾値と比較したが、出現頻度の尺度としてその他の演算を用いるものであっても良い。例えば、出現頻度の絶対値を閾値と比較し、統合端子候補の使用実績を評価するようにしても良い。また、本例では、１つの処理モジュールにおいて統合端子候補と同一の型の端子が２セット出現する場合に出現頻度を２としてカウントしている。しかし、セット数ではなく、統合端子候補と同一の型の端子が出現する処理モジュール数を出現頻度としてカウントするようにしても良い。
【００８０】
第４の実施形態によれば、ユーザが複数の入力端子又は複数の出力端子を統合端子として定義することを希望する際に、使用実績に基づいて統合端子としての定義の可否を判断する。これにより、類似した統合端子の乱立を防止することが可能となり、非汎用的な統合端子の乱立に起因する処理モジュールの再利用性の低下を防止することが可能となる。
【００８１】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。第５の実施形態における統合端子生成処理は、図１３に示した第４の実施形態における統合端子生成処理と同様であるが、統合端子候補指定工程及び出現頻度計測評価工程における処理が第４の実施形態とは異なる。第５の実施形態における統合端子候補指定工程では、統合端子候補を指定する際に、統合端子候補に指定する端子のデータ型として変換可能なデータ型リスト（使用可能データ型リスト）をユーザが指定可能である点が第４の実施形態と異なる。また、出現頻度計測評価工程において、統合端子候補の端子を使用可能データ型リストのデータ型に変換したすべての組み合わせに関して、出現頻度比率を算出する点も、第４の実施形態と異なる。以下では、第４の実施形態において説明した内容に関しては説明を省略し、第５の実施形態に特有の点について説明を行う。
【００８２】
まず、ユーザが、図１５に示す処理モジュールＬの３個の入力端子ａ〜ｃを統合端子１個で表すことを希望する場合には、例えばユーザが入力装置を用いて矩形１５１による矩形選択方法により３個の入力端子ａ〜ｃを選択する。それに応じて、統合端子候補指定工程において、ＰＣ１１が、選択された３個の入力端子ａ〜ｃを統合端子候補に指定する。さらに、選択した統合端子候補に含まれる入力端子ａ〜ｃのそれぞれに関して、ユーザが入力装置を用いて変換可能なデータ型を指定する。例えば、図１６に示すように統合端子候補に含まれる各端子が使用され得るデータ型を画面のＧＵＩ上のプルダウンメニュー１６１より逐次選択することにより指定する。
【００８３】
本例では、統合端子候補に含まれる各端子のデータ型として変換可能なデータ型をそれぞれ次のように指定したとする。unsigned char*で定義した入力端子ａに対し、変換可能なデータ型としてunsigned short型、int型、float型、double型、のポインタ型を指定したとする。また、unsigned shortで定義した入力端子ｂに対し、変換可能なデータ型としてunsigned char型、int型を指定したとする。また、unsigned shortで定義した入力端子ｃに対し、変換可能なデータ型としてunsigned char型、int型を指定したとする。
【００８４】
続いて、ＰＣ１１が、使用実績評価処理工程Ｐの出現頻度計測評価工程において、統合端子候補として指定された入力端子ａ〜ｃの組み合わせが、データベース１３に登録されている処理モジュールで使用されている頻度をカウントし、出現頻度比率を算出する。第５の実施形態における出現頻度計測評価工程の処理フローを図１７に示す。第５の実施形態における出現頻度計測評価工程Ｐ１７１は、端子データ型設定工程Ｐ１７２及び出現頻度計測評価サブ工程Ｐ１７３を有する。
【００８５】
まず、端子データ型設定工程Ｐ１７２において、ＰＣ１１が、統合端子候補の端子のデータ型として、ユーザにより設定された｛unsigned char*, unsigned short, unsigned short｝の組み合わせを設定する。続いて、出現頻度計測評価サブ工程Ｐ１７３において、ＰＣ１１が、第４の実施形態における出現頻度計測評価工程Ｐ１３３と同様にして統合端子候補のデータ型の組み合わせに関して出現頻度比率を算出する。ここで、出現頻度比率が事前に設定された閾値を超えた場合には、統合端子候補の出現頻度比率が、高使用実績判定とともに記憶保持される。
【００８６】
続いて、第５の実施形態では、統合端子候補の端子のデータ型に関して、それぞれの端子を使用可能データ型リストに含まれる変換可能なデータ型に変換したすべての組み合わせに関して、出現頻度比率を算出する。すなわち、図１７に示すように、使用可能データ型リストのすべての組み合わせに対する処理が完了していない場合（図２０における「未完了」側の矢印）には、端子データ型設定工程Ｐ１７２及び出現頻度計測評価サブ工程Ｐ１７３を繰り返し実行する。例えば、端子データ型設定工程Ｐ１７２において、前述したデータ型の組み合わせの中のunsigned char*をデータ型リストの中のunsigned short*に変更する。すなわち、統合端子候補の端子のデータ型として｛unsigned short*, unsigned short, unsigned short｝の組み合わせを設定し、出現頻度計測評価サブ工程Ｐ１７３を実行する。
【００８７】
以上の処理を繰り返し、使用可能データ型リストのすべての組み合わせに対する処理が完了したら、出現頻度計測評価工程Ｐ１７１の処理を完了し、統合端子定義処理工程に対して、閾値を超えた統合端子候補の出現頻度比率及び高使用実績判定を伝達する。なお、使用可能データ型リストのすべての組み合わせにおいて、出現頻度比率が閾値を超えるものがなかった場合には、統合端子定義処理工程に対して低使用実績判定を伝達する。
【００８８】
第５の実施形態における統合端子定義処理工程では、使用実績評価工程より高使用実績判定が伝達された場合には、ユーザに対して閾値を超えたすべての統合端子候補のデータ型の組み合わせを出現頻度比率とともに提示する。そして、統合端子候補を提示されたどの統合端子として設定するか否かの確認をユーザに促す。ＰＣ１１は、ユーザが設定を選択及び承認した場合には、統合端子候補を統合端子に設定し、第４の実施形態と同様に、使用される処理モジュールの処理カテゴリーの情報とともに、統合端子としてデータベース１３に登録する。また、ユーザが設定を承認しない場合には、ＰＣ１１は、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。また、使用実績評価工程より低使用実績判定が伝達された場合には、統合端子候補を統合端子型として設定することを却下されたことに相当し、統合端子候補は、元の端子のままの状態を維持する。
【００８９】
前述した統合端子定義処理工程では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、第４の実施形態と同様に、さらに統合端子候補の情報を管理者側に伝達し、統合端子としてのデータベース１３への登録の可否を管理者側に判定させるようにしても良い。
【００９０】
第５の実施形態によれば、統合端子候補に含まれる端子のデータ型を使用可能データ型リスト中のデータ型に変換した組み合わせに関しても、処理モジュールで使用される頻度を算出し、使用実績評価の対象とする。これにより、個別のデータ型に捉われず、より統合端子の本質的な意味を反映した使用実績の評価を行うことが可能となる。また、前述した説明では、統合端子候補に含まれる端子のデータ型を使用可能データ型リスト中のデータ型に変換した組み合わせ毎に出現頻度及び出現頻度比率を算出して閾値と比較している。これに限定されず、すべてのデータ型の組み合わせにおける出現頻度及び出現頻度比率の総和値を閾値と比較するものであっても良い。この場合には、使用可能なデータ型のすべての組み合わせに対して、総合的に使用実績を評価することとなり、より統合端子の本質的な意味を反映した使用実績の評価を行うことが可能となる。
【００９１】
（第６の実施形態）
次に、本発明の第６の実施形態について説明する。第６の実施形態における統合端子生成処理は、第１、第２、又は第３の実施形態における統合端子生成処理と、第４又は第５の実施形態における統合端子生成処理を組み合わせたものである。以下では、既に説明した詳細に関しては説明を省略し、特に２種類の統合端子生成処理を組み合わせた処理フローに関して説明を行う。また、第３の実施形態における統合端子生成処理と、第５の実施形態による統合端子生成処理とを組み合わせた場合を一例に説明するが、それ以外の組み合わせも可能である。
【００９２】
まず、第６の実施形態における統合端子生成処理においては、統合端子候補指定工程Ｐ１８１、及び使用実績評価処理工程Ｐ１８２の統合端子比較処理工程Ｐ１８３を実行する。統合端子候補指定工程Ｐ１８１、及び使用実績評価処理工程Ｐ１８２の統合端子比較処理工程Ｐ１８３は、第３の実施形態における統合端子候補指定工程、及び使用実績評価処理工程の統合端子比較処理工程と同様である。ここで、統合端子比較処理工程Ｐ１８３において、統合端子候補が高使用実績と評価された場合には、第３の実施形態における統合端子生成処理と同様に統合端子定義処理工程Ｐ１８５を実行する。
【００９３】
一方、統合端子比較処理工程Ｐ１８３において、統合端子候補が低使用実績と評価された場合には、使用実績評価処理工程Ｐ１８２の出現頻度計測評価工程Ｐ１８４を実行し、統合端子候補の使用実績を処理モジュールにおける出現頻度により評価する。続いて、統合端子定義処理工程Ｐ１８５を実行する。これは、第５の実施形態における使用実績評価処理工程の出現頻度計測評価工程及び統合端子定義処理工程に相当する。
【００９４】
すなわち、第６の実施形態における統合端子生成処理は、ユーザにより指定された統合端子候補の使用実績をまずデータベース１３に既に登録されている統合端子と比較することにより評価する。さらに、そこで統合端子候補の使用実績が低いと評価した場合には、統合端子候補に含まれる端子の、データベース１３に登録されている処理モジュールにおける出現頻度により評価する。これにより、ユーザにより指定された統合端子候補に関して、データベース１３に既に登録されている統合端子と、まだデータベースに登録されていない端子の組み合わせの両面から使用実績を判断することが可能となる。そのため、より網羅的に統合端子の使用実績を評価することができる。
【００９５】
（第７の実施形態）
次に、本発明の第７の実施形態について説明する。第７の実施形態における統合端子生成処理は、統合端子候補指定工程において、ユーザによる指定ではなく図形プログラミングツール（以下、ツール）により自動的に統合端子候補を抽出する統合端子候補自動抽出工程を含む点が、前述した実施形態と異なる。本実施形態における統合端子候補自動抽出手段が統合端子候補自動抽出工程の処理を行う。図１９は、第７の実施形態における統合端子生成処理の処理フローを示す図である。第７の実施形態においては、ユーザが統合端子候補を指定することなく、ツールが自動的に抽出した端子の組み合わせの使用実績を判定して、データベース１３に対して自動的に登録したり、ユーザに対して統合端子化を推奨したりする機能を有する。以下の説明では、第１〜第６の実施形態において説明した内容に関しては説明を省略し、第７の実施形態に特有の点について説明を行う。
【００９６】
まず、第７の実施形態においては、統合端子候補指定工程Ｐ１９１に含まれる統合端子候補自動抽出工程Ｐ１９２におけるツールによる統合端子候補の指定は、ユーザが処理モジュールに対して入力端子及び出力端子を生成するタイミングで自動的に実行される。例えば、図２０に示すように、ユーザが処理モジュールＭに対して入力端子ａを生成してデータ型を設定した時に、処理モジュールが有するその他の入力端子ｂ〜ｄを含めたすべての組み合わせが、統合端子候補としてツールによって自動的に設定される。
【００９７】
図２０に示した処理モジュールＭの場合には、ユーザが新たに生成した入力端子ａを含む統合端子候補の組み合わせは５つとなる。第１の統合端子候補は、unsigned char*で定義された入力端子ａと、unsigned shortで定義された入力端子ｂ又はｄを有する。第２の統合端子候補は、unsigned char*で定義された入力端子ａと、doubleで定義された入力端子ｄを有する。第３の統合端子候補は、unsigned char*で定義された入力端子ａと、unsigned shortで定義された入力端子ｂと、unsigned shortで定義された入力端子ｃとを有する。第４の統合端子候補は、unsigned char*で定義された入力端子ａと、unsigned shortで定義された入力端子ｂ又はｃと、doubleで定義された入力端子ｄとを有する。第５の統合端子候補は、unsigned char*で定義された入力端子ａと、unsigned shortで定義された入力端子ｂと、unsigned shortで定義された入力端子ｃと、doubleで定義された入力端子ｄとを有する。
【００９８】
第７の実施形態における統合端子生成処理では、すべての統合端子候補に対して前述した実施形態における統合端子候補指定工程以降の処理を行う。つまり、使用実績評価処理工程Ｐ１９３（工程Ｐ１９４、Ｐ１９５を含む）及び統合端子定義処理工程Ｐ１９６では、それぞれの統合端子候補に対して前述した実施形態と同様に使用実績評価処理工程及び統合端子定義処理工程の処理を実行する。そして、使用実績が高いと評価された自動的に抽出された統合端子候補に関しては、前述した実施形態と同様にデータベース１３に自動的に登録されるか、又はユーザに対して統合端子化を推奨する画面が表示される。図２１に、ユーザに対して統合端子化を推奨する場合のツールの画面表示例を示す。
【００９９】
なお、前述した説明では、統合端子候補自動抽出工程Ｐ１９２においてツールによる統合端子候補の自動抽出が行われるタイミングを、ユーザが処理モジュールに対して入力端子及び出力端子を生成するときとしている。しかし、これに限定されるものではなく、それ以外のタイミングで処理を実行しても良い。例えば、ＰＣ１１に対する処理負荷を軽減するために、ツールがＰＣ１１の処理負荷をモニタし、より処理負荷の低い状況になると、それまでにユーザが生成したすべての入力端子及び出力端子に関して前述した処理を実行する方法などが考えられる。
【０１００】
第７の実施形態によれば、ユーザが統合端子候補を指定することなく、ツールが自動的に抽出した端子の組み合わせの使用実績を判定して、データベースに対して自動的に登録したり、ユーザに対して統合端子化を推奨したりする機能が実現できる。これにより、統合端子を定義するためのユーザの負担が軽減される。
【０１０１】
なお、前述した各実施形態では、統合端子候補として入力端子を対象としている例を示したが、出力端子を統合端子候補の対象としても良い。また、前述した各実施形態を任意に組み合わせたものも、本発明の実施形態に含まれる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０２】
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０３】
１１：コンピュータ  １２：モニタ  １３：データベース  １４：データベース管理サーバ  Ｐ４１、Ｐ１３１、Ｐ１８１、Ｐ１９１：統合端子候補指定工程  Ｐ４２、Ｐ１３２、Ｐ１８２、Ｐ１９３：使用実績評価処理工程  Ｐ４３、Ｐ１８３、Ｐ１９４：統合端子比較処理工程  Ｐ４４、Ｐ１０１、Ｐ１３４、Ｐ１８５、Ｐ１９６：統合端子定義処理工程  Ｐ４５、Ｐ１０２：データ型一致度評価工程  Ｐ４６、Ｐ１０３：端子数一致度評価工程  Ｐ４７、Ｐ１０４：処理カテゴリー一致度評価工程  Ｐ４８、Ｐ１０６：一致度スコア算出工程  Ｐ７１：データベース登録処理工程  Ｐ１０５：接続モジュール評価工程  Ｐ１３３、Ｐ１７１、Ｐ１８４、Ｐ１９５：出現頻度計測評価工程  Ｐ１７２：端子データ型設定工程  Ｐ１７３：出現頻度計測評価サブ工程  Ｐ１９２：統合端子候補自動抽出工程
【図１】
2015135618.tif 000003
【図２】
2015135618.tif 000004
【図３】
2015135618.tif 000005
【図４】
2015135618.tif 000006
【図５】
2015135618.tif 000007
【図６】
2015135618.tif 000008
【図７】
2015135618.tif 000009
【図８】
2015135618.tif 000010
【図９】
2015135618.tif 000011
【図１０】
2015135618.tif 000012
【図１１】
2015135618.tif 000013
【図１２】
2015135618.tif 000014
【図１３】
2015135618.tif 000015
【図１４】
2015135618.tif 000016
【図１５】
2015135618.tif 000017
【図１６】
2015135618.tif 000018
【図１７】
2015135618.tif 000019
【図１８】
2015135618.tif 000020
【図１９】
2015135618.tif 000021
【図２０】
2015135618.tif 000022
【図２１】
2015135618.tif 000023