JP2015135618A - 情報処理装置、情報処理方法及びコンピュータプログラム - Google Patents

情報処理装置、情報処理方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2015135618A
JP2015135618A JP2014007080A JP2014007080A JP2015135618A JP 2015135618 A JP2015135618 A JP 2015135618A JP 2014007080 A JP2014007080 A JP 2014007080A JP 2014007080 A JP2014007080 A JP 2014007080A JP 2015135618 A JP2015135618 A JP 2015135618A
Authority
JP
Japan
Prior art keywords
integrated terminal
integrated
candidate
terminal
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014007080A
Other languages
English (en)
Inventor
野村 修
Osamu Nomura
修 野村
伊藤 嘉則
Yoshinori Ito
嘉則 伊藤
山本 貴久
Takahisa Yamamoto
貴久 山本
優和 真継
Masakazu Matsugi
優和 真継
英生 野呂
Hideo Noro
英生 野呂
英 大野
Suguru Ono
英 大野
智也 本條
Tomoya Honjo
智也 本條
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 JP2014007080A priority Critical patent/JP2015135618A/ja
Publication of JP2015135618A publication Critical patent/JP2015135618A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】図形プログラミングにおいて、統合端子として複数の入力端子や出力端子をまとめる際に、類似した統合端子の乱立を防止する。【解決手段】処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、データベースに登録されているプログラミング部品の部品構成情報を参照して、指定された統合端子候補の使用実績を評価する処理を実行する使用実績評価処理手段と、統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える。【選択図】図4

Description

