(57)【特許請求の範囲】
【請求項１】
製品の製造または処理を監視し制御するためにグラフィカルユーザインタフェースを構築および使用するためのシステムであって、
（ａ）前記グラフィカルユーザインタフェースの構築の際にグラフィックオブジェクトに関数をリンクさせるための情報を入力する第１インタフェース、および、前記グラフィカルユーザインタフェースの使用の際に全ての要求されるパラメータを渡す第２インタフェースを実装する複数の関数ソースを有する第１リポジトリと、
（ｂ）構築されたグラフィカルユーザインタフェースおよび選択された関数ソースの情報を記憶する第２リポジトリと、
（ｃ）（i）前記構築の際に、前記グラフィカルユーザインタフェースに取り込まれたグラフィックオブジェクトに関数をリンクさせることができるかどうかを判断し、リンクさせることができるならば、前記第１インタフェースを使用して、前記第１リポジトリ内の選択された関数を前記グラフィックオブジェクトにリンクさせるための情報をユーザに入力させ、（ii）前記使用の際に、呼び出される関数ソースの第２インタフェースを使用して全ての要求されるパラメータを渡す関数リンクコンポーネントと、
を備えるシステム。
【請求項２】
前記第１リポジトリは、前記複数の関数ソースの関数をさらに含み、
前記関数リンクコンポーネントは、
前記グラフィカルユーザインタフェースの構築の際に関数をユーザに選択させる手段と、
前記グラフィカルユーザインタフェースの使用の際に前記関数を呼び出す手段と、
をさらに含む請求項１に記載のシステム。
【請求項３】
製品の製造または処理を監視し制御するために異なる関数ソースの関数を用いてグラフィカルユーザインタフェースを構築および使用するためのシステムの作動方法であって、
前記関数ソースは、前記グラフィカルユーザインタフェースの構築の際にグラフィックオブジェクトに関数をリンクさせるための情報を入力する第１インタフェース、および、前記グラフィカルユーザインタフェースの使用の際に全ての要求されるパラメータを渡す第２インタフェースを実装し、
（ａ）前記構築の際に、関数リンクコンポーネントにより、前記グラフィカルユーザインタフェースに取り込まれたグラフィックオブジェクトに関数をリンクさせることができるかどうかを判断し、リンクさせることができるならば、前記第１インタフェースを使用して、選択された関数を前記グラフィックオブジェクトにリンクさせるための情報をユーザに入力させ、前記入力された情報を検証するステップと、
（ｂ）前記検証の後、前記関数リンクコンポーネントにより、前記選択された関数を前記グラフィックオブジェクトにリンクするステップと、
（ｃ）前記使用の際に、前記関数リンクコンポーネントにより、呼び出される関数ソースの第２インタフェースを使用して全ての要求されるパラメータを渡すステップと、
を含む方法。
【請求項４】
製品の製造または処理を監視し制御するために異なる関数ソースの関数を用いてグラフィカルユーザインタフェースを構築および使用するためのシステムの作動方法であって、
前記関数ソースは、前記グラフィカルユーザインタフェースの構築の際にグラフィックオブジェクトに関数をリンクさせるための情報を入力する複数の第１インタフェース、および、前記グラフィカルユーザインタフェースの使用の際に全ての要求されるパラメータを渡す複数の第２インタフェースを実装し、
（ａ）前記構築の際に、関数リンクコンポーネントにより、前記グラフィカルユーザインタフェースに取り込まれたグラフィックオブジェクトに関数をリンクさせることができるかどうかを判断し、リンクさせることができるならば、前記第１インタフェースを使用して、選択された関数を前記グラフィックオブジェクトにリンクさせるための情報をユーザに入力させ、前記入力された情報を検証するステップと、
（ｂ）前記検証の後、前記関数リンクコンポーネントにより、前記選択された関数を前記グラフィックオブジェクトにリンクするステップと、
（ｃ）前記使用の際に、前記関数リンクコンポーネントにより、呼び出される関数ソースの第２インタフェースを使用して全ての要求されるパラメータを渡すステップと、
を含む方法。
【請求項５】
前記第１および第２インタフェースを有する複数の関数ソースをリポジトリに登録するステップをさらに含む請求項４に記載の方法。
【請求項６】
製品の製造または処理を監視し制御するために異なる関数ソースの関数を用いてグラフィカルユーザインタフェースを構築および使用するためのシステムの作動方法であって、
前記関数ソースは、前記グラフィカルユーザインタフェースの構築の際にグラフィックオブジェクトに関数をリンクさせるための情報を入力する第１インタフェース、および、前記グラフィカルユーザインタフェースの使用の際に全ての要求されるパラメータを渡す第２インタフェースを実装し、
（ａ）前記構築の際に、関数リンクコンポーネントにより、前記グラフィカルユーザインタフェースに取り込まれたグラフィックオブジェクトに関数をリンクさせることができるかどうかを判断し、リンクさせることができるならば、前記第１インタフェースを使用して、選択された関数を前記グラフィックオブジェクトにリンクさせるための情報をユーザに入力させ、前記選択された関数を前記グラフィックオブジェクトにリンクするステップと、
（ｂ）前記使用の際に、前記関数リンクコンポーネントにより、呼び出される関数ソースの第２インタフェースを使用して全ての要求されるパラメータを渡すステップと、
を含む方法。
【請求項７】
製品の製造または処理を監視し制御するために異なる関数ソースの関数を用いてグラフィカルユーザインタフェースを構築および使用するためのシステムの作動方法であって、
前記関数ソースは、前記グラフィカルユーザインタフェースの構築の際にグラフィックオブジェクトに関数をリンクさせるための情報を入力する複数の第１インタフェース、および、前記グラフィカルユーザインタフェースの使用の際に全ての要求されるパラメータを渡す複数の第２インタフェースを実装し、
（ａ）前記構築の際に、関数リンクコンポーネントにより、前記グラフィカルユーザインタフェースに取り込まれたグラフィックオブジェクトに関数をリンクさせることができるかどうかを判断し、リンクさせることができるならば、前記第１インタフェースを使用して、選択された関数を前記グラフィックオブジェクトにリンクさせるための情報をユーザに入力させ、前記選択された関数を前記グラフィックオブジェクトにリンクするステップと、
（ｂ）前記使用の際に、前記関数リンクコンポーネントにより、呼び出される関数ソースの第２インタフェースを使用して全ての要求されるパラメータを渡すステップと、
を含む方法。
【請求項８】
前記第１および第２インタフェースを有する複数の関数ソースをリポジトリに登録するステップをさらに含む請求項７に記載の方法。
【請求項９】
複数の関数ソースをリポジトリに登録するステップと、
前記グラフィカルユーザインタフェースの構築の際に関数をユーザに選択させるステップと、
前記グラフィカルユーザインタフェースの使用の際に前記関数を呼び出すステップと、
をさらに含む請求項３から７のいずれか１項に記載の方法。
【請求項１０】
前記選択された関数を前記グラフィックオブジェクトにリンクするステップは、前記関数を構築するユーザのために、選択された関数ソースのユーザインタフェースを提供するステップをさらに含む請求項３から９のいずれか１項に記載の方法。
【請求項１１】
前記選択された関数を前記グラフィックオブジェクトにリンクするステップは、前記選択された関数についての一般的な名称を登録するステップをさらに含む請求項３から９のいずれか１項に記載の方法。
【請求項１２】
前記選択された関数を前記グラフィックオブジェクトにリンクするステップは、前記グラフィカルユーザインタフェースの使用の際に前記関数の起動を有効または無効にするための条件を定義するステップをさらに含む請求項３から９のいずれか１項に記載の方法。
【請求項１３】
前記選択された関数を前記グラフィックオブジェクトにリンクするステップは、前記構築されたグラフィカルユーザインタフェースおよび前記選択された関数を記憶するステップをさらに含む請求項３から９のいずれか１項に記載の方法。
【請求項１４】
前記関数ソースおよび／または前記第１および第２インタフェースをリポジトリに登録し、
前記グラフィカルユーザインタフェースの構築の際に関数ソースの関数およびパラメータを構築するためのユーザインタフェースを生成し、
前記構築の際に関数をユーザに選択させ、
前記使用の際に前記関数リンクコンポーネントにより前記関数を起動するステップをさらに含む請求項３から７のいずれか１項に記載の方法。
【請求項１５】
前記関数ソースおよび／または前記第１および第２インタフェースをリポジトリに登録し、
関数ソースとしてウェブサービスをサポートし、
前記グラフィカルユーザインタフェースの構築の際にそのような関数ソースの関数およびパラメータを構築するためのユーザインタフェースを生成し、
前記構築の際に関数をユーザに選択させ、
前記使用の際に前記関数リンクコンポーネントにより前記関数を起動するステップをさらに含む請求項３から７のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる関数ソース（function source）からの関数を含むようにグラフィカルユーザインタフェースを構築するためのシステムおよび方法に関する。
【背景技術】
【０００２】
グラフィカルユーザインタフェースは、製品を製造または処理する工程を遠隔で監視し制御するために一般的に使用されている。グラフィカルユーザインタフェースの構築（configuration）は、操作者が、監視または制御される工程を視覚化することを可能とするためにたいへん重要である。工程を監視または制御するとき、操作者は、データを入力し、他のグラフィカルユーザインタフェースを開き、外部のソフトウェアプログラムを起動する等のために、ある関数を呼び出す必要がある。
【０００３】
先行技術において、技術者がグラフィックページエディターを使用してグラフィカルユーザインタフェースを作成するとき、技術者は、関数にリンク可能なボタン、または、関数にリンク可能なハイパーリンク等の、ある特定のグラフィックオブジェクトを取り込む。技術者は、操作者がグラフィックオブジェクトを呼び出すときに実行される関数の種類を、そのようなグラフィックオブジェクトの関数の構築ページから選択する。パラメータが定義され、グラフィックオブジェクトおよび定義されたパラメータを含むグラフィックファイルが保存される。
【０００４】
先行技術は、製造販売の独占権を持つ者（proprietor）の装置を監視し制御するためのグラフィカルユーザインタフェースを構築するシステムおよび方法を開示している。プロプライエタリソフトウェア（proprietary software）（使用、改変、複製が制限されているソフトウェア）の中で、Touch Target（タッチターゲット）コンポーネントは、データを入力し、他のグラフィカルユーザインタフェースをオープンし、または、外部のソフトウェアプログラムを起動する等の割り当てられた関数を実行する。Touch Targetコンポーネントに割り当てられる関数は、Touch TargetコンポーネントのユーザインタフェースのFunction（関数）タブから選択される。そのシステムおよび方法のためのグラフィカルユーザインタフェースの説明が図１に表わされている。
【０００５】
図１において、グラフィックページ１０１は、タンク１０２およびそのバルブ１０３を表わす。この例において、タンクの充填が監視され、充填はバルブによって制御される。グラフィックオブジェクトはタンクおよびバルブである。操作者が、予め定義された領域内でクリックすることによってタンクを選択すると、予め定義された関数が呼び出される。例えば、操作者がタンクの温度および充填レベルの検査を望むならば、彼はタンクの領域上または領域内でクリックする。温度および充填レベルを表示するウィンドウが表示される。操作者が流れの速度を増加または減少させることを望むならば、所望の関数を呼び出すためにバルブまたは予め定義された領域がクリックされる。
【０００６】
所望の関数をサポートするために、図１に表わされている構築の間に、技術者は、意図するグラフィックオブジェクトの領域の上のツールバーからコンポーネントをドラッグすることによってTouch Targetコンポーネントを追加する。この場合において、グラフィックオブジェクトはタンクである。Touch Targetコンポーネントのユーザインタフェース１０４が表示される。技術者は、Functionタブを選択してTouch Targetコンポーネントに割り当てられる関数を入力する。ドロップダウンリスト１０５から関数を選択することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
先行技術におけるシステムおよび方法は、事実上プロプライエタリであるグラフィックオブジェクトに関数がリンクされることを可能とするのみである。さらに、リンクすることができる関数の種類は、グラフィカルユーザインタフェースによってサポートされるものに制限および固定される。この例において、プロプライエタリソフトウェアにおける特定の関数のみをリンクすることができる。グラフィカルユーザインタフェースが互換性を有さなければ、他のソフトウェアからの関数は使用することができない。
【課題を解決するための手段】
【０００８】
簡潔には、本発明は、製品を製造または処理する工程を監視し制御するために使用されるグラフィカルユーザインタフェースを構築および使用するためのシステムであって、予め定義された第１および第２インタフェースを実装する複数の関数ソースを有する第１リポジトリと、構築されたグラフィカルユーザインタフェースおよび選択された関数ソースの情報を記憶するための第２リポジトリと、関数リンクコンポーネントとを備える。
【発明を実施するための最良の形態】
【０００９】
図２に表わされているように、本発明は、製品を製造または処理する工程を監視し制御するグラフィカルユーザインタフェースを構築するためのシステムである。システム２００において、関数ソース２０２は関数ソースリポジトリ２０４内に登録される。各々の登録される関数ソースは第１インタフェース２０６および第２インタフェース２０８を実装する。実装された第１インタフェースは、グラフィカルユーザインタフェースの構築または設計時の間に関数ソースが追加されることを可能とし、実装された第２インタフェースは、グラフィカルユーザインタフェースの使用または実行時の間に関数ソースが起動されることを可能とする。
【００１０】
工程の監視および制御を可能とするために、グラフィカルユーザインタフェース内のグラフィカルオブジェクト２１４によって各々のフィールドデバイスが表わされている。グラフィカルユーザインタフェースの構築の間に、設計時のユーザ、この場合において技術者２０９は、グラフィックエディター２１０および関数ソースリポジトリをロードする。グラフィックエディターがロードされると、グラフィックエディター内に関数リンクコンポーネント２１２が与えられる。関数リンクコンポーネントが初期化されると、それは、関数ソースリポジトリに、全ての関数ソースのために、実装された第１インタフェースをロードすることを問い合わせる。
【００１１】
関数リンクコンポーネントは、実装された第１インタフェースを使用して、関係する関数ソースによって提供されるユーザインタフェース２１１を表示することによって、技術者が、グラフィックオブジェクトに関数をリンクすることを可能とする。関係する関数ソースから所望の関数が選択される。グラフィカルユーザインタフェースが完成すると、グラフィックオブジェクトおよびリンクされる関数の情報がグラフィックファイルリポジトリ２１６内に記憶される。
【００１２】
システムの使用の間に、実行時のユーザ、この場合において操作者２１８は、グラフィックエンジン２２０をロードすることによってグラフィカルユーザインタフェースからグラフィックオブジェクトを監視する。グラフィックエンジンは、グラフィックファイルリポジトリからグラフィックファイルをロードする。関数リンクコンポーネントは、関数ソースリポジトリに、関数ソースについて第２インタフェース２２１をロードするように問い合わせる。
【００１３】
操作者がグラフィカルユーザインタフェースにおいて関数を呼び出すと、関数リンクコンポーネントは、関係する関数ソースの第２インタフェースを呼び出し、全ての要求されるパラメータを渡す。関数ソースの第２インタフェースは、全ての要求されるパラメータを渡すことによって実際の関数を呼び出す。
【００１４】
設計時および実行時におけるシステムの処理工程が、以下、さらに詳細に説明される。
【００１５】
図３は、設計時または構成定義におけるシステムの処理工程図である。
【００１６】
技術者がグラフィックエディターをロードすると、ステップ３０１は、新規にグラフィックファイルを作成するか、または、既存のものを編集するために、グラフィックエディターを起動する。ステップ３０２は、新規にグラフィックファイルを作成するか否かを問い合わせる。技術者が新規にグラフィックファイルを作成することを選択すると、ステップ３０３は、新規にグラフィックファイルを作成し、ステップ３０４は、関数リンクコンポーネントをグラフィックファイルに追加する。技術者が既存のグラフィックファイルをオープンすることを選択すると、ステップ３０５は、既存のグラフィックファイルをオープンし、ステップ３０６は、関数リンクコンポーネントをロードする。後者の場合において、関数リンクコンポーネントは、最初に作成および保存されるとき、既にグラフィックファイルに追加されている。関数リンクコンポーネントがそれぞれステップ３０４または３０６において追加またはロードされた後、ステップ３０７において技術者はグラフィックオブジェクトを作成または編集する。各々のグラフィックオブジェクトについて、ステップ３０８において、プロパティページが表示される。図５を参照すると、関数をリンクすることを可能とするために、グラフィックオブジェクト５０４についてのプロパティページ５０２の例が表わされている。
【００１７】
図３の処理工程図に戻り、プロパティページを起動した後、関数リンクコンポーネットにおいて続くステップが行われる。ステップ３１１において、関数リンクコンポーネントは、グラフィックオブジェクトが関数をそれにリンクさせることを可能とするかどうかを判定する。グラフィックオブジェクトが関数をそれにリンクさせることができるならば、ステップ３１２において、関数をリンクすることを可能とするユーザインタフェースが表示される。ユーザインタフェースは、既存のユーザインタフェースの一部とすることができる。好ましくは、ユーザインタフェースは、関数ソースリポジトリ内に保存された、選択のために利用可能な関数ソースをリストする。リポジトリ内の関数ソースは、構築のために適した第１インタフェースおよび使用のために適した第２インタフェースを有する。ステップ３１３において、関数ソースが選択される。
【００１８】
選択された関数ソースについて、ステップ３２１において、実装された設計時のインタフェースに設けられるユーザインタフェースが表示される。ステップ３２２において、技術者は、関数を選択および／または編集する。好ましくは、関数が有効にされることを可能とする処理条件が含まれる。関数が呼び出されるとき、実行時の間に操作者が少なくとも１つのパラメータを指定することを可能とするように関数がさらに構成される。
【００１９】
関数を構築した後、ステップ３１４において、関数リンクコンポーネントによって関数に識別子が割り当てられる。好ましくは、参照および使用を容易にする識別子として、一般的な名称が割り当てられる。ステップ３１５において、関数リンクコンポーネントまたはグラフィックエディターによって、グラフィックオブジェクトとともに、関数、および、有効にする処理条件、実行時のパラメータ、割り当てられた名称等の情報が記憶される。グラフィックオブジェクトおよび関数リンクの情報はグラフィックファイルリポジトリ内に記憶される。
【００２０】
図３における他のステップにさらに進む前に、グラフィックオブジェクトのための関数リンクを可能とするユーザインタフェースの例を表わす図６を参照する。この図において、グラフィックオブジェクトはPush Button（プッシュボタン）６０２である。ユーザインタフェースはFunction Link（関数リンク）タブ６０４によって選択される。関数ソースはドロップダウンリスト６０５から選択される。有効にされる関数はFunction Type（関数の種類）６０６についてのドロップダウンリストから選択される。パラメータは、Parameter（パラメータ）６０８のための入力において指定される。Program Name（プログラム名）６１０のための入力において識別子が命名される。技術者は、Condition（条件）６１２のための入力において条件を含めることができる。
【００２１】
図３に戻り、ステップ３１１において、関数をグラフィックオブジェクトにリンクすることができないならば、ステップ３０９において、グラフィックエディターにおいて他の操作が実行される。関数をリンクすることができ、リンクが完了しているならば、ステップ３０９において、グラフィックエディターにおいて他の操作も行われる。グラフィックページのオープンまたはクローズにおいて呼び出される関数を追加するために、ステップ３１０において、そのような関数のリンクを可能とするユーザインタフェースが表示される。ユーザインタフェースは、現在のユーザインタフェースにおけるタブによって表示および起動することができる。
【００２２】
ステップ３１６において、技術者は、関数リンクコンポーネントにおいて他のリンク関数を作成または編集する。続くステップは、ステップ３１２、３１３、３２１、３２２、３１４、３１５、３０９、３１０として前述した。全ての所望の関数がリンクされると、設計時の処理工程が完了する。
【００２３】
図４は、実行時または使用におけるシステムの処理工程図である。
【００２４】
操作者がグラフィカルユーザインタフェースからの制御の下で工程を監視するとき、ステップ４０１はグラフィックエンジンを起動する。ステップ４０２はグラフィックファイルをロードし、ステップ４０３は関数リンクコンポーネントをロードする。そして、ステップ４０４において全てのコンポーネントが初期化され、ステップ４０５は監視される工程のためのグラフィックファイルをロードする。
【００２５】
ステップ４１１において、関数リンクコンポーネントは、リンクされた関数を実行する必要があるかどうか判定する。全てのコンポーネントの初期化の後、技術者は構築されたいくつかの関数を実行させることが可能である。関数がそのように構築されていないならば、ステップ４０６においてグラフィックページがロードされる。ステップ４０７において、操作者は、グラフィックオブジェクトにリンクされる関数を呼び出す。ステップ４０７において関数が呼び出されるとき、または、ステップ４１１において関数が実行される必要があると関数リンクコンポーネントが判定したとき、次のステップはステップ４１２である。ステップ４１２において、関数のために要求されるパラメータが入力され、操作者によって一般的な名称が決定され、または、技術者によって事前に構築されたデフォルトのパラメータおよび名称が使用される。ステップ４１３において、操作者が入力したパラメータまたはデフォルトのパラメータを使用して関数を実行するために、関数リンクコンポーネントを使用してステップ４１１、４１２、４１３が行われる。
【００２６】
関数が実行されるとき、ステップ４２１において、関数についての関数ソースの実行時のインタフェースがロードされる。実行時のインタフェースを使用して、ステップ４２２において、関数ソースは関数を実行する。関数が実行された後、操作者はグラフィックオブジェクトの監視を継続し、必要が生じると他の関数を呼び出す。
【００２７】
操作者が、それ以上、グラフィックオブジェクトを監視する必要がなくなると、ステップ４０８においてグラフィックページがクローズされる。ステップ４０８の起動において、関数リンクコンポーネントは、ステップ４１１において関数を実行する必要が存在するかどうか判定する。ステップ４１１からの判定の結果として続くステップは、上述したのと同じである。
【００２８】
本発明は、特定の例、この場合においてマイクロソフト（登録商標）のソフトウェアから利用可能なグラフィックオブジェクトを使用してさらに説明される。グラフィックオブジェクトの一例は、“Call Window”関数を呼び出すためにグラフィックページ内に含めることができる“Push Button”である。Microsoft Windows（登録商標） Presentation Foundationによって定義されているICommandSourceインタフェースを実装することによって、関数を呼び出すためにグラフィックオブジェクトが使用される。ICommandInterfaceが実装されるとき、次の３つのプロパティが見られる。
・コマンドソースが呼び出されるときに実行するコマンドであるCommand
・コマンドハンドラに渡されるパラメータを含むCommandParameter
・CommandTargetは、コマンドが呼び出されるターゲットである。
【００２９】
Push ButtonはICommandSourceインタフェースを実装する。Call Window関数はコマンドであり、Call Window関数のソースはコマンドソースである。CommandParameterはCall Window関数ソース、関数およびウィンドウの種類、ウィンドウ名称のようなパラメータを含む。CommandTargetは関数リンクコンポーネントである。Push Buttonのコマンドプロパティは関数リンクコンポーネントによって定義される。
【００３０】
関数リンクコンポーネントはCommandBindingを提供し、これはコマンドロジックをコマンドにマッピングし、実行時に関数をその関数ソースにリンクすることができる。ICommandSourceインタフェースを実装するグラフィックオブジェクトについて関数リンクタブが表示される。
【００３１】
関数、この場合においてCall Windowがリンクのために利用可能であることを保証するため、ソリューションプロバイダは、関数リンクコンポーネントとともに、設計時および実行時のインタフェースの関数ソースの実装を登録しなければならない。登録は、設計時または実行時のための関数ソースのインストールの間に行うことができる。
【００３２】
設計時の間の関数ソースが図７に表わされ、参照符号７０２によって表わされている。これは関数リンクコンポーネントによって定義される設計時のインタフェース７０６を実装し、実装された設計時のインタフェースは２つの要素を含む。第１の要素は、技術者が関数およびパラメータの列を取得するために関数リンク操作を完了したとき呼び出される方法である。関数リンクコンポーネントは、グラフィックオブジェクトとともに関数情報を記憶し、割り当てられた識別子を登録する。第２の要素はイベントである。実装された設計時のインタフェースは、次に、関数リンクコンポーネントにパラメータの列および／または識別子の名称の検証を要求するイベントを引き起こす。検証処理の間に検出された違反は、関数リンクコンポーネントによって直接に技術者に表示される。さらに、一般的な名称のサポートは、操作者によって、または、システムによって実行時に判定される値を有するパラメータを指定するために技術者が使用することができるインタフェースのもう１つの特徴である。また、関数ソースは、所望の関数を選択するために参照符号７０４によって表わされている、ユーザインタフェース制御を提供することも必要である。
【００３３】
関数リンクコンポーネントは、グラフィックオブジェクトを使用してリンクされる所望の関数を選択するために技術者のための設計時のインタフェースを保有する。技術者がグラフィックオブジェクトのプロパティダイアログを起動するとき、関数リンクコンポーネントは関数リンクタブを表示する。このタブは関数ソースのリストを含む。選択された関数ソースについて、所望の関数を選択するためのそのユーザインタフェースが技術者に表示される。このユーザインタフェースは、さらに、関数リンク情報を指定するために使用される。関数リンクコンポーネントは、関数ソースに関数およびパラメータの列について問い合わせる。関数リンクコンポーネントは、関数リンク情報を記憶し、関数およびパラメータの列はグラフィックオブジェクトとともに記憶される。情報を記憶する間、関数リンクコンポーネントは、関数ソースについての識別子を追加する。これは、どれが関数およびパラメータの列が渡されることが必要である関数ソースであるかを識別するために役立つ。
【００３４】
関数およびパラメータの列は、呼び出される関数の名称およびパラメータの列を含む。関数およびパラメータの列は、一般的な名称について構文解析され、構文規則における違反は報告される。
【００３５】
技術者は、さらに、検査条件を指定することができる。指定された条件が満たされるときのみ、呼び出されるとき関数が実行される。条件がブランクならば、関数は呼び出されるとき常に実行される。
【００３６】
実行時の間の関数ソースが図８に表わされ、参照符号８０２によって表わされている。これは実行時のインタフェース８０４を実装し、実装された実行時のインタフェースは１つの要素を含む。この要素は、設計時に定義されたパラメータの列を入力し、実行される関数を識別し、パラメータの列からのパラメータを関数に渡す。
【００３７】
関数の実際の実行は関数ソースによって実行される。関数がグラフィックオブジェクトにリンクされるならば、関数は、ユーザのアクション、例えばボタンのクリックによって実行される。そうでなければ、あるイベントの後、例えば初期化の後、または、グラフィックインタフェースのクローズに先立って、関数が実行されるように構築することができる。関数がグラフィックオブジェクトから引き起こされるとき、関数パラメータを使用して関数リンクコンポーネントを呼び出す。関数パラメータは、関数ソースについて設計時の間に生成された識別子、実行される関数、設計時の間に定義されたそのパラメータを含む。関数リンクコンポーネントは関数およびそのパラメータを実行し、関数を実行するために関数ソースを識別する。
【００３８】
本発明において、異なるインタフェースを有する関数ソースからの関数は、構築および使用のグラフィックページのために使用することができるインタフェースのリポジトリを提供することによってグラフィックオブジェクトに追加することができる。さらに、グラフィックオブジェクトに関数を追加するに先立って、関数リンクコンポーネントは、全ての必要な検証および検査を実行するように設けられる。検査は、関数についての関数ソースの実装されたインタフェースが関数を実行するためにリポジトリ内のものと合致することを保証することを含み、検証は、パラメータおよび識別子を検証することを含む。
【図面の簡単な説明】
【００３９】
【図１】先行技術におけるグラフィカルユーザインタフェースの構築ページを表わす。
【図２】本発明のシステム例を表わす。
【図３】設計時におけるシステムの処理工程図である。
【図４】実行時におけるシステムの処理工程図である。
【図５】グラフィックオブジェクトのためのプロパティページの例を表わす。
【図６】グラフィックオブジェクトのための関数リンクを可能とするユーザインタフェースの例を表わす。
【図７】設計時のインタフェースについての統一モデリング言語図である。
【図８】実行時のインタフェースについての統一モデリング言語図である。
【符号の説明】
【００４０】
２００  システム
２０２  関数ソース
２０４  関数ソースリポジトリ
２０６  第１インタフェース
２０８、２１１  第２インタフェース
２０９  技術者
２１０  グラフィックエディター
２１１  ユーザインタフェース
２１２  関数リンクコンポーネント
２１４  グラフィカルオブジェクト
２１６  グラフィックファイルリポジトリ
２１８  操作者
２２０  グラフィックエンジン
【図１】
0005071251.tif 000002
【図３】
0005071251.tif 000003
【図４】
0005071251.tif 000004
【図７】
0005071251.tif 000005
【図８】
0005071251.tif 000006
【図２】
0005071251.tif 000007
【図５】
0005071251.tif 000008
【図６】
0005071251.tif 000009