コンピュータにより自動的に実行して画像処理アプリケーションを開発するための方法であって、前記コンピュータは複数の画像処理コンポーネント1ないし10およびコネクタ手段11を含み、前記コネクタ手段は選択されたコンポーネントを自動接続するための特別セットのメソッドおよびデータ構造であって、動作されるときに1つのインスタンスを生成するクラスとして実現され、前記コンピュータは、a複数の画像処理コンポーネント1ないし10を受信するステップと、bユーザによって複数のコンポーネントから選択されたコンポーネント間の接続を確立するため、該選択されたコンポーネントを受信するステップと、c前記コネクタ手段11を動作して、前記選択されたコンポーネント間を接続する定義を要求されることなく、前記選択されたコンポーネントを互いに自動的に接続して、前記画像処理アプリケーションを生成するステップと、を含む、方法。ステップbとステップcの間に、前記コンピュータは前記選択されたコンポーネントを前記コネクタ手段11に自動的に接続するステップをさらに含む、請求項1に記載の方法。ステップcにおいて、前記選択されたコンポーネントの前記自動接続が、前記それぞれのコンポーネントによって提供される情報に基づく、請求項1または2に記載の方法。前記コネクタ手段11は、初めて活動化されたときに自らのデータ構造を初期化する、請求項1、2、または3に記載の方法。前記コネクタ手段11は、前記選択されたコンポーネント1ないし10を登録する、請求項1ないし4のいずれかに記載の方法。前記選択されたコンポーネントは、前記コネクタ手段11により、各選択されたコンポーネントが他の選択されたコンポーネントに接続可能であるか否かに応じた少なくとも2つのグループにおいて登録される、請求項5に記載の方法。各選択されたコンポーネントは、前記コネクタ手段11に対する参照またはポインタ、および/または自らの記述を前記コネクタ手段11に渡す、請求項1ないし6のいずれかに記載の方法。前記コンピュータは、第1の選択されたコンポーネントは、入力コンポーネントである場合、初期コンポーネントとして使用し、入力コンポーネントではない場合、非接続コンポーネントのリストに追加する、請求項1ないし7のいずれかに記載の方法。1組の評価規則に従って先行の選択されたコンポーネントの利用可能なパラメータにおいて各後続のコンポーネントを検査し、接続が前記評価規則を満たす場合、前記各後続のコンポーネントを候補接続リストに追加するステップと、前記選択されたコンポーネントの入力パラメータおよび出力パラメータのデータタイプを検査するステップと、前記画像処理アプリケーションとの接続の整合性を検査するステップと、前記コンポーネントを前記画像処理アプリケーションに追加するステップと、前記選択された接続を確立するステップと、を前記コネクタ手段はさらに含む、請求項8に記載の方法。前記評価規則は、整合性を判定し、アプリケーション実行中にデッドロックを回避するグラフ分析を含む、請求項9に記載の方法。前記評価規則は、コンポーネントのカテゴリ、局所性、選択の順序、アプリケーションエリア、ユーザ、および接続を確立するためのユーザプロファイルを利用する、請求項9または10に記載の方法。前記コネクタ手段11は、現在のコンポーネントおよび前記現在のコンポーネントの接続に関する情報をアンロードされる前に保管する、請求項1ないし11に記載の方法。前記情報は、前記画像処理アプリケーションを再び活動化する際に再ロード可能である、請求項12に記載の方法。少なくとも1つのコンポーネント1ないし10は、自らの挙動を指定する記述を含み、前記記述が、入力パラメータおよび出力パラメータの数、入力パラメータのタイプおよび出力パラメータのタイプ、カテゴリ、名前、説明、表明、および制約を含むグループから選択された情報を含む、請求項1ないし13のいずれかに記載の方法。前記選択されたコンポーネントは、設計モードにおいて同時に実行可能である、請求項1ないし14のいずれかに記載の方法。システムステータスは、設計モードおよび/またはユーザモードにおいて記憶可能かつ再ロード可能であり、設計モードにおいて記憶されたものはすべて、ユーザモードで再ロード可能であり、逆もまた同様である、請求項1ないし15のいずれかに記載の方法。前記画像処理アプリケーションのデータ構造が、自動的に生成され、管理される、請求項1ないし16のいずれかに記載の方法。データは、双方向にコンポーネント間で受渡しが行われる、請求項1ないし17のいずれかに記載の方法。コンポーネントは、自らに直接に非接続コンポーネントにデータを送る、請求項1ないし18のいずれかに記載の方法。少なくとも1つのコンポーネントは、複数のユーザインターフェースを有する、請求項1ないし19のいずれかに記載の方法。前記コンピュータは、データの受渡しを行うために前記選択されたコンポーネント1ないし10を接続するステップと、実行メソッドを構成するステップと、情報の受渡しを行うためにすべての選択されたコンポーネント間で広域通信を確立するステップと、処理されるデータを決定するステップと、をさらに含む、請求項1ないし20のいずれかに記載の方法。請求項1ないし21に記載の画像処理アプリケーションを開発するための方法を実行するためのプログラムを記憶したコンピュータ読取可能記録媒体。請求項1ないし21に記載の画像処理アプリケーションを開発するための方法を実行するためのシステム。請求項1に記載の本発明によれば、選択されたコンポーネントを互いに自動的に変換するためのコネクタ手段が提供される。請求項2に記載の好ましい実施形態によれば、前記選択されたコンポーネントは、先行するステップで、前記コネクタ手段にやはり自動的に接続される。請求項15、16、ならびに請求項18ないし20の好ましい実施形態は、請求項2の実施形態に限定されないことに留意されたい。本発明の好ましい実施形態によれば、コンポーネントの自動接続のためのコネクタ手段が提供される。コンポーネントがアプリケーションに追加される、またはアプリケーションから取り除かれるときはいつでも、コネクタ手段が呼び出される。コンポーネントをアプリケーションに追加する場合、コンポーネントは登録され、これによりコンポーネントがアプリケーションに知られ、アプリケーションにとってアクセス可能になる。すなわち、コンポーネントが、アプリケーションの一部になる。コンポーネントをアプリケーションから取り除くことにより、コンポーネントは、登録解除され、もはや使用できなくなる。コンポーネントの追加は、ユーザが、例えば、コンポーネントのアイコンをダブルクリックし、これによってコンポーネントをフォーム上に置くことによって行うことができる。また、コンポーネントの追加は、他のコンポーネントが生成動作を呼び出すことによって内部で呼び出すことも可能である。コンポーネントを取り除くことも同様に、ユーザが、フォームからコンポーネントを削除することにより、または他のコンポーネントが、コンポーネントの削除動作を呼び出すことによって行うことができる。接続の生成は、特別セットのメソッドおよびデータ構造によって実現される。以下では、このセットのデータを対応するメソッドとともにコネクタと呼ぶ。コネクタは、例えば、使用されるときに1つのインスタンスを生成するクラスとして実現することができる。各コンポーネントは、コネクタにアクセスできる。これは、コネクタを各コンポーネントにリンクするコンパイラの用語法の意味でことによって実施することができる。コネクタが初回に活動化されたとき、特定のセッション中、コネクタは、自らのデータ構造を初期化し、利用可能な場合、追加の情報を接続プロセスのためにロードする。特定のセッション中には、コネクタをさらに活動化しても、データ構造を再び初期化することはなく、データ構造のステータスを拡張または変更する。コネクタは、すべての登録されたコンポーネントに対する参照を保持する。これに加え、コネクタは、コンポーネント間のすべての接続、ならびにこのことから導出されたすべての情報実行、通信、ロード/保管機構等のためのを保持する。コネクタは、登録されたコンポーネントを、他のコンポーネントに正しく接続することができるコンポーネント、および接続することができないコンポーネントという2つのグループに分割する。コンポーネントを接続できないケースは、例えば、ユーザが、意味のあるアプリケーションに必要とされるコンポーネントの一部だけを選択した場合に生じる。この一例は、ユーザが、画像処理コンポーネントを選択したが、画像データを提供するコンポーネントを全く選択しなかった場合である。コンポーネントを選択する順序に対する制限は全く存在しないため、新しいアプリケーションをセットアップしているとき、このケースがしばしば生じる。設計モードまたはユーザモードが終了した後、コネクタは、アンロードされる。コネクタをアンロードする前に、コネクタは、現在のコンポーネントおよびその接続に関する情報を保管することができる。この情報は、次回に設計モードまたはユーザモードでアプリケーションが呼び出されるとき、使用することができる。次に、画像処理アプリケーションに対するコンポーネントの追加を説明する。ユーザが、例えば、コンポーネントのアイコンをダブルクリックすることによってコンポーネントをアプリケーションに追加したとき、コンポーネントの初期化メソッドが実行される。この初期化中、コネクタの登録メソッドが呼び出される。このメソッドを呼び出すことにより、コンポーネントおよび/またはコンポーネントの記述に対する参照またはポインタが、コネクタに渡される。この情報に基づき、接続プロセスが行われる。コンポーネントを登録する際、2つのケースを区別しなければならない。新しいコンポーネントをアプリケーションのコンポーネントに接続することが可能である場合、必要な接続が構成され、そのコンポーネントは、アプリケーションの一部となる。新しいコンポーネントの組込みは、それまでに確立されている接続の再構成を必要とする可能性がある。新しいコンポーネントの組込みの後、まだ非接続コンポーネントのリストが改訂される。このことは、このリストの各コンポーネントに対して、登録プロセスが新たに実行されるコンポーネントをそれでも接続することができない場合、そのコンポーネントは、再びリストには追加されないことを例外としてことを意味する。あるコンポーネントを他のコンポーネントに接続することができない場合、そのコンポーネントは、まだ非接続コンポーネントのリストに入れられる。コンポーネントを接続することは、コンポーネントが、i先行のコンポーネントに対する、すなわち、入力データを提供するコンポーネントに対する参照、ポインタ、または同様の機構と、ii後続のコンポーネントに対する、すなわち、さらなる処理のために出力データを受け入れるコンポーネントに対する参照、ポインタ、または同様の機構と、iii結果を表示することができるビューアに対する参照、ポインタ、または同様の機構と、ivコンポーネントを制御するコンポーネントに対する参照、ポインタ、または同様の機構と、vすべてのコンポーネントにアクセスするスケジューラに対する参照、ポインタ、または同様の機構とを有するのが可能であることを含むが、以上には限定されない。本発明によれば、コンポーネントがアプリケーションに追加され、接続が確立された後、システムが設計モードにあっても、そのコンポーネントを即時に実行することができる。これが可能であるのは、各コンポーネントが、コネクタを介して、または直接に任意の他のコンポーネントを呼び出すことができるからである。これにより、プログラミング環境によってサポートされるコールバックが存在しない場合でも、アプリケーション全体を実行することができ、また一度に1つのコンポーネントのインターフェースだけがアクティブであるだけでよい例えば、マイクロソフトビジュアルベイシックMicrosoftVisualBasicにおけるのと同様に。どの時点でも、コネクタは、それまでのアプリケーションの整合性に関してユーザに知らせることができる。この例は、例えば、コンポーネントを接続できなかったこと、または重要なコンポーネントが欠如していることである。次に、どのようにコンポーネントが接続されるかを説明する。コンポーネントを接続することの問題は、様々なメソッドを使用することによって解決することができ、メソッドのいくつかは、最適化、インフォームドサーチ、およびヒューリスティックサーチに基づく。本発明の好ましい実施形態で使用するアルゴリズムは、明確な接続を割り当てることができるまで、曖昧さを段階的に除去することである。アルゴリズムは、コンポーネントの提案されたカテゴリに基づくが、それには限定されない。以下で説明するアルゴリズムは、特定のアプリケーションに関する前の情報が全く利用可能ではない、すなわち、ユーザが、新しいアプリケーションを生成するものと想定している。ユーザによって選択されたコンポーネントが、最初に登録されるコンポーネントである場合、またはそれまでにアプリケーションの部分を構成するコンポーネントが全く存在しない場合、そのコンポーネントは、データソース入力コンポーネントであるか否かが試験される。入力コンポーネントである場合、そのコンポーネントは、それまでに接続を全く有していないアプリケーションの最初の部分として使用される。入力コンポーネントではない場合、そのコンポーネントは、非接続コンポーネントのリストに入れられる。ただし、アプリケーションの中に既にコンポーネントが存在する場合、以下のメソッドが実行される。第1のステップで、その他のコンポーネントに接続されなければならない選択されたコンポーネントの各入力パラメータおよび各出力パラメータが、1組の評価規則に従ってアプリケーションのコンポーネントのすべての利用可能なパラメータで検査される。接続が規則を満たす場合、その接続は、候補接続リストに追加される。さらなる規則を使用することにより、曖昧でない決定を行うことができるまで、またはプロセスが停止するまで、可能な接続の量が減らされる。候補接続リストの中に、既に接続されたコンポーネントのパラメータが含められる。この理由は、その新しいコンポーネントを、例えば、一続きの既に接続されたコンポーネントに挿入することができるからである。この例が、数値データを計算するblob分析であり、blob分析は、このデータをシリアルインターフェースに書き込む出力コンポーネントに接続される。データ視覚化コンポーネントが、アプリケーションに追加される場合、このコンポーネントは、blob分析と出力コンポーネントの間に配置することができる。さらに、入力パラメータおよび出力パラメータは、複数回、使用できることに留意しなければならない。例えば、フレームグラッバは、画像処理のために画像を複数のコンポーネントに渡すことができる。これに加え、多くのコンポーネントを、例えば、データを表示するため、ビューアに接続することができる。接続を選択する第1の規則は、コンポーネントのカテゴリを使用する。どのカテゴリを接続することができるかを記述する一般的規則に基づき、初期候補接続リストが決定される。このコンテキストで使用される規則は、例えば、ビューアが入力コンポーネントに接続されること、または画像検査コンポーネントがビューアに接続されることである。これらの全体的規則は、コネクタにだけ利用可能であり、通常、コンポーネントによって提供されない。これらの規則は、コンポーネントおよびアプリケーションに関する一般的知識を表す。規則は、コネクタが呼び出されたときロードすることができ、ランタイム中に変更することが可能であり、また、例えば、適用の分野例えば、産業または医療に応じて、またはユーザに応じて適合させることが可能である。次のステップで、入力パラメータおよび出力パラメータのデータタイプが検査される。所与のタイプ規則を満たさないすべての接続候補が、リストから除去される。これらの規則の例は、より弱いタイプをより強いタイプ例えば、整数を浮動小数点値に渡すことができるに接続できること、または同等のタイプを接続できることである。次のステップで、アプリケーションとの接続の整合性が検査される。これには、実行の整合性、データの整合性、および情報フローの整合性が含まれる。これは、無限ループまたはブロッキングにつながる可能性があるサイクルに関して検査する全体的なグラフ分析である。このため、各接続が有向アークとして扱われ、またコンポーネントは、対応するグラフのノードとして扱われる。各コンポーネントの入力/出力を使用して、標準のグラフ分析アルゴリズム例えば、PetriNetsの分析のために使用されるに基づき、分析が行われる。整合性のあるアプリケーションを生成しない各接続は、除去される。このステップは、サイクルのような問題のないアプリケーションが生成されることを保証する。これは、ユーザがコンポーネントをプログラミングステートメントで接続しなければならない標準の手法では保証することができない。特別なケースが、別のコンポーネントの特定のグラフィカルユーザインターフェースを実現するコンポーネントである。これらのコンポーネントは、自らのユーザすなわち、自らが属するコンポーネントおよび自らの識別で自らを曖昧なく明らかにする。曖昧でないセットの接続が残った場合、そのコンポーネントは、アプリケーションに追加され、選択された接続が確立される。曖昧さがある場合、さらなる規則が適用されて曖昧さが除去される。規則は、組み合わせて、または独立して使用することができる。規則の例は、以下のとおりである。i局所性:ユーザがデスクトップ上にコンポーネントを配置した位置の距離であり、より近いコンポーネントが、より高い確率で接続されることになる、ii選択の順序:引き続いて選択されたコンポーネントが、より高い確率で接続されることになる、iiiアプリケーションエリア:接続される確率は、アプリケーションエリアに基づく、ivユーザ:どの接続が好ましいか、システムがユーザに尋ねる、vユーザプロファイル:前のセッションでユーザが行った決定に関する情報をシステムが使用する学習。曖昧さが残る場合、そのコンポーネントは、非接続コンポーネントのリストに追加される。また、コンポーネントをアプリケーションから除去することもできる。これは、例えば、ユーザが、コンポーネントを削除することによって行うことができる。この場合、このコンポーネントに対するすべての接続およびこのコンポーネントからのすべての接続が除去される。この後、残りのコンポーネントを再構成しなければならない可能性がある。この場合、除去されたコンポーネントが、他のコンポーネントに対する入力を提供していた場合、可能であれば、それらのコンポーネントの再接続がなされる。ユーザがアプリケーションを開発し、コンポーネントが接続された後、その接続に関する情報をコネクタが記憶することができる。この情報は、好ましくは、アプリケーションが、設計モードまたはユーザモードで再び活動化されるとき、再ロードすることができる。これにより、アプリケーションが変更された場合でも、曖昧さを最小限に抑えることができる。このことから、構成に関する一般的規則が、システムによって自動的に学習されることが可能である。これは、人工知能から知られる学習メソッドを使用して行うことができる。以上のことから、周知のシステムの次の限界が本発明に従って取り除かれる。コンポーネントが、プログラミングステートメントをアプリケーションに追加することによって結合される。これらのプログラミングステートメントは、一方のコンポーネントから他方のコンポーネントにどのようにデータを渡すかに関する情報、ならびにコンポーネントが実行される順序をどのように指定するかに関する情報を含まなければならない。データ、例えば、関心領域を使用するため、ユーザが、プログラミングソースコードによってアプリケーションにデータコンポーネントを追加して、そのコンポーネントをその他のコンポーネントに接続しなければならない。本発明は、以下の要件を満たすオブジェクト指向コンポーネントのアーキテクチャを提供する。各コンポーネントは、自らの挙動を指定する記述を含む。この記述は、コンポーネントのすべての動作モードにおいてコンポーネントによって処理されることが可能な形式で利用可能である。この記述は、入力パラメータおよび出力パラメータの数、入力パラメータおよび出力パラメータのタイプ、カテゴリ、名前、説明、表明、および制約に関する情報から構成されるが、それらには限定されない。さらに、ユーザによるコンポーネントの選択が、自動構成プロセスを呼び出す。このプロセスは、他のすべてのコンポーネントに関する情報を有する単一のコンポーネントにより、またはアプリケーションに追加されるコンポーネントによって提供される情報に基づいて任意のコンポーネントによって制御されることが可能である。自動構成は、以下のステップから成る。iコンポーネントの接続:各コンポーネントが、そのコンポーネントの入力データを提供する、またはそのコンポーネントの出力データを必要とする他のコンポーネントに接続される。この接続は、直接コンポーネント対コンポーネントまたは間接一続きのコンポーネントを介してであることが可能である。ii実行メソッドの構成:実行メソッドは、以下ような情報を決定する。-コンポーネントが実行される順序、-あるコンポーネントから別のコンポーネントにどのようにデータが渡されるかのメソッド、-生成されるデータタイプ、-実行中、どのようにデータが蓄積されるかのメソッド、および-どれだけの期間、データを記憶しなければならないか、またいつデータを削除することができるか。実行メソッドは、アプリケーションの動作モード、ユーザの対話、およびデータの入力に応じて使用されるサブメソッドを含む。サブメソッドは、例えば、入力データ例えば、獲得トリガ信号、画像取り込み、または他の入力チャネルの可用性によって呼び出される。この場合、この入力データを必要とするすべてのコンポーネント、およびこれらのコンポーネントに依存するコンポーネントすなわち、そのコンポーネントの結果を必要とするコンポーネントが実行される。さらに、サブメソッドは、入力データ例えば、画像とのユーザ対話によって呼び出される。この場合、この種類のユーザ対話に対して反応することが可能なすべてのコンポーネントが、操作されたデータ、ならびに対話の情報例えば、マウス座標を伴って実行される。さらなる例は、ユーザによるコンポーネントのパラメータの変更である。この場合、やはり、コンポーネント、ならびにそのコンポーネントに依存するすべてのコンポーネントが実行される。この他、実行メソッドは、好ましくは、動作モードに応じて自動的に変更される。例えば、構成モードでは、較正コンポーネントが実行され、またアプリケーションモードでは、入力データの変更に応じてパラメータを適合するコンポーネントが実行される。さらに、コンポーネントを並列に実行することができる。iiiすべてのコンポーネント間の広域通信:実行の順序、およびデータを渡すパスを指定するのに必要とされるコンポーネントの接続の他に、情報を渡すコンポーネント間の接続が確立される。この通信により、あるコンポーネントから別のコンポーネントに情報例えば、コンポーネントの記述またはコンポーネントのステータスを渡すこと、例えば、別のコンポーネントを実行しているコンポーネント間でメッセージを送信すること、他のコンポーネントの結果またはステータスを表示すること、および別のコンポーネントのためにグラフィカルユーザインターフェースとして動作することのようなアクションが可能になる。iv処理されなければならないデータの決定、すなわち、設計モードおよびユーザモードで生じる状態、アプリケーションの特性、およびコンポーネント間の接続。これに基づき、設計モード中およびユーザモード中にすべての必要なデータを記憶し、再ロードする自動プロセスが呼び出される。このデータは、ユーザインターフェースの外観およびフィール、コンポーネントのパラメータ、または関心領域を含むが、それらには限定されない。前述した構成プロセスは、次の特性を有する。構成プロセスは、例えば、アプリケーションに追加のコンポーネントを導入することにより、またはアプリケーションのステータスを変更することによって繰り返し実行することができる再構成。ステータスの変更は、外部から実行することユーザにより、またはデータの入力により、またはシステムによって内部で実行することが可能である。さらに、構成と再構成はともに、設計時間中およびプログラム実行中に行うことができる。以下の有利な特徴が、本発明に関連している。プログラミングが全く必要ない。これにより、時間が節約され、それほど技能のないユーザがアプリケーションを開発することが可能になる。実行メソッドが自動的に決定される。これにより、時間が節約され、プログラミングの誤りが全く導入されないことが保証される。これに加えて、余計なプログラミングの労力なしに異なる実行メソッドを使用することができる。複数の実行メソッドにより、アプリケーションの使用が非常に直観的になる。この理由は、アプリケーションが、標準の実行メソッドを自動的にサポートするが、ユーザ対話を扱うメソッドに自動的に切り替わることが可能だからである。さらに、システムは、意味のある1組のコンポーネントが選択されているか、すなわち、それらのコンポーネントをアプリケーションに接続することができるかどうか、または重要なコンポーネントが欠如しているかどうかをユーザに知らせることができる。本発明のコンポーネントは、処理されるデータを自動的に生成し、管理する。これにより、時間が節約され、すべての必要なデータが利用可能であること、およびプログラミングの誤りが全く導入されないことが保証される。さらに、再プログラミングが全く必要とされないため、使用されるデータ関心領域のようなの数を変更するのが非常に容易である。コンポーネント間のデータの受渡しが、自動的に提供される。これにより、時間が節約され、プログラミングの誤りが全く導入されないことが保証される。コンポーネントが、他のコンポーネントのためのグラフィカルユーザインターフェースとして動作することができる。これにより、必要とされるグラフィカルユーザインターフェースの部分の容易な生成が可能になる。コンポーネントが、複数のグラフィカルユーザインターフェースを有することが可能である。これにより、グラフィカルユーザインターフェースをユーザの必要に対して最適に適合させることができるアプリケーションをユーザが開発できるようになり、その延長として、アプリケーションが、グラフィカルユーザインターフェースを動的に変更して自らを使用の要件に適合させることができる。設計モードのステータスおよびユーザモードのステータスが、同じ機構で保管されるまた再ロードされる。これにより、状態情報を失うことなく、両モード間で両方向でユーザが切り替えを行うことができるようになる。さらに、状態情報がアプリケーションとは独立に記憶されるため、必要な場合、状態情報を交換することが可能である。本発明では、ユーザモードは、サブモードに下位分割される。これにより、適切なサブモードに切り替えることによってアプリケーションの挙動を容易に変更できるようになる。通常のモードは、例えば、管理者モード例えば、アプリケーションのすべての機能に対する完全なアクセス、構成モード例えば、測定されなければならない新しいオブジェクトにアプリケーションを適合させるのに必要とされるすべての機能に対するアクセス、またはアプリケーションモード最小限の対話および最小限のフィードバックでアプリケーションを実行するであることが可能である。これにより、アプリケーションが、業界の要件にはるかによくかなうようになる。本発明では、設計モードにおいてすべてのコンポーネントを同時に実行することができる。これにより、アプリケーションをはるかに容易に試験を行うことが可能になる。これに加え、設計モードとユーザモードの間の混乱を招く区別が、ほどんどなくなる。さらに、これにより、より少ない数のウインドウを使用してデータを表示することができるようになる。一回につき1つのだけのコンポーネントを実行することができる場合、例えば、画像を表示し、結果を重ね合わせ、選択されたパラメータが正しいかどうかを検査するのに追加の表示が必要である。本発明では、すべてのコンポーネントに関して1つの表示を使用することができる。これにより、スクリーン上の空間が節約され、はるかに整合性の高いグラフィカルユーザインターフェースがされる。各コンポーネントは、コンポーネントのすべての機能を完全に使用するのに十分な記述を含む。これが、プログラミングの必要なしにコンポーネントを使用するための基礎である。各コンポーネントは、アプリケーションの他のすべてのコンポーネントに対して自動的にアクセスを有する。これにより、例えば、アプリケーションの挙動を容易に制御することが可能になる。本発明は、生のデータを記述と組み合わせるデータ要素を使用する。これにより、データのはるかに柔軟な使用が可能になる。例えば、データを必要する他のコンポーネントにそのデータを渡すことをその特定のデータタイプに関するメソッドを実現することなく実現することができる。以下において、本発明をさらに詳細に説明する。加えて、提案するシステムアーキテクチャと併せて使用できる好ましい実施形態を説明する。実行モードオブジェクトコンポーネントに基づく標準のシステムは、設計モードおよびユーザ実行モードという2つの動作モードを区別する。設計モードでは、コンポーネントが、ユーザによって選択され、プログラミングされ、構成される。また、設計モードにおいて、単一の選択されたコンポーネントを実行することも可能である。ユーザモードにおいてだけ、完全なアプリケーションが実行される。本発明は、以下の好ましい改良を提供する。設計モード中、単独のコンポーネントだけでなく、完全なアプリケーションすべてのコンポーネントも実行することができる。これは、構成プロセスに関する即時のフィードバックをユーザに提供し、したがって、開発プロセス中に時間を節約する。標準のユーザモードは、複数のサブモードに下位分割される。サブモードに応じて、アプリケーションは、自らの挙動および/またはグラフィカルユーザインターフェースを変更する。ユーザモードの例は、パラメータを適合させることが可能である構成モード、およびアプリケーションの限定された変更だけが許されるアプリケーションモードである。また、これらのサブモードを使用して、例えば、構成モードにおいて較正コンポーネントを自動的に呼び出す、またはユーザレベルに応じてユーザインターフェースを適合させることも可能である。自動保管-ロード機構コンポーネントベースのアプリケーション開発の標準の機構は、設計モードで指定された特性を保管し、特性をもはや同じようには適合させ、保管することができないアプリケーションコードに、その特性を組み込むことである。システムが、ユーザモードで値を保管し、再ロードすることを望む場合、これは、設計モードで使用したのとは異なる機構を使用して実行されなければならない。本発明によれば、保管-ロード機構は、設計モードとユーザモードを区別しない。このことは、次の利点を有する。第1に、両方のモードで、システムステータスを記憶し、再ロードすることが可能である。第2に、この機構は、ユーザにはトランスペアレントである、すなわち、ユーザは、現在、アクティブであるモードに関して気を配る必要がない。この機構は、常に同じ仕方で動作する。第3に、設計モードにおいて記憶されたステータスが、ユーザモードで利用可能であるだけでなく、その逆でも利用可能である。すなわち、ユーザが、実行中にステータスを変更し、設計モードに戻った場合、そのステータスが、やはり利用可能である。第4に、ステータスがアプリケーションにコンパイルされないため、ステータスを容易に交換することができる。これを利用して、例えば、各ユーザに専用ステータスを提供することができる。データ構造の自動的扱い画像または関心領域などのデータ構造を扱う標準の機構は、それらのデータ構造をコンポーネントとして扱うことである。これは、ユーザが、プログラミングを適用してこれらのデータ構造をその他のコンポーネントと接続しなければならないことを意味する。さらに、ユーザが、実行中にいくつのデータ要素が必要とされるかを前もって知っていなければならないか、またはプログラミングが、いっそう複雑になる。本発明の方法では、コンポーネントが、これらのデータ構造を自動的に生成し、管理する。ユーザは、データ構造の数、データ構造の生成、またはデータ構造の破壊に気を配る必要がない。また、必要な場合、前述した機構によってデータを自動的に保管し、再ロードすることも可能である。コンポーネント間でデータの受渡し動作コンポーネント間でデータの受渡しを行う標準の機構は、次の制約を有する。データは、単一方向で渡される、すなわち、あるコンポーネントが、別のコンポーネントによって使用されるデータを提供するが、結果は返されない。第2の点は、データ記述およびデータの扱いに関わる。これまでは、事前定義された内容を有するデータ構造が使用されている。これは、これらのデータ構造を扱う際に、限られた柔軟性しか可能にしない。本発明では、両方向でデータの受渡しを行うことができる。すなわち、呼出し側が、あるコンポーネントに入力データを提供する。これに応答して、コンポーネントは、後続のコンポーネントにデータを送ること、または呼出し元にデータを送り返すことが可能である。また、コンポーネントは、自らに直接に非接続別のコンポーネントにデータを送ることもできる。以上の機構により、例えば、画像および関心領域を表示し、操作するだけでなく、コンポーネントが直接に接続されているか否かとは独立に、すべてのコンポーネントの結果を重ね合わせることも行うビューコンポーネントを構成することができるようになる。本発明は、生のデータ画像マトリックスのようなを抽象データ記述と組み合わせるデータ要素を使用する。通常のデータの例は、画像、アフィン変換、ポイント、較正データ、ストリング、座標、特徴、測定値、またはポリゴンである。データには、常に記述が伴う。記述は標準化された仕方で設計され、各コンポーネントが記述を解釈できるようにしている。これらの記述を実現する方法は、資料で見ることができる。記述は、コンポーネントが必要とするデータにアクセスできるようにするのに使用される。これに加え、この記述に基づき、コンポーネントがデータを操作することが可能である。コンポーネント間で受渡しが行われるデータは、順序付きの1組のデータ要素であることが可能である。スケジューラのようなコンポーネントが、例えば、利用可能なデータのタイプを検査し、そのデータタイプを処理することができるコンポーネントこの情報は、コンポーネントの記述を介してアクセスすることができるにそのデータタイプを渡すことが可能である。また、構成プロセス中にデータ記述を使用してコネクタを参照、そのデータタイプに関してコンポーネントのどのパラメータが適合するかを検査することも可能である。さらに、順序付きセットのデータの使用が、データを集約する容易なやり方をもたらす。例えば、アフィン変換のような変化検出器によって提供されるデータを関心領域に追加して、その領域の位置、向き、およびサイズを修正することができる。このデータは、コンポーネントがそのデータを必要とするか否かとは独立に、すべてのコンポーネントによって引き渡されることが可能である。各コンポーネントは、そのデータを要求し、利用可能である場合、そのデータにアクセスすることができる。他方、すべてのコンポーネントは、コンポーネントが実現されたときにこの特定のデータが知られていたかどうかとは独立に、このデータを引き渡すことができる。複数のグラフィカルユーザインターフェースコンポーネントベースのアプリケーション開発における標準の機構は、コンポーネントが、設計モードにおいて構成することの可能な所与のグラフィカルユーザインターフェースを有することである。本発明によれば、コンポーネントは、好ましくは、複数のユーザインターフェースを有する。これらのインターフェースは、例えば、ユーザの必要に応じて選択される。このことは、2つの可能性をユーザに提供する。最も単純なケースでは、特定グループのユーザの必要に最も良く適合するインターフェースが選択される。画像処理エキスパートが、例えば、すべてのパラメータに対する完全なアクセスを望む。より複雑な適用例では、複数のグラフィカルユーザインターフェースを1つのプログラムに組み込まなければならない。経験を積んだユーザが、システムセットアップ中、画像処理パラメータにアクセスする必要がある。アプリケーションが日常モードで実行されているときには、開始および停止のための1つのボタン、およびシステムステータスに関する赤の照明または緑の照明だけがあればよい可能性がある。アプリケーションは、例えば、設計モードにおいて様々なサブモードを活動化することによって生成することができる。モードに応じて、グラフィカルユーザインターフェースが構成される。ユーザモードでは、異なるユーザインターフェースの間で切り替えを行うのに、サブモードを活動化するだけでよい。以下では、図面を参照しながら本発明をさらに詳細に説明する。図1の実施形態は、フレームグラッバ12およびグラブイメージコンポーネント1を使用して画像を入力するユニットから成る。この画像は、画像を表示し、関心領域と画像処理コンポーネントの結果を重ね合わせるビューア2に接続されている。これに加え、ビューア2は、データを管理し、他のコンポーネントにデータを引き渡す。較正コンポーネント3、変化検出コンポーネント4、およびズーミングコンポーネント5が、ビューア2に直接に接続されている。画像処理部分は、2つのシーケンスから成る。第1のシーケンスは、1つのコンポーネントだけから、すなわち、測定コンポーネント6だけから成る。他方のシーケンスは、blobファインダ7が、特徴抽出コンポーネント8に接続され、コンポーネント8が特徴表示コンポーネント9に接続されている。両方の画像処理部分の結果は、出力コンポーネント10によって出力される。コネクタ11が、活動化された様々なコンポーネント間の接続制御を行う。この実施形態では、ユーザによって選択されたコンポーネント間で接続を自動的に確立するためのコネクタ11が提供されている。データおよびユーザ対話の表示本発明によるシステムは、3つの主なタスクを有する少なくとも1つの特有なコンポーネントすなわち、ビューアを有する。第1のタスクは、画像のような入力データを表示すること、および他のコンポーネントの結果を表示することである。これらの結果は、通常、入力データから導出される。新しい画像が取り込まれたときはいつでも、その画像は、ビューア2において表示される。次に、画像は、画像処理コンポーネントに渡される。画像の中で画像処理コンポーネントが抽出するデータエッジ、ライン、座標、距離、またはポリゴンが、ビューア2に戻され、ビューア2は、画像上にこのデータを重ね合わせ、この視覚化は、データのタイプに依存する。この機能の利点は、画像および結果に関して1つの表示だけが必要とされ、スクリーン上の空間が節約されることである。それに加え、対応するデータが一緒に提示されるため、グラフィカルユーザインターフェースが、より直観的になり、情報をより速やかに認識することができる。ビューア2の第2のタスクは、他のコンポーネントを制御することである。アプリケーションの中で使用されるその他のコンポーネントの記述に基づき、ビューア2は、全体的制御ユニットとして動作することができる。ビューア2は、コンポーネント名、関心領域のサポートされているタイプ、または処理することができるデータタイプのような情報にアクセスする。この情報に基づき、ビューア2は、グラフィカルユーザインターフェースを自動的に生成することができる。他のコンポーネントの一般的プロパティを制御するのに、ユーザは、このグラフィカルユーザインターフェースと対話するだけでよい。これらの対話に基づき、ビューア2は、メッセージを対応するコンポーネントに送る。ビューアの第3のタスクは、関心領域のような追加のデータを他のコンポーネントに提供することである。タイプ情報に基づき、ビューアは、他のコンポーネントが処理することができる入力データの種類について知る。これを使用して、コンポーネントに適合する関心領域を生成する。これらの関心領域は、画像データの上にその関心領域を重ね合わせ、例えば、マウス対話を使用して関心領域を変更または生成することにより、ビューアのグラフィックスウインドウの中で操作することができる。コンポーネントが実行されるとき、対応する関心領域が画像と組み合わされ、入力として渡される。コンポーネントのカテゴリタスクおよびコンポーネントの挙動に依存して、コンポーネントは、カテゴリに割り当てられる。したがって、カテゴリは、同様の挙動を有する1組のコンポーネントである。カテゴリは、例えば、アプリケーションのための実行メソッドを生成するため、またはコンポーネントを接続するために使用される。以下に、カテゴリの例および対応するタスクを提示する。ビューア:入力データを表示し、そのデータを関心領域および他のコンポーネントの結果と重ね合わせる。メタコンポーネント:アプリケーションの全体の構造を表示し、制御フローを統計的に表示し、また実行中、使用されるリソースおよび実行時間を表示する。入力:シリアルインターフェースまたはデジタルI/Oのような他のソースからの画像データおよびデータの入力出力:ファイル、シリアルI/O、またはバスのようなデバイスにプロセスの結果を出力する。較正:形状較正または放射較正のようなビジョンシステムおよび入力デバイスの較正。変化検出:入力データ照明または基準オブジェクトの位置のようなにおける変化が検出され、変化情報が、他のコンポーネントに引き渡される。検査:これらのコンポーネントは、画像のような入力データから情報を抽出するのに使用される。これは、例えば、ズーミング、ヒストグラム、雑音レベル、照明、コントラスト、またはシャープネスであることが可能である。認証:アプリケーションを使用することを望むユーザは、自らの身元を明らかにしなければならない。この情報に基づき、アプリケーションは、使用を拒否する、自らの挙動を変更する、グラフィカルユーザインターフェースを変更する、またはユーザモードを選択することができる。グラフィカルユーザインターフェース:コンポーネントは、データ処理を行う別のコンポーネントと組合せで使用される単なるグラフィカルユーザインターフェースであることが可能である。そのようなコンポーネントは、コンポーネントの機能性の部分的制御を可能にする。コンポーネントは、好ましくは、例えば、ユーザまたはユーザモードに応じて選択することができる複数のユーザインターフェースを有する。画像処理:このコンポーネントは、図象データを入力として有し例えば、画像、領域、またはポリゴン、また図象データおよび/または数値データを出力する。データ処理:これらのコンポーネントは、特徴抽出の結果またはシリアルインターフェースの入力のような一般的データを処理する。実行メソッドアプリケーションの実行は、3つのメソッドを有するが、ただし3つに限定されず、3つのメソッドは、次のとおり、ユーザの対話または他のデバイスからの入力によってトリガされる。i入力データ例えば、外部トリガ、画像取り込み、または他の入力チャネルによって駆動される:この場合、このデータを必要とするすべてのコンポーネントが実行される。これは、自動的に生成されたスケジュールに従ってすべてのコンポーネントを実行するように行われる。実行のこのシーケンスは、受動的入力からトリガされるまたは能動的例えば、フレームグラッバからデータを要求してであることが可能である。ii入力データ例えば、画像とのユーザ対話:この場合、この種類のユーザ対話に反応することができるすべてのコンポーネントが、その対話の情報とともに操作されたデータを伴って実行される。例として、ユーザが、画像を表示するビューアのグラフィックスウインドウの中でマウスを動かす。この対話は、ポイントとの組合せで画像を処理することができるすべてのコンポーネント例えば、ズーミングのためのコンポーネントの実行をもたらす。iiiユーザが、コンポーネントのステータスパラメータを変更する:この場合、そのコンポーネントが、そのコンポーネントに依存するすべてのコンポーネントとともにやはり実行される。ユーザが、例えば、blob分析のしきい値を変更した場合、スケジューラが、blob分析を実行し、blob分析は、ビューアにおいて対応する画像上に重ね合わせることができる新しいセグメンテーションを生成する。標準の実行メソッドを説明する前に、スケジューラの目的および機能を説明する。スケジューラは、実行の順序を指定し、データを管理し、コンポーネント間でデータの受渡しを行い、コンポーネントを実行する本発明の部分である。スケジューラを実現する3つの主なやり方が存在する。-スケジューラは、他のすべてのコンポーネントに接続されるコンポーネントである。本発明によって提案されるコンポーネント通信のための機構、例えば、コンポーネントの実行およびデータの転送を使用することにより、このコンポーネントは、スケジューラの機能を実現する。-スケジューラは、コネクタのようなソフトウェアモジュールである。このモジュールは、コンポーネントがコネクタに接続する際にそのコンポーネントに接続される。この接続に基づき、スケジューラは、スケジューラの機能を実現することができる。この実現形態では、ユーザは、アプリケーションにスケジューラコンポーネントを追加する必要がなく、システムの使用がより容易になる。この場合、スケジューラは、コネクタにリンクされるコンパイラの用語法における意味でことになる。-スケジューラは、コンポーネントの間で記述される。あるコンポーネントに特有の機能性は、そのコンポーネントの一部である。これは、コンポーネントを実現する際に使用するライブラリを提供することによって実施することができる。この手法は、必要とされる通信がより少ないため、他の2つの手法より少しだけ高速である。これは、本発明の好ましい実施形態で使用される実現形態である。標準の実行メソッドは、前述したメソッドの第1のメソッドに対応する。このメソッドは、所与の順序ですべてのコンポーネントに適用される1組の規則に基づく。ユーザは、この構成プロセスに気を配る必要がない。メインループ:スケジューラは、所与の順序でコンポーネントを実行する。スケジューラは、データを入力する例えば、画像を取り込むコンポーネントから開始する。これらのコンポーネントが新しいデータを提供するときはいつでも、すべての直接および間接に依存するコンポーネントが実行される。シーケンスを一巡した後、プロセスは、始めから開始する。このリスタートは、トリガ信号のような外部イベントにより、またはデータを能動的に要求することによって起動されることが可能である。両方のケースで、システムは、データが利用可能になるまで待って、標準の実行シーケンスをリスタートしなければならない。例えば、ユーザによって生じさせられた対話が存在する場合はいつでも、システムは、前述した他の2つの実行メソッドの1つに切り替えることができる。この切替えは、システムが実行シーケンスの終了に到達したときに行われることが可能である。これにより、整合性のある結果だけが計算されることが確実になる。データの入力:第1のアクションは、画像を取り込むこと、またはその他の外部データにアクセスすることである。この入力は、能動的に起動されること、または外部信号によって起動されることが可能である。図1で、コンポーネント1が実行される。表示すること:サブモードおよび使用されるプロパティに応じて、画像が表示される。オプションとして、画像を関心領域またはその他の入力データと重ね合わせることができる。図1で、コンポーネント2ビューアが実行される。一次ビジョンループ:実行サブモードに応じて、特定の前処理コンポーネントが実行される。検査:これらのコンポーネントは、すべてのサブモードで使用される。図1で、これは、コンポーネント5ズーミングに対応する。較正:これらのコンポーネントは、構成モードで使用される。これらのコンポーネントは、実行されたとき、アプリケーションモードで後に使用するために記憶されなければならないデータを戻す。このデータは入力データに追加されて、ビジョンコンポーネントが、結果を較正し、自らの精度を高めることができるようにする。図1で、これはコンポーネント3に対応する。変化検出:アプリケーションモードで、これらのコンポーネントは、表示によって画像に追加され、ビジョンコンポーネントが、これらの変化を補償することができるようにするデータを戻す。図1で、これは、コンポーネント4に対応する。ビジョンループ:スケジューラは、一次コンポーネントからのデータ例えば、較正データ3または変化検出4を画像と組み合わせる。次に、すべての接続されたビジョンコンポーネントのためのループが開始される。これは、それぞれの直接に接続されたビジョンコンポーネントが、情報を提供されて、開始されることを意味する。この結果、そのコンポーネントのすべての後続のコンポーネントも実行される。それぞれの直接に接続されたビジョンコンポーネントに関して、スケジューラは、関心領域のリストを有する。このリストも、画像データに追加される。実行:合成画像データが、ビジョンコンポーネントに渡されて、実行される。後続のコンポーネント:コンポーネントは、後続のコンポーネントを有する場合、自らの入力データを自らの結果と合わせて後続のコンポーネントに引き渡し、後続のコンポーネントを実行する。必要な場合、コンポーネントは、後続のコンポーネントに引き渡す前に入力データを変更することができる。このプロセスが、すべての後続のコンポーネントが実行されるまで繰り返される。ビジョン結果:コンポーネントが結果を計算したときはいつでも、結果がビューアに戻されることが可能であり、ビューアにおいて、その結果をそれまでに表示されている画像およびその他のデータと重ね合わせることができる。結果を表示するこのやり方は、コンポーネントが直接に接続されているか否かとは独立に機能する。非図象結果:面積、距離、またはテキストのようなデータも、スケジューラに戻される。この場合、すべての結果が利用可能になるまでデータを収集することができる。制御メッセージ:コンポーネントが、ハードウェア、例えば、フレームグラッバを制御するのが必要である可能性がある。この場合、このコンポーネントは、所望のアクションを生成するメッセージをスケジューラに送り返すことができる。図1において、2つのシーケンスが利用可能である。第1のシーケンスは、測定コンポーネント6だけから成る。このシーケンスが最初に実行される。測定の結果は、ビューア2に戻される。第2のシーケンスは、コンポーネント7、8、および9から成る。これらのコンポーネントは、この順序で実行される。結果は、最後のコンポーネント9、すなわち、シーケンスの特徴表示によってビューア2に戻される。出力:すべてのビジョンコンポーネントが実行された後、ビューア2において結果のデータが利用可能である。したがって、結果のデータは、すべての接続された出力コンポーネントに渡される。図1では、1つの出力コンポーネント10が接続されている。実行が対話によって生じさせられる場合、ユーザが実行メソッドに影響を与えることができる2つのやり方が存在する。第1のやり方によれば、ユーザは、ビューアにおいて見ることができるデータと対話する。ユーザが、画像のような入力データ上をポイントした、またはそのデータ上でクリックした場合、ビューアは、実行が標準の実行メソッドで行われる限り、それらのイベントを収集する。スケジューラが、標準の実行シーケンスを終了したとき、対話が検査され、また例えば、重複が除去される。次に、この種類のデータを処理することができるすべてのコンポーネントが、マウス位置およびボタンプレスデータと組み合わされた現在、利用可能なデータを伴って実行される。その後、スケジューラは、標準の実行メソッドに取りかかることができる。図1で、マウス対話を処理することができる1つのコンポーネント、すなわち、ズーミングコンポーネント5が接続される。このコンポーネントが、この場合、実行される。別法では、ユーザは、例えば、画像処理パラメータを変更することによって任意のコンポーネントと対話する。これが行われるときはいつでも、コンポーネントは、自らが再実行されなければならないことをスケジューラに知らせる。スケジューラは、この要求を送ったコンポーネントのリストを保持する。標準の実行シーケンスが終了したとき、このリストが処理される。これは、リストのコンポーネントを含むすべてのサブシーケンスが、再実行されることを意味する。例として、ユーザが、図1のblobファインダ7と対話する。これは、コンポーネント7、8、および9の再実行をもたらす。用途に応じて、前述した実行メソッドが、好ましく使用されるに過ぎない。前述した実行メソッドは、時間がクリティカルな重要性を有する用途では必要ない。さらに、古いデータを使用する代りに、例えば、フレームグラッバからの新しいデータとともにコンポーネントを処理することが可能である。次に、実現の詳細を説明する。新しいコンポーネントをプログラミングする際に誤りを回避し、新しいコンポーネントを開発するタスクを容易にするため、以下の規則を適用することができる。第1に、基本データ構造、およびすべてのコンポーネントに共通するメソッドを実現するルートクラスが使用される。このクラスは、すべてのコンポーネントに対するインターフェースとして使用される。これにより、すべてのコンポーネントが同一の基本機能性を有することが保証される。ルートクラスは、本発明のコンポーネントに共通するすべての機能性を実現することができる。これに加えて、ルートクラスから導出された各カテゴリごとに1つのクラスが実現される。これらのクラスは、そのカテゴリに特有のデータ構造およびメソッドを実現する。これらのクラスは、特定のカテゴリに属するコンポーネントに対するインターフェースとして使用される。最後に、各コンポーネントが、1つのカテゴリのクラスから導出される。これにより、コンポーネントが、コンポーネントの共通で有するすべての機能を有し、およびそれに加えて、カテゴリに特有の機能を有することが保証される。設計モードおよびユーザモードにおけるロード/保管に関して、以下のことに留意されたい。コンポーネントが、セッション中に初めて呼び出されたとき、それが設計モードで行われるか、ユーザモードで行われるかとは独立に、このコンポーネントの状態が、アプリケーションのコンテキストにロードされる。アプリケーションとの組合せでコンポーネントに関する状態情報が全く利用可能でない場合、デフォルトの値が戻される。例えば、実行の終了時または設計時間の終了時にコンポーネントが破壊されるとき、そのステータスが保管される。このデータは、アプリケーションのコンテキストの中に記憶される。これは、アプリケーションの状態情報が、アプリケーションに属するコンポーネントの状態のセットとして定義されることを意味する。アプリケーションの状態情報は、例えば、ファイルの中、またはオペレーティングシステムのレジスタの中に記憶することができる。例以下の例は、カメラからの画像を取り込み、これらの画像をビューアにおいて表示し、画像の中のバーコードを調べ、そのコードを読み取り、その結果をシリアルインターフェースに渡す通常のアプリケーションの開発を説明している。さらに、オンラインズーミングが、画像を検査するために追加される。開発環境を開始することこの例は、アプリケーションを開発するのにマイクロソフトビジュアルベイシックMicrosoftVisualBasicが使用されることを想定している。したがって、この環境は、ユーザによって開始され、標準Standard-EXEが選択される。この後、ユーザは、メニュープロジェクトの中でダイアログコンポーネントを選択して、本発明のコンポーネントを活動化する。各コンポーネントの活動化の後、コンポーネント選択においてアイコンが表示される。この時点で、ユーザは、アプリケーションの開発を開始することができる。図2は、コンポーネント左下の活動化の後のビジュアルベイシックを示している。中央のエリアフォーム1を使用してアプリケーションのコンポーネントを配置する。ビューアの選択第1のステップとして、ユーザが、ビューアのアイコンをダブルクリックする。これは、開発中のアプリケーションのフォームの中に自動的に配置されるこのコンポーネントのインスタンスを生成する図3参照。ビューアのサイズ、位置、およびその他のプロパティは、ユーザが変更することができる。これは、マウスでビューアを操作することにより例えば、位置およびサイズ、またはプロパティを直接に変更することによって例えば、ウインドウの右下のプロパティページを使用して行うことができる。ビューア2が、フォームフォーム1上に配置されたとき、コンポーネントの初期化ルーチンが実行され、その後、このコンポーネントが、フォーム上に描かれる。初期化ルーチン中、コンポーネントは、コネクタ11の登録ルーチンを呼び出す。コンポーネントは、自らに対する参照をパラメータとしてコネクタに渡す。コネクタ11は、初めて呼び出されるので、自らのデータ構造を初期化する。コンポーネントに対する参照を使用して、コネクタは、コンポーネントの記述にアクセスすることができる。コネクタは、まず、そのコンポーネントが入力コンポーネントであるかどうかを調べる。ビューア2は、入力コンポーネントではないので、非接続コンポーネントのリストに入れられる。接続されているコンポーネントのリストは、空のままである。したがって、単一のビューアコンポーネントは、アプリケーションを実現しない。ユーザが、コンポーネントと対話するときはいつでもマウスを使用することにより、またはプロパティを変更することにより、コンポーネントの対応するルーチンが実行される。フレームグラッバコンポーネントの選択この例の次のステップとして、ユーザが、フレームグラッバコンポーネント12のアイコンをダブルクリックすることによってフレームグラッバコンポーネント12を選択する。この結果、このコンポーネントが、フォーム上に配置される。ビューア2と同様に、ユーザは、対話式にサイズ、位置、およびその他のプロパティを適合させる。これらのアクションの結果を図4で見ることができる。フレームグラッバコンポーネント1は、フォーム上に配置されたとき、コネクタ11を呼び出すビューア2と同様に。自らに対する参照をコネクタに渡すことにより、自動接続プロセスが起動される。コネクタは、まず、コンポーネントのカテゴリを調べる。このカテゴリは、入力であるため、フレームグラッバ1は、アプリケーションの第1のコンポーネントとなる。これまで、コンポーネントは、全く接続を有していない。第2のステップとして、コネクタは、非接続コンポーネントのリストの中のコンポーネントを再検査する。この場合、1つだけのコンポーネント、つまり、ビューアが利用可能である。この時点で、接続パラメータに関するすべての規則が試験される。この場合、フレームグラッバが、ビューアに接続される。この理由は以下のとおりである。入力コンポーネントは、ビューコンポーネントに接続することができる。フレームグラッバの出力タイプは、画像であり、またビューアの入力タイプは、画像である。したがって、フレームグラッバ12は、ビューア2に接続され、また、ビューア2も、フレームグラッバ12に接続される。これは、両方のコンポーネントとも、他方のコンポーネントに対する参照を獲得することを意味する。この参照を使用して、両方のコンポーネントは、データを交換し、互いのルーチンを呼び出すことができる。設計モードにおける実行アプリケーションを設計モードで実行するため、ユーザは、フレームグラッバ上で右マウスボタンをクリックする。これは、ポップアップメニューを生じさせ、最後のエントリ編集が選択される。これにより、ユーザは、コンポーネントのグラフィカルエンティティボタン、オプションメニュー等を使用できるようになる。これらのエンティティを使用して、ユーザは、適切なフレームグラッバおよびそのパラメータを選択し、フレームグラッバをオンラインに切り替える。ユーザが、ポップアップメニューを使用してコンポーネントを活動化したとき、コンポーネントのすべてのデータ構造およびルーチンがアクティブになる。すなわち、ユーザの対話によってコンポーネントが呼び出されたとき、すべてが実行されることが可能である。ユーザが、フレームグラッバのパラメータを変更したとき、フレームグラッバは、カメラからの信号にアクセスする。これにより、フレームグラッバコンポーネント内で画像が生成される。フレームグラッバは、ビューアに接続されているのでデータソースとして、その画像をビューアに渡す。これにより、ビューアが活動化され、ビューアは、その画像を表示する。フレームグラッバは、アクティブに留まっている限り、画像を生成し、画像は、ビューアに引き渡されて表示される。ユーザにとっての効果は、ビューアにおいて見ることができるオンライン画像であり、フレームグラッバパラメータは、フレームグラッバコンポーネントにおいて編集される。図5が、オンライン画像を有するビューアを示している。オンラインズーミングコンポーネントの選択画像の品質を検査するため、ユーザは、オンラインズーミングコンポーネント5を追加する。このアクションは、前の2つのコンポーネントのアクションと同じである。この場合、ズーミングコンポーネントは、ビューアに接続される。この理由は、ズーミングコンポーネントのカテゴリが検査であり、検査コンポーネントは、ビューコンポーネントに接続することができ、ズーミングコンポーネントの入力データタイプは、画像であり、またビューアは、出力データタイプ画像を提供するからである。次に、ユーザが、ビューアを活動化する。マウスが表示の中で動かされたとき、ズーミングコンポーネントは、マウスが位置している画像の部分を表示する。システムに関して、次の2つのアクションが、オンラインズーミングのために重要である。画像がビューアに渡されたフレームグラッバからときはいつでも、その画像が、ズーミングコンポーネントに自動的に引き渡される。さらに、ユーザが、ビューアの表示の中でマウスを使用して対話する場合、ズーミングコンポーネントが、画像およびマウス座標で呼び出される。図6は、ズーミングコンポーネントをフォーム上に配置した結果を示している。それに加えて、ビューアにおいてマウスを動かすことの効果を見ることができる。ユーザモードにおける実行図7は、ユーザモードにおけるアプリケーションを示している。ユーザが、ビジュアルベイシック環境の実行ボタンを押して、ユーザモードでアプリケーションを実行する。これにより、プログラムが独立型アプリケーションとして開始される。ユーザは、通常の仕方でフレームグラッバパラメータを編集し、オンラインズーミングコンポーネントにおいて画像を表示してアプリケーションと対話することができる。最後に、ユーザは、アプリケーションを停止し、設計モードに戻る。ユーザでアプリケーションに適用された変更は、設計モードにおいて再び利用することができる。ユーザが、実行ボタンを押したとき、アプリケーションのすべてのコンポーネントが破壊される。これが行われる前に、コンポーネントは、自らの状態情報パラメータ設定のようなを特別状態ファイルの中に保管する。この後、ビジュアルベイシックが、実行される実行可能ファイルを作成する。これが行われたとき、すべてのコンポーネントが新たに作成され、その対応する位置に配置される。この後、コンポーネントは、ファイルから自らの状態情報を読み取り、適宜に自らを再構成する。次に、すべてのコンポーネントが、コネクタを呼び出して、設計モードにおいて使用されたのと同じ接続を生成する。最後に、アプリケーションは、ユーザの入力を待つ。ユーザが、フレームグラッバのスイッチをオンにしたとき、システムが、デフォルトの実行機構で実行される。つまり、フレームグラッバコンポーネントが、画像を待ち、画像をビューアに渡し、ビューアが、その画像を表示し、その画像をズーミングコンポーネントに引き渡す。ユーザが、ビューアの表示の中でマウスを動かしたときはいつでも、そのマウス座標でズーミングに対する追加の呼出しが生成される。ユーザが、アプリケーションを停止したとき、すべてのコンポーネントが破壊される。その前に、コンポーネントは、自らの状態情報を状態ファイルの中に保管する。ビジュアルベイシックが、設計モードに戻ったとき、コンポーネントが新たに生成され、その状態情報が再ロードされて、コンポーネントが再接続される。図7は、ユーザモードにおけるアプリケーションを示している。バーコードコンポーネントの選択アプリケーションを完成させるため、ユーザは、バーコードリーダをアプリケーションに追加する。図8は、バーコードリーダを選択した結果を示している。このコンポーネントは、選択されて、生成されたとき、アプリケーションに接続される。以下の規則が使用される。バーコードリーダは、ビジョンコンポーネントである。ビジョンコンポーネントは、ビューアに接続することができる。バーコードリーダの入力タイプは、画像である。ビューアは、画像のための出力を有する。関心領域を定義すること最後に、グラフィカルコンポーネントをアプリケーションに追加して関心領域を作成し、編集する。関心領域コンポーネントは、ビューアに接続される。この理由は、以下のとおりである。このコンポーネントのカテゴリは、グラフィカルユーザインターフェースコンポーネントであり、またグラフィカルユーザインターフェースコンポーネントは、ビューアに接続することができる。このコンポーネントが接続された後、ビューアは、ビューアに依存するすべてのコンポーネントに関する情報をこの新しいコンポーネントに提供する。この情報から、以下が選択される。接続されているコンポーネントの名前サポートされる関心領域のタイプ関心領域の最大数この情報を使用して、適宜にダイアログが構成される。ユーザモードにおける実行ユーザモードにおけるアプリケーションを実行するため、ユーザが、実行ボタンを押す。ユーザモードでは、バーコードリーダに関する関心領域が指定される。これを行うことにより、アプリケーションが、自動的に実行され、特定の関心領域を有するバーコードリーダが実行される。ユーザが、バーコードリーダのパラメータを変更したとき、このコンポーネントは、新しいパラメータを伴って再実行される。フレームグラッバが新しい画像を提供したとき、ビューアが、その画像を表示し、ズーミングコンポーネントおよびバーコードコンポーネントを実行する。ステータスが、設計モードからユーザモードに変化したとき、およびその逆のとき、前述した同一の機構が実行される。ユーザが、関心領域コンポーネントにおいてあるコンポーネントを選択したとき、そのコンポーネントによってサポートされる関心領域のタイプを選択することができる。それらのタイプのどれかを選択することにより、ユーザは、ビューアにおいて関心領域を対話式に生成することができる。この関心領域は、それが属するコンポーネントに関する情報とともにビューアで記憶される。所与の例ではバーコードリーダである、そのコンポーネントが実行されるときはいつでも、画像がそのコンポーネントに渡されるとき、関心領域がその画像と自動的に組み合わされる。図9は、ユーザモードにおけるアプリケーションを示している。関心領域コンポーネント左中間において、コンポーネント1Dバーコードおよび長方形の関心領域タイプが選択される。生成された関心領域は、例えば、ビューアにおける赤の長方形として見ることができる。バーコードコンポーネント左上において、復号化の結果が表示される。コードに対応する領域は、例えば、ビューアにおける青の枠として表示される。これは、セグメンテーションの結果をビューアに戻し、その結果を画像に対して重ね合わせることによって行われる。アプリケーションを保管することユーザは、設計モードに戻ったとき、標準のビジュアルベイシック機構を使用して独立型アプリケーションを生成することができる。これにより、exeファイル、および状態情報を含むファイルが生成される。