本発明は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
データ入力端子及びデータ出力端子を有する処理モジュールを複数接続してデータフロー図を作成しプログラミングを行う図形プログラミング(ビジュアルプログラミング、視覚プログラミングとも言う)がある。図形プログラミングを実現するプログラミングシステムにおいて、ユーザが指定した複数の入力端子や出力端子をまとめる機能を提供するものがあった(例えば、特許文献1参照。)。
特開平7−44368号公報
しかしながら、図形プログラミングにおいて、ユーザが複数の入力端子や出力端子を自由に指定して端子をまとめた場合、様々な端子構成でまとめられた端子(統合端子と称す)が乱立してしまう可能性があり、部品の再利用性が低下する。本発明は、このような事情に鑑みてなされたものであり、統合端子として複数の入力端子や出力端子をまとめる際に、類似した統合端子の乱立を防止し、部品の再利用性の低下を防止できるようにすることを目的とする。
本発明の情報処理装置は、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理手段と、前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える。
本発明によれば、処理モジュールが有する複数の入力端子又は出力端子を統合端子としてまとめる際に使用実績に基づいて定義の可否を判断することで、類似の統合端子の乱立を防止し、部品の再利用性の低下を防止できる。
本実施形態における図形プログラミングシステムの構成例を示す図である。 本実施形態における図形プログラミングアプリケーションを実行可能なコンピュータの構成例を示す図である。 処理モジュールの例を示す図である。 第1の実施形態における統合端子生成処理の処理フローを示す図である。 第1の実施形態における図形プログラミングの例を示す図である。 第1の実施形態における統合端子の設定例を示す図である。 第1の実施形態における統合端子生成処理の処理フローを示す図である。 第1の実施形態における表示例を示す図である。 第2の実施形態における統合端子候補の指定例を示す図である。 第3の実施形態における統合端子比較処理工程の処理フローを示す図である。 第3の実施形態における処理モジュールの接続例を示す図である。 第3の実施形態における階層的処理モジュールの例を示す図である。 第4の実施形態における統合端子生成処理の処理フローを示す図である。 第4の実施形態における出現頻度の計測例を説明するための図である。 第5の実施形態における統合端子の設定例を示す図である。 第5の実施形態における変換可能なデータ型の指定例を示す図である。 第5の実施形態における出現頻度計測評価工程の処理フローを示す図である。 第6の実施形態における統合端子生成処理の処理フローを示す図である。 第7の実施形態における統合端子生成処理の処理フローを示す図である。 第7の実施形態における処理モジュールの例を示す図である。 第7の実施形態における表示例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の実施形態における統合端子生成処理の適用対象となる図形プログラミングを実現する図形プログラミングシステムの構成例を示す図である。図形プログラミングは、入力端子及び出力端子を有する処理モジュールを複数接続してデータフロー図を作成しプログラミングを行う。以下の説明において、「統合端子」とは、処理モジュールが有する複数の入力端子又は複数の出力端子をまとめたものである。
図1に示すように、図形プログラミングシステムは、図形プログラミングアプリケーションがインストールされたコンピュータ(PC)11、及び図形プログラミング工程をユーザに提示するモニタ12を有する。また、図形プログラミングシステムは、過去に登録されたプログラミング部品としての処理モジュール及び統合端子の情報を含む部品構成情報を保持するデータベース13と、データベース13を管理するためのデータベースサーバ14を有する。データベース13は、ネットワークを介してPC11に接続される。本実施形態における統合端子生成処理は、前述した図形プログラミングアプリケーションにおける1つの機能として提供される。
図2は、図形プログラミングアプリケーションを実行するコンピュータ機能600の構成例を示す図である。図2に示すコンピュータ機能600は、図1に示したPC11及びモニタ12に相当する。コンピュータ機能600のCPU601により、後述する各実施形態における統合端子生成処理を含む、図形プログラミングにおける各動作が実施され、本実施形態における情報処理装置の各手段の機能が実現される。
コンピュータ機能600は、図2に示すように、CPU601と、ROM602と、RAM603とを備える。また、入力装置を含む操作部(CONS)609のコントローラ(CONSC)605と、モニタ12としてのディスプレイ(DISP)610のディスプレイコントローラ(DISPC)606とを備える。さらに、ハードディスク(HD)611、及びフレキシブルディスク等の記憶デバイス(STD)612のコントローラ(DCONT)607と、ネットワークインタフェースカード(NIC)608とを備える。それら機能部601、602、603、605、606、607、608は、システムバス604を介して互いに通信可能に接続された構成としている。
CPU601は、ROM602又はHD611に記憶されたソフトウェア、又はSTD612より供給されるソフトウェア(コンピュータプログラム)を実行することで、システムバス604に接続された各構成部を総括的に制御する。例えば、CPU601は、図形プログラミングアプリケーションのコンピュータプログラムを、ROM602、HD611、又はSTD612から読み出して実行することで、図形プログラミングにおける動作を実現するための制御を行う。RAM603は、CPU601の主メモリ又はワークエリア等として機能する。
CONSC605は、CONS609からの指示入力を制御する。DISPC606は、DISP610の表示を制御する。DCONT607は、ブートプログラム、図形プログラミングアプリケーションを含む種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム等を記憶するHD611及びSTD612とのアクセスを制御する。NIC608は、図1に示したデータベース13を含むネットワーク613上の他の装置と双方向にデータをやりとりする。
本実施形態における図形プログラミングは、図1に示すようにユーザがPC11のモニタ12上に表示される処理モジュールを入力端子及び出力端子を介して接続することで、所望の機能を実現するプログラムを作成する。処理モジュールは、ユーザがモニタ12上の表示を参照して、新たな機能を有する処理モジュールとして作成することが可能である。また、処理モジュールは、過去に作成されてデータベース13に登録されている処理モジュールを読み出して使用することも可能である。
処理モジュールは、属性として処理カテゴリーを有しており、データベース13に新規登録する際に、処理の内容に応じて適当な処理カテゴリーを設定する。処理カテゴリーとしては、処理の内容を表す一般的なカテゴリーが事前に用意されており、データベース13への登録時に、その処理モジュールを作成したユーザによって選択される。
続いて、処理モジュールの新規作成方法について説明する。図3に示すように、処理モジュールは、他の処理モジュールと接続するための入力端子31及び出力端子32を有する。処理モジュールの入力端子及び出力端子は、処理モジュールを新規に作成する際に、ユーザが図形プログラミングアプリケーションのコマンドを使用して、必要とされる入力端子及び出力端子を適宜生成する。その際、入力端子及び出力端子を通じてやり取りされるデータの型を、入力端子及び出力端子に対して設定する。
データ型として設定され得るのは、事前にデータベース13に登録された基本データ型、及びデータベース13に登録された統合端子型である。ここで、本例では、基本データ型として、例えば以下のデータ型がある(以下の基本データ型に対応するポインタ型も含まれるものとする)。
unsigned char:符号なし8ビット整数型
char:符号付き8ビット整数型
unsigned short:符号なし16ビット整数型
short:符号付き16ビット整数型
int:符号付き32ビット整数型
float:32ビット浮動小数点型
double:64ビット浮動小数点型
図3に例示した処理モジュールは、unsigned char*、unsigned short、unsigned short、intの型を有する4個の入力端子31が設定されており、intの型を有する1個の出力端子32が設定されている。
また、統合端子型は、統合端子が有する各端子のデータ型、すなわち前述した基本データ型を複数組み合わせたデータ型であり、例えばC言語における構造体に相当する。統合端子型は、例えば、複数のデータをまとめて表すことで、ユーザにとってデータの意味を理解しやすくなる場合に使用される。本例では、統合端子型として、例えば以下のデータ型がある。以下に示す統合端子型は、{ }の中に列記されたデータ型で定義された変数より構成されている。
画像型:{unsigned char*, unsigned short, unsigned short}
例えば、この画像型においては、unsigned char*が画素値データのポインタ型を示し、2つのunsigned shortが画像のX方向サイズデータ及びY方向サイズデータの型を示している。一般的に画像全体の画素値データと画像サイズのデータとはまとめて処理されることが多いため、統合端子型を用いることにより、ユーザは画像データに対する処理を理解することが容易になる。
また、統合端子型は、属性として処理カテゴリーを有しており、これは前述した処理モジュールにおける処理カテゴリーに紐付けられている。統合端子型は、様々な処理モジュールにおいて使用され得るが、統合端子型が処理モジュールの入力端子や出力端子において使用されるたびに、その処理モジュールが有する処理カテゴリーが、登録済みの統合端子型に属性として紐付けられる。これにより、データベースに登録されている統合端子型が、どの処理カテゴリーの処理モジュールにおいて使用されているかを判別することが可能となる。
以下、図形プログラミングにおいて、複数の入力端子又は複数の出力端子を統合端子として定義するための統合端子生成処理について説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。図4は、第1の実施形態における統合端子生成処理の処理フローを示す図である。第1の実施形態における統合端子生成処理は、図4(A)に示すように、統合端子候補指定工程P41、使用実績評価処理工程P42、及び統合端子定義処理工程P44を有する。本実施形態における統合端子候補指定手段が統合端子候補指定工程P41の処理を行い、使用実績評価処理手段が使用実績評価処理工程P42の処理を行い、統合端子定義処理手段が統合端子定義処理工程P44の処理を行う。
統合端子候補指定工程P41では、図形プログラミングシステムのPC11が、入力装置を用いて入力される、ユーザからの統合端子候補の指示入力を受ける。そして、受けたユーザからの指示入力に基づいて、PC11が、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する。使用実績評価処理工程P42では、PC11が、データベース13に登録されているプログラミング部品の部品構成情報を参照して、統合端子候補指定工程P41で指定された統合端子候補の使用実績を評価する処理を実行する。使用実績評価処理工程P42は、統合端子比較処理工程P43を含む。本実施形態における統合端子比較処理手段が統合端子比較処理工程P43の処理を行う。統合端子定義処理工程P44では、PC11が、使用実績評価処理工程P42における使用実績の評価結果に基づいて、統合端子候補を統合端子として定義する。
統合端子比較処理工程P43は、図4(B)に示すように、データ型一致度評価工程P45、端子数一致度評価工程P46、処理カテゴリー一致度評価工程P47、及び一致度スコア算出工程P48を有する。データ型一致度評価工程P45では、PC11が、統合端子候補に含まれる入力端子又は出力端子のデータ型と、データベース13に登録されている既に定義済みの統合端子が有する端子のデータ型との一致度を評価する。端子数一致度評価工程P46では、PC11が、統合端子候補に含まれる入力端子又は出力端子の端子数と、データベース13に登録されている既に定義済みの統合端子が有する端子数との一致度を評価する。
処理カテゴリー一致度評価工程P47では、PC11が、統合端子候補が指定された処理モジュールに設定された処理カテゴリーが、データベース13に登録されている既に定義済みの統合端子の処理カテゴリー属性に含まれているかを評価する。一致度スコア算出工程P48では、PC11が、前述した各評価工程P45、P46、P47における評価結果を総合的に評価し、統合端子候補とデータベース13に登録されている既に定義済みの統合端子との一致度を評価する。
なお、図4(B)においては、データ型一致度評価工程P45、端子数一致度評価工程P46、処理カテゴリー一致度評価工程P47の順に実行するように示しているが、これは一例である。各評価工程P45、P46、P47を実行する順序は任意であり、一致度スコア算出工程P48を実行する前に、データ型一致度評価工程P45、端子数一致度評価工程P46、及び処理カテゴリー一致度評価工程P47が完了していれば良い。
続いて、第1の実施形態における統合端子生成処理に関して詳細に説明する。
まず、ユーザが図形プログラミングシステムを用いて、図5に示すように所望の機能を実現するための図形プログラミングを行っているものとする。図5には、画面上で作成されている処理モジュールに関連する部分のみを示している。図5に示す例では、4個の入力端子51と1個の出力端子52を設定した処理モジュールA、2個の入力端子53と1個の出力端子54を設定した処理モジュールB、及び2個の入力端子55と1個の出力端子56を設定した処理モジュールCが生成されている。これらの処理モジュール間をリンクで接続することで、データの流れを示している。
図5において、処理モジュールAの入力端子51は、画像データをunsigned char*で定義した入力端子aを含んでいる。また、入力端子51は、画像のX方向サイズデータをunsigned shortで定義した入力端子bと、画像のY方向サイズデータをunsigned shortで定義した入力端子cとを含んでいる。このとき、ユーザが処理モジュールAの3個の入力端子a〜cを画像型の統合端子1個で表すことを希望する場合には、入力装置を用いてユーザが統合端子候補の指示入力を入力する。例えば、図6(A)に示すようにユーザが入力装置を用いて矩形61による矩形選択方法により3個の入力端子a〜cを選択することで、統合端子候補指定工程P41において、PC11が、選択された3個の入力端子a〜cを統合端子候補に指定する。
続いて、PC11が、使用実績評価処理工程P42の統合端子比較処理工程P43において、統合端子候補に指定された入力端子a〜cの組み合わせが、データベース13に既に統合端子として登録されているか否かを確認する。この確認は、統合端子比較処理工程P43に含まれる各評価工程P45、P46、P47、及び一致度スコア算出工程P48により、統合端子候補とデータベース13に登録されている既に定義済みの統合端子との一致度を導出し評価することにより実行される。
統合端子比較処理工程P43のデータ型一致度評価工程P45では、統合端子候補に含まれる端子のデータ型と、定義済みの統合端子が有する端子のデータ型との一致度を評価する。具体的には、PC11が、評価対象の定義済みの統合端子が有する端子のデータ型に関して、統合端子候補に含まれる端子のデータ型と一致する比率、すなわち(データ型一致数)/(端子総数)をデータ型一致度評価値として算出する。本例で統合端子候補に指定した入力端子は、unsigned char*で定義した入力端子a、unsigned shortで定義した入力端子b、及びunsigned shortで定義した入力端子cの3種類である。また、データベース13には既に定義済みの統合端子として、前述した画像型:{ unsigned char*, unsigned short, unsigned short }が登録されている。両者を比較すると、画像型に含まれる端子のデータ型はすべて統合端子候補が有する端子のデータ型に等しいため、3個中3個のデータ型が等しいこととなり、データ型一致度評価値は1(=3/3)となる。
また、統合端子比較処理工程P43の端子数一致度評価工程P46では、統合端子候補に含まれる端子数と、定義済みの統合端子が有する端子数との一致度を評価する。第1の実施形態では、統合端子候補に含まれる端子数と、評価対象の定義済みの統合端子が有する端子数とが等しい場合には、端子数一致度評価値を1とする。一方、それ以外の場合、すなわち統合端子候補に含まれる端子数と、評価対象の定義済みの統合端子が有する端子数とが異なる場合には、端子数一致度評価値を0とする。本例では、統合端子候補の端子数は3であり、既に定義済みの統合端子として登録されている画像型の統合端子の端子数も3であるため、画像型における端子数一致度評価値は1となる。
また、統合端子比較処理工程P43の処理カテゴリー一致度評価工程P47では、統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の登録済みの統合端子型の処理カテゴリー属性に含まれているかを評価する。第1の実施形態では、統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の統合端子型が属性として有する処理カテゴリーに含まれる場合には、処理カテゴリー一致度評価値を1とする。一方、それ以外の場合、すなわち統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の統合端子型が属性として有する処理カテゴリーに含まれない場合には、処理カテゴリー一致度評価値を0とする。
本例では、既に統合端子型として登録済みの画像型が属性として有する処理カテゴリーは、“認識処理”、“検出処理”、及び“特徴量算出処理”の3通りとする。これらの処理カテゴリーは、画像型を使用する処理モジュールがデータベース13に登録される際に、その処理モジュールの処理カテゴリーが統合端子型の属性に追加登録されたものである。すなわち、画像型は、“認識処理”、“検出処理”、及び“特徴量算出処理”の処理カテゴリーに含まれるデータベース13に登録済みの処理モジュールで使用されている。ここで、本例では、統合端子候補を有する処理モジュールAの処理カテゴリーは、“特徴量算出処理”とすると、処理モジュールAの処理カテゴリーは、画像型が属性として有する処理カテゴリーに含まれている。したがって、画像型に対する処理カテゴリー一致度評価値は1となる。
続いて、統合端子比較処理工程P43の一致度スコア算出工程P48において、前述した各評価工程P45、P46、P47による評価結果を総合的に評価して、統合端子候補とデータベース13に登録されている統合端子との一致度を評価する。第1の実施形態では、それぞれの評価工程で算出された評価値を乗算することにより、一致度スコアを算出する。したがって、本例では、一致度スコアは1(=1×1×1)となる。
さらに、統合端子比較処理工程P43では、PC11が、前述のようにして導出された一致度スコアと事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。例えば、一致度スコアが1である本例のような場合には、統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子が、既に登録されているため、統合端子候補を、画像型として登録されている統合端子として設定することができると評価する。この場合には、次工程である統合端子定義処理工程P44に対して、統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子の情報が、一致判定とともに伝達される。
また、例えば、一致度スコアが1でない(完全一致ではない)ものの、閾値(本例では0.7とする)以上である場合には、既に登録されている統合端子と一致度が高いことから、使用実績の高い統合端子型であると判断する。一例として、ユーザが指定した統合端子候補が4個の入力端子を有しているとする。それに対して、既に登録されている統合端子として、4個中3個の入力端子が統合端子候補が有する入力端子と同一のデータ型であり、かつ統合端子候補を有する処理モジュールの処理カテゴリーを属性として含むものがあるとする。このとき、データ型一致度評価値は0.75(=3/4)となり、端子数一致度評価値は1となり、処理カテゴリー一致度は1となる。したがって、一致度スコアは、閾値以上である0.75(=0.75×1×1)となるため、統合端子候補とまったく同一のデータ型の端子を有する統合端子は登録されていないものの、類似した統合端子がデータベース13に登録されていると判断する。この場合には、次工程である統合端子定義処理工程P44に対して、統合端子候補に類似する端子を有する統合端子の情報が、高使用実績判定とともに伝達される。
また、一致度スコアが閾値未満である場合には、既に登録されている統合端子の中に類似するものがなく、統合端子候補は使用実績が低いと判断する。この場合には、次工程である統合端子定義処理工程P44に対して、低使用実績判定が伝達される。
続いて、統合端子定義処理工程P44では、PC11が、統合端子比較処理工程P43を含む使用実績評価処理工程P42における評価結果を基にして、統合端子候補を統合端子として定義するか否かを決定する処理を実行する。本例では、前述したように使用実績評価処理工程P42より統合端子候補とまったく同一のデータ型の端子を有する画像型の統合端子の情報が、一致判定とともに伝達される。この場合には、図6(B)に示すように、統合端子候補指定工程P41において指定した統合端子候補が、1個の入力端子62にまとめられた上で、既に登録されている統合端子である画像型の統合端子に自動的に設定される。なお、図6(B)には、統合端子候補の3個の入力端子が1個にまとめられた状態を示しているが、図形プログラミングシステムの機能として、必要に応じて入力端子を画像型として1個にまとめた形で扱うことも、元の3個の入力端子として扱うことも可能である。
一方、使用実績評価処理工程P42より高使用実績判定が伝達された場合(一致度スコアが閾値以上1未満である場合)には、ユーザに対して統合端子候補に類似する端子を有する統合端子を提示する。そして、統合端子候補を提示された統合端子として設定するか否かの確認をユーザに促す。PC11は、ユーザが設定を承認した場合には、統合端子候補を類似する統合端子に設定し、ユーザが設定を承認しない場合には、統合端子候補を統合端子として設定せず、図5に示した元の端子のままの状態を維持する。ここで、統合端子候補を類似する統合端子に設定する場合には、統合端子候補に含まれる一部の端子のデータ型が元のデータ型と異なったりすることが生じる。その場合には、変更された端子に対応して、処理モジュールの内部定義を変更すれば良い。処理モジュールの定義が、処理を記述したプログラムで表現されている場合には、ユーザが、プログラムを一部変更することにより、処理モジュールの内部定義を変更することができる。
また、使用実績評価処理工程P42より低使用実績判定が伝達された場合(一致度スコアが閾値未満である場合)には、統合端子候補を統合端子として設定することを却下されたことに相当し、統合端子候補は、図5に示した元の端子のままの状態を維持する。
前述した統合端子定義処理工程P44では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、さらに統合端子候補の情報をシステム管理者側など(以下、「管理者側」)に伝達し、統合端子としてのデータベース13への登録の可否を管理者側に判定させるようにしても良い。具体的には、統合端子候補が統合端子に設定されなかった場合には、メール等の伝達手段により統合端子候補の情報を管理者側に連絡し、管理者側がその使用実績を判断した上で統合端子としてのデータベース13への登録を検討する。
管理者側が、該当する統合端子候補の使用実績が高いと判断した場合には、統合端子としてデータベース13への登録を行い、ユーザ等にメール等の伝達手段により統合端子候補が正規の統合端子としてデータベース13に登録された旨を連絡する。新規の統合端子のデータベース13への登録は、管理者側が図1に示したデータベース管理サーバ14を操作することにより行う。具体的には、データベース管理サーバ14にインストールされたデータベース管理ツールを用いて、データベース13を構成する記憶装置に新規の統合端子の情報を登録する。登録が完了した統合端子は、それ以降、統合端子候補の使用実績を評価する際に既に定義済みの統合端子として扱われる。このようにした場合には、統合端子としての登録を要求する統合端子候補の使用実績を人間の判断により判定するため、人間の知識に基づく使用実績評価による統合端子の新規登録が実現できる。
図7に、統合端子定義処理工程P44において、データベース13に統合端子を新規に登録するデータベース登録処理工程P71を行う場合の処理フローを示す。図7において、図4(A)に示した工程と同一の工程には同一の符号を付し、重複する説明は省略する。図7に示すデータベース登録処理工程P71では、前述したように図1に示したデータベース管理サーバ14がデータベース13に対して統合端子を登録する処理を実行する。
また、前述した説明では、統合端子比較処理工程P43において、一致度スコアが閾値以上1未満となる登録済みの統合端子が1個だけ検出される例を示したが、複数の統合端子が検出されるものであっても良い。その場合には、次工程である統合端子定義処理工程P44に対して、統合端子候補に類似する端子を有する複数の統合端子の情報が、一致度スコア及び高使用実績判定とともに伝達されるようにする。そして、例えば図8に示すように、ユーザに対して統合端子候補に類似する端子を有する複数の統合端子81を一致度スコア82とともに提示し、統合端子候補を複数の類似する統合端子81の中の1つに設定するか否かの承認をユーザに促す。PC11は、ユーザが設定を承認した場合には、統合端子候補をユーザによって選択された類似する統合端子に設定し、ユーザが設定を承認しない場合には、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。
また、複数の入力端子を統合端子候補に指定して統合端子として定義する例について説明したが、複数の出力端子を統合端子候補に指定して統合端子として定義する場合についても、同様の手法を適用することができる。また、前述した統合端子比較処理工程P43における処理方法は、一例であり、これに限定されるものではない。例えば、データ型一致度評価工程P45、端子数一致度評価工程P46、処理カテゴリー一致度評価工程P47、及び一致度スコア算出工程P48における処理方法や演算方法は、その他の方法を用いるものであっても良い。例えば、統合端子候補に含まれる端子に対して、統合端子候補指定工程P41においてユーザが重み付けを設定し、その重み付けに基づいて前述した評価値を算出する手法などがある。また、一致度スコアを導出する際に、評価項目毎に重み付けをする方法を用いても良い。また、閾値により一致度スコアを評価する手法に関しても、これに限るものではなく、統合端子毎に異なる閾値を設定したり、又は閾値を用いずにすべての統合端子の一致度スコアをユーザに提示したりするなどの方法を用いるものであっても良い。
第1の実施形態によれば、ユーザが複数の入力端子又は複数の出力端子を統合端子として定義することを希望する際に、使用実績に基づいて統合端子としての定義の可否を判断する。これにより、類似した統合端子の乱立を防止することが可能となり、非汎用的な統合端子の乱立に起因する処理モジュールの再利用性の低下を防止することが可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態における統合端子生成処理は、データベース13に登録されている統合端子が有する端子の情報、及び統合端子候補の使用実績を評価する処理が、第1の実施形態における統合端子生成処理と異なる。第2の実施形態における統合端子生成処理は、データベース13に登録された統合端子が有する端子の情報として使用可能なデータ型の情報を有し、一部の端子構成が異なってもデータ型として同一の意味を有する統合端子として使用実績を評価する。以下では、第1の実施形態において説明した内容に関しては説明を省略し、第2の実施形態に特有の点について説明を行う。
第2の実施形態において、統合端子としての画像型は、以下のような情報としてデータベース13に登録されている。
画像型:{ (unsigned char*, unsigned short*, int*, float*, double*),
(unsigned char, unsigned short, int),
(unsigned char, unsigned short, int) }、
属性…サイズ付き画像データ
この画像型において、統合端子が有する端子数は3個であり、各端子のデータ型は{ }の中に列記されている。さらに、それぞれの端子のデータ型は( )の中に使用可能なデータ型を列記することで定義されている。
第1の実施形態における画像型では、unsigned char*が画素値データのポインタ型を示し、2つのunsigned shortが画像のX方向サイズデータ及びY方向サイズデータの型を示していた。これに対して、例えば画素値データを定義するデータ型としては、より階調数が多いunsigned short型、int型、又は、浮動小数点型であるfloat型、double型、のポインタ型を使用したとしても、画像データとしての意味は損なわれない。また、同様に、画像のX方向サイズ及びY方向サイズを定義するデータ型としては、より階調数の少ないunsigned char型、又は、より階調数が多いint型を使用したとしても、画像データとしての意味は損なわれない。
すなわち、本実施形態における統合端子型は、構成要素としての端子が、データの意味を損なわずに取り得るデータ型のリストを情報として含む。そして、統合端子が処理モジュールの入力端子又は出力端子に対して実際に設定される際には、処理モジュールの機能に応じて、それぞれのデータ型のリストから適切なデータ型が選択されて端子のデータ型として設定される。また、第2の実施形態における画像型は、属性情報として「サイズ付き画像データ」との情報を含む。つまり、本実施形態における画像型は、使用可能なデータ型リストの情報を含めて「サイズ付き画像データ」としての性質を有することを属性情報として意味している。
続いて、第2の実施形態における統合端子生成処理に関して説明する。第2の実施形態における統合端子生成処理は、図4(A)及び図4(B)に示した第1の実施形態における統合端子生成処理と同様であるが、使用実績評価処理工程P42の統合端子比較処理工程P43における処理の一部が第1の実施形態とは異なる。まず、ユーザが、図9に示す処理モジュールDの3個の入力端子a〜cを画像型の統合端子1個で表すことを希望する場合には、例えば第1の実施形態と同様にユーザが入力装置を用いて矩形91による矩形選択方法により3個の入力端子a〜cを選択する。それに応じて、統合端子候補指定工程P41において、PC11が、選択された3個の入力端子a〜cを統合端子候補に指定する。図9に示した例では、統合端子候補の3個の入力端子a〜cは、それぞれdouble*、int、unsigned charとして定義されている。
続いて、PC11が、使用実績評価処理工程P42の統合端子比較処理工程P43において、統合端子候補に指定された入力端子a〜cの組み合わせが、データベース13に既に統合端子として登録されているか否かを確認する。この確認は、第1の実施形態における統合端子比較処理工程P43と同様に、統合端子候補とデータベース13に登録されている既に定義済みの統合端子との一致度を導出し評価することにより実行される。
第2の実施形態における統合端子比較処理工程P43のデータ型一致度評価工程P45では、統合端子候補に含まれる端子のデータ型が、定義済みの統合端子が有する端子のデータ型リストに含まれるか否かを評価する。そして、(データ型含有数)/(端子総数)をデータ型一致度評価値として算出する。データ型含有数は、統合端子候補の端子の中でデータ型のリストに含まれるものの数である。本例で統合端子候補に指定した入力端子は、double*で定義した入力端子a、intで定義した入力端子b、unsigned charで定義した入力端子cの3種類である。統合端子候補とデータベース13に登録されている画像型とを比較すると、統合端子候補が有する端子のデータ型は、すべて画像型が有するデータ型リストに含まれている。したがって、統合端子候補における3個中3個のデータ型が、統合端子が有する端子のデータ型リストに含まれていることとなり、データ型一致度評価値は1(=3/3)となる。
ここで、統合端子候補の端子のデータ型の組み合わせが、データベース13に登録されている処理モジュールにおいて、実際には使われていない可能性が十分に有り得る。例えば、本例における統合端子候補のデータ型の組み合わせ{ double*, int, unsigned char }は、型がすべて異なる。そのため、データベース13に登録されている処理モジュールで使用されている統合端子に対して統合端子候補の使用実績を評価すると、類似する統合端子が検出されず、低使用実績評価を受けてしまうことが考えられる。しかしながら、第1の実施形態における画像型と、第2の実施形態で統合端子候補としたデータ型の組み合わせは、どちらも「サイズ付き画像データ」としての意味は同一である。したがって、本実施形態のように、統合端子が有する端子のデータ型をデータ型リストとして登録し、処理モジュールとは独立に使用実績を評価する。これにより、第2の実施形態では、統合端子候補のデータ型の組み合わせが、データベース13に登録されている処理モジュールで一度も使用されていないデータ型の組み合わせであっても使用実績が高いものとして評価することが可能となる。なお、本実施形態において、処理モジュールの入力端子及び出力端子の組み合わせ情報は、処理モジュールに紐付けられた上で、処理モジュール自体とは独立にデータベースに保持されていることを想定している。
また、統合端子比較処理工程P43の端子数一致度評価工程P46では、第1の実施形態と同様に統合端子候補に含まれる端子数と、定義済みの統合端子が有する端子数との一致度を評価する。本例では、統合端子候補の端子数は3であり、既に定義済みの統合端子として登録されている画像型の統合端子の端子数も3であるため、画像型における端子数一致度評価値は1となる。
また、統合端子比較処理工程P43の処理カテゴリー一致度評価工程P47では、第1の実施形態と同様に統合端子候補を有する処理モジュールに設定された処理カテゴリーが、評価対象の登録済みの統合端子型の処理カテゴリー属性に含まれているかを評価する。なお、データベース13に登録されている統合端子に対して属性として設定される処理カテゴリーは、統合端子が有する端子のデータ型リストの中で、どのデータ型が使用されるかに関わらず、使用されたすべての処理モジュールの処理カテゴリーが設定される。本例では、既に統合端子型として登録済みの画像型が属性として有する処理カテゴリーは、“認識処理”、“検出処理”、及び“特徴量算出処理”の3通りとする。第1の実施形態と同様に統合端子候補を有する処理モジュールDの処理カテゴリーは、“特徴量算出処理”とすると、処理モジュールDの処理カテゴリーは、画像型が属性として有する処理カテゴリーに含まれている。したがって、画像型に対する処理カテゴリー一致度評価値は1となる。
第2の実施形態によれば、データベース13に登録された統合端子が有する端子の情報として使用可能なデータ型の情報を有し、一部の端子のデータ型が異なっても同一の意味を有する統合端子型として使用実績を評価する。これにより、データベース13に登録されている処理モジュールで使用されていない統合端子型であっても、よりデータの意味を反映した統合端子候補の使用実績の評価を行うことが可能となる。
なお、統合端子候補指定工程P41において、ユーザが入力装置等を操作して統合端子候補に対して、統合端子型としての属性情報を指定する工程を有するようにしても良い。このようにした場合には、ユーザが、データベース13に登録されている統合端子の属性リストから、統合端子候補に対応する属性を選択して指定することにより、使用実績を評価する対象となる登録済みの統合端子の数を減らすことが可能となる。これにより、統合端子比較処理工程P43に要する処理時間及び処理量を削減することが可能となる。
(第3の実施形態)
本発明の第3の実施形態について説明する。第3の実施形態における統合端子生成処理は、統合端子比較処理工程に接続モジュール評価工程を含むことが、前述した第1の実施形態や第2の実施形態と異なる。以下では、第1の実施形態や第2の実施形態において説明した内容に関しては説明を省略し、第3の実施形態に特有の点について説明を行う。
図10は、第3の実施形態における統合端子比較処理工程P101の処理フローを示す図である。第3の実施形態における統合端子比較処理工程P101は、データ型一致度評価工程P102、端子数一致度評価工程P103、処理カテゴリー一致度評価工程P104、接続モジュール評価工程P105、及び一致度スコア算出工程P106を有する。データ型一致度評価工程P102、端子数一致度評価工程P103、及び処理カテゴリー一致度評価工程P104のぞれぞれは、前述したデータ型一致度評価工程P45、端子数一致度評価工程P46、及び処理カテゴリー一致度評価工程P47と同様である。
統合端子比較処理工程P101の接続モジュール評価工程P105では、PC11が、統合端子候補に接続された処理モジュールの処理カテゴリーと、データベース13に登録されている統合端子に接続された処理モジュールの処理カテゴリーの一致度を評価する。例えば、図11に示すように、本例では処理モジュールEの統合端子候補111は、処理カテゴリーとして“ぼかし処理”の属性を有する処理モジュールFとリンクにより接続しているものとする。接続モジュール評価工程P105では、これに対して、データベース13に登録されている統合端子が使用されている処理モジュールに関して、リンクにより統合端子に接続する処理モジュールの処理カテゴリーの一致度を比較する。本実施形態における接続モジュール評価手段が接続モジュール評価工程P105の処理を行う。
例えば、図12に示すように、処理モジュールIは、下位階層モジュールである処理モジュールG、Hをリンクにより結合することにより、機能を階層的に定義される。接続モジュール評価工程P105では、データベース13に登録されている処理モジュールの中で、評価対象の登録済みの統合端子が使用されている下位階層モジュールに関し、統合端子にリンクを介して接続されている処理モジュールの処理カテゴリーを参照する。図12に示した例では、処理モジュールの下位階層モジュールGは画像型の統合端子が入力端子gに設定されている。また、その入力端子gにリンクにより接続する下位階層モジュールHの属性として、“ぼかし処理”の処理カテゴリーが設定されている。
本例における処理モジュールEの統合端子候補111は、処理カテゴリーとして“ぼかし処理”の属性を有する処理モジュールFとリンクにより接続していることから、両者の処理カテゴリーの属性は同一のものとなる。これは、統合端子候補に接続する処理モジュールと、評価対象の登録済みの統合端子に接続する処理モジュールが、処理カテゴリーにおいて一致していることを意味している。つまり、統合端子候補は評価対象の登録済み統合端子と類似したデータ型であると考えられる。本例では、前述したように両者の処理カテゴリーの属性が同一である場合には、接続モジュール評価値を1とする。一方、それ以外の場合、すなわち両者の処理カテゴリーの属性が一致しない場合には、接続モジュール評価値を0.7とする。
統合端子比較処理工程P101の一致度スコア算出工程P106では、各評価工程P102、P103、P104、P105による評価結果を総合的に評価して、統合端子候補とデータベース13に登録されている統合端子との一致度を評価する。第3の実施形態では、それぞれの評価工程で算出された評価値を乗算することにより、一致度スコアを算出する。したがって、例えば評価工程P102、P103、P104での評価値を前述した第1の実施形態と同様であるとすると、本例では一致度スコアは1(=1×1×1×1)となる。さらに、統合端子比較処理工程P101では、前述した第1の実施形態や第2の実施形態と同様にして、PC11が、算出された一致度スコアと事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。
以上のように第3の実施形態においては、統合端子候補にリンクにより接続された処理モジュールの処理カテゴリーと、データベースに登録されている処理モジュールの統合端子にリンクにより接続された処理モジュールの処理カテゴリーの一致度を評価する。これは、統合端子候補にリンクする処理モジュールの処理内容に基づいて、統合端子候補に一致する登録済みの統合端子型をフィルタリングすることに相当する。すなわち、統合端子候補と一致度の高い統合端子が多数検出された場合には、ユーザがその中から適切な統合端子を選択するのが困難なケースが生じ得る。第3の実施形態によれば、前述したように統合端子候補にリンクする処理モジュールの処理内容に基づいて統合端子型のフィルタリングを行うため、よりユーザが指定した統合端子候補に類似した統合端子を提示することが可能となる。なお、接続モジュール評価工程P105を実行するか否かをユーザに選択させるようにすることで、統合端子候補と一致度の高い統合端子の数が多い場合のみ、接続モジュール評価工程P105を実行することも可能である。
評価対象の統合端子が使用されている処理モジュールが複数存在し、かつそれぞれにリンクにより接続する処理モジュールの処理カテゴリーが異なる場合には、例えば1つでも統合端子候補の処理カテゴリーと一致すれば接続モジュール評価値を1とする。または、すべての接続する処理モジュール毎の接続モジュール評価値の平均値を算出するなどしても良い。また、評価対象の統合端子が使用されている処理モジュールが、データベース13に存在しない場合には、例えば評価不能として接続モジュール評価値を1としても良い。なお、前述した説明において、接続モジュール評価値の算出方法、閾値による評価方法、及びそれらの具体的な数値に関しては、あくまで一例を示したに過ぎず、その他の算出方法、評価方法、及び具体的な数値を用いるものであっても良い。
なお、図10においては、データ型一致度評価工程P102、端子数一致度評価工程P103、処理カテゴリー一致度評価工程P104、接続モジュール評価工程P105の順に実行するように示しているが、これは一例である。各評価工程P102、P103、P104、P105を実行する順序は任意であり、一致度スコア算出工程P106を実行する前に、各評価工程P102、P103、P104、P105が完了していれば良い。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。以下では、第1〜第3の実施形態において説明した内容に関しては説明を省略し、第4の実施形態に特有の点について説明を行う。図13は、第4の実施形態における統合端子生成処理の処理フローを示す図である。第4の実施形態における統合端子生成処理は、統合端子候補指定工程P131、使用実績評価処理工程P132、及び統合端子定義処理工程P134を有する。
統合端子候補指定工程P131では、PC11が、入力装置を用いて入力される、ユーザからの統合端子候補の指示入力を受け、その指示入力に基づいて、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の端子を統合端子候補に指定する。使用実績評価処理工程P132では、PC11が、データベース13に登録されているプログラミング部品の部品構成情報を参照して、統合端子候補指定工程P131で指定された統合端子候補の使用実績を評価する処理を実行する。使用実績評価処理工程P132は、出現頻度計測評価工程P133を含む。本実施形態における出現頻度計測評価手段が出現頻度計測評価工程P133の処理を行う。統合端子定義処理工程P134では、PC11が、使用実績評価処理工程P132における使用実績の評価結果に基づいて、統合端子候補を統合端子として定義する。
第4の実施形態における統合端子生成処理に関して詳細に説明する。
まず、ユーザが図形プログラミングシステムを用いて、図5に示したように所望の機能を実現するためのプログラミングを行っているものとする。ここで、ユーザが図5に示した処理モジュールAの3個の入力端子a〜cを画像型の統合端子1個で表すことを希望する場合には、入力装置を用いてユーザが統合端子候補の指示入力を入力する。例えば、図6(A)に示したようにユーザが入力装置を用いて矩形61による矩形選択方法により3個の入力端子a〜cを選択することで、統合端子候補指定工程P131において、PC11が、選択された3個の入力端子a〜cを統合端子候補に指定する。
続いて、PC11が、使用実績評価処理工程P132の出現頻度計測評価工程P133において、統合端子候補に指定された入力端子a〜cの組み合わせが、データベース13に登録されている処理モジュールで使用されている頻度をカウントする。本例では、データベース13には処理モジュールが100種類登録されているとする。また、統合端子候補に指定した入力端子は、unsigned char*で定義した入力端子a、unsigned shortで定義した入力端子b、及びunsigned shortで定義した入力端子cの3種類である。したがって、本例では、データベース13に登録されている各処理モジュールに関して、入力端子としてunsigned char*、unsigned short、unsigned shortの組み合わせが出現する頻度をカウントする。
例えば、図14(A)に示すように、処理モジュールJは、統合端子候補に指定された3個の入力端子と同一の型を有する入力端子141を有するため、出現頻度を1としてカウントする。また、例えば、図14(B)に示すように、処理モジュールKは、統合端子候補に指定された3個の入力端子と同一の型を有する入力端子142、143を2セット分有するため、出現頻度を2としてカウントする。これを、データベース13に登録されているすべての処理モジュールに対して実行し、出現頻度の総計を算出する。本例では、出現頻度の総計が30となったとする。そして、出現頻度計測評価工程P133では、統合端子候補の組み合わせの出現頻度の処理モジュール数に対する比率、すなわち(出現頻度の総計)/(処理モジュールの登録数)を出現頻度比率として算出する。したがって、本例では、出現頻度比率は0.3(=30/100)となる。
さらに、出現頻度計測評価工程P133では、PC11が、前述のようにして算出された出現頻度比率と事前に設定された閾値とを比較することにより統合端子候補の使用実績を評価する。統合端子候補が所定の比率を超える頻度で使用されていた場合には、その統合端子候補の組み合わせは、まだ統合端子として登録されていないが、処理モジュールにおいて頻繁に使用されており、使用実績を有していると考えられる。例えば、閾値を0.1とした場合、前述した例での出現頻度比率である0.3は閾値を超えているので、統合端子候補は使用実績が高いと評価する。この場合には、次工程である統合端子定義処理工程P134に対して、統合端子候補の出現頻度比率が、高使用実績判定とともに伝達される。出現頻度比率が閾値未満の場合には、統合端子候補はデータベース13に登録されている処理モジュールにおいて頻繁には使用されておらず、使用実績が低いと判断される。この場合には、次工程である統合端子定義処理工程P134に対して、統合端子候補の出現頻度比率が、低使用実績判定とともに伝達される。
続いて、統合端子定義処理工程P134では、PC11が、出現頻度計測評価工程P133を含む使用実績評価処理工程P132における評価結果を基にして、統合端子候補を統合端子として定義する処理を実行する。本例では、前述したように使用実績評価処理工程132より高使用実績判定が伝達された場合(出現頻度比率が閾値以上である場合)には、ユーザに対して統合端子候補を統合端子として設定するか否かの確認をユーザに促す。PC11は、ユーザが設定を承認した場合には、統合端子候補を統合端子に設定し、使用される処理モジュールの処理カテゴリーの情報とともに、統合端子としてデータベース13に登録する。また、ユーザが設定を承認しない場合には、PC11は、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。また、使用実績評価処理工程P132より低使用実績判定が伝達された場合(出現頻度比率が閾値未満である場合)には、統合端子候補を統合端子として設定することを却下されたことに相当し、統合端子候補は、元の端子のままの状態を維持する。
なお、ユーザが設定を承認した場合には、PC11上の図形プログラミングツールの統合端子型登録機能よりデータベース管理サーバ14が呼び出され、データベース13に対する新規の統合端子の登録処理が実行される。具体的には、データベース管理サーバ14にインストールされたデータベース管理ツールを介して、データベース13を構成する記憶装置に新規の統合端子の情報を登録する。登録が完了した統合端子は、それ以降、第1〜第3の実施形態で説明した処理工程において、統合端子候補の使用実績を評価する際に既に定義済みの統合端子として扱われる。
前述した統合端子定義処理工程P134では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、さらに統合端子候補の情報を管理者側に伝達し、統合端子としてのデータベース13への登録の可否を管理者側に判定させるようにしても良い。具体的には、統合端子候補が統合端子に設定されなかった場合には、メール等の伝達手段により統合端子候補の情報を管理者側に連絡し、管理者側がその使用実績を判断した上で統合端子としてのデータベース13への登録を検討する。
管理者側が、該当する統合端子候補の使用実績が高いと判断した場合には、統合端子としてデータベース13への登録を行い、ユーザ等にメール等の伝達手段により統合端子候補が正規の統合端子としてデータベース13に登録された旨を連絡する。なお、管理者側による新規の統合端子のデータベース13に対する登録手順は、第1の実施形態で説明したものと同様であるので説明は省略する。このようにした場合には、統合端子としての登録を要求する統合端子候補の使用実績を人間の判断により判定するため、人間の知識に基づく使用実績評価による統合端子の新規登録が実現できる。
なお、前述した説明では、出現頻度計測評価工程P133において、出現頻度比率を算出し、これを閾値と比較したが、出現頻度の尺度としてその他の演算を用いるものであっても良い。例えば、出現頻度の絶対値を閾値と比較し、統合端子候補の使用実績を評価するようにしても良い。また、本例では、1つの処理モジュールにおいて統合端子候補と同一の型の端子が2セット出現する場合に出現頻度を2としてカウントしている。しかし、セット数ではなく、統合端子候補と同一の型の端子が出現する処理モジュール数を出現頻度としてカウントするようにしても良い。
第4の実施形態によれば、ユーザが複数の入力端子又は複数の出力端子を統合端子として定義することを希望する際に、使用実績に基づいて統合端子としての定義の可否を判断する。これにより、類似した統合端子の乱立を防止することが可能となり、非汎用的な統合端子の乱立に起因する処理モジュールの再利用性の低下を防止することが可能となる。
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。第5の実施形態における統合端子生成処理は、図13に示した第4の実施形態における統合端子生成処理と同様であるが、統合端子候補指定工程及び出現頻度計測評価工程における処理が第4の実施形態とは異なる。第5の実施形態における統合端子候補指定工程では、統合端子候補を指定する際に、統合端子候補に指定する端子のデータ型として変換可能なデータ型リスト(使用可能データ型リスト)をユーザが指定可能である点が第4の実施形態と異なる。また、出現頻度計測評価工程において、統合端子候補の端子を使用可能データ型リストのデータ型に変換したすべての組み合わせに関して、出現頻度比率を算出する点も、第4の実施形態と異なる。以下では、第4の実施形態において説明した内容に関しては説明を省略し、第5の実施形態に特有の点について説明を行う。
まず、ユーザが、図15に示す処理モジュールLの3個の入力端子a〜cを統合端子1個で表すことを希望する場合には、例えばユーザが入力装置を用いて矩形151による矩形選択方法により3個の入力端子a〜cを選択する。それに応じて、統合端子候補指定工程において、PC11が、選択された3個の入力端子a〜cを統合端子候補に指定する。さらに、選択した統合端子候補に含まれる入力端子a〜cのそれぞれに関して、ユーザが入力装置を用いて変換可能なデータ型を指定する。例えば、図16に示すように統合端子候補に含まれる各端子が使用され得るデータ型を画面のGUI上のプルダウンメニュー161より逐次選択することにより指定する。
本例では、統合端子候補に含まれる各端子のデータ型として変換可能なデータ型をそれぞれ次のように指定したとする。unsigned char*で定義した入力端子aに対し、変換可能なデータ型としてunsigned short型、int型、float型、double型、のポインタ型を指定したとする。また、unsigned shortで定義した入力端子bに対し、変換可能なデータ型としてunsigned char型、int型を指定したとする。また、unsigned shortで定義した入力端子cに対し、変換可能なデータ型としてunsigned char型、int型を指定したとする。
続いて、PC11が、使用実績評価処理工程Pの出現頻度計測評価工程において、統合端子候補として指定された入力端子a〜cの組み合わせが、データベース13に登録されている処理モジュールで使用されている頻度をカウントし、出現頻度比率を算出する。第5の実施形態における出現頻度計測評価工程の処理フローを図17に示す。第5の実施形態における出現頻度計測評価工程P171は、端子データ型設定工程P172及び出現頻度計測評価サブ工程P173を有する。
まず、端子データ型設定工程P172において、PC11が、統合端子候補の端子のデータ型として、ユーザにより設定された{unsigned char*, unsigned short, unsigned short}の組み合わせを設定する。続いて、出現頻度計測評価サブ工程P173において、PC11が、第4の実施形態における出現頻度計測評価工程P133と同様にして統合端子候補のデータ型の組み合わせに関して出現頻度比率を算出する。ここで、出現頻度比率が事前に設定された閾値を超えた場合には、統合端子候補の出現頻度比率が、高使用実績判定とともに記憶保持される。
続いて、第5の実施形態では、統合端子候補の端子のデータ型に関して、それぞれの端子を使用可能データ型リストに含まれる変換可能なデータ型に変換したすべての組み合わせに関して、出現頻度比率を算出する。すなわち、図17に示すように、使用可能データ型リストのすべての組み合わせに対する処理が完了していない場合(図20における「未完了」側の矢印)には、端子データ型設定工程P172及び出現頻度計測評価サブ工程P173を繰り返し実行する。例えば、端子データ型設定工程P172において、前述したデータ型の組み合わせの中のunsigned char*をデータ型リストの中のunsigned short*に変更する。すなわち、統合端子候補の端子のデータ型として{unsigned short*, unsigned short, unsigned short}の組み合わせを設定し、出現頻度計測評価サブ工程P173を実行する。
以上の処理を繰り返し、使用可能データ型リストのすべての組み合わせに対する処理が完了したら、出現頻度計測評価工程P171の処理を完了し、統合端子定義処理工程に対して、閾値を超えた統合端子候補の出現頻度比率及び高使用実績判定を伝達する。なお、使用可能データ型リストのすべての組み合わせにおいて、出現頻度比率が閾値を超えるものがなかった場合には、統合端子定義処理工程に対して低使用実績判定を伝達する。
第5の実施形態における統合端子定義処理工程では、使用実績評価工程より高使用実績判定が伝達された場合には、ユーザに対して閾値を超えたすべての統合端子候補のデータ型の組み合わせを出現頻度比率とともに提示する。そして、統合端子候補を提示されたどの統合端子として設定するか否かの確認をユーザに促す。PC11は、ユーザが設定を選択及び承認した場合には、統合端子候補を統合端子に設定し、第4の実施形態と同様に、使用される処理モジュールの処理カテゴリーの情報とともに、統合端子としてデータベース13に登録する。また、ユーザが設定を承認しない場合には、PC11は、統合端子候補を統合端子として設定せず、元の端子のままの状態を維持する。また、使用実績評価工程より低使用実績判定が伝達された場合には、統合端子候補を統合端子型として設定することを却下されたことに相当し、統合端子候補は、元の端子のままの状態を維持する。
前述した統合端子定義処理工程では、高使用実績判定が伝達されてユーザが設定を承認しない場合と、低使用実績判定が伝達された場合には、統合端子候補を統合端子に設定しないものとしている。例えば、統合端子候補を統合端子に設定しない場合には、第4の実施形態と同様に、さらに統合端子候補の情報を管理者側に伝達し、統合端子としてのデータベース13への登録の可否を管理者側に判定させるようにしても良い。
第5の実施形態によれば、統合端子候補に含まれる端子のデータ型を使用可能データ型リスト中のデータ型に変換した組み合わせに関しても、処理モジュールで使用される頻度を算出し、使用実績評価の対象とする。これにより、個別のデータ型に捉われず、より統合端子の本質的な意味を反映した使用実績の評価を行うことが可能となる。また、前述した説明では、統合端子候補に含まれる端子のデータ型を使用可能データ型リスト中のデータ型に変換した組み合わせ毎に出現頻度及び出現頻度比率を算出して閾値と比較している。これに限定されず、すべてのデータ型の組み合わせにおける出現頻度及び出現頻度比率の総和値を閾値と比較するものであっても良い。この場合には、使用可能なデータ型のすべての組み合わせに対して、総合的に使用実績を評価することとなり、より統合端子の本質的な意味を反映した使用実績の評価を行うことが可能となる。
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。第6の実施形態における統合端子生成処理は、第1、第2、又は第3の実施形態における統合端子生成処理と、第4又は第5の実施形態における統合端子生成処理を組み合わせたものである。以下では、既に説明した詳細に関しては説明を省略し、特に2種類の統合端子生成処理を組み合わせた処理フローに関して説明を行う。また、第3の実施形態における統合端子生成処理と、第5の実施形態による統合端子生成処理とを組み合わせた場合を一例に説明するが、それ以外の組み合わせも可能である。
まず、第6の実施形態における統合端子生成処理においては、統合端子候補指定工程P181、及び使用実績評価処理工程P182の統合端子比較処理工程P183を実行する。統合端子候補指定工程P181、及び使用実績評価処理工程P182の統合端子比較処理工程P183は、第3の実施形態における統合端子候補指定工程、及び使用実績評価処理工程の統合端子比較処理工程と同様である。ここで、統合端子比較処理工程P183において、統合端子候補が高使用実績と評価された場合には、第3の実施形態における統合端子生成処理と同様に統合端子定義処理工程P185を実行する。
一方、統合端子比較処理工程P183において、統合端子候補が低使用実績と評価された場合には、使用実績評価処理工程P182の出現頻度計測評価工程P184を実行し、統合端子候補の使用実績を処理モジュールにおける出現頻度により評価する。続いて、統合端子定義処理工程P185を実行する。これは、第5の実施形態における使用実績評価処理工程の出現頻度計測評価工程及び統合端子定義処理工程に相当する。
すなわち、第6の実施形態における統合端子生成処理は、ユーザにより指定された統合端子候補の使用実績をまずデータベース13に既に登録されている統合端子と比較することにより評価する。さらに、そこで統合端子候補の使用実績が低いと評価した場合には、統合端子候補に含まれる端子の、データベース13に登録されている処理モジュールにおける出現頻度により評価する。これにより、ユーザにより指定された統合端子候補に関して、データベース13に既に登録されている統合端子と、まだデータベースに登録されていない端子の組み合わせの両面から使用実績を判断することが可能となる。そのため、より網羅的に統合端子の使用実績を評価することができる。
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。第7の実施形態における統合端子生成処理は、統合端子候補指定工程において、ユーザによる指定ではなく図形プログラミングツール(以下、ツール)により自動的に統合端子候補を抽出する統合端子候補自動抽出工程を含む点が、前述した実施形態と異なる。本実施形態における統合端子候補自動抽出手段が統合端子候補自動抽出工程の処理を行う。図19は、第7の実施形態における統合端子生成処理の処理フローを示す図である。第7の実施形態においては、ユーザが統合端子候補を指定することなく、ツールが自動的に抽出した端子の組み合わせの使用実績を判定して、データベース13に対して自動的に登録したり、ユーザに対して統合端子化を推奨したりする機能を有する。以下の説明では、第1〜第6の実施形態において説明した内容に関しては説明を省略し、第7の実施形態に特有の点について説明を行う。
まず、第7の実施形態においては、統合端子候補指定工程P191に含まれる統合端子候補自動抽出工程P192におけるツールによる統合端子候補の指定は、ユーザが処理モジュールに対して入力端子及び出力端子を生成するタイミングで自動的に実行される。例えば、図20に示すように、ユーザが処理モジュールMに対して入力端子aを生成してデータ型を設定した時に、処理モジュールが有するその他の入力端子b〜dを含めたすべての組み合わせが、統合端子候補としてツールによって自動的に設定される。
図20に示した処理モジュールMの場合には、ユーザが新たに生成した入力端子aを含む統合端子候補の組み合わせは5つとなる。第1の統合端子候補は、unsigned char*で定義された入力端子aと、unsigned shortで定義された入力端子b又はdを有する。第2の統合端子候補は、unsigned char*で定義された入力端子aと、doubleで定義された入力端子dを有する。第3の統合端子候補は、unsigned char*で定義された入力端子aと、unsigned shortで定義された入力端子bと、unsigned shortで定義された入力端子cとを有する。第4の統合端子候補は、unsigned char*で定義された入力端子aと、unsigned shortで定義された入力端子b又はcと、doubleで定義された入力端子dとを有する。第5の統合端子候補は、unsigned char*で定義された入力端子aと、unsigned shortで定義された入力端子bと、unsigned shortで定義された入力端子cと、doubleで定義された入力端子dとを有する。
第7の実施形態における統合端子生成処理では、すべての統合端子候補に対して前述した実施形態における統合端子候補指定工程以降の処理を行う。つまり、使用実績評価処理工程P193(工程P194、P195を含む)及び統合端子定義処理工程P196では、それぞれの統合端子候補に対して前述した実施形態と同様に使用実績評価処理工程及び統合端子定義処理工程の処理を実行する。そして、使用実績が高いと評価された自動的に抽出された統合端子候補に関しては、前述した実施形態と同様にデータベース13に自動的に登録されるか、又はユーザに対して統合端子化を推奨する画面が表示される。図21に、ユーザに対して統合端子化を推奨する場合のツールの画面表示例を示す。
なお、前述した説明では、統合端子候補自動抽出工程P192においてツールによる統合端子候補の自動抽出が行われるタイミングを、ユーザが処理モジュールに対して入力端子及び出力端子を生成するときとしている。しかし、これに限定されるものではなく、それ以外のタイミングで処理を実行しても良い。例えば、PC11に対する処理負荷を軽減するために、ツールがPC11の処理負荷をモニタし、より処理負荷の低い状況になると、それまでにユーザが生成したすべての入力端子及び出力端子に関して前述した処理を実行する方法などが考えられる。
第7の実施形態によれば、ユーザが統合端子候補を指定することなく、ツールが自動的に抽出した端子の組み合わせの使用実績を判定して、データベースに対して自動的に登録したり、ユーザに対して統合端子化を推奨したりする機能が実現できる。これにより、統合端子を定義するためのユーザの負担が軽減される。
なお、前述した各実施形態では、統合端子候補として入力端子を対象としている例を示したが、出力端子を統合端子候補の対象としても良い。また、前述した各実施形態を任意に組み合わせたものも、本発明の実施形態に含まれる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
11:コンピュータ 12:モニタ 13:データベース 14:データベース管理サーバ P41、P131、P181、P191:統合端子候補指定工程 P42、P132、P182、P193:使用実績評価処理工程 P43、P183、P194:統合端子比較処理工程 P44、P101、P134、P185、P196:統合端子定義処理工程 P45、P102:データ型一致度評価工程 P46、P103:端子数一致度評価工程 P47、P104:処理カテゴリー一致度評価工程 P48、P106:一致度スコア算出工程 P71:データベース登録処理工程 P105:接続モジュール評価工程 P133、P171、P184、P195:出現頻度計測評価工程 P172:端子データ型設定工程 P173:出現頻度計測評価サブ工程 P192:統合端子候補自動抽出工程

