"プロセス制御システム内のクライアントプロセスとサーバプロセスとの間でプロセス制御情報を伝達する方法であって、各々が対応するサービスインタフェースを有する、独立してバージョニングされる複数のプロセス制御サービスを含む該サーバプロセスを確立することと、該クライアントプロセスが通信接続を確立する該複数のサービスの各々にプロキシを有する該クライアントプロセスを確立することと、該クライアントプロセスと該サーバプロセスとの間のプロセス制御情報の該伝達を可能にするために、該クライアントプロセスに該サービスインタフェースに関連する端点情報を提供することと、該クライアントプロセスに関連付けられたデータコンテキストをリソースマネージャに提供することと、該リソースマネージャを介して該クライアントプロセスの少なくとも1つの要素又はプロパティをデータソースリファレンスに関連づけることと、該データコンテキストに関連付けられたむすびつけるオブジェクトを介して該データソースリファレンスを、該プロセスコントロールサービスの1つによって提供されたデータソースにむすびつけることであって、プロセスコントロール情報が、該クライアントプロセスと該プロセスコントロールサービスの1つとの間に伝えられる、該むすびつけることと、を備える方法。該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供することが、該クライアントプロセスにユニフォームリソース識別子を提供することを備える請求項1に記載の方法。該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供することが、該端点情報を位置決めするディスカバリサービスを呼び出すことを備える請求項1に記載の方法。該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供することが、該ディスカバリサービスからユニフォームリソース識別子を受信することを備える請求項3に記載の方法。該端点情報および該プロキシの内の少なくとも1つに基づいて該サーバプロセス内の該クライアントプロセスのためのセッションを確立することをさらに備える請求項1に記載の方法。別のサーバプロセスを確立することと、該クライアントプロセスと該他のサービスプロセスの間で情報を伝達することとをさらに備える請求項1に記載の方法。プロセス制御システムのクライアントプロセスとサーバプロセスとの間でプロセス制御情報を伝達するための装置であって、メモリに結合されるプロセッサであって、各々が対応するサービスインタフェースを有する独立してバージョニングされる複数のプロセス制御サービスを含む該サーバプロセスを確立する、該クライアントプロセスが通信接続を確立する該複数のサービス各々のためのプロキシを有する該クライアントプロセスを確立する、該クライアントプロセスと該サーバプロセスとの間のプロセス制御情報の伝達を可能にするために、該サービスインタフェースと関連する端点情報を該クライアントプロセスに提供する、該クライアントプロセスに関連付けられたデータコンテキストをリソースマネージャに提供する、該リソースマネージャを介して該クライアントプロセスの少なくとも1つの要素又はプロパティをデータソースリファレンスに関連づける、および該データコンテキストに関連付けられたむすびつけるオブジェクトを介して該データソースリファレンスを、該プロセスコントロールサービスの1つによって提供されたデータソースにむすびつけるようにプログラミングされ、プロセスコントロール情報が、該クライアントプロセスと該プロセスコントロールサービスの1つとの間に伝えられる、該プロセッサと、を備える装置。該プロセッサが、該クライアントプロセスにユニフォームリソース識別子を提供することにより、該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供するようにプログラミングされる請求項7に記載の装置。該プロセッサが、該端点情報を位置決めするディスカバリサービスを呼び出すことにより、該サービスインタフェースと関連する該端点情報を該クライアントプロセスに提供するようにプログラミングされる請求項7に記載の装置。該プロセッサが、該ディスカバリサービスからユニフォームリソース識別子を受信することにより、該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供するようにプログラミングされる請求項9に記載の装置。該プロセッサが、該端点情報と該プロキシの内の少なくとも1つに基づいて該サーバプロセスで該クライアントプロセスのためのセッションを確立するようにプログラミングされる請求項7に記載の装置。該プロセッサが、別のサービスプロセスを確立し、該クライアントプロセスと該他のサーバプロセスとの間で情報を伝達するようにプログラミングされる請求項7に記載の装置。実行時に機械に行わせる命令を格納する機械可読媒体であって、該機械に、各々が対応するサービスインタフェースを有する独立してバージョニングされる複数のプロセス制御サービスを含むサーバプロセスを確立させ、該クライアントプロセスが通信接続を確立する該複数のサービス各々のためにプロキシを有するクライアントプロセスを確立させ、該クライアントプロセスと該サーバプロセスとの間のプロセス制御情報の伝達を可能にするために、該サービスインタフェースに関連する端点情報を該クライアントプロセスに提供させる該クライアントプロセスに関連付けられたデータコンテキストをリソースマネージャに提供させ、該リソースマネージャを介して該クライアントプロセスの少なくとも1つの要素又はプロパティをデータソースリファレンスに関連づけさせ、該データコンテキストに関連付けられたむすびつけるオブジェクトを介して該データソースリファレンスを、該プロセスコントロールサービスの1つによって提供されたデータソースにむすびつけさせると共に、プロセスコントロール情報が、該クライアントプロセスと該プロセスコントロールサービスの1つとの間に伝えられる、該機械読取可能媒体。該命令が、実行時に、該機械に、該クライアントプロセスにユニフォームリソース識別子を提供することにより、該サービスインタフェースと関連する該端点情報を該クライアントプロセスに提供させる請求項13に記載の機械読取可能媒体。該命令が、実行時に、該機械に、該端点情報を位置決めするディスカバリサービスを呼び出すことにより、該サービスインタフェースに関連する該端点情報を該クライアントプロセスに提供させる請求項13に記載の機械読取可能媒体。該命令が、実行時に、該機械に、該ディスカバリサービスからユニフォームリソース識別子を受信することにより、該サービスインタフェースと関連する該端点情報を該クライアントプロセスに提供させる請求項15に記載の機械読取可能媒体。該命令が、実行時に、該機械に、該端点情報と該プロキシの内の少なくとも1つに基づいて該サーバプロセスで該クライアントプロセスのためのセッションを確立させる請求項13に記載の機械読取可能媒体。該命令が、実行時に、該機械に、別のサーバプロセスを確立させ、該クライアントプロセスと該他のサーバプロセスとの間で情報を伝達させる請求項13に記載の機械読取可能媒体。プロセス制御情報を通信するための装置であって、通信ポートと、複数のサービスインタフェースと、該サービスインタフェースに対応する独立してバージョニングされる複数のプロセス制御サービスとを有するサーバと、各々が該複数のサービスインタフェースの内の1つに対応し、各々が該通信ポートを介してプロセス制御情報を通信するように構成される複数のサービスインタフェースプロキシを有するクライアントと、を備え、前記クライアントは、該クライアントプロセスに関連付けられたデータコンテキストをリソースマネージャに提供し、該リソースマネージャを介して該クライアントプロセスの少なくとも1つの要素又はプロパティをデータソースリファレンスに関連づけ、該データコンテキストに関連付けられたむすびつけるオブジェクトを介して該データソースリファレンスを、該プロセスコントロールサービスの1つによって提供されたデータソースにむすびつけると共に、プロセスコントロール情報が、該クライアントプロセスと該プロセスコントロールサービスの1つとの間に伝えられる装置。別の複数のサービスを該クライアントに提供するように構成される別のサーバをさらに備える請求項19に記載の装置。該クライアントが、該複数のプロセス制御サービスの内の少なくとも1つと相互作動するように構成される少なくとも1つのプロセス制御アプリケーションを備える請求項19に記載の装置。プロセス制御システム内でプロセス制御サービスを登録する方法であって、該プロセス制御システム内でディスカバリサービスを確立することと、ポート番号を割り当て、該プロセス制御サービスと関連する識別子を作成するために実行時サーバを使用することと、ディスカバリプロキシを介して該実行時サーバから該ディスカバリサービスに該ポート番号と該識別子を伝達することにより該プロセス制御システム内で該プロセス制御サービスを登録することと、を備え、前記プロセス制御サービスは独立してバージョニングされる、方法。フィールドデバイスおよびコントローラからの情報は、オペレータが、プロセスの現状を見る、プロセスを評価する、プロセスの動作を修正する等のプロセスに関して所望の機能を実行可能とするために例えばプロセッサベースのシステム等のオペレータワークステーションによって実行される1つ以上のアプリケーションつまり、ソフトウェアルーチン、プログラム等が利用できてよい。多くのプロセス制御システムは1つ以上のアプリケーションステーションも含む。通常、これらのアプリケーションステーションは、コントローラ、オペレータワークステーションおよびローカルエリアネットワークLANを介してプロセス制御システム内の他のシステムに通信可能に結合されるパーソナルコンピュータ、ワークステーション等を使用して実現される。各アプリケーションステーションは、プロセス制御システムの中でキャンペーン管理機能、保守管理機能、バーチャル制御機能、診断機能、リアルタイム監視機能、安全性関連機能、構成機能等を実行する1つ以上のソフトウェアアプリケーションを実行してよい。多くのプロセス制御システムの多様なアプリケーションを実現するために使用されるソフトウェア要素例えばプログラムは、通常、オブジェクト指向型のプログラミング技術およびアーキテクチャの使用に大幅に依存している。このようなオブジェクト指向型プログラミングの技術とアーキテクチャは、より高いレベル例えばより複雑なソフトウェアオブジェクトが1つ以上のより低いレベルのオブジェクトから構築され、したがって1つ以上のより低いレベルのオブジェクトの特性プロパティを継承するソフトウェアオブジェクトの階層配列に基づいている。これらのオブジェクト指向型プログラミング内での継承を多用することは高度のコードつまりソフトウェア命令、プログラム等の共用を可能にし、制御システムを実現するために必要とされるコードまたはソフトウェアの総合的な量を大幅に削減する傾向がある。公知のオブジェクト指向型プログラミングは、相対的に複雑なプロセス制御システムを実現するために必要とされるソフトウェアまたはコードの量を有利に削減できるが、これらの構成に関連する高度な継承またはコード共用は、制御システムを構成する多様なソフトウェアルーチンまたは構成要素間の高度な依存状態例えばデータ依存を生じさせる。その結果、これらの多様なソフトウェアルーチンの独立した開発および/またはバージョニングが困難であるかまたは不可能である場合がある。例えば、前述されたオブジェクト指向型の構成では、プロセス制御システムアプリケーション例えばプロセス監視アプリケーション、データベースサービス、および実行時サービスを利用するいくつかのプロセス制御システムは強固に結合しているつまり互いに対してかなり依存している。特にクライアントアプリケーションはデータベース内のデータを表すデータ構成要素の共通したセット上に構築されてよい。したがって、共通データ構成要素の変更は、クライアントアプリケーションを再構築することを必要とする。その結果、特にプロセス制御システムの異なるソフトウェア構成要素が異なるロケーション開発サイトまたはセンタで開発される場合、公知のオブジェクト指向型プロセス制御ソフトウェアアーキテクチャに固有のデータ依存により、データベース構成要素および実行時ソフトウェア構成要素の独立したバージョニングまたは開発は非常に困難または不可能になる。これらの公知のオブジェクト指向型アーキテクチャに固有のデータ依存に対処するために、プロセスソフトウェア開発者はデータベース構成要素、実行時構成要素、およびシステムソフトウェア構成要素の開発を、これらの構成要素が統一して構築され、リリースされるように調整することを余儀なくされてきた。一例では、プロセス制御システムにおけるクライアントプロセスとサーバプロセス間でプロセス制御情報を伝達するための方法および装置は、各々が対応するサービスインタフェースを有する複数のプロセス制御サービスを含むサーバプロセスを確立する。この方法および装置の例では、クライアントプロセスが通信接続を確立する複数のサービスの各々にプロキシを有するクライアントプロセスも確立する。さらに、この方法および装置の例では、クライアントプロセスとサーバプロセス間のプロセス制御情報の伝達を可能にするためにクライアントプロセスへのサービスインタフェースと関連付けられた端点情報endpoint例えばポート情報、URL、URI等を提供する。別の例では、ルーチンアプリケーションに情報を結び付ける方法は、リソースマネージャに実行時アプリケーションと関連するデータコンテキストを提供し、リソースマネージャを介してデータコンテキストからの少なくとも1つの特性を、変数、スクリプトまたはデータソース基準の内の少なくとも1つと関連付ける。さらに、該方法は変数、スクリプトまたはデータソース基準の内の該少なくとも1つに該少なくとも1つの特性を結び付ける。一般的に、本明細書に説明されている装置、方法および製品の例では、プロセス制御システムを構成する多様なソフトウェア要素例えば、プログラム、アプリケーション、サービス等間の高い独立性を提供するためにプロセス制御システム内で使用されてよい。より詳細には、本明細書に説明されている例は、複数の独立したプロセス制御関連アプリケーションがその上に層化している、複数の緩やかに結合されたつまり、実質的にデータから独立しているコアサービスを提供するソフトウェアおよびハードウェアのアーキテクチャを利用する。コアサービスの各々は個別にテストし、バージョニングできる良く定義された外部インタフェース例えば、スキーマ、サービスに及び/又はサービスから渡されるパラメータ、データフォーマット等を提供する。同様に、プロセス制御関連のアプリケーションは、アプリケーションの実質的にデータから独立した性質のために高度に独立した方法で異なる開発チーム、場所等の間で最小の調整を行い、またはほとんど調整を行わずに構築または開発できる。言い換えると、全体的なプロセス制御システムの中で使用するためにある特定のアプリケーションを開発している、ある場所にいるソフトウェア開発者は、別の物理的な場所にいるソフトウェア開発者の別のグループによって開発されている別のアプリケーションの開発に必ずしも密接に関係する、あるいは通知される必要はない。このように、本明細書に説明されているサービス指向型アーキテクチャ例は、別のソフトウェア開発チームが彼ら各々の開発作業を例えば、会議および/または他の形の通信を介して調整する多大な量の時間を費やす必要性を最小限に抑えるまたは排除し、それにより各々の開発作業のための開発時間と費用を大幅に削減する。コードまたはソフトウェア再利用に焦点を当てた多くの公知のオブジェクト指向型インプリメンテーションまたはアーキテクチャとは対照的に、本明細書に説明されているサービス指向型制御アーキテクチャ例はデータサービスおよび/またはクライアントアプリケーション間の比較的に緩やかな結合例えば、存在するとしても、比較的に少ないデータ依存であることを強調する。さらに、公知のオブジェクト指向型インプリメンテーションを用いると、プロセス制御ソフトウェアアプリケーションまたはプログラムは、本来、共用されるクラスライブラリから引き出されるソフトウェア要素の構成または配列である。対照的に、本明細書に説明されているサービス指向型アーキテクチャ例は、相対的に自律したサービスから構成されるアプリケーションを活用する。より詳細には、本明細書に説明されているサービス志向型アーキテクチャ例と関連する相対的に自律したサービスは、クラス情報を共用するよりむしろ、構造のためのスキーマと動作のためのコントラクトを共用する。本明細書に説明されている相対的に自律したサービス例えばデータサービスの各々は、サービスが送受できるメッセージの構造を説明する例えば、XML等の拡張可能マークアップ言語を使用してコントラクトを確立する。またさらに、公知のオブジェクト指向型プロセス制御ソフトウェアインプリメンテーションは、ソフトウェア要素または構成要素例えばサービスと開発者異なる開発現場のソフトウェア開発者間の通信を、処理効率の観点から安価かつ暗示的に処理する。対照的に、本明細書に説明されているサービス指向型アーキテクチャ例はこのような通信を相対的に高価かつ明示的に処理する。したがって、本明細書に説明されているサービス指向型アーキテクチャ例は、サービス全体でつまり、プロセス制御ソフトウェアのコアサービスを構成する多様なソフトウェア構成要素と関連するサービス境界全体で共用されなければならない抽出数および抽出の複雑性を削減するように構成される。さらに、アプリケーションの展開を一元的につまり、相互に関連のあるアプリケーションのグループの共通のリリース処理する公知のオブジェクト指向型インプリメンテーションとは対照的に、本明細書に説明されているサービス指向型プロセス制御ソフトウェアアーキテクチャ例は継続的なより不連続な方法でアプリケーション展開を処理する。例えば、本明細書に説明されているサービス指向型アーキテクチャ例を使用すると、クライアントアプリケーションは全体的なシステムおよびアプリケーションの集合的な状態が経時的に混合されるようにそれらのアプリケーションにより使用される根本的なデータサービスとは独立してバージョンニングされてよい。例えば、いくつかの場合、サービスは、該サービスを利用するアプリケーションが展開されるよりも十分に前に展開されてよい。さらに、アプリケーションとサービスが実質的に独立していることにより、サービスおよび/またはアプリケーションは経時的に異なる速度で独立して進化できるつまり、無関係に開発または修正できる。しかしながら、本明細書に説明されているサービス指向型アーキテクチャまたはフレームワークの例で活用される相対的に高度に切り離されたサービスおよび/またはアプリケーションの相互作動におけるさらに高い完全度を保証するために、各サービスはそれが別のサービスまたはアプリケーションから受信する各メッセージでバリデーションプロセスを実行するように構成されてよい。本明細書にさらに詳しく説明されるように、サービス指向型アーキテクチャ例は、変数、実行可能スクリプト、および/または前述されたデータサービスに実行時アプリケーションを関連するパラメータのリンケージ、結合、またはさらに一般的には通信結合または動作結合を可能にするために有利に適用されてよい。例えば、プロセス制御システムユーザインタフェースアプリケーションと関連するレンダリンググラフィックディスプレイ要素と関連して使用されるパラメータは、実行時データサービスに通信可能にまたは操作で結合されてよい。この例では、パラメータに結合されるデータの変更は、変更されたデータを反映するために例えばグラフィックディスプレイを更新できる表示アプリケーションにデータサービスから自動的に伝搬できる。あるインプリメンテーションでは、マイクロソフト社MicrosoftCorporationにより提供されている周知のアバロンAvalonソフトウェアプラットフォームとインティゴIndigoソフトウェアプラットフォームが、実行時における変数、スクリプト、および/またはデータサービスに対するディスプレイエンティティに関連する特性の結合を可能にするために使用されてよい。しかしながら、アバロンAvalonおよび/またはインディゴIndigoの代わりに任意の他の適切なソフトウェアプラットフォームが使用できるであろう。より詳細に後述されるように、本明細書に説明されているサービス指向型アーキテクチャ例は、プロセス制御関連のデータをデータソース層に提供できるデータサービス層を含む。後述されるように、データソース層はアプリケーションの中からデータサービス層へ相対的に一般的なアクセスを提供する。データソース層上で層化されているリソースマネージャは、変数、スクリプトおよび/または参照を1つ以上の実行時アプリケーション、ディスプレイ、グラフィック要素、パラメータ等と関連するデータソースの中に管理する。パラメータとこのような変数またはデータソースとの間の結合複数の場合があるを静的にコード化することとは対照的に、本明細書に説明されるリソースマネージャは、有利なことに、例えばグラフィックディスプレイ要素に関連するパラメータを、実行時に1つ以上の変数またはデータサービス例えば、サーバを介して提供されるプロセス制御データソースに結合できるようにする。より詳細には、本明細書に説明される装置、方法および製品の例を用いると、ディスプレイアプリケーションはリソースマネージャからそのグラフィック要素と関連する多様な特性の値あるいは他のデータまたは情報を要求してよい。同様に、リソースマネージャは、ディスプレイアプリケーションにより使用される特性にデータソースを提供する例えば、マッピングする、関連付ける、あるいはそれ以外の場合結び付けるように実行時には構成されてよい。その結果として、ディスプレイアプリケーションは、それらのグラフィック要素と関連するパラメータ値に結合される、そのグラフィック要素と変数またはデータソースとの間の関係性を定義するために静的にコード化される必要はない。代わりに、リソースマネージャはより柔軟かつ動的にそれらの関係性を定義するために実行時に構成できる。図1は、本明細書に説明されているサービス指向型アーキテクチャ例を使用するプロセス制御システム例10のブロック図である。図1に描かれているように、プロセス制御システム10はコントローラ16、オペレータステーション18、アクティブアプリケーションステーション20、およびスタンバイアプリケーションステーション22を含み、そのすべては、バス、または一般的にアプリケーション制御ネットワークACNと呼ばれているローカルエリアネットワークLANを介して通信可能に結合されてよい。オペレータステーション18とアプリケーションステーション20と22は、1つ以上のワークステーション、あるいは他の適切なコンピュータシステムまたは処理装置を使用して実現されてよい。例えば、アプリケーションステーション20と22は、単一のプロセッサワークステーションまたはマルチプロセッサワークステーション等の、以下の図16に示されるプロセッサシステム例1602と同様に単一のプロセッサパーソナルコンピュータを使用して実現できるであろう。さらに、LAN24は、所望の通信媒体およびプロトコルを使用して実現されてよい。例えば、LAN24は、周知であり、本明細書ではさらに詳しく説明しない、ハードワイヤードの、または無線イーサネット登録商標通信スキームに基づいてよい。しかしながら、当業者により容易に理解されるように、任意の他の適切な通信媒体およびプロトコルを使用できるであろう。さらに、単一のLANが示されているが、複数のLANおよびアプリケーションステーション20と22の中の適切な通信ハードウェアが、オペレータステーション18、アプリケーションステーション20と22、およびコントローラ16の間に冗長な通信パスを提供するために使用されてよい。コントローラ16は、デジタルデータバス32および入力/出力I/Oデバイス34を介して複数のスマートフィールドデバイス26、28および30に結合されてよい。スマートフィールドデバイス26から30は、Fieldbusに準拠するバルブ、アクチュエータ、センサ等であってよく、その場合にはスマートフィールドデバイス26から30は周知のFieldbusプロトコルを使用してデジタルデータバス32を介して通信する。言うまでもなく、他のタイプのスマートフィールドデバイスと通信プロトコルが代わりに使用できるであろう。例えば、スマートフィールドデバイス26から30は、代わりに周知のProfibus通信プロトコルおよびHART通信プロトコルを使用して、データバス32を介して通信するProfibusまたはHARTに準拠するデバイスとなるであろう。I/Oデバイス34に類似するまたは同一の追加のI/Oデバイスは、Fieldbusデバイス、HARTデバイス等であってよいスマートフィールドデバイスの追加のグループがコントローラ16と通信可能にきるようにするためにコントローラ16に結合されてよい。スマートフィールドデバイス26から30に加えて、1台以上の非スマートフィールドデバイス36と38がコントローラ16に通信可能に結合されてよい。非スマートフィールドデバイス36と38は、例えば、各々のハードワイヤードリンク40と42を介してコントローラ16と通信する従来の4-20ミリアンペアmAまたは0-10ボルト直流VDCデバイスであってよい。コントローラ16は、例えば、エマーソンプロセスマネジメント、LLLPより販売されているDelta商標コントローラであってよい。しかしながら、他のコントローラが代わりに使用できるであろう。さらに、図1には1台だけしかコントローラが図示されていないが、所望のタイプのまたはタイプの組み合せの追加のコントローラがLAN24に結合できるであろう。コントローラ16は、プロセス制御システム10と関連する1つ以上のプロセス制御ルーチンを実行してよい。このようなプロセス制御ルーチンは、オペレータステーション18を使用してシステムエンジニアまたは他のシステムオペレータによって生成され、コントローラ16にダウンロードされ、コントローラ16内でインスタンスを作成されてよい。図1に説明されているように、プロセス制御システム例10は、通信リンク46とLAN48を介してアプリケーションステーション20と22に通信可能に結合されるリモートオペレータステーション44も含んでよい。リモートオペレータステーション44は地理的に遠く離れて配置されてよく、その場合、通信リンク46は、必ずしもではないが好ましくは無線通信リンク、インターネットベースまたは他のパケット交換通信のネットワーク、電話回線例えば、デジタル加入者回線またはその任意の組み合わせである。図1の例に描かれているように、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22はLAN24を介して、および冗長リンク50を介して通信可能に結合されている。冗長リンク50は、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22との間の個別な専用のつまり共用されていない通信リンクであってよい。冗長リンク50は、例えば専用のイーサネット登録商標リンク例えば、互いに結合されているアプリケーションステーション20と22各々の専用のイーサネット登録商標カードを使用して実現されてよい。しかしながら、他の例では、冗長リンク50は、アプリケーションステーション20と22に通信可能に結合される、必ずしも両方とも専用ではないが、LAN24または冗長LAN図示されていないを使用して実現できるであろう。一般的に、アプリケーションステーション20と22は、冗長コンテキストを確立し、維持するために冗長リンク50を介して連続的に、例外によって、または周期的に情報を交換する。冗長コンテキストによって、アクティブアプリケーションステーション20とスタンバイアプリケーションステーション22間の制御の円滑なまたはバンプレスなハンドオフまたは切り替えが可能になる。例えば、冗長コンテキストは、アクティブアプリケーションステーション20の中のハードウェア故障またはソフトウェア故障に応えて、あるいはプロセス制御システム10のシステムオペレータまたはユーザまたはクライアントアプリケーションからの命令に応えて、アクティブアプリケーションステーション20からスタンバイアプリケーションステーション22への制御ハンドオフまたは切り替えを実行できる。図2は、図1のプロセス制御システム例10の中で使用されてよいサービス指向型アーキテクチャまたは構造の例200を描くブロック図である。図2に示されているように、サービス指向型アーキテクチャ例200は、サーバ202とクライアント204を含む。サーバ202は複数のサービス206、208、および210または集合体を含み、その内のいくつかまたはすべては関連機能を実行してよい。サービス206、208、および210は、通信ポート218を介したクライアント204との通信を可能にする各々のインタフェース例えば、公開されているパラメータの1つ以上のセット212、214、および216を提供する。サービスインタフェース212,214および216は、実質的には本質的に汎用であるため、実質的には図1のプロセス制御システム例10と関連する構成および/または実行時データベースに含まれるデータのために使用されるスキーマつまり、データフォーマット、プロトコル等とは無関係である。結果として、サービスインタフェース212、214、および216は、新規サービス能力例えば機能がサービス206、208および210の内の1つ以上に追加される場合、修正例えば更新だけを必要とする。したがって、サービスインタフェース212、214および216は、新規に公開されたインタフェースを使用するデータオブジェクトがプロセス制御システム10図1内での使用に追加されない限り変更される必要はない。サーバ202は、例えば、図1のシステム例に示されているアプリケーションステーション20と22および/またはオペレータステーション18と44の内の1つ以上等のプロセッサベースのシステムで実行されるソフトウェアとして実現されてよい。言うまでもなく、サーバ202は、プロセス制御システム例10図1に結合されている他のプロセッサベースのシステムまたはワークステーションを使用して実現されてよい。クライアント204は、各々がサービス206、208および210の内の1つに対応する複数のサービスインタフェースプロキシ220、222および224を含む。クライアント204によって使用されるサービスインタフェースプロキシの数は、サーバ202によって提供されるサービスの数より少ない場合がある。言い換えると、クライアント204は好ましくは、それがアクセスを必要とするサービスのためにのみプロキシを作成する。したがって、クライアント204は、サーバ202によって提供されるサービス206、208、および210の内の1つ以上にアクセスする、あるいはそれらと対話するために必要に応じて1つ以上のプロキシを生成してよい。サーバ202と同様に、クライアント204は、例えば、アプリケーションステーション20と22の内の1つ以上、および/またはオペレータステーション18と44の内の1つ以上等のプロセッサベースのシステムで実行されるソフトウェアとして実現されてよい。あるインプリメンテーション例では、クライアント204は、サーバ202によって提供される1つ以上のサービス206、208および210にアクセスするために、1つ以上のウェブブラウザフレームワーク例えばインターネットエクスプローラInternetExplorer等を活用してよい。しかしながら、他の所望のソフトウェアフレームワークは、このようなウェブブラウザフレームワークの代わりに、またはこのようなウェブブラウザフレームワークに加えて使用されてよい。さらに一般的に、クライアント204はプロセス制御システム例10図1内の所望のアプリケーションを表してよい。したがって、クライアント204は、例えば構成アプリケーション、保守アプリケーション、監視アプリケーション、プロセス制御アプリケーション、および/または任意の他のアプリケーションまたはアプリケーションの組み合わせであってよい。図14および図15に関連してさらに詳しく後述されるように、クライアント204つまり、クライアントアプリケーション複数の場合があるは、一人以上のシステムオペレータ、エンジニアおよび/または任意の他のユーザが構成動作、実行時等の間にプロセス制御データを見るおよび/または変更することが可能となるように表示機能例えばグラフィックユーザインタフェース機能を含んでよい。図2のアーキテクチャ例200は単一のクライアントと通信して単一のサーバを描いているが、所望の場合追加のサーバおよびクライアントが使用されてよい。例えば、いくつかのインプリメンテーションでは、クライアント204は、2台以上のサーバと通信し、2台以上のサーバと相互作動し、および/または2台以上のサーバの中でサービスにアクセスしてよい。同様に、これらのインプリメンテーションまたは他のインプリメンテーションでは、サーバ例202または他の個々のサーバは、複数のクライアントと通信してよい、および/または相互作動してよい。さらに、クライアント204がそれらの通信のためにサーバとして別のシステムと機能と通信してよいことが理解されなければならない。同様に、サーバ202がクライアント204以外のシステムと通信する場合、それらの通信のためのクライアントとして機能してよい。さらに、サービス206、208および210はサーバ202内で実現されているものとして描かれているが、サービス206、208、および210の内の1つ以上はクライアント204で代わりに実現されてよい。このように、図2のサービス指向型アプリケーション例200を用いると、サービス206、208および210は、相互から、およびサービス206、208および210を利用する例えば呼び出すアプリケーションから実質的例えばデータ依存性に関してに切り離される。有利なことに、このような切り離しによりサービス206、208および210の各々と関連するソフトウェアは、クライアント204によって活用され、サービス206、208および210にアクセスするアプリケーション複数の場合があるを修正またはバージョニングする必要なく、無関係に修正またはバージョンニングすることができ、現場での使用のためにリリースできる。同様に、クライアント204に関連するアプリケーション複数の場合があるが各々のサービス206、208および210のインタフェース212、214および216を順守するまたは適合しないかぎり、クライアント204と関連するアプリケーション複数の場合があるは、サービス206、208、および210を修正またはバージョニングする必要なく、無関係に修正またはバージョニングしてよい。したがって、アプリケーションおよび/またはサービス206、208、210と関連するソフトウェアが生成される時点でこのような関係性を固定するつまりデータ依存性を生じさせることにより、クライアント204とサービス206、208および210の内の1つ以上との間の関係性を静的に定義する代わりに、図2のアーキテクチャ例200はこのような関係性を実行時に動的に確立できるようにする。以下にさらに詳しく説明されるように、サービス指向型アーキテクチャ例200は、種々のコアサービスおよび機能を提供してよい。具体的には、アーキテクチャ例200はプロセス制御システム例10図1の中でサービスを登録し、配置するためのディスカバリサービスを提供してよい。アーキテクチャ例200は、クライアント204と関連するアプリケーション、ローカル実行時情報およびリモート実行時情報にアクセスを提供するための実行時サービス、多様なプロセス制御データベースにアクセスするためのデータベースサービス、およびプロセス制御システム例10図1内で使用されるサービスおよび/またはアプリケーションと関連するバージョンニング情報を記憶し、取り出すためのバージョン制御サービスの内の1つ以上の中にログし、またはその中からのログを可能にするためのセッションサービスも提供してよい。さらに、アーキテクチャ例200は履歴情報を照会するための履歴サービス、つまりヒストリアンスキャナサービスを提供してよく、アラーム情報の読取り、およびプロセス制御OPCデータサービスのためのOLEを可能にする実行時サービスとヒストリアンサービスとの対話、アラームおよびイベントサービスを必要とする。前記に注記された例各々のより詳細な説明は以下に示される。しかしながら、特に本明細書説明されるものに加えて他のサービス、および本明細書に説明されているものの代替策が所望のとおりに使用されてよいことが理解されなければならない。さらに、必ずしもでなくても、好ましくは、サービス206、208、および210は通常、システムユーザ例えばシステムオペレータ、エンジニア等が直接的に対話しないプロセス制御データ収集機能および処理機能と関連付けられていることが認識される必要がある。むしろ、このようなサービス例えばサービス206、208および210は、それらのデータをユーザが対話するクライアントアプリケーション例えば実行時グラフィックユーザインタフェースにそのデータを提供するまたはクライアントアプリケーションからデータを受信する。さらにこのようなサービス例えばサービス206、208および210は、通常、複数のクライアントアプリケーションに有用である情報またはデータを提供する。例えば、プロセス制御データベースにアクセスを提供するサービスは、例えば、プロセス制御システム動作、保守、履歴等に関する情報を提供するグラフィックユーザインタフェース等、複数のクライアントアプリケーションに有用であってよい。サービス等の機能データベースアクセス機能をクライアント関連機能例えばユーザインタフェース機能から分離することにより、グラフィックユーザインタフェース等は、グラフィックユーザインタフェースがデータを交換するサービスを修正する必要なく、バージョニング、修正等を行うことができる。同様に、サービスは、グラフィックユーザインタフェース機能を提供するアプリケーションを修正しなくてもバージョニングするまたは修正することができる、および/または新しいサービスを追加できる。図3は、図2のアーキテクチャ例200によって提供されてよいディスカバリサービス例300と実行時サーバ302との間の関係性を表す図である。一般的に、ディスカバリサービス例300は、サービス登録機能304、サービス位置決め機能306、およびサービス公開機能308を提供する。図3に描かれているように、ディスカバリサービス300および従って、登録機能、位置決め機能および公開機能304、306、および308は、実行時サーバ302によって提供されているデータアクセスサービス310と連携する。図7に関連して後述される実行時サーバ302によって提供される複数のサービスの内の1つであるデータアクセスサービス310は、プロセス制御システム例えば、図1のシステム例10の中で各ノード例えば各サーバ上にインストールされてよいサービスに関連する情報の照会を可能にするためのインタフェースを提供する。サービスは、ユニフォームリソース識別子URIを使用して位置決めされてよい、および/または登録されてよい。このようなURIは、サーバ識別子フィールド、ポートフィールド、パス識別フィールド、および/または照会文字列を含むアドレスの形を取ってよい。しかしながら、同一なまたは同様な結果を達成するために、任意の他の所望のURIフォーマットが利用されてよい。いくつかのURIフォーマットつまり、アイデンティティ役割、httpアドレス、およびカスタムhttpアドレスが以下に示される。図4はディスカバリサービス例300図3とそのホスト側ディスカバリサーバ312が協働するまたはデータアクセスサービス310およびそのホスト実行時サーバ302と相互作動する1つの方法を描くフロー図である。一般的に、図4に描かれているプロセスにより1つ以上の実行時サービス例えば、図7の実行時サービス例700をディスカバリサーバ312を介して登録できるようにする。詳細に図4に目を向けると、ワークステーション例えば、オペレータステーション、アプリケーションステーション等がブートするブロック402と、登録プロセス400が開始する。次にワークステーションは、同時にディスカバリサービス例えば、図3のディスカバリサービス300を起動するブロック406ディスカバリサーバのインスタンスを作成する、あるいは起動する例えば、図3のディスカバリサーバ312ブロック404。ブロック406でディスカバリサービスを起動すると、ディスカバリサービスのホストを努めるディスカバリサーバはディスカバリサービスに以前に登録されたURIを公開する。ブロック406でディスカバリサービスを起動後、ワークステーションは実行時サーバ複数の場合があるを起動するブロック408。次に、実行時サーバ複数の場合があるは、URIプレースホルダを作成し、URIとポートを関連付けるつまりURIにポートを割り当てることによりディスカバリプロキシを作成するブロック410。ブロック410で割り当てられたポート番号は次にディスカバリサービスに渡されるブロック412。ブロック412でディスカバリサービスにポート番号を送信後、実行時サーバ複数の場合があるは、ブロック410で割り当てられるポート番号を使用して登録されるURIを構築しブロック414、次に登録されるURIを実行時サービスに公開するブロック416。プロセス400は、次にディスカバリプロキシを介してディスカバリサービスにブロック416で公開されたURIを登録する。図5は、ディスカバリサービスがそれによってサービスを位置決めする例えば、所望のサービスのURIを決定するプロセス例500である。プロセス例500は、クライアントアプリケーションが起動されると開始するブロック502。次にクライアントアプリケーションが決定されるURIのプレースホルダを作成しブロック504、ディスカバリプロキシを介してディスカバリサービス内で位置決め機能を呼び出す位置決めされるサービスの名前を渡すブロック506。ブロック506での動作の結果としてクライアントアプリケーションに戻される、位置決めされるサービスのURIは次にサービスプロキシを介して位置決めされたサービスを起動するために使用されるブロック508。図6は、セッションサービス600のインプリメンテーション例を描く図である。一般的に、セッションサービス例600は各クライアントアプリケーションにロードし、アプリケーションとアプリケーションを呼び出すユーザに関連する権限を追跡する。したがって、本明細書に説明される各サービスサーバは、サービスに対するアクセスを調整し、サーバにより提供されるサービスの内の1つ以上へのアクセスを要求するユーザ/クライアントアプリケーションの組み合わせと関連付けられるセキュリティ証明書を確証するセッションサービスを含む。作動中、クライアントアプリケーションは特定のURIを使用してサーバに接続し、セッションサービスインタフェースを要求する。セッションサービスインタフェースはログイン機能とログアウト機能の両方を提供する。ログイン機能が呼び出されると、セキュリティ評価が、要求側のクライアントアプリケーションとユーザアイデンティティに基づいて実行され、セキュリティ評価が許容できる場合、セッションハンドルが戻され、要求側クライアントアプリケーションは実行時セッションに接続される。クライアントアプリケーションがサーバによって提供される別の例えば追加のサービスに対する接続を要求すると、クライアントアプリケーションはサーバにセッションハンドルをサーバに渡し、サーバはそのクライアントアプリケーションに関連するセッションに別のサービスを内部的に追加するためにセッションハンドルを使用する。ログアウト機能が呼び出されると、クライアントアプリケーションによって明示的に閉じられていなかったすべてのサービスが閉じられる。ここで図6の詳細を見ると、セッションサービスインプリメンテーション例600はクライアントプロセス602、データベースプロセス604、及び実行時プロセス606を含んでいる。クライアントプロセス602は、例えばアプリケーションステーション例えば、図1のアプリケーションステーション例20、オペレータステーション図1のオペレータステーション18、及び/または機械読取可能な命令、コードまたはソフトウェアを実行できる任意の他のシステムで実行可能な1つ以上のアプリケーションを含んでよい。データベースプロセス604は、データベースサーバ608を介して全体でまたは部分的に実行されてよく、実行時プロセス606は実行時サーバ302を介して全体でまたは部分的に実行されてよい。図6に描かれているように、セッションサービス例600のクライアントプロセス602は、データベースサーバ608内のセッションサービスインスタンス618と620に対応する各々のセッションサービスプロキシ614と616を有する複数のクライアントアプリケーション610と612を含む。さらに、クライアントプロセス602と関連するアプリケーション例610と612の各々は、データベースアクセスを必要とし、したがってデータベースサーバ608により提供されるデータアクセスサービスインスタンス626と628と関連する各々のプロキシ622と624を含む。クライアントプロセス例602は、データベースサーバ608によって提供されてよいダウンロードサービス632と関連するプロキシ630も提供する。データベースサーバ608はさらに、データベースサーバ608内のアクティブセッションセッション618と620を追跡するおよび/または管理するセッションマネージャ634を含む。セッション618と620、およびデータベースサーバ608内のダウンロードサービス623は、各々のプロキシ642、644および646を介して実行時サーバ302内の各々のインスタンス636、638および640と動作可能に関連付けられる。マシン端末セッション648は、セッション636と638を管理し、セッションオブジェクト650を保持し、前記に注記されたセッションオブジェクト650に対する安全性評価動作を実行するためにセキュリティサービス652と相互作動する。このように、図6のインプリメンテーション例で分かるように、各クライアントアプリケーションは、1台以上のサーバにより提供される1つ以上のサービスと相互作動する。さらに具体的には、クライアントアプリケーションがプロセス制御データベースに対するアクセスを必要とする範囲まで、そのクライアントアプリケーションは、必要とされるデータベースアクセスサービス複数の場合があるを提供するサーバとのセッション例えば通信リンクを確立する。例えば、図6のインプリメンテーション例では、アプリケーション610がデータベースサーバ608内で例えば、セッションサービス618を介してセッションを確立し、データベースサーバ608内でDataAccessサービス626を利用する。このように、クライアントアプリケーションは、複数の緩やかに結合されたつまり実質的にはデータから独立しているサービスを使用して実現することができ、それら各々が別のサーバ上にホスティングされてよい。クライアントアプリケーションは、次にホスト側サーバの各々で1つ以上のプロキシおよび1つ以上のセッションサービスオブジェクトを介してアプリケーションの各々によって、必要に応じてサービスと通信する。図7は、実行時サーバ302図3によって提供されてよい実行時サービス700のより詳細な線図である。一般的に、実行時サービス700は、ローカル実行時プロセス制御情報およびリモート実行時プロセス制御情報に対するアクセスを提供する。図7に示されているように、実行時サービス700はデータアクセスサービス310、アップロードサービス704、Fieldbusコミッショニングサービス706、実行時セッションサービス708、ダウンロードサービス710、コミッショニングサービス712、サブシステムサービス714、およびダウンロードリスナーサービス716を含んでよい。データアクセスサービス310は、実行時データベース例えば、図1のプロセス制御システム例10内でプロセス制御パラメータ値を含む実行時データベース内でのパラメータの読み書きを可能にする機能を提供する。さらに、データアクセスサービス310は、実行時データベース内のアイテム例えば、コミッショニングされたコントローラノードの収集を列挙することができる。アップロードサービス、ダウンロードサービスおよびダウンロードリスナーサービス704、710、および716は、実行時データベースへのデータのアップロードとダウンロードを可能にし、Fieldbusコミッショニングサービスとコミッショニングサービス706と712は実行時データベース内のフィールドデバイスのコミッショニングを可能にし、実行時セッションサービス708は図6のインプリメンテーション例と関連して前述されたように、機械端末セッション720とサーバセッションサービス718と協働してセキュリティ機能を実行する。図8は、データベースサーバ608によって提供されてよいデータベースサービス例800のより詳細な線図である。図8に示されているように、データベースサービス800は、データアクセスサービス802、ダウンロードサービス804、アップロードサービス806、Fieldbusコミッショニングサービス808、インポートサービス810、エキスポートサービス812、コミッショニングサービス814、データベース管理サービス816およびバージョン制御サービス820を含んでよい。データアクセスサービス802は、データベースを照会し、更新するための機能を提供する。データアクセスサービス802は、クライアントアプリケーションによって発行されるコマンドをデータベースサーバ608のデータベースに対して実行できるようにするコマンド機能も提供する。各コマンドは、データベースに適用される複数のナビゲーション動作と更新動作を含んでよい。加えて、各コマンドは単一のデータベーストランザクションで実行してよい。コマンドはアプリケーション内で構成され、データベースサーバ608内のスクリプトとして代わりに解釈される例えば、コンパイルされ、実行される文字列ストリングとして伝達される。必ずしもではないが、好ましくは、コマンドは、共通のスクリプトをすべての同様な動作に使用できるようにパラメータ化される。データベースサーバ608は実行速度を強化するためにスクリプトを事前コンパイルし、キャッシュに入れてよい。1つの特定の例では、クライアントアプリケーションによってデータベースサーバ608に送信される更新コマンドは、バージョン制御アクションつまり、バージョン制御サービスが必要とされる場合に、クライアントインタフェースに対する呼び戻しをトリガしてよい。使用できるあらゆる更新は、コマンドの実行および呼び出し側ルーチンへのその同期された戻りに続いて、データベースサーバ608内のデータベースから収集される。ダウンロードサービス804は、データベースサーバ608内での順序制御をサポートするインタフェースとして実現されてよい。ダウンロードサービス804インタフェースはダウンロードリストにアイテムを追加する機能、アップロードをチェックし、実行する機能、依存性をチェックする機能、ダウンロードを検証する機能、およびダウンロードアイテムをターゲットシステムに送信する機能を提供する。ダウンロードサービス804は、アップロードを実行するために、図6に示されるように実行時データアクセスサービス702図7と相互作動するように構成されてよい。ダウンロードサービス804は、デバイスがコミッションされることを確実にするために、実行時コミッショニングサービス712図7と相互作動してもよく、ダウンロードスクリプトを伝達するために実行時ダウンロードサービス710図7と相互作動してよい。インポートサービス810は、データベースサーバ608内で順序付け可能なインタフェースとして実現されてもよい。インポートサービス810は、インポートファイルを指定する機能、インポートオプションを指定する機能、および要求されたデータをインポートする機能を提供してよい。インポートサービス810のインタフェースは、呼び出し側クライアントがサーバ608のためのインポートファイルを読み取り、インポートの進行を報告できるようにする呼び戻しを提供してもよい。エクスポートサービス812は順序付け可能なインタフェースとして実現されてもよい。エクスポートサービス812は、エクスポートサービス812がエクスポートリストにアイテムを追加してから、エクスポートを実行できるようにするインタフェースを含んでよい。加えて、エクスポートサービス812は、クライアントアプリケーションがサーバのためのエクスポートファイルを書き込み、エクスポートの進行を報告できるようにする呼び出し側クライアントアプリケーションで呼び戻しインタフェースを提供してよい。データベース管理サービス816は、データベースの作成、削除、バックアップ、および復元を可能にする機能を提供する。バージョン制御サービス820は、バージョンの管理を可能にする機能例えば、サービスの異なるバージョンを提供する。図9は、バージョン制御サーバ900、バージョンサーバ902、およびデータベースサーバ608が相互作動する方法を描く図である。図9に描かれているように、バージョン制御サーバ900は複数のバージョン制御サービス904を含む。バージョン制御サービス904は管理サービス906とバージョンサービス908を含んでよい。図10は、複数の履歴サービス1002を提供してよい履歴サーバ例1000の線図である。履歴サービス1002は、データアクセスサービス1004、インポートサービス1006、データ書き込みサービス1008、エクスポートサービス1010、管理サービス1012、および監査サービス1014を含んでよい。一般的に、履歴サービス1002によって、クライアントアプリケーションは履歴プロセス制御情報にアクセスする、あるいは照会することができる。さらに具体的には、データアクセスサービス1004によって指定された期間の履歴情報の読み取り、時間情報例えばタイムスタンプおよびコメントを含む履歴情報の書き込み、および時間情報とコメントを含む履歴情報の更新を可能にする。インポートサービス1006は、指定ファイルの中の情報のインポートを可能にする。データ書き込みサービス1008は、履歴サーバデータベースへデータを書き込むために呼び出されてよい。エクスポートサービス1010は、エクスポートファイルに呼び出されてよい。管理サービス1012は、例えば、履歴データのアーカイブの作成、削除および移動等の履歴情報の管理を可能にする機能を提供する。図11は、履歴スキャナサーバ例1100と、履歴スキャナサーバ1100が実行時サービス702図7と履歴サービス1002図10と相互作動する方法を描く図である。図11に描かれているように、履歴スキャナサーバ1100は、それ独自のサービスのいずれも提供しないが、むしろ実行時サービス702と履歴サービス1002を使用する。図12および図13は、各々アラームイベントサーバ1200とOPCデータサーバ1300とを描いている。アラームイベントサーバ1200は、デコーダアクセスサービス1204、管理サービス1206、および構成サービス1208を含む複数のサービス1202を提供する。OPCデータサービス1300は、データアクセスサービス1304、管理サービス1306、および構成サービス1308を含む複数のサービス1302を提供する。図14は、本明細書に説明されているサービス指向型アーキテクチャ例が、クライアントアプリケーションと関連するユーザインタフェースディスプレイグラフィックスを変数、スクリプト、および/またはデータサービスまたはソースとリンクさせる、または結合させるために使用されてよい1つの方法の例を描く。図14に描かれているように、その内のいくつかまたはすべてが図2、図3、および図7から図13に関連して前述されたサービス例に類似した、または同一の方法で実現されてよい、例えばヒストリアンデータサービス1402、実行時サービス1404、および/または他のデータサービス1406等の1つ以上のデータサービス1400は、1つ以上の実行時プロセス1408にリンクされてよく、通信可能に結合されてよく、またそれ以外の場合は、動作可能に結合されてよい。実行時プロセス1408はあらゆる所望の実行時プロセスまたはアプリケーションを含んでよい。ただし、図14の例でのように、実行時プロセス1408は、ユーザが、プロセス制御パラメータ値、履歴プロセス関連情報、トレンド情報、保守情報、アラーム情報または警告情報等のプロセス制御データを見る、および/または修正することができるようにするグラフィックユーザインタフェースまたはディスプレイアプリケーション1410を含む。やはり図14に描かれているように、実行プロセス1408とデータサービス1400との間の通信結合またはリンケージは、データ結合動作またはプロセス1412およびデータソース複数の場合がある動作またはプロセス1414を使用して実現される。一般的に、実行時プロセス1408、データ結合プロセス1412およびデータソースプロセス1414は、例えばクライアント204図2によって実行されてよく、データサービス1400は例えばサーバ202図2によって実行されてよい。より詳細には、実行時プロセス1408、データ結合プロセス1412、およびデータソースプロセス1414を含むクライアント204図2と関連するプロセスは、マイクロソフト社MicrosoftCorporationによって提供されているアバロンAvalonオペレーティングシステムフレームワークを使用して実現されてよい。アバロンAvalonフレームワークは周知であり、本明細書に説明されている装置、方法、および製品の例の理解を容易にするためにアバロンAvalonフレームワークの特定の態様のみが説明される。さらに、マイクロソフト社MicrosoftCorporationによって提供されているアバロンAvalonフレームワークが本明細書に説明されている例を実現するための1つの特に有用なフレームワークである一方、アバロンAvalonフレームワークの代わりに、またはそれに加えて任意の他の適切なソフトウェアフレームワークが使用できるであろうことが理解されなければならない。より詳細に図14に目を向けると、データ結合関連プロセス1412は、より詳細に後述されるように変数、スクリプトおよびデータソースに対する参照を作成し、追跡調査するリソースマネージャ1416を含む。各ディスプレイ例えばディスプレイ1410は、専用のリソースマネージャインスタンス例えばリソースマネージャ1416によって管理されている。図14に示されるように、ディスプレイ例1410は、同様にコンテキスト1430の1つ以上の結合または結合オブジェクト1428を介してデータサービス1400の内の1つ以上に連結される、リンクされ、あるいは結合される1つ以上の変数1422、スクリプトつまり実行可能なソフトウェアスクリプト1424、およびデータソース参照1426と関連付けられたグラフィック要素1418と関連特性1420を含む。結合オブジェクト1428は、データソースたとえば、データサービス1400の1つ以上内のある特定のデータアイテムの位置の文字列表現を含んでよいため、結合オブジェクト1428はデータソースに特化している。さらに、文字列表現は実行時中に変更されてよいエイリアスに対する参照を含んでよい。図示されるように、コンテキスト1430は、実行時データソース1431と、後述されるデータソースマネージャ1432にも結合される。図14に描かれているように、リソースマネージャ1416はディスプレイ1410からデータコンテキストを取り出す。一般的に、データコンテキストは、要素1418をレンダリングする場合にディスプレイ1410によって使用される特性1420から構成されている。リソースマネージャ1416は、変数1422、スクリプト1424および参照1426の内の適切なものに、データコンテキストに関連する特性1420をマッピングする、関連させる、あるいはそれ以外の場合結び付けるように構成される。さらに、リソースマネージャ1416はさらに、結合1428、コンテキスト1430、およびデータソースマネージャ1432を介してデータサービス1400の内の1つ以上に特性1420をマッピングする、関連させる、あるいはそれ以外の場合結び付けるようにさらに構成されてよい。ディスプレイ1410の特性1420を変数1422、スクリプト1424、参照1426および/またはデータサービス1400に関連させるためにリソースマネージャ1416によって使用されるマッピングは、例えば構成エンジニアまたは任意の他のシステムユーザによってシステム構成動作の間に確立できる。このように、多くの公知のプロセス制御システムディスプレイまたはユーザインタフェースとは対照的に、ディスプレイ1410の実行時特性、またはさらに一般的には実行時プロセス1408は、実行時プロセス1408と関連するアプリケーションを構成するソフトウェアによって静的に定義される。逆に、リソースマネージャ1416は、ディスプレイ1410の特性1420と、変数1422、スクリプト1424、参照1426、および実行時のデータソース1400の内の1つ以上との間の関係性を確立するように構成される。動作中、リソースマネージャ1416は、変数、値、テキスト名等の変更に関する情報を受信してよい。いくつかの場合、データ変更はリソースマネージャ1416に提供されるデータコンテキストの変化を介して伝達されてよい。さらに具体的には、それらの場合、ユーザが開始した特性1420の内の1つ以上に対する変更は、変数1422および/または参照1426と関連する値の1つ以上を変更させるためにスクリプト1424の内の1つ以上を呼び出してよい。したがって、変更がデータサービス1400の内の1つ以上に記憶されるデータに関連する場合、リソースマネージャ1416により管理されるオブジェクトに対する変更は結合1428とコンテキストオブジェクト1430を介してデータサービス1400の内の適切な1つ以上に自動的に伝搬されてよい。他の場合、データ変更は例えば、プロセス変数値の変更の結果としてデータサービス1400の1つ以上の中で発生してよく、変更はリソースマネージャ1416によって提供されるマッピング機能を介して、特性1420の内の適切な1つにコンテキスト1430と結合1428を介して自動的に伝搬されてよい。データソースマネージャ1432は、データソースに関連する結合オブジェクト例えば、結合オブジェクト1428の集合体に関するクライアント状態情報を維持するために使用されるコンテキストオブジェクト例えば、コンテキストオブジェクト1430を作成、管理する。グラフィックユーザインタフェースと関連するディスプレイの場合、コンテキストオブジェクトとディスプレイの間には1対1の対応がある。言い換えると、ディスプレイごとに1つのコンテキストがあり、各々のコンテキストはそのディスプレイと関連する結合だけを含む。このように、図14の例では、コンテキストオブジェクト1430は一意にディスプレイ1410に対応する。コンテキストオブジェクトは、その内の一方はイベントベースであり、ありとあらゆるイベントに応えて更新を開始し、その内のもう一方が本来照合され、複数のデータ変更イベントを収集し、周期的に例えば、タイマに基づいて変更された結合アイテムのリストをタイマに応えてデータソースに送信することにより更新を始動するデータ更新機構も提供する。言うまでもなく、相対的に処理する多数のイベントがある場合、各イベントに個別に応えることは、実行時プロセス1408および全体的なプロセス制御システム例えば、図1のプロセス制御システム10の性能を害することがある例えば、反応性の鈍化。したがって、周期的にデータは変化したが、実行時プロセスにまだ渡されていない不正な結合のリストに応答して、全体的な性能が改善されうる。コンテキストオブジェクト1430とデータサービス1400との間の接続は、例えばマイクロソフト社MicrosoftCorporationによって提供されているインディゴIndigoフレームワークを使用して実現されてよい。図14の例と関連する変更情報の流れはディスプレイ1410で開始され、リソースマネージャ1416、結合1428、データソースマネージャ1432およびコンテキスト1430を介してデータサービス1400の内の1つ以上に自動的に伝搬されるものとして説明されているが、データ変更情報は、代わりにまたは加えて、データサービス1400の内の1つ以上からディスプレイ1410に自動的に伝搬できるであろう。図15は、ユーザインタフェースディスプレイグラフィックスがデータサービスまたはソースにリンクされる、あるいは結合されてよい1つの方法の例を描いている。図15に描かれているように、ディスプレイ例えばディスプレイを提供するアプリケーションまたは他の実行時エンティティ1502は、同様にパラメータまたはディスプレイコンテンツ1506と関連付けられるディスプレイ要素またはグラフィックス1504を含む。ディスプレイ1502は、1つ以上のプロセス制御関連アプリケーションと関連するユーザインタフェースであってよく、その場合、グラフィックス1504は、例えばプロセス制御値、ポンプ、バルブ等のプロセス制御デバイスのグラフィック表現を保持するためのテキストボックス等のプロセス制御関連グラフィックスであってよい。ディスプレイコンテンツ1506は、たとえば、ディスプレイグラフィックス1504がテキストボックスである場合のテキスト情報、プロセス状態例えば、赤は所定の限度に近づいている、あるいは超えたパラメータ値および/または是正処置を講じる必要性を示してよいを表す色例えば、複数の塗り潰し色の内の1つ、グラフィック要素例えば、ファンまたはポンプインペラの回転速度、振動、移動等するモータまたは他のデバイスの三次元ビュー、および/または任意の他のコンテンツを含んでよい。ディスプレイ1502は、同様にプロセスコンテキスト1510とプロセス結合1512に通信可能にまたは動作可能に結合されるリソースマネージャインスタンス1508に通信可能に、または動作可能に結合される。プロセスコンテキスト1510は、プロセス結合1512に照合されたデータ変更通知またはイベント駆動データ変更通知を提供するように構成されてよい。プロセス結合1512は、データソースまたはサービスの中の固定メモリ位置のデータを参照してよい、および/またはデータソースまたはサービス内のデータのエイリアスを参照してよい。プロセス結合1512は結合オブジェクト1514を介してディスプレイコンテンツ1506に通信可能に、または動作可能に結合される。動作中、リソースマネージャ1508は、ディスプレイグラフィックス1504とディスプレイコンテンツ1506をレンダリングするためにディスプレイ1502によって使用されるデータコンテキストまたはパラメータを保持する。リソースマネージャ1508は、ディスプレイ1502と関連する特性の少なくとも1つを、プロセスコンテキスト1510により提供されるデータにマップする、関係させる、またはその他関連させて、データサービスたとえば、図14に図示されるデータサービス1400の内の1つ内に記憶されるデータのためのデータランディングサイトを提供する。言い換えると、プロセスコンテキスト1510は、例えばコンテキストオブジェクト1430図14等のコンテキストオブジェクト、したがってデータサービスまたは他のデータソースからの情報をリソースマネージャ1508に、そして最終的にはディスプレイコンテンツ1506、したがってディスプレイ1502に動作可能にまたは通信可能に結合するための機能を使用して実現されてよい。プロセスコンテキスト1510は、プロセス結合1512に対して照合された方法で例えば変更されたデータ情報の集合体を周期的に送信する、あるいは各データ変更イベントに応えてプロセス結合1512にデータ変更情報を送信するように構成されてよい。プロセスコンテキスト1510は、リソースマネージャ1508が変更通知を必要とするデータのプロセスコンテキスト1510を通知する情報をリソースマネージャ1508から受信するように構成される。このようにプロセスコンテキスト1510はリソースマネージャ1508により保持されるディスプレイ1502のデータコンテキストと関連するデータに関係するデータ変更通知だけを提供するように構成されてよい。いずれの場合でも、プロセス結合1512が1つ以上のデータ値が変更した旨の通知をプロセスコンテキスト1510から受信すると、プロセス結合1512は結合1514を介してディスプレイコンテンツ1506に新しい値複数の場合があるを結合してから、リソースマネージャ1508に変更通知を提供する。プロセス結合1512から変更通知を受信すると、リソースマネージャ1508はディスプレイ1502上で特性変更メソッドを呼び出し、それによりディスプレイ1502に新規に結合されたデータを組み込むために更新させる。本明細書に説明されている機能ブロック又はオペレーションは、ソフトウェア、ファームウェアおよびハードウェアの任意の所望の組み合わせを使用して実現されてよい。例えば、1台以上のマイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路ASIC等は、メソッドを実施するため、本明細書に説明される装置を実現するために機械またはプロセッサがアクセス可能な機能媒体上に記憶されている命令またはデータにアクセスしてよい。記憶媒体は、例えばランダムアクセスメモリRAM、読み取り専用メモリROM、電気的消去可能ROMEEPROM等を含むソリッドステート記憶媒体、光記憶媒体、磁気記憶媒体等のデバイスおよび/または媒体の任意の組み合わせを含んでよい。加えて、機能ブロックを実現するために使用されるソフトウェアは、さらにまたは代わりに、インターネット、電話回線、衛星通信等を介してソフトウェアを実行するプロセッサまたは他の1台以上のデバイスに送達され、それらによってアクセスされてよい。図16は、本明細書に説明される装置および方法を実現するために使用されてよいプロセッサシステム例1602を描く。プロセッサベースのシステム例1602は、例えば、サーバ、パソコン、または任意の他のタイプのコンピューティング装置であってよい。プロセッサ1600は、例えば、ペンティアム登録商標Pentium登録商標ファミリ、アイテニアムItanium登録商標ファミリ、またはXScale登録商標ファミリの1台以上のインテルIntel登録商標マイクロプロセッサを使用して実現されてよい。言うまでもなく、他のファミリおよび企業の他のプロセッサも適切である。プロセッサ1600は、バス1608を介して揮発性メモリ1604および不揮発性メモリ1606を含むメインメモリと通信している。揮発性メモリ1604は、同期型DRAMSDRAM、ダイナミックランダムアクセスメモリDRAM、RAMBUSダイナミックアクセスメモリRDRAMおよび/または任意の他のタイプのランダムアクセスメモリデバイスによって実現されてよい。不揮発性メモリ1606は、フラッシュメモリおよび/または任意の他の所望のタイプの不揮発性メモリデバイスによって実現されてよい。メモリ1604に対するアクセスは、通常、従来の方法でメモリコントローラ不図示によって制御されている。システム1602はインタフェース回路1610も含む。インタフェース回路1610は、例えば、システム1602が図1のリンク24、32、40、42、46および48の内の1つ以上を介して通信可能にきるようにするための任意のタイプの周知のインタフェース規格によって実現されてよい。システム1602は、ソフトウェアおよび/またはデータを記憶するために1台以上の大量記憶装置1618も含む。このような大量記憶装置の例はフロッピー登録商標ディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、およびデジタル多用途ディスクDVDドライブを含む。特定の方法および装置および製品が本明細書に説明されてきたが、本特許の範囲はそれに限定されない。むしろ本明細書は、字句通りに、または均等論の元でのいずれかにより添付請求項の範囲内に該当するすべての方法、装置および製品をカバーする。"