Claims (14)

  1. 処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定手段と、
    データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理手段と、
    前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理手段とを備える情報処理装置。
  2. 前記統合端子候補指定手段は、ユーザからの指定に応じて前記統合端子候補を指定することを特徴とする請求項1記載の情報処理装置。
  3. 前記統合端子候補指定手段は、前記処理モジュールが有する複数の入力端子又は複数の出力端子について任意の端子の組み合わせを抽出して前記統合端子候補に指定する統合端子候補自動抽出手段を有することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記使用実績評価処理手段は、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出する統合端子比較処理手段を有し、
    前記統合端子比較処理手段により導出された前記一致度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
  5. 前記使用実績評価処理手段は、前記データベースに登録されている処理モジュールに関して、前記統合端子候補と同一のデータ型の組み合わせの端子の出現頻度をカウントする出現頻度計測評価手段を有し、
    前記出現頻度計測評価手段により算出された出現頻度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
  6. 前記使用実績評価処理手段は、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出する統合端子比較処理手段と、
    前記データベースに登録されている処理モジュールに関して、前記統合端子候補と同一のデータ型の組み合わせの端子の出現頻度をカウントする出現頻度計測評価手段とを有し、
    前記統合端子比較処理手段により算出された前記一致度、及び前記出現頻度計測評価手段により算出された出現頻度に基づいて、前記統合端子候補の使用実績を評価することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
  7. 前記統合端子比較処理手段は、前記統合端子候補に含まれる端子のデータ型及び端子数と、前記統合端子候補を有する処理モジュールの処理カテゴリーとを含む項目に関して、前記データベースに登録されている統合端子との一致度を算出する一致度スコア算出手段を有することを特徴とする請求項4又は6記載の情報処理装置。
  8. 前記統合端子比較処理手段は、統合端子候補に対して接続される他の処理モジュールが有する属性と、前記データベースに登録されている統合端子が接続する処理モジュールが有する属性との一致度を算出する接続モジュール評価手段を有し、
    前記一致度スコア算出手段は、前記接続モジュール評価手段により算出された前記一致度を合わせて、前記統合端子候補と前記データベースに登録されている統合端子との一致度を算出することを特徴とする請求項7記載の情報処理装置。
  9. 前記統合端子定義処理手段は、前記データベースに登録されている統合端子に対して、一部の端子のデータ型が異なる統合端子候補、及び端子数が異なる統合端子候補を統合端子として定義することを特徴とする請求項1〜8の何れか1項に記載の情報処理装置。
  10. 前記出現頻度計測評価手段は、前記データベースに登録されている処理モジュールに関して、前記統合端子候補の端子のデータ型を指定されたデータ型に変換した端子の組み合わせの出現頻度をさらにカウントすることを特徴とする請求項5又は6記載の情報処理装置。
  11. 前記統合端子定義処理手段は、前記統合端子候補を統合端子として定義することを決定した場合に、さらに登録処理に関するユーザの承認を得ることを特徴とする請求項1〜10の何れか1項に記載の情報処理装置。
  12. 前記統合端子定義処理手段は、前記統合端子候補を統合端子として定義する際に、前記統合端子候補を統合端子として前記データベースに登録することを特徴とする請求項1〜11の何れか1項に記載の情報処理装置。
  13. 入力装置を用いて入力された指示入力を受け、前記指示入力に基づいて、処理モジュールが有する入力端子及び出力端子から統合対象とする複数の入力端子又は複数の出力端子を統合端子候補に指定する統合端子候補指定工程と、
    データベースに登録されている部品構成情報を参照して、指定された前記統合端子候補の使用実績を評価する使用実績評価処理工程と、
    前記統合端子候補の使用実績の評価結果に基づいて、前記統合端子候補を統合端子として定義する統合端子定義処理工程とを有することを特徴とする情報処理方法。
  14. コンピュータを、請求項1〜12の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2014007080A 2014-01-17 2014-01-17 情報処理装置、情報処理方法及びコンピュータプログラム Pending JP2015135618A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014007080A JP2015135618A (ja) 2014-01-17 2014-01-17 情報処理装置、情報処理方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014007080A JP2015135618A (ja) 2014-01-17 2014-01-17 情報処理装置、情報処理方法及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2015135618A true JP2015135618A (ja) 2015-07-27

Family

ID=53767398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014007080A Pending JP2015135618A (ja) 2014-01-17 2014-01-17 情報処理装置、情報処理方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2015135618A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045335A (ja) * 2015-08-27 2017-03-02 株式会社スクウェア・エニックス プログラム、記録媒体、情報処理装置及び制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045335A (ja) * 2015-08-27 2017-03-02 株式会社スクウェア・エニックス プログラム、記録媒体、情報処理装置及び制御方法

Similar Documents

Publication Publication Date Title
US8549478B2 (en) Graphical user interface input element identification
JP7322656B2 (ja) メンテナンススケジュール作成プログラム、メンテナンススケジュール作成方法、及びメンテナンススケジュール作成装置
CN111966361B (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
CN108304318B (zh) 设备兼容性的测试方法及终端设备
CN106886535A (zh) 一种适配多种数据源的数据抽取方法和装置
US10871951B2 (en) Code correction
US20170192957A1 (en) Methods and analytics systems having an ontology-guided graphical user interface for analytics models
WO2020162884A1 (en) Parameter suggestion system
US20170004401A1 (en) Artificial intuition
US8819620B1 (en) Case management software development
US20190129781A1 (en) Event investigation assist method and event investigation assist device
JP6257254B2 (ja) 設計支援装置、設計支援方法、及びプログラム
CN110928761B (zh) 需求链及其应用的系统和方法
JP2015135618A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
US20150242786A1 (en) Integrating process context from heterogeneous workflow containers to optimize workflow performance
Taesiri et al. A video game testing method utilizing deep learning
WO2021131435A1 (ja) プログラム開発支援システム及びプログラム開発支援方法
US20220156672A1 (en) Information processing apparatus and method
US20150347182A1 (en) Computer product, execution-flow-creation aiding apparatus, and execution-flow-creation aiding method
US11132235B2 (en) Data processing method, distributed data processing system and storage medium
US10515330B2 (en) Real time visibility of process lifecycle
WO2014192072A1 (ja) 計算機、関連性算出方法及び記憶媒体
US20180239640A1 (en) Distributed data processing system, and distributed data processing method
JPWO2021001949A1 (ja) 製造システム設計支援装置
JP2019159406A (ja) データ解析システム、データ解析方法、及びプログラム