(57)【要約】【課題】動作プロセスプラントまたはプロセス制御システムを柔軟に構成する。【解決手段】親オブジェクトへの変更が親オブジェクトから派生する子オブジェクトに選択的に伝達されることを可能にし、それによって、第２のサブセットおよびそれらのそれぞれのインスタンス化が変更されずに残る一方で、子オブジェクトの第１のサブセットおよびそれらのそれぞれのインスタンス化が、変更を伴って更新されるようにする。【選択図】図５
2020177686.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントを柔軟に構成する方法であって、
前記プロセスプラントのエンティティに対応する現在の親オブジェクトへの修正の指示を受け取ることと、
修正された子オブジェクトの第１のサブセットを作成するように、現在の子オブジェクトのセットの第１のサブセットの各現在の子オブジェクトに前記修正を伝達することであって、
現在の子オブジェクトの前記セットに含まれる各現在の子オブジェクトが、前記現在の親オブジェクトから派生し、前記プロセスプラントのそれぞれの指定要素に対応し、
前記それぞれの指定要素が、前記プロセスプラントにおいて制御されている１つ以上のプロセスに対応する機能を提供するように、前記各現在の子オブジェクトのインスタンス化に従って動作する、伝達することと、
現在の子オブジェクトの前記セットの第２のサブセットに前記修正を伝達しないことと、
修正された現在の子オブジェクトの前記第１のサブセットのインスタンス化を生成させ、かつ修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化をそれぞれの指定要素の第１のセットにおいて実行させ、それぞれの指定要素の前記第１のセットが修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化に従ってランタイムに動作するようにすることと、
現在の子オブジェクトの前記第２のサブセットに対応するそれぞれの指定要素の第２のセットが、現在の子オブジェクトの前記第２のサブセットの前記インスタンス化に従ってランタイムに動作するように、現在の子オブジェクトの前記セットの前記第２のサブセットのインスタンス化を維持することと、を含む、方法。
【請求項２】
現在の子オブジェクトの前記セットの前記第１のサブセットの選択の指示、または現在の子オブジェクトの前記セットの前記第２のサブセットの選択の指示のうちの少なくとも１つを受け取ることを更に含む、請求項１に記載の方法。
【請求項３】
現在の子オブジェクトの前記セットの前記第１のサブセットに前記修正を伝達すること、または、現在の子オブジェクトの前記セットの前記第２のサブセットに前記修正を伝達しないことのうちの少なくとも１つが、分散ポリシーに基づく、請求項１または２に記載の方法。
【請求項４】
前記分散ポリシーが、特定のクラスオブジェクトまたは特定のプロセス要素オブジェクトのうちの少なくとも１つに変更が伝達されるべきかどうかを示す、請求項３に記載の方法。
【請求項５】
請求項１〜４のいずれかに記載の方法であって、
現在の子オブジェクトの前記第１のサブセットの前記各現在の子オブジェクトに前記修正を伝達することが、前記現在の親オブジェクトから派生する第１の現在のインスタンスオブジェクトに前記修正を伝達することを含み、現在の子オブジェクトの前記第１のサブセットに含まれる前記現在の子オブジェクトのうちの少なくとも１つが、前記第１の現在のインスタンスオブジェクトから派生するか、または
前記第２のサブセットに前記修正を伝達しないことが、前記現在の親オブジェクトから派生する第２の現在のインスタンスオブジェクトに前記修正を伝達しないことを含み、現在の子オブジェクトの前記第２のサブセットに含まれる前記現在の子オブジェクトのうちの少なくとも１つが、前記第２の現在のインスタンスオブジェクトから派生するか、のうちの少なくとも１つである、方法。
【請求項６】
請求項１〜５のいずれかに記載の方法であって、
前記現在の親オブジェクトへの前記修正の前記指示を受け取ることが、
前記現在の親オブジェクトのコンテンツへの追加、
前記現在の親オブジェクトの前記コンテンツの少なくとも第１の部分の削除、
前記現在の親オブジェクトの前記コンテンツの前記少なくとも第１の部分、または前記現在の親オブジェクトの前記コンテンツの少なくとも第２の部分の無効化、
前記現在の親オブジェクトの無効化されたコンテンツの有効化、
前記現在の親オブジェクトに含まれる値への変更、
前記現在の親オブジェクトに含まれる参照への変更、または
前記現在の親オブジェクトに含まれる参照の解像度、のうちの少なくとも１つの指示を受け取ることを含む、方法。
【請求項７】
それぞれの指定要素の前記第１のセットでの修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化の実行を、指定された時間まで遅延させることを更に含む、請求項１〜６のいずれかに記載の方法。
【請求項８】
請求項７に記載の方法であって、
前記指定された時間が、第１の指定された時間であり、前記方法が、
修正された子オブジェクトの第２のサブセットを作成するように、現在の子オブジェクトの前記セットの第３のサブセットの各現在のオブジェクトに前記修正を伝達することと、
それぞれの指定要素の第３のセットでの修正された子オブジェクトの前記第２のサブセットのインスタンス化の実行を、前記第１の指定された時間とは異なる第２の指定された時間まで遅延させることと、を更に含む、方法。
【請求項９】
それぞれの指定要素の前記第１のセットが、ディスプレイモジュール、制御モジュール、または前記プロセスプラントに含まれるネットワークを用いて通信を経路制御するモジュールのうちの少なくとも１つを含む、請求項１〜８のいずれかに記載の方法。
【請求項１０】
前記現在の親プロセスオブジェクトへの前記修正の前記指示を受け取ることが、現在のクラスプロセスオブジェクトへの修正の指示を受け取ることを含む、請求項１〜９のいずれかに記載の方法。
【請求項１１】
請求項１〜１０のいずれかに記載の方法であって、
特定の現在の子オブジェクトへの修正の指示を受け取ることであって、前記特定の現在の子オブジェクトが、前記親オブジェクトから派生する現在の子オブジェクトの前記セットに含まれ、前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記セットの前記第１のサブセットのメンバでなく、前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記第２のサブセットのメンバでない、受け取ることと、
前記現在の親オブジェクトに前記特定の現在の子オブジェクトの前記修正を伝達することと、を更に含み、
前記現在の親オブジェクトへの前記修正の前記指示を受け取ることが、前記現在の親オブジェクトのための前記特定の現在の子オブジェクトの前記伝達された修正の指示を受け取ることを含む、方法。
【請求項１２】
プロセスプラントを柔軟に構成するための装置であって、
前記プロセスプラントに含まれる１つ以上の指定要素に通信可能に連結された柔軟なコンフィギュレータを備え、前記１つ以上の指定要素のうちの各々が、前記プロセスプラントによって制御されている１つ以上のプロセスに対応し、前記柔軟なコンフィギュレータが、１つ以上の有形の非一時的メモリ上に記憶されたコンピュータ実行可能命令を含み、前記コンピュータ実行可能命令が、
前記プロセスプラントのエンティティに対応する現在の親オブジェクトに対応するユーザ修正の指示を受け取ることと、
修正された子オブジェクトのセットを作成するように、現在の子オブジェクトのセットの第１のサブセットの各現在の子オブジェクトに前記ユーザ修正を伝達することであって、
現在の子オブジェクトの前記セットに含まれる各現在の子オブジェクトが、前記現在の親オブジェクトから派生し、前記プロセスプラントのそれぞれの指定要素に対応し、
前記それぞれの指定要素が、前記プロセスプラントにおいて制御されている前記１つ以上のプロセスに対応する機能を提供するように、前記各現在の子オブジェクトのインスタンス化に従って動作する、伝達することと、
現在の子オブジェクトの前記セットの第２のサブセットに前記ユーザ修正が伝達されることを阻止することと、
修正された子オブジェクトの前記セットのインスタンス化をそれぞれの指定要素の第１のセットへ送信させ、それぞれの指定要素の前記第１のサブセットが修正された子オブジェクトの前記セットの前記インスタンス化に従ってランタイムに動作するようにすることと、
現在の子オブジェクトの前記第２のサブセットに対応するそれぞれの指定要素の第２のセットでの現在の子オブジェクトの前記セットの第２のサブセットのインスタンス化を維持し、それぞれの指定要素の前記第２のセットが現在の子オブジェクトの前記第２のサブセットの前記インスタンス化に従ってランタイムに動作するようにすることと、
請求項１〜１１のうちのいずれかのゼロ以上に記載の方法を実施することと、を行うように、１つ以上のプロセッサによって動作可能である、装置。
【請求項１３】
現在の子オブジェクトの前記セットの前記第１のサブセットが、現在の子オブジェクトの選択された第１のサブセットであるか、または現在の子オブジェクトの前記セットの前記第２のサブセットが、現在の子オブジェクトの選択された第２のサブセットであるか、のうちの少なくとも１つである、請求項１２に記載の装置。
【請求項１４】
請求項１２または請求項１３に記載の装置であって、
前記ユーザ修正の前記伝達または前記ユーザ修正の前記伝達の前記阻止が、１つ以上のオブジェクトに対応する少なくとも１つの分散パラメータに基づき、前記１つ以上のオブジェクトが、前記現在の親オブジェクト、現在の子オブジェクトの前記セットの前記第１のサブセット、現在の子オブジェクトの前記セットの前記第２のサブセット、現在の子オブジェクトの前記第１もしくは前記第２のサブセットに含まれる少なくとも１つの現在の子オブジェクトの親オブジェクトであり、かつ前記現在の親オブジェクトから派生するインスタンスオブジェクト、または前記各現在の子オブジェクトのうちの少なくとも１つを含む、装置。
【請求項１５】
前記少なくとも１つの分散パラメータが、修正可能である、請求項１４に記載の装置。
【請求項１６】
前記１つ以上のオブジェクトに対応する前記少なくとも１つの分散パラメータが、前記１つ以上のオブジェクトで１つ以上の伝達された修正を受け入れるためのポリシーを示す、請求項１４または請求項１５に記載の装置。
【請求項１７】
前記１つ以上のオブジェクトに対応する前記少なくとも１つの分散パラメータが、前記１つ以上のオブジェクトに１つ以上の修正を伝達するためのポリシーを示す、請求項１４〜１６のいずれかに記載の装置。
【請求項１８】
請求項１２〜１７のいずれかに記載の装置であって、
現在の子オブジェクトの前記第１のサブセットに含まれる前記現在の子オブジェクトのうちの少なくとも１つが、現在のインスタンスオブジェクトから派生し、
前記現在のインスタンスオブジェクトが、前記現在の親オブジェクトから派生し、
前記現在の親オブジェクトに対応する前記ユーザ修正が、前記現在の親オブジェクトへのユーザ修正であり、
前記現在の子オブジェクトのうちの前記少なくとも１つへの前記ユーザ修正の前記伝達が、前記現在のインスタンスオブジェクトへの前記ユーザ修正の伝達に基づき、
前記現在のインスタンスオブジェクトへの前記ユーザ修正の前記伝達が、前記現在の親オブジェクトへの前記ユーザ修正に基づく、装置。
【請求項１９】
請求項１２〜１８のいずれかに記載の装置であって、
前記現在の親オブジェクトに対応する前記ユーザ修正が、ユーザ修正から特定の現在の子オブジェクトに伝達された修正であり、
前記特定の現在の子オブジェクトが、前記現在の親オブジェクトから派生し、
前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記第１のサブセットのメンバではなく、
前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記第２のサブセットのメンバではない、装置。
【請求項２０】
現在の子オブジェクトの前記第２のサブセットに含まれる少なくとも１つの現在の子オブジェクトが、現在のインスタンスオブジェクトから派生し、前記現在のインスタンスオブジェクトが、前記現在の親オブジェクトから派生する、請求項１２〜１９のいずれかに記載の装置。
【請求項２１】
請求項１２〜２０のいずれかに記載の装置であって、
前記現在の親オブジェクトへの前記ユーザ修正が、
前記現在の親オブジェクトのコンテンツへの追加、
前記現在の親オブジェクトの前記コンテンツの少なくとも第１の部分の削除、
前記現在の親オブジェクトの前記コンテンツの前記少なくとも第１の部分、または前記現在の親オブジェクトの前記コンテンツの少なくとも第２の部分の無効化、
前記現在の親オブジェクトの無効化されたコンテンツの有効化、
前記現在の親オブジェクトに含まれる値への変更、
前記現在の親オブジェクトに含まれる参照への変更、または
前記現在の親オブジェクトに含まれる参照の解像度、のうちの少なくとも１つを含む、装置。
【請求項２２】
前記現在の親オブジェクトが、クラスプロセスオブジェクトまたは前記クラスプロセスオブジェクトから派生したインスタンスオブジェクトのうちの１つである、請求項１２〜２１のいずれかに記載の装置。
【請求項２３】
前記プロセスプラントにおいて制御されている前記１つ以上のプロセスに対応する前記機能が、ユーザインターフェース上にディスプレイを提示するための機能を含み、前記ディスプレイが、前記プロセスプラントによって制御されている前記１つ以上のプロセスによって生成されたリアルタイム情報を含む、請求項１２〜２２のいずれかに記載の装置。
【請求項２４】
前記プロセスプラントによって制御されている前記１つ以上のプロセスに対応する前記機能が、前記１つ以上のプロセスを制御するために実行される制御機能を含む、請求項１２〜２３のいずれかに記載の装置。
【請求項２５】
前記プロセスプラントにおいて制御されている前記１つ以上のプロセスに対応する機能が、通信を経路制御するように実行される送達機能を含み、そのコンテンツが前記１つ以上のプロセスを制御するために使用される、請求項１２〜２４のいずれかに記載の装置。
【請求項２６】
それぞれの指定要素の前記第１のセットへの修正された子オブジェクトの前記セットの前記送信が、修正された子オブジェクトの前記セットが承認または公開された後にのみ起こる、請求項１２〜２５のいずれかに記載の装置。
【請求項２７】
承認または公開された修正された子オブジェクトの前記セットに含まれる少なくとも１つの子オブジェクトが、名前変更される、請求項２６に記載の装置。
【請求項２８】
プロセスプラントを柔軟に構成する方法であって、
親オブジェクトへの更新の指示を受け取ることであって、複数の子オブジェクトの各子オブジェクトが、前記親オブジェクトから派生し、前記各子オブジェクトのインスタンス化が、前記プロセスプラントにおいて１つ以上のプロセスを制御することに対応する機能を実施するようにそれぞれの要素において実行される、受け取ることと、
更新された親オブジェクトを生成するように、前記指示に基づいて、前記親オブジェクトを更新することと、
更新された子オブジェクトのセットを生成するように、前記複数の子オブジェクトの第１のサブセットに、前記更新を伝達することと、
前記複数の子オブジェクトの第２のサブセットに前記更新が伝達されることを阻止することと、
更新された子オブジェクトの前記セットに対応する前記それぞれの要素のそれぞれの構成を、更新された子オブジェクトの前記セットの前記インスタンス化に従って更新させ、前記それぞれの要素が、更新された子オブジェクトの前記セットのインスタンス化に従ってリアルタイムに動作するようにすることと、
請求項１〜２７のうちのいずれかのゼロ以上に記載の方法を実施することと、を含む、方法。
【請求項２９】
分散ポリシーに基づいて、前記第１のサブセットの前記メンバまたは前記第２のサブセットの前記メンバのうちの少なくとも１つを決定することを更に含む、請求項２８に記載の方法。
【請求項３０】
請求項２９に記載の方法であって、
分散ポリシーが、
前記第１のサブセットの前記メンバもしくは前記第２のサブセットの前記メンバのうちの前記少なくとも１つ、または
前記第１のサブセットの前記メンバもしくは前記第２のサブセットの前記メンバのうちの前記少なくとも１つが派生するインスタンスオブジェクトであって、前記親オブジェクトから派生する、インスタンスオブジェクトに対応する分散パラメータを含む、方法。
【請求項３１】
請求項２８〜３０のいずれかに記載の方法であって、
前記複数の現在の子オブジェクトの前記第１のサブセットに前記更新を伝達することが、前記現在の親オブジェクトから派生した現在のインスタンスオブジェクトに前記更新を伝達することと、前記現在のインスタンスオブジェクトへの前記更新に基づいて、現在の子オブジェクトの前記第１のサブセットの少なくとも１つのメンバに前記更新を伝達することと、を含む、方法。
【請求項３２】
請求項２８〜３１のいずれかに記載の方法であって、
特定の子オブジェクトへの更新の指示を受け取ることであって、前記特定の子オブジェクトが、前記現在の親オブジェクトから派生し、前記特定の子オブジェクトが、前記複数の現在の子オブジェクトの前記第１のサブセットのメンバでなく、前記特定の子オブジェクトが、前記複数の現在の子オブジェクトの前記第２のサブセットのメンバでない、受け取ることと、
前記現在の親オブジェクトに、前記特定の子オブジェクトへの前記更新を伝達することと、を更に含み、
前記現在の親オブジェクトへの前記更新の前記指示が、前記現在の親オブジェクトに伝達された前記特定の子オブジェクトの前記更新の指示を含む、方法。
【請求項３３】
請求項２８〜３２のいずれかに記載の方法であって、
前記現在の親オブジェクトへの前記更新の前記指示を受け取ることが、
前記現在の親オブジェクトのコンテンツへの追加、
前記現在の親オブジェクトの前記コンテンツの少なくとも第１の部分の削除、
前記現在の親オブジェクトの前記コンテンツの前記少なくとも第１の部分、または前記現在の親オブジェクトの前記コンテンツの少なくとも第２の部分の無効化、
前記現在の親オブジェクトの無効化されたコンテンツの有効化、
前記現在の親オブジェクトに含まれる値への変更、
前記現在の親オブジェクトに含まれる参照への変更、または
前記現在の親オブジェクトに含まれる参照の解像度のうちの少なくとも１つの指示を受け取ることを含む、方法。
【請求項３４】
請求項２８〜３３のいずれかに記載の方法であって、更新された子オブジェクトの前記セットの承認または公開の指示を受け取ることを更に含み、前記それぞれの要素の前記それぞれの構成を、更新された子オブジェクトの前記セットの前記インスタンス化に従って更新させることが、更新された子オブジェクトの前記セットが承認または公開された後に、前記それぞれの要素の前記それぞれの構成を、更新された子オブジェクトの前記セットの前記インスタンス化に従って更新させることを含む、方法。
【請求項３５】
更新された子オブジェクトの前記セットの前記承認または公開の前記指示を受け取ることが、更新された子オブジェクトの前記セットに含まれる少なくとも１つの子オブジェクトを名前変更することを含む、請求項３４に記載の方法。
【請求項３６】
請求項２８〜３５のいずれかに記載の方法であって、
前記複数の子オブジェクトの前記第２のサブセットが、維持された子オブジェクトのセットであり、
更新された複数の子オブジェクトが、更新された子オブジェクトの前記セットおよび維持された子オブジェクトの前記セットを含み、
前記現在の親オブジェクトへの前記更新の前記指示が第１の更新であり、
前記方法が、
前記更新された親オブジェクトへの第２の更新の指示を受け取ることと、
前記第２の更新の前記指示に基づいて、前記更新された親オブジェクトを更に更新された親オブジェクトに更新することと、
前記更新された複数の子オブジェクトのサブセットに前記第２の更新を伝達することであって、前記更新された複数の子オブジェクトの前記サブセットが、更新された子オブジェクトの前記セットのメンバ、維持された子オブジェクトの前記セットのメンバ、または別の子オブジェクトのうちの少なくとも１つを含む、伝達することと、を更に含む、方法。
【請求項３７】
プロセスプラントを柔軟に構成する方法であって、
コンピューティングデバイスで、現在の子プロセスオブジェクトが派生する現在の親プロセスオブジェクトへの修正を示すユーザ入力を受け取ることであって、
前記現在の子プロセスオブジェクトが、前記プロセスプラントの指定要素に対応し、
前記指定要素が、前記プロセスプラントにおいて制御されている１つ以上のプロセスに対応する機能を提供するように、前記現在の子プロセスオブジェクトのインスタンス化に従って動作する、受け取ることと、
前記指定要素に対応する修正された子プロセスオブジェクトを生成するように前記現在の子プロセスオブジェクトを修正することを含む、前記コンピューティングデバイスによって、かつ前記ユーザ入力に基づいて、修正された親プロセスオブジェクトを生成するように前記現在の親プロセスオブジェクトを修正することと、
前記コンピューティングデバイスに連結されたデータ記憶エンティティに、ドラフトの修正された親プロセスオブジェクトとして前記修正された親プロセスオブジェクトと、前記ドラフトの修正された親プロセスオブジェクトに対応するドラフトの修正された子プロセスオブジェクトとして前記修正された子プロセスオブジェクトと、を記憶することと、
前記コンピューティングデバイスによって、前記ドラフトの修正された子プロセスオブジェクトがインスタンス化されることを阻止することと、
前記コンピューティングデバイスで、公開された修正された子プロセスオブジェクトを生成するように前記ドラフトの修正された子プロセスオブジェクトを公開するユーザ指示を受け取ることと、
前記コンピューティングデバイスによって、（ｉ）前記公開された修正されたプロセス要素をインスタンス化させることと、（ｉｉ）通信リンクを用いて、前記公開された修正されたプロセス要素の前記インスタンス化を前記プロセスプラントの前記指定要素に送達させ、前記指定要素が、ランタイム中、前記公開された修正された子プロセスオブジェクトの前記インスタンス化に従って動作するようにすることと、を行うことと、
請求項１〜３６のうちのいずれかのゼロ以上に記載の方法を実行することと、を含む、方法。
【請求項３８】
前記ドラフトの修正された子プロセスオブジェクトを公開する前記ユーザ指示を受け取ることが、前記ドラフトの修正された親プロセスオブジェクトを公開するユーザ指示を受け取ることを含む、請求項３７に記載の方法。
【請求項３９】
請求項３７または請求項３８に記載の方法であって、前記ドラフトの修正された親プロセスオブジェクトを公開する前記ユーザ指示を受け取ることが、複数のドラフトの親プロセスオブジェクトから前記ドラフトの修正された親プロセスオブジェクトのユーザ選択の指示を受け取ることを含み、前記複数のドラフトの親プロセスオブジェクトの各ドラフトの親プロセスオブジェクトが、前記現在の親プロセスオブジェクトへのそれぞれの修正を含む、方法。
【請求項４０】
請求項３７〜３９のいずれかに記載の方法であって、前記ドラフトの修正された子プロセスオブジェクトを公開する前記ユーザ指示を受け取ることが、複数のドラフトの子プロセスオブジェクトから前記ドラフトの修正された子プロセスオブジェクトのユーザ選択の指示を受け取ることを含み、前記複数のドラフトの子プロセスオブジェクトの各ドラフトの子プロセスオブジェクトが、前記現在の子プロセスオブジェクトへのそれぞれの修正を含む、方法。
【請求項４１】
請求項３７〜４０のいずれかに記載の方法であって、
前記ユーザ入力が、第１のユーザ入力であり、前記現在の親プロセスオブジェクトへの前記修正が、前記現在の親プロセスオブジェクトへの第１の修正であり、前記修正された親プロセスオブジェクトが、第１の修正された親プロセスオブジェクトであり、前記修正された子プロセスオブジェクトが、第１の修正された子プロセスオブジェクトであり、前記ドラフトの親プロセスオブジェクトが、第１のドラフトの親プロセスオブジェクトであり、かつ、前記ドラフトの修正された子プロセスオブジェクトが、第１のドラフトの修正された子プロセスオブジェクトであり、
前記方法が、
前記コンピューティングデバイスで、前記現在の親プロセスオブジェクトへの第２の修正を示す第２のユーザ入力を受け取ることと、
第２の修正された子プロセスオブジェクトを生成するように前記現在の子プロセスオブジェクトを修正することを含む、前記コンピューティングデバイスによって、かつ前記第２のユーザ入力に基づいて、第２の修正された親プロセスオブジェクトを生成するように前記現在の親プロセスオブジェクトを修正することと、
前記データ記憶エンティティに、第２のドラフトの親プロセスオブジェクトとして前記第２の修正された親プロセスオブジェクトと、前記第２のドラフトの親プロセスオブジェクトに対応する第２のドラフトの修正された子プロセスオブジェクトとして前記第２の修正された子プロセスオブジェクトと、を記憶することと、を更に含む、方法。
【請求項４２】
請求項３７〜４１に記載の方法であって、前記プロセスプラントにおいて制御されている前記１つ以上のプロセスに対応する前記機能が、（ｉ）前記１つ以上のプロセスの少なくとも一部分を制御するために使用される制御アルゴリズムに含まれる機能、または（２）前記１つ以上のプロセスの前記少なくとも一部分を前記制御することに基づいて生成された情報を表示する機能のうちの１つである、方法。
【請求項４３】
請求項３７〜４２に記載の方法であって、
前記コンピューティングデバイスで、前記現在の子プロセスオブジェクト、前記ドラフトの修正された子プロセスオブジェクト、前記公開された修正された子プロセスオブジェクト、前記現在の親プロセスオブジェクト、前記ドラフトの修正された子プロセスオブジェクト、または前記公開された修正された子プロセスオブジェクトのうちの少なくとも２つを比較するユーザ要求を受け取ることと、
ユーザインターフェースで、前記ユーザ要求に対応する比較を提示させることと、を更に含む、方法。
【請求項４４】
前記現在の親プロセスオブジェクトが、現在のインスタンスオブジェクトまたは現在のクラスオブジェクトのうちの１つである、請求項３７〜４３に記載の方法。
【請求項４５】
請求項３７〜４４に記載の方法であって、
前記コンピューティングデバイスによって、ドラフトのパッケージが、複数のドラフトの修正されたオブジェクト、前記プロセスプラントの複数の異なるプロセスエンティティに対応する前記複数のドラフトの修正されたオブジェクト、および前記ドラフトの修正された子プロセスオブジェクトを含む前記複数のドラフトの修正されたオブジェクトを含むことを決定することと、
前記コンピューティングデバイスで、公開されたパッケージを生成するように前記ドラフトのパッケージを公開するユーザ指示を受け取ることと、
前記公開されたパッケージを生成するように前記ドラフトのパッケージを公開する前記ユーザ指示を受け取ると、前記コンピューティングデバイスで、前記公開されたパッケージに対応する公開された修正されたオブジェクトのセットを生成するように、前記複数のドラフトの修正されたオブジェクトのうちの少なくともサブセットを公開することであって、公開された修正されたオブジェクトの前記セットが前記公開された修正された子プロセスオブジェクトを含む、公開することと、
公開された修正されたオブジェクトの前記セットを生成すると、（ｉ）公開された修正されたオブジェクトの前記セットのインスタンス化を生じさせ、（ｉｉ）公開された修正されたオブジェクトの前記インスタンス化されたセットを前記複数の異なるプロセスエンティティに送達させ、前記複数の異なるプロセスエンティティが、ランタイム中、前記プロセスプラントにおいて制御される前記１つ以上のプロセスに対応するそれぞれの機能を提供するために、公開された修正されたオブジェクトの前記セットの前記インスタンス化に従って動作するようにすることと、を更に含む、方法。
【請求項４６】
請求項４５に記載の方法であって、前記ドラフトのパッケージが前記複数のドラフトの修正されたオブジェクトを含むことを決定することが、前記ドラフトのパッケージが、前記ドラフトの修正された子プロセスオブジェクトと、（ｉ）前記ドラフトの修正された親プロセスオブジェクト、（ｉｉ）別の親プロセスオブジェクト、または（ｉｉｉ）別の子プロセスオブジェクトのうちの少なくとも１つと、を含むことを決定することを含む、方法。
【請求項４７】
前記コンピューティングデバイスで、前記複数のドラフトの修正されたオブジェクトの選択の指示を受け取ることを更に含む、請求項４５または請求項４６に記載の方法。
【請求項４８】
請求項４５〜４７のいずれかに記載の方法であって、
（ｉ）前記ドラフトのパッケージが、第１のドラフトのパッケージであり、
（ｉｉ）前記方法が、
前記コンピューティングデバイスで、前記第１のドラフトのパッケージへの修正を示す別のユーザ入力を受け取ることと、
前記コンピューティングデバイスによってかつ前記別のユーザ入力に基づいて、前記別のユーザ入力に従って前記第１のドラフトのパッケージを修正することと、
前記データ記憶エンティティで、第２のドラフトのパッケージとして前記修正された第１のドラフトのパッケージを記憶することと、を更に含み、
（ｉｉｉ）前記公開されたパッケージを生成するように前記ドラフトのパッケージを公開する前記ユーザ指示を受け取ることが、前記公開されたパッケージを生成するように、前記第１のドラフトのパッケージまたは前記第２のドラフトのパッケージのうちの１つを公開するユーザ指示を受け取ることを含む、方法。
【請求項４９】
プロセスプラントを柔軟に構成するための装置であって、
１つ以上のデータ記憶デバイスに通信可能に連結され、前記プロセスプラントに含まれる指定要素に通信可能に連結される柔軟なコンフィギュレータであって、前記柔軟なコンフィギュレータが、１つ以上の有形の非一時的メモリ上に記憶されたコンピュータ実行可能命令を含み、前記コンピュータ実行可能命令が、
１つ以上の子オブジェクトが派生する現在の親プロセスオブジェクトへのユーザが示した修正の指示を受け取ることであって、
前記１つ以上の子オブジェクトが、前記プロセスプラントの前記指定要素に対応する現在の子プロセスオブジェクトを含み、
前記プロセスプラントの前記指定要素が、前記現在の子プロセスオブジェクトのインスタンス化を含み、
前記現在の子プロセスオブジェクトの前記インスタンス化が、前記プロセスプラントにおいて制御されているプロセスに関係する機能を提供するように、ランタイムに、前記指定要素を動作させる、受け取ることと、
前記ユーザが示した修正の前記指示に基づいて、前記指定要素に対して、修正された親プロセスオブジェクトおよび修正された子プロセスオブジェクトを生成するように、前記現在の親プロセスオブジェクトを修正することと、
前記１つ以上のデータ記憶デバイスに、ドラフトの修正された親プロセスオブジェクトとして前記修正された親プロセスオブジェクトと、ドラフトの修正された子プロセスオブジェクトとして前記修正された子プロセスオブジェクトと、を記憶することと、
前記ドラフトの修正された子プロセスオブジェクトがインスタンス化されることを阻止することと、
公開された修正された親プロセスオブジェクトおよび公開された修正された子プロセスオブジェクトを生成するように、前記ドラフトの修正された親プロセスオブジェクトを公開するユーザ指示を受け取ることと、
前記ドラフトの修正された親プロセスオブジェクトを公開する前記受け取られたユーザ指示に基づいて、（ｉ）前記公開された修正された子プロセスオブジェクトをインスタンス化させることと、（ｉｉ）前記公開された修正された子プロセスオブジェクトの前記インスタンス化を前記指定要素にダウンロードさせ、前記指定要素が、ランタイム中、前記公開された修正された子プロセスオブジェクトの前記インスタンス化に従って動作するようにすることと、を行うことと、
請求項１〜４８のうちのいずれかのゼロ以上に記載の方法を実施することと、を行うように、１つ以上のプロセッサによって動作可能である、コンフィギュレータを備える、装置。
【請求項５０】
ランタイムに前記指定要素によって提供される前記機能が、前記プロセスを制御するために使用される制御アルゴリズムに含まれる機能である、請求項４９に記載の装置。
【請求項５１】
ランタイムに前記指定要素によって提供される前記機能が、ユーザインターフェースで、前記プロセスプラントの前記プロセスを制御することに対応するリアルタイム情報を提供する表示機能である、請求項４９に記載の装置。
【請求項５２】
前記現在の親プロセスオブジェクトが、クラスオブジェクト、インスタンスオブジェクト、またはライブラリオブジェクトのうちの１つである、請求項４９〜５１のいずれかに記載の装置。
【請求項５３】
請求項４９〜５２のいずれかに記載の装置であって、
前記ドラフトの修正された親プロセスオブジェクトが、前記現在の親プロセスオブジェクトに対応する複数のドラフトの修正された親プロセスオブジェクトに含まれる特定のドラフトの修正された親プロセスオブジェクトであり、
前記特定のドラフトの修正された親プロセスオブジェクトを公開する前記ユーザ指示が、前記複数のドラフトの修正された親プロセスオブジェクトから前記特定のドラフトの修正された親プロセスオブジェクトを選択することに基づく、装置。
【請求項５４】
請求項４９〜５３のいずれかに記載の装置であって、
前記柔軟なコンフィギュレータが、
ドラフトのパッケージを公開するユーザ指示を受け取るように、前記ドラフトのパッケージが、複数のドラフトのプロセスオブジェクトを含み、前記複数のドラフトのプロセスオブジェクトが、前記ドラフトの修正された親プロセスオブジェクトを含み、かつ前記複数のドラフトのプロセスオブジェクトが、前記プロセスプラントの複数の異なるプロセスエンティティに対応するように、前記１つ以上のプロセッサによって動作可能な更なるコンピュータ実行可能命令を含み、
前記ドラフトのパッケージを公開する前記ユーザ指示を受け取ると、
複数の公開されたプロセスオブジェクトを形成するように、前記ドラフトのパッケージに対応する前記複数のドラフトのプロセスオブジェクトを公開し、
前記プロセスプラントにおいて前記複数の公開されたプロセスオブジェクトをインスタンス化させる、装置。
【請求項５５】
請求項５４に記載の装置であって、
前記ドラフトのパッケージに含まれる前記複数のドラフトのプロセスオブジェクトが、ユーザによって少なくとも部分的に選択されることと、
前記ドラフトのパッケージに含まれる前記複数のドラフトのプロセスオブジェクトが、前記ドラフトの修正された子プロセスオブジェクトに更に含むことと、
前記ドラフトのパッケージを公開する前記ユーザ指示が、複数のドラフトのパッケージから選択されたドラフトのパッケージを公開するユーザ指示を含むことと、のうちの少なくとも１つである、装置。
【請求項５６】
プロセスプラントを柔軟に構成する方法であって、
コンピューティングデバイスのインターフェースを介して、現在の親プロセスオブジェクトへの修正を示す入力を受け取ることであって、
前記現在の親プロセスオブジェクトが、そこから派生する現在の子プロセスオブジェクトを有し、
前記指定要素が、前記現在の子プロセスオブジェクトのインスタンス化に従って前記プロセスプラントの１つ以上のプロセスを制御し、
前記指定要素が、前記コンピューティングデバイスに通信可能に接続される、受け取ることと、
修正された子プロセスオブジェクトを生成するように前記現在の子プロセスオブジェクトを修正することを含む、前記コンピューティングデバイスによって、かつ前記入力に基づいて、修正された現在の親プロセスオブジェクトを生成するように前記現在の親プロセスオブジェクトを修正することと、
前記修正された子プロセスオブジェクトが受け取られたという承認の後にのみ、前記コンピューティングデバイスによって、前記プロセスプラントの前記指定要素に前記修正された子プロセスオブジェクトのインスタンス化を送達させることであって、
前記修正された子プロセスオブジェクトの前記承認が、インスタンス化が可能でないことを示す第１の状態からインスタンス化が可能であることを示す第２の状態に、前記修正された子プロセスオブジェクトの状態を変更させ、
前記指定要素の前記修正された子プロセスオブジェクトの前記インスタンス化が、前記指定要素に、前記修正された子プロセスオブジェクトの前記インスタンス化に従って、前記プロセスプラントの前記１つ以上のプロセスを制御させる、送達させることと、
請求項１〜５５のうちのいずれかのゼロ以上に記載の方法を実行することと、を含む、方法。
【請求項５７】
前記修正された子プロセスオブジェクトの前記承認が、前記修正された親プロセスオブジェクトの承認に含まれる、請求項５６に記載の方法。
【請求項５８】
請求項５６または請求項５７に記載の方法であって、
前記入力が、第１の入力であり、前記修正が、第１の修正であり、前記修正された親プロセスオブジェクトが、第１の修正された親プロセスオブジェクトであり、および前記修正された子プロセスオブジェクトが、第１の修正された子プロセスオブジェクトであり、
前記方法が、
前記現在の親プロセスオブジェクトへの第２の修正を示す第２の入力を受け取ることと、
第２の修正された子プロセスオブジェクトを生成するように前記現在の子プロセスオブジェクトを修正することを含む、第２の修正された親プロセスオブジェクトを生成するように前記現在の親プロセスオブジェクトを修正することと、
前記第２の修正された子プロセスオブジェクトにインスタンス化が可能であることを示す前記第２の状態を持たせるために、前記第２の修正された子プロセスオブジェクトの承認を受け取ることと、を更に含む、方法。
【請求項５９】
前記第１の修正された子プロセスオブジェクトまたは前記第２の修正された子プロセスオブジェクトのうちの１つの選択を受け取ることと、前記選択された修正された子プロセスオブジェクトのインスタンス化を前記指定要素に送達させることと、を更に含む、請求項５８に記載の方法。
【請求項６０】
前記第１の修正された子プロセスオブジェクトまたは前記第２の修正された子プロセスオブジェクトのうちの１つの選択を受け取ることが、前記第１の修正された親プロセスオブジェクトまたは前記第２の修正された親プロセスオブジェクトの選択を受け取ることを含む、請求項５８または請求項５９に記載の方法。
【請求項６１】
請求項５６〜６０のいずれかに記載の方法であって、
前記現在の親プロセスオブジェクトへの前記修正を示す前記入力を受け取ることが、
前記現在の親プロセスオブジェクトのコンテンツに追加すること、
前記現在の親プロセスオブジェクトの前記コンテンツの少なくとも第１の部分を削除すること、
前記現在の親プロセスオブジェクトの前記コンテンツの少なくとも前記第１の部分か、もしくは前記現在の親プロセスオブジェクトの前記コンテンツの少なくとも第２の部分を無効化すること、
前記現在の親プロセスオブジェクトの無効化されたコンテンツを有効化すること、
前記現在の親プロセスオブジェクトに含まれる値を変更すること、
前記現在の親プロセスオブジェクトに含まれる参照を変更すること、または
前記現在の親プロセスオブジェクトに含まれる参照を解読すること、のうちの少なくとも１つの指示を受け取ることを含む、方法。
【請求項６２】
プロセスプラントに対応するプロセス制御ディスプレイ表示上に提示されるグラフィック要素であって、
前記プロセスプラントのランタイム動作環境において、前記プロセスプラントに含まれるプロセスエンティティに対応するグラフィック要素オブジェクトのインスタンス化の実行を含み、前記グラフィック要素オブジェクトが、構成可能であり、前記グラフィック要素オブジェクトが、前記プロセス制御ディスプレイ表示がインスタンス化されるディスプレイオブジェクトへのリンクを含み、前記グラフィック要素オブジェクトの前記インスタンス化の前記実行が、
前記プロセスエンティティのビジュアル表現と、
前記プロセスプラントにおいて制御されているプロセスに対応するリアルタイムデータを受け取る前記プロセス要素へのリンクであって、前記リアルタイムデータが、前記グラフィック要素の少なくとも１つの属性に対応する、リンクと、を含み、
前記グラフィック要素が、請求項１〜６１のうちのいずれかのゼロ以上に含まれる、グラフィック要素。
【請求項６３】
前記グラフィック要素オブジェクトが、前記プロセスプラントの前記ランタイム動作環境において構成可能である、請求項６２に記載のグラフィック要素。
【請求項６４】
前記グラフィック要素オブジェクトが、前記プロセスプラントの構成環境において構成可能である、請求項６３に記載のグラフィック要素。
【請求項６５】
前記ランタイム動作環境において少なくとも部分的に生成される前記グラフィック要素オブジェクトの構成が、前記ランタイム動作環境および前記プロセスプラントの前記構成環境の両方にアクセス可能である場所に記憶される、請求項６２〜６４のいずれかに記載のグラフィック要素。
【請求項６６】
前記グラフィック要素オブジェクトが、第１のグラフィック要素オブジェクトであり、前記第１のグラフィック要素オブジェクトが、第２のグラフィック要素オブジェクトへのリンクを更に含む、請求項６２〜６５のいずれかに記載のグラフィック要素。
【請求項６７】
前記第２のグラフィック要素オブジェクトのインスタンス化が、前記プロセス制御ディスプレイ表示上に提示される別のグラフィック要素を含む、請求項６６に記載のグラフィック要素。
【請求項６８】
前記ディスプレイオブジェクトが、第１のディスプレイオブジェクトであり、前記プロセス制御ディスプレイ表示が、第１のプロセス制御ディスプレイ表示であり、前記第１のグラフィック要素オブジェクトがリンクする前記第２のグラフィック要素オブジェクトが、第２のプロセス制御ディスプレイ表示に対応する第２のディスプレイオブジェクトである、請求項６６に記載のグラフィック要素。
【請求項６９】
前記グラフィック要素オブジェクトが、第１のグラフィック要素オブジェクトであり、前記第１のグラフィック要素オブジェクトが、第２のグラフィック要素オブジェクトから派生する、請求項６２〜６５のいずれかに記載のグラフィック要素。
【請求項７０】
前記第２のグラフィック要素オブジェクトのインスタンス化が、別のグラフィック要素または別のディスプレイ表示を含む、請求項６９に記載のグラフィック要素。
【請求項７１】
前記グラフィック要素オブジェクトが、第１のグラフィック要素オブジェクトであり、第２のグラフィック要素オブジェクトが、前記第１のグラフィック要素オブジェクトから派生する、請求項６２〜６５のいずれかに記載のグラフィック要素。
【請求項７２】
前記第２のグラフィック要素オブジェクトのインスタンス化が、別のグラフィック要素または別のディスプレイ表示を含む、請求項７１に記載のグラフィック要素。
【請求項７３】
前記グラフィック要素の前記少なくとも１つの属性が、プロパティ、アニメーション、または前記グラフィック要素オブジェクトに定義されるイベントハンドラのうちの少なくとも１つであり、前記プロセスエンティティの前記ビジュアル表現に対応する、請求項６２〜７２のいずれかに記載のグラフィック要素。
【請求項７４】
請求項７３に記載のグラフィック要素であって、
前記アニメーションが、前記リアルタイムデータに基づいて変化する前記プロセスエンティティの前記ビジュアル表現の少なくとも一部分の動的ビヘイビアを定義し、
前記イベントハンドラが、トリガが発生すると実行されるビヘイビアを定義し、
前記プロパティが、前記プロセスエンティティの前記ビジュアル表現の特徴を定義する、グラフィック要素。
【請求項７５】
請求項６２〜７４のいずれかに記載のグラフィック要素であって、
前記グラフィック要素オブジェクトへの修正が、前記プロセスプラントの前記ランタイム動作環境のユーザインターフェースおよび前記プロセスプラントの構成環境のユーザインターフェースの両方で受け取り可能であり、
前記グラフィック要素オブジェクトへの前記修正が、前記プロセスプラントの前記ランタイム動作環境および前記プロセスプラントの前記構成環境の両方にアクセス可能である修正されたグラフィック要素オブジェクトを生成する、グラフィック要素。
【請求項７６】
前記少なくとも１つの属性が、第１の属性であり、前記グラフィック要素オブジェクトへの前記修正が、前記第１の属性への修正、前記第１の属性の削除、または第２の属性の追加のうちの少なくとも１つを含む、請求項７５に記載のグラフィック要素。
【請求項７７】
前記グラフィック要素オブジェクトへの前記修正が、前記プロセスエンティティの前記ビジュアル表現の定義への修正のうちの少なくとも１つを含む、請求項７５または請求項７６に記載のグラフィック要素。
【請求項７８】
ディスプレイオブジェクトへの前記リンクが、第１の表示リンクであり、前記グラフィック要素オブジェクトへの前記修正が、前記第１の表示リンクへの修正、前記第１の表示リンクの削除、または別のディスプレイオブジェクトへの第２の表示リンクの追加のうちの少なくとも１つを含む、請求項７５〜７７のいずれかに記載のグラフィック要素。
【請求項７９】
請求項７５〜７８のいずれかに記載のグラフィック要素であって、
前記グラフィック要素オブジェクトへの前記修正が、前記グラフィック要素オブジェクトに含まれる定義の上書きを含み、
前記定義のソースが、グラフィック要素オブジェクトが派生する別のグラフィック要素オブジェクトであり、
前記定義が、前記プロセスエンティティの前記ビジュアル表現の定義、前記リアルタイムデータを受け取る前記リンクの定義、前記ディスプレイオブジェクトへの定義前記リンク、または前記少なくとも１つの属性の定義のうちの少なくとも１つを含む、グラフィック要素。
【請求項８０】
前記グラフィック要素オブジェクトに含まれる前記定義の前記上書きが、第１の修正であり、第２の修正が、前記修正されたグラフィック要素オブジェクトに適用される、請求項７９に記載のグラフィック要素。
【請求項８１】
前記グラフィック要素オブジェクトが、１つ以上の表示を定義し、前記１つ以上の表示の各々が、前記グラフィック要素の前記ビジュアル表現の部分のそれぞれの配置に対応する、請求項６２〜８０のいずれかに記載のグラフィック要素。
【請求項８２】
前記グラフィックディスプレイオブジェクトが、少なくとも２つの他のグラフィックディスプレイオブジェクトの組み合わせから生成される、請求項６２〜８１のいずれかに記載のグラフィック要素。
【請求項８３】
請求項６２〜８２のいずれかに記載の前記グラフィック要素を用いて、少なくとも１つの物理的機能を用いて前記プロセスを制御するように構成される前記プロセスプラントの少なくとも一部分。
【請求項８４】
請求項６２〜８２のいずれかに記載の前記グラフィック要素を用いて前記プロセスプラントの少なくとも一部分によって実施される方法であって、前記プロセスプラントが、少なくとも１つの物理的機能を用いて前記プロセスを制御するように構成される、方法。
【請求項８５】
前記プロセスプラントの装置であって、前記装置が、請求項６２〜８２のいずれかに記載の前記グラフィック要素を含み、前記プロセスプラントが、少なくとも１つの物理的機能を用いて前記プロセスを制御するように構成される、装置。
【請求項８６】
プロセスプラントにおける使用のためのグラフィック要素を柔軟に構成する方法であって、
前記プロセスプラントのランタイム動作環境において、グラフィック要素オブジェクトのセットに含まれる特定のグラフィック要素オブジェクトへの修正の指示を受け取ることであって、
グラフィック要素オブジェクトの前記セットの各グラフィック要素オブジェクトのインスタンス化が、少なくとも１つのプロセス制御ディスプレイ表示上に前記プロセスプラントのそれぞれのプロセスエンティティを表すそれぞれのグラフィック要素を含み、
グラフィック要素オブジェクトの前記セットの前記各グラフィック要素オブジェクトが、少なくとも１つのディスプレイオブジェクトにリンクされ、前記プロセスプラントの前記ランタイム動作環境で実行される前記少なくとも１つのディスプレイオブジェクトのインスタンス化が、前記少なくとも１つのプロセス制御ディスプレイ表示を生成し、
前記少なくとも１つのプロセス制御ディスプレイ表示が、前記プロセスプラントによってプロセスを制御することに対応するリアルタイムデータを提示する、受け取ることと、
前記プロセスプラントの前記ランタイム動作環境で、グラフィック要素オブジェクトの前記セットのサブセットの各グラフィック要素オブジェクトへの前記修正を伝達することであって、前記サブセットに含まれる各グラフィック要素オブジェクトが、前記特定のグラフィック要素オブジェクトから派生し、グラフィック要素オブジェクトの前記サブセットへの前記修正の前記伝達が、修正されたグラフィック要素オブジェクトのセットを生成する、伝達することと、
修正されたグラフィック要素オブジェクトの前記セットの１つ以上のメンバのインスタンス化を前記ランタイム動作環境で実行させ、修正されたグラフィック要素オブジェクトの前記セットの前記１つ以上のメンバに対応する１つ以上の修正されたグラフィック要素が、前記少なくとも１つのプロセス制御ディスプレイ表示上に提示されるようにすることと、
請求項１〜８５のうちのいずれかのゼロ以上に記載の方法を実施することと、を含む、方法。
【請求項８７】
前記プロセスプラントの構成環境にアクセス可能であるように修正されたグラフィック要素オブジェクトの前記セットを記憶することを更に含む、請求項８６に記載の方法。
【請求項８８】
請求項８６または８７に記載の方法であって、前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに含まれる定義への修正の指示を受け取ることを含み、前記定義が、前記特定のグラフィック要素オブジェクトからインスタンス化される特定のグラフィック要素のビジュアル形状もしくはコンテンツの定義、前記少なくとも１つのディスプレイオブジェクトへの前記リンクの定義、または前記特定のグラフィック要素の属性の定義のうちの少なくとも１つを含む、方法。
【請求項８９】
請求項８８に記載の方法であって、
前記特定のグラフィック要素オブジェクトによって定義される前記属性が、
前記特定のグラフィック要素の少なくとも一部分の、前記リアルタイムデータに基づいて変化する動的ビヘイビアを定義するアニメーション、
トリガが発生すると前記特定のグラフィック要素によって実行されるビヘイビアを定義するイベントハンドラ、のうちの１つであり、
前記プロパティが、前記特定のグラフィック要素の特徴を定義する、方法。
【請求項９０】
前記特定のグラフィック要素オブジェクトに含まれる前記定義への前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに含まれ、前記特定のグラフィック要素オブジェクトが派生する別のグラフィック要素オブジェクトによって提供される、定義への修正の指示を受け取ることを含む、請求項８８または請求項８９に記載の方法。
【請求項９１】
前記特定のグラフィック要素オブジェクトに含まれる前記定義への前記修正の前記指示を受け取ることが、前記定義の削除または前記定義の変更の指示を受け取ることを含む、請求項８８〜９０のいずれかに記載の方法。
【請求項９２】
前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに追加される追加の定義の指示を受け取ることを含み、前記追加の定義が、前記特定のグラフィック要素の別のビジュアル形状もしくはコンテンツ、別のディスプレイオブジェクトへの別のリンク、または前記特定のグラフィック要素の別の属性のうちの少なくとも１つに対応する、請求項８８〜９１のいずれかに記載の方法。
【請求項９３】
前記修正が前記サブセットの前記各グラフィック要素オブジェクトに伝達されたという指示を記憶することを更に含む、請求項８６〜９２のいずれかに記載の方法。
【請求項９４】
前記各グラフィック要素オブジェクトへの前記修正が、第１の修正であり、前記方法が、前記サブセットの前記各グラフィック要素オブジェクトへの複数の修正のセットを決定することを更に含み、前記複数の修正が、前記第１の修正を含む、請求項８６〜９３のいずれかに記載の方法。
【請求項９５】
前記特定のグラフィック要素オブジェクトへの前記修正の指示を受け取ることが、前記特定のグラフィック要素オブジェクトが派生した別のグラフィック要素オブジェクトへの修正の指示を受け取ることを含む、請求項８６〜９４のいずれかに記載の方法。
【請求項９６】
分散ポリシーに基づいてグラフィック要素オブジェクトの前記セットの前記サブセットを決定することを更に含む、請求項８６〜９５のいずれかに記載の方法。
【請求項９７】
前記分散ポリシーに基づいてグラフィック要素オブジェクトの前記サブセットを決定することが、前記特定のグラフィック要素オブジェクトに対応する分散ポリシーに基づいてグラフィック要素オブジェクトの前記サブセットを決定することを含む、請求項９６に記載の方法。
【請求項９８】
前記分散ポリシーに基づいてグラフィック要素オブジェクトの前記サブセットを決定することが、グラフィック要素オブジェクトの前記サブセットの前記メンバのうちの少なくともいくつかに対応する分散ポリシーに基づいてグラフィック要素オブジェクトの前記サブセットを決定することを含む、請求項９６または請求項９７に記載の方法。
【請求項９９】
プロセスプラントにおける使用のためのグラフィック要素を柔軟に構成する方法であって、
グラフィック要素オブジェクトのセットに含まれる特定のグラフィック要素オブジェクトへの修正の指示を受け取ることであって、
グラフィック要素オブジェクトの前記セットの各グラフィック要素オブジェクトのインスタンス化の実行が、（ｉ）それぞれの１つ以上のプロセス制御ディスプレイ表示上に提示されるそれぞれのグラフィック要素を生成し、（ｉｉ）前記プロセスプラントのそれぞれのプロセスエンティティを表し、
前記それぞれの１つ以上のプロセス制御ディスプレイ表示が、（ａ）それぞれの１つ以上のディスプレイオブジェクトのインスタンス化の実行から生成され、（ｂ）前記プロセスプラントによるプロセスの制御に対応するリアルタイムデータを提示し、
グラフィック要素オブジェクトの前記セットの前記各グラフィック要素オブジェクトが、前記それぞれの１つ以上のディスプレイオブジェクトにリンクされる、受け取ることと、
グラフィック要素オブジェクトの前記セットの第１のサブセットの各グラフィック要素オブジェクトへ前記修正を伝達することであって、前記第１のサブセットに含まれる前記各グラフィック要素オブジェクトが、前記特定のグラフィック要素オブジェクトから派生し、グラフィック要素オブジェクトの前記第１のサブセットへの前記修正の前記伝達が、修正されたグラフィック要素オブジェクトのセットを生成する、伝達することと、
修正されたグラフィック要素オブジェクトの前記セットの１つ以上のメンバのインスタンス化が実行されたときに、修正されたグラフィック要素オブジェクトの前記セットの前記１つ以上のメンバに対応する１つ以上の修正されたグラフィック要素を、対応する１つ以上のプロセス制御ディスプレイ表示上に提示させることと、
グラフィック要素オブジェクトの前記セットの第２のサブセットの各グラフィック要素オブジェクトに前記修正を伝達しないことであって、前記第２のサブセットに含まれる各グラフィック要素オブジェクトが、前記特定のグラフィック要素オブジェクトから派生する、伝達しないことと、
請求項１〜９８のうちのいずれかのゼロ以上に記載の方法を実行することと、を含む、方法。
【請求項１００】
前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることが、前記プロセスプラントのランタイム動作環境におけるユーザインターフェースで、前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることを含む、請求項９９に記載の方法。
【請求項１０１】
前記方法が、前記ランタイム動作環境および前記プロセスプラントの構成環境の両方にアクセス可能な場所に、修正されたグラフィック要素オブジェクトの前記セットを記憶することを更に含む、請求項９９または請求項１００に記載の方法。
【請求項１０２】
請求項９９〜１０１のいずれかに記載の方法であって、
前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに含まれる定義への修正の指示を受け取ることを含み、
前記定義が、前記特定のグラフィック要素に対応する特定のグラフィック要素のビジュアル形状もしくはコンテンツの定義、少なくとも１つのディスプレイオブジェクトへのリンクの定義、または前記特定のグラフィック要素の属性の定義、のうちの少なくとも１つを含む、方法。
【請求項１０３】
請求項１０２に記載の方法であって、
前記特定のグラフィック要素オブジェクトの前記属性が、
前記リアルタイムデータに基づいて変化する前記特定のグラフィック要素の前記ビジュアル形状またはコンテンツの少なくとも一部分の動的ビヘイビアを定義するアニメーション、
トリガが発生すると前記特定のグラフィック要素によって実行されるビヘイビアを定義するイベントハンドラ、のうちの１つであり、
前記プロパティが、前記特定のグラフィック要素の前記ビジュアル形状またはコンテンツの特徴を定義する、方法。
【請求項１０４】
前記特定のグラフィック要素オブジェクトに含まれる前記定義への前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに含まれ、前記特定のグラフィック要素オブジェクトが派生する別のグラフィック要素オブジェクトによって提供される定義への修正の指示を受け取ることを含む、請求項１０２または請求項１０３に記載の方法。
【請求項１０５】
前記定義への前記修正の前記指示を受け取ることが、前記定義の削除または前記定義の変更のうちの１つの指示を受け取ることを含む、請求項１０２〜１０４のいずれかに記載の方法。
【請求項１０６】
前記特定のグラフィック要素オブジェクトへの前記修正の前記指示を受け取ることが、前記特定のグラフィック要素オブジェクトに追加される追加の定義の指示を受け取ることを含み、前記追加の定義が、前記特定のグラフィック要素の別のビジュアル形状もしくはコンテンツ、別のディスプレイオブジェクトへの別のリンク、または前記特定のグラフィック要素の別の属性のうちの少なくとも１つに対応する、請求項１０２〜１０５のいずれかに記載の方法。
【請求項１０７】
前記修正が前記第１のサブセットの前記各グラフィック要素オブジェクトに伝達されたという指示を記憶することを更に含む、請求項９９〜１０６のいずれかに記載の方法。
【請求項１０８】
前記各グラフィック要素オブジェクトへの前記修正が、第１の修正であり、前記方法が、前記第１のサブセットの前記各グラフィック要素オブジェクトへの複数の修正のセットを決定することを更に含み、前記複数の修正が、前記第１の修正を含む、請求項９９〜１０７のいずれかに記載の方法。
【請求項１０９】
前記特定のグラフィック要素オブジェクトへの前記修正の指示を受け取ることが、前記特定のグラフィック要素オブジェクトが派生した別のグラフィック要素オブジェクトへの修正の指示を受け取ることを含む、請求項９９〜１０８のいずれかに記載の方法。
【請求項１１０】
分散ポリシーに基づいて、（ｉ）グラフィック要素オブジェクトの前記第１のサブセット、または（ｉｉ）グラフィック要素オブジェクトの前記第２のサブセットのうちの少なくとも１つを決定することを更に含む、請求項９９〜１０９のいずれかに記載の方法。
【請求項１１１】
前記分散ポリシーに基づいてグラフィック要素オブジェクトの前記第１または前記第２のサブセットのうちの前記少なくとも１つを決定することが、前記特定のグラフィック要素オブジェクトに対応する分散ポリシーに基づいてグラフィック要素オブジェクトの前記第１または前記第２のサブセットのうちの前記少なくとも１つを決定することを含む、請求項１１０に記載の方法。
【請求項１１２】
前記分散ポリシーに基づいてグラフィック要素オブジェクトの前記第１または前記第２のサブセットのうちの前記少なくとも１つを決定することが、グラフィック要素オブジェクトの前記第１または前記第２のサブセットの前記少なくとも１つのうちの少なくとも１つのメンバに対応する分散ポリシーに基づいてグラフィック要素オブジェクトの前記第１または前記第２のサブセットのうちの前記少なくとも１つを決定することを含む、請求項１１０または請求項１１１に記載の方法。
【請求項１１３】
プロセスプラントにおいて柔軟に構成されたグラフィック要素を用いる方法であって、
コンピューティングデバイスで、ディスプレイ表示のロードを開始することであって、
前記ディスプレイ表示が、前記プロセスプラントにおいてプロセスを制御することに対応するリアルタイムデータを受け取るリンクを含むディスプレイオブジェクトのインスタンス化の実行を含み、前記ディスプレイ表示上に提示される情報が前記受け取られたリアルタイムデータに基づき、
前記ディスプレイオブジェクトが、特定のグラフィック要素オブジェクトにリンクされ、
前記特定のグラフィック要素オブジェクトが、（ｉ）前記プロセスプラントのプロセスエンティティのビジュアル表現の定義、前記特定のグラフィック要素オブジェクトが派生する別のグラフィック要素オブジェクトによって提供された前記プロセスエンティティの前記ビジュアル表現の前記定義、および（ｉｉ）前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の前記定義への修正を含む、開始することと、
前記ディスプレイ表示の前記ロードの前記開始時に、
（ａ）前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の前記定義を決定することと、
（ｂ）生成された修正された定義に、前記決定された定義への前記修正を適用することと、
（ｃ）前記ディスプレイ表示上に、前記特定のグラフィック要素オブジェクトに対応する特定のグラフィック要素として前記修正された定義をインスタンス化することと、
請求項１〜１１２のうちのいずれかのゼロ以上に記載の方法を実施することと、を含む、方法。
【請求項１１４】
前記修正の指示が、前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の前記定義から別個に記憶される、請求項１１３に記載の方法。
【請求項１１５】
請求項１１３または請求項１１４に記載の方法であって、
前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の、の前記定義を決定することが、前記ビジュアル表現のプロパティの定義を決定することを含み、前記ビジュアル表現の前記プロパティが、前記ビジュアル表現の少なくとも一部分のビジュアル特徴を含み、
前記決定された定義に前記修正を適用することが、前記決定された定義から前記プロパティを除去すること、前記プロパティを別のプロパティと置換すること、または前記プロパティに対応する前記ビジュアル表現の前記少なくとも一部分を変更することのうちの少なくとも１つを含む、方法。
【請求項１１６】
請求項１１３〜１１５のいずれかに記載の方法であって、
前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の、の前記定義を決定することが、前記ビジュアル表現の少なくとも一部分の形状の定義を決定することを含み、
前記決定された定義に前記修正を適用することが、前記決定された定義から前記形状を除去すること、前記形状を別の形状と置換すること、または前記形状を変更することのうちの少なくとも１つを含む、方法。
【請求項１１７】
前記形状を変更することが、前記形状の配向、サイズ、または位置のうちの少なくとも１つを変更することを含む、請求項１１６に記載の方法。
【請求項１１８】
請求項１１３〜１１７のいずれかに記載の方法であって、
前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の、の前記定義を決定することが、前記ビジュアル表現のアニメーションの定義を決定することを含み、前記ビジュアル表現の前記アニメーションが、前記受け取られたリアルタイムデータに基づいて動的に変化する前記ビジュアル表現の少なくとも一部分のビヘイビアを含み、
前記決定された定義に前記修正を適用することが、前記決定された定義から前記アニメーションを除去すること、前記アニメーションを別のアニメーションと置換すること、または前記アニメーションに対応する前記ビジュアル表現の前記少なくとも一部分を変更することのうちの少なくとも１つを含む、方法。
【請求項１１９】
請求項１１３〜１１８のいずれかに記載の方法であって、
前記別のグラフィック要素オブジェクトによって提供された前記ビジュアル表現の、の前記定義を決定することが、イベントハンドラの定義を決定することを含み、前記イベントハンドラが、トリガが発生すると実行されるビヘイビアを示し、
前記決定された定義に前記修正を適用することが、前記イベントハンドラを除去すること、前記トリガが発生すると前記特定のグラフィック要素によって実行される前記ビヘイビアを変更すること、または前記ビヘイビアを実行させる前記トリガを変更することのうちの少なくとも１つを含む、方法。
【請求項１２０】
前記トリガが、前記受け取られたリアルタイムデータに基づく、請求項１１９に記載の方法。
【請求項１２１】
前記決定された定義に前記修正を適用することが、前記決定された定義に、プロパティ、アニメーション、またはイベントハンドラのうちの少なくとも１つを追加することを含む、請求項１１３〜１２０のいずれかに記載の方法。
【請求項１２２】
プロセスプラントにおいて柔軟性グラフィック要素を支持するためのシステムであって、
前記プロセスプラントのリアルタイム動作環境で生成された１つ以上のディスプレイ表示であって、前記１つ以上のディスプレイ表示が、前記プロセスプラントの前記リアルタイム動作環境においてプロセスを制御することから生成されたリアルタイムデータに対応する情報を提示する、ディスプレイ表示と、
前記１つ以上のディスプレイ表示上に提示される複数のグラフィック要素と、を備え、
前記複数のグラフィック要素の各グラフィック要素が、前記プロセスプラントに含まれるそれぞれのプロセスエンティティのビジュアル表現を含み、
前記各グラフィック要素が、それぞれのグラフィック要素オブジェクトの前記インスタンス化の実行によって生成され、
前記それぞれのグラフィック要素オブジェクトが、前記各グラフィック要素が提示される各ディスプレイ表示に対応するそれぞれのディスプレイオブジェクトにリンクされ、
前記各それぞれのグラフィック要素オブジェクトが、前記プロセスプラントの前記リアルタイム動作環境において構成可能であり、前記プロセスプラントの構成環境において構成可能であり、
前記システムが、請求項１〜１２１のうちのいずれかのゼロ以上に記載の方法を実施するように構成される、システム。
【請求項１２３】
前記それぞれのディスプレイオブジェクトが、特定のグラフィック要素オブジェクトである、請求項１２２に記載のシステム。
【請求項１２４】
第１のグラフィック要素オブジェクトが、第２のグラフィック要素オブジェクトから派生する、請求項１２２または１２３に記載のシステム。
【請求項１２５】
前記第１のグラフィック要素オブジェクトへの修正を更に含む、請求項１２４に記載のシステム。
【請求項１２６】
前記第１のグラフィック要素オブジェクトへの前記修正が、前記第２のグラフィック要素オブジェクトから伝達される、請求項１２５に記載のシステム。
【請求項１２７】
前記第１のグラフィック要素オブジェクトへの前記修正が、前記第２のグラフィック要素オブジェクトから伝達されない、請求項１２５に記載のシステム。
【請求項１２８】
前記第１のグラフィック要素オブジェクトへの前記修正が、ユーザ入力に基づく、請求項１２５〜１２７のいずれかに記載のシステム。
【請求項１２９】
前記第１のグラフィック要素オブジェクトへの前記修正が、前記第２のグラフィック要素オブジェクトとは異なる別のグラフィック要素オブジェクトから伝達される、請求項１２５、１２７、または１２８のいずれかに記載のシステム。
【請求項１３０】
前記第１のグラフィック要素オブジェクトへの前記修正が、前記第２のグラフィック要素オブジェクトによって提供される定義の上書きである、請求項１２５〜１２９のいずれかに記載のシステム。
【請求項１３１】
前記定義の前記上書きが、前記定義の少なくとも一部分の除去、前記定義の少なくとも一部分の置換、前記定義の少なくとも一部分への変更、または前記定義への追加のうちの少なくとも１つを含む、請求項１３０に記載のシステム。
【請求項１３２】
前記第１のグラフィック要素オブジェクトの前記インスタンス化が、（ｉ）前記第２のグラフィック要素オブジェクトによって提供された前記定義の決定、および（ｉｉ）前記決定された定義への前記上書きの適用を含む、請求項１３０または請求項１３１に記載のシステム。
【請求項１３３】
請求項１３０〜１３２のいずれかに記載のシステムであって、
前記第１のグラフィック要素オブジェクトに対応する上書きのセットの識別のためのクエリを受け取るユーザインターフェースであって、上書きの前記セットが、前記第２のグラフィック要素オブジェクトによって提供される前記定義の前記上書きを含む、ユーザインターフェースと、
上書きの前記セットを決定し、前記クエリに応答を提供する機構と、を更に備える、システム。
【請求項１３４】
前記定義が、前記プロセスエンティティの前記ビジュアル表現の少なくとも一部分の形状、プロパティ、アニメーション、またはイベントハンドラのうちの少なくとも１つを定義する、請求項１３０〜１３３のいずれかに記載のシステム。
【請求項１３５】
請求項１２４〜１３４のいずれかに記載のシステムであって、
前記第２のグラフィック要素オブジェクトから派生するグラフィック要素オブジェクトのセットの識別のためのクエリを受け取るユーザインターフェースであって、グラフィック要素オブジェクトの前記セットが、前記第１のグラフィック要素オブジェクトを含む、ユーザインターフェースと、
前記第２のグラフィック要素オブジェクトから派生するグラフィック要素オブジェクトの前記セットを決定し、前記クエリに応答を提供する機構と、を更に備える、システム。
【請求項１３６】
前記第１のグラフィック要素オブジェクトが、複数のグラフィック要素オブジェクトから派生し、前記複数のグラフィック要素オブジェクトが、前記第２のグラフィック要素オブジェクトを含む、請求項１２４〜１３５のいずれかに記載のシステム。
【請求項１３７】
第３のグラフィック要素オブジェクトが、前記第２のグラフィック要素オブジェクトから派生する、請求項１２４〜１３６のいずれかに記載のシステム。
【請求項１３８】
前記第２のグラフィック要素オブジェクトが、第４のグラフィック要素オブジェクトから派生する、請求項１２４〜１３７のいずれかに記載のシステム。
【請求項１３９】
第５のグラフィック要素オブジェクトが、前記第１のグラフィック要素オブジェクトから派生する、請求項１２４〜１３８のいずれかに記載のシステム。
【請求項１４０】
第１のグラフィック要素オブジェクトが、２つ以上の他のグラフィック要素オブジェクトの組み合わせを含む、請求項１２２〜１３９のいずれかに記載のシステム。
【請求項１４１】
前記複数のグラフィック要素オブジェクトを記憶するように構成されるデータ記憶エンティティを更に含み、前記データ記憶エンティティが、前記プロセスプラントの前記リアルタイム動作環境および前記プロセスプラントの前記構成環境の両方にアクセス可能である、請求項１２２〜１４０のいずれかに記載のシステム。
【請求項１４２】
前記プロセスエンティティが、
クラスモジュール、前記クラスモジュールのインスタンス、プロセス要素モジュール、領域、ユニット、一機器、制御モジュール、経路制御モジュール、またはディスプレイモジュールのうちの少なくとも１つを含む、請求項１２２〜１４１のいずれかに記載のシステム。
【請求項１４３】
請求項１〜１４２のうちの１つ以上の任意の他のものと組み合わされる請求項１〜１４２のいずれかに記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、プロセスプラントに関し、より具体的には、プロセスプラントまたはプロセス制御システムの動作を構成および表示する際の柔軟なオブジェクトの使用に関する。
【０００２】
関連出願の相互参照
本願は、２０１２年１０月８日に出願された、「Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎｓ  Ｕｓｉｎｇ  Ｆｌｅｘｉｂｌｅ  Ｏｂｊｅｃｔｓ」と題した米国仮特許出願第６１／７１１，１１０号の利益を主張するものであり、その全内容が参照により本明細書に組み込まれる。加えて、本願は、２０１２年１０月８日に出願された、「Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｕｓｅｒ  Ｄｉｓｐｌａｙｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ」と題した米国仮特許出願第６１／７１１，１０５号の利益を主張するものであり、その全内容が参照により本明細書に組み込まれる。
【０００３】
更に、本願は、本願と同時に出願された、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」と題した米国特許出願第＿＿＿＿＿＿＿＿＿＿号に関し、その全内容が参照により本明細書に組み込まれる。本願はまた、本願と同時に出願された、「Ｄｅｒｉｖｅｄ  ａｎｄ  Ｌｉｎｋｅｄ  Ｄｅｆｉｎｉｔｉｏｎｓ  ｗｉｔｈ  Ｏｖｅｒｒｉｄｅ」と題した米国特許出願第＿＿＿＿＿＿＿＿＿＿号に関し、その全内容が参照により本明細書に組み込まれる。加えて、本願は、本願と同時に出願された、「Ｄｙｎａｍｉｃａｌｌｙ  Ｒｅｕｓａｂｌｅ  Ｃｌａｓｓｅｓ」と題した米国特許出願第＿＿＿＿＿＿＿＿＿＿号に関し、その全内容が参照により本明細書に組み込まれる。
【背景技術】
【０００４】
化学、石油、または他のプロセスプラントにおいて使用されるもののような分散型プロセス制御システムは、典型的に、アナログ、デジタル、または組み合わされたアナログ／デジタルバスを介して、１つ以上のフィールドデバイスに通信可能に連結される１つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、および送信装置（例えば、温度、圧力、レベル、および流速センサ）であり得るフィールドデバイスは、プロセス環境内に位置し、バルブを開閉すること、プロセスパラメータを測定すること等のプロセス機能を実施する。よく知られているＦｉｅｌｄｂｕｓプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスはまた、制御計算、アラーム機能、およびコントローラ内に通常実装される他の制御機能を実施し得る。プラント環境内にまた典型的に位置するプロセスコントローラは、フィールドデバイスによって行われるプロセス測定および／またはフィールドデバイスに関係する他の情報を示す信号を受け取り、かつ例えば、プロセス制御決定を行う異なる制御モジュールを運用するコントローラアプリケーションを実行し、受け取られた情報に基づいて制御信号を生成し、ＨＡＲＴおよびＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等のフィールドデバイスにおいて実施されている制御モジュールまたはブロックと連携させる。コントローラの制御モジュールは、通信ラインを通してフィールドデバイスに制御信号を送信し、それによってプロセスプラントの動作を制御する。
【０００５】
フィールドデバイスおよびコントローラからの情報は、データハイウェイを通して、通常、過酷なプラント環境から離れた制御室または他の場所に典型的に置かれるオペレータワークステーション、パソコン、データヒストリアン、レポートジェネレータ、集中化データベース等の１つ以上の他のハードウェアデバイスに提供される。これらのハードウェアデバイスは、例えば、プロセス制御ルーティンの設定を変更すること、コントローラまたはフィールドデバイス内の制御モジュールの動作を修正すること、プロセスの現在の状態を表示すること、フィールドデバイスおよびコントローラによって生成されたアラームを表示すること、職員を訓練するまたはプロセス制御ソフトウェアをテストする目的のためにプロセスの動作をシミュレートすること、構成データベースを維持し更新すること等のプロセスに関する機能をオペレータに実施させ得るアプリケーションを実行する。
【０００６】
例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔにより販売されるＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な位置に位置する異なるデバイス内に記憶されかつそれによって実行される、複数のアプリケーションを含む。１つ以上のオペレータワークステーションに存在する構成アプリケーションは、ユーザがプロセス制御モジュールを作成または変更し、データハイウェイを介して専用の分散型コントローラにこれらのプロセス制御モジュールをダウンロードできるようにする。典型的に、これらの制御モジュールは、制御スキーム内のそこへの入力に基づく機能を実施し制御スキーム内の他の関数ブロックへの出力を提供するオブジェクト指向プログラミングプロトコルのオブジェクトである、通信可能に相互接続する関数ブロックで構成される。構成アプリケーションは、オペレータにデータを表示しかつそのオペレータがプロセス制御ルーティン内の設定点等の設定を変更できるように、表示アプリケーションによって使用されるオペレータインターフェースを構成設計者に作成または変更させることを可能にし得る。各専用のコントローラ、およびいくつかの場合において、１つ以上のフィールドデバイスは、実際のプロセス制御機能性を実装するように、そこにアサインされダウンロードされる制御モジュールを運用するそれぞれのコントローラアプリケーションを記憶し実行する。１つ以上のオペレータワークステーション（またはオペレータワークステーションおよびデータハイウェイと通信接続される１つ以上のリモートコンピューティングデバイス）上で実行され得る表示アプリケーションは、データハイウェイを介してコントローラアプリケーションからデータを受け取り、ユーザインターフェースを用いてプロセス制御システム設計者、オペレータ、またはユーザにこのデータを表示し、オペレータビュー、エンジニアビュー、技術者ビュー等の多くの異なるビューのうちのいずれかを提供し得る。構成データベースアプリケーションが、現在のプロセス制御ルーティン構成およびそれらと関連付けられるデータを記憶するように、データハイウェイに取り付けられたまた更なるコンピュータにおいて実行され得る一方で、データヒストリアンアプリケーションは、典型的に、データハイウェイ全体に提供されるデータのうちのいくつかまたは全てを収集し記憶するデータヒストリアンデバイスに記憶されそれによって実行される。あるいは、構成データベースは、構成アプリケーションと同じワークステーションに位置され得る。
【０００７】
現在、構成アプリケーションは、典型的に、関数ブロックテンプレートオブジェクト、いくつかの場合では、制御モジュールテンプレートオブジェクト等のテンプレートオブジェクトまたはアイテムのライブラリを含む。これらの構成アプリケーションは、プロセスプラントのための制御戦略を構成し、プロセスプラントのユーザインターフェースでディスプレイ表示を提供するように使用される。テンプレートオブジェクトは全て、それと関連付けられる既定プロパティ、設定、および方法を有する。構成アプリケーションを用いるエンジニアは、これらのテンプレートオブジェクトを選択でき、本質的に、例えば、制御モジュール等のモジュールを開発するように構成スクリーン内に選択されたテンプレートオブジェクトのコピーを置くことができる。テンプレートオブジェクトを選択し構成スクリーン内に置くプロセス中、エンジニアは、これらのオブジェクトの入力および出力を相互接続し、それらのパラメータ、名前、タグ、および他のプロパティを変更してプロセスプラントにおける固有の使用のために固有の制御モジュールを作成する。１つ以上のそのような制御モジュールを作成した後に、エンジニアは、ライブラリまたは構成データ記憶領域に作成されたモジュールを記憶し得る。エンジニアは、次いで、制御モジュールをインスタンス化でき（例えば、制御モジュールに対応する実行可能なファイルを作成させる）、それを、プロセスプラントの動作中の実行のために、適切なコントローラまたはコントローラ（複数可）、フィールドデバイス、および他のプロセス要素にダウンロードできる。
【０００８】
その後、エンジニアは、一般的に、ディスプレイ作成アプリケーションにおいてディスプレイオブジェクトを選択および構築することによってプロセスプラント内のオペレータ、保守職員等のために１つ以上のディスプレイを作成する。これらのディスプレイは、典型的に、ワークステーションのうちの１つ以上においてシステム全体を基準として実装され、プラント内の制御システムまたはデバイスの動作状態に関して、オペレータまたは保守要員に事前構成されたディスプレイを提供する。典型的に、これらのディスプレイは、プロセスプラント内のコントローラまたはデバイスによって生成されるアラームを受け取り、表示するアラームディスプレイ、プロセスプラント内で制御されているコントローラおよび他のデバイスの動作状態を示す制御ディスプレイ、プロセスプラント内のデバイスの機能状態を示す保守ディスプレイ、等の形態を取る。これらのディスプレイは、一般的に、プロセスプラント内のプロセス制御モジュール、デバイス、または他のプロセス要素から受け取られた情報、またはデータを、知られている方法で、表示するように事前構成される。いくつかの知られているシステムでは、ディスプレイは、各々が物理的または論理的要素と関連付けられるグラフィックを有し、物理的または論理的要素についてのデータを受け取るようにそれぞれが物理的または論理的要素に通信可能に結合されたものである、オブジェクトの使用を通じて作成される。オブジェクトは、例えば、タンクが半分満たされていることを示すように、流量センサによって測定された液体流量を示すように、等、受け取られたデータに基づいてディスプレイスクリーン上のグラフィックを変更できる。
【０００９】
制御構成アプリケーション同様、ディスプレイ作成アプリケーションは、オペレータディスプレイ、保守ディスプレイ等を作成する任意の所望の構成においてスクリーン上に置かれ得る、タンク、バルブ、センサ、スライドバーの様なオペレータ制御ボタン、オン／オフスイッチ等のテンプレートグラフィカルディスプレイアイテムを有し得る。テンプレートグラフィカルディスプレイアイテムは、構成オブジェクトと一緒にテンプレートライブラリに記憶され得るか、または異なるテンプレートライブラリに記憶され得る。スクリーン上に置かれた場合、個別のグラフィックアイテムは、異なるユーザにプロセスプラントの内部作業のいくつかの情報または表示を提供する方法で、スクリーン上で相互接続され得る。しかしながら、グラフィックディスプレイをアニメ化するために、ディスプレイ作成者は、グラフィックアイテムとプロセスプラント内の関連のあるデータソースとの間の通信リンクを指定することによって、グラフィカルアイテムの各々を、センサによって測定されたデータまたはバルブ位置を示すデータ等のプロセスプラント内で生成されたデータに手動で結合しなければならない。このプロセスは、冗長であり、時間がかかり、かつエラーを伴う場合がある。更には、ディスプレイが一度作成されると、それは、その構成およびレイアウトに静的なままで残る。
【００１０】
制御構成アプリケーション内の制御テンプレートオブジェクトおよびディスプレイ作成アプリケーション内のディスプレイアイテムは、それらがコピーでき、多くの異なる制御モジュールおよびグラフィカルディスプレイを作成するために使用できるため、便宜的であるが、多くの場合、プロセスプラント内の異なる機器およびディスプレイのために多数の同じ制御モジュールおよびグラフィカルディスプレイを作成する必要性が存在する。例えば、中規模から大規模サイズのプロセスプラントの多くは、同じ基本的な一般的な制御モジュールおよびディスプレイを用いて制御および表示され得る同じまたは類似の機器の多数のインスタンスを有する。
【００１１】
この問題に対処するために、米国特許第７，０４３，３１１号（その全体の開示が参照により本明細書に明示的に組み込まれる）は、モジュールクラスオブジェクトとも呼ばれるクラスオブジェクト（および一般的に、本明細書においてクラスオブジェクトまたはクラスと称される）を使用するプロセスプラント構成システムを開示し、ユーザが共通モジュールクラスオブジェクトから多数の制御モジュール、ユニットまたは機器モジュール、またはディスプレイモジュールを作成することを可能にする。これらの制御、機器、またはディスプレイモジュールは、モジュールクラスまたはクラスオブジェクトのインスタンスとして作成され、モジュールクラスオブジェクトの特長およびプロパティの全てを含み、それによって、単一または共通クラスモジュールオブジェクトから数多くの類似の制御、機器、またはディスプレイオブジェクトを作成することをより容易にする。インスタンスは、次に、それら自身の子オブジェクトを有し得、よってオブジェクトは、複数世代または複数レベルの関係性を有し得る。その後、モジュールクラスオブジェクトから作られたインスタンス、子オブジェクト、または複数レベルの子オブジェクトのうちの各々は、そのそれぞれの親オブジェクトへの変更を行い記憶することによって自動的に変更され得る。例えば、モジュールインスタンスは、それらのモジュールクラスオブジェクトへの接続を保持し、クラスモジュールが変更または更新されると自動的に更新される。同様に、クラスオブジェクトではない親オブジェクトから作られた子オブジェクトおよび複数レベルの子オブジェクトは、親オブジェクトへの変更を行い記憶することによって自動的に変更され得る。一実施形態では、子オブジェクトのうちの少なくともいくつかは、論理的および／または物理的にライブラリから分離しているシステム構成データ記憶領域または他のデータ記憶領域に記憶される。
【００１２】
しかしながら、例えば、プロセスプラントで使用される典型的な制御システムには、定義されなければならない数百の類似アイテム（制御モジュールまたはディスプレイ要素等）が存在し得る。これらのアイテムは、例えば、流量または圧力の制御と関連付けられる制御戦略、ならびに、グラフィックディスプレイにこれらの制御戦略を表すように使用されるディスプレイ構成要素を含む。クラスまたはモジュールクラスオブジェクトを使用する構成システムを実装してこれらの共通アイテムを構成することは現在かなり典型的であり、構成システムは、モジュールクラスオブジェクトのライブラリを含み、ユーザがプラントでの使用のために任意の特定のモジュールクラスオブジェクトの多数のコピーまたはインスタンスを生成することを可能にする。これらのシステムでは、オブジェクトへの修正は、まずはモジュールクラスオブジェクトへ行われなければならず、次いで、モジュールクラスオブジェクトのインスタンス、子オブジェクト、および複数レベルの子オブジェクト（もしある場合）の全てにこれらの変更を自動的に伝達させる。実際に、これらの構成システムは、モジュールインスタンスのパラメータ値を変更する等の小さい調整のみをモジュールインスタンスに直接行うことができるように設計される。例えば、制御戦略のための典型的なクラスビヘイビアは、パラメータレベルでのみ、クラスアイテムのインスタンスが修正されることを可能にし、その特定のパラメータがモジュールクラス内からの変更アクセスを付与された場合にのみ、それを可能にする。結果的に、多くの異なるモジュールクラスオブジェクトは、唯一小さいまたは少数の量だけ互いに異なるプロセスプラントアイテム（プラント機器等）を構成するように開発されなければならない。残念ながら、これらのモジュールクラスオブジェクトがより多く定義されればされるにつれて、構成クラスオブジェクトを用いることによって得られる元の生産性向上は、減少する。
【００１３】
なおも更に、上に記されるように、クラス型構成アイテムを使用する現行の構成システムは、典型的に、変更がクラスアイテムに行われると、変更がそのクラスのモジュールインスタンスの全てに直ちに伝達されることを保証するように設計される。この特長は、インスタンスが、実際に、それらの定義のためにそれらのそれぞれの親アイテムまたはオブジェクト（例えば、クラスアイテムまたはオブジェクト）を共有、または指すため、構成システム内に設計される。この自動変更伝達特長は、設計の初期段階で制御システム設計をより容易にかつより効率的にするが、一旦制御システムが導入されプラントで運用されると、特定のモジュールクラスオブジェクトと関連付けられるインスタンスの全てを同時に変更することは許容され得ないかまたは実用的であり得ない。重要なことには、あるモジュールクラスオブジェクトは、典型的に、その寿命の一部として多くの変更を受ける。モジュールクラスオブジェクトが作成された後に、（構造変更またはパラメータ値変更であり得る）モジュールクラスへの後続の変更は、変更がモジュールインスタンス、１つ以上の子オブジェクト、および／または派生モジュールクラス等の他のモジュールクラスに分散される必要がある修正されたモジュールクラスをもたらす。しかしながら、実際には、プラントで運用させる各影響を受けた子オブジェクトは、実際のプロセス機器上で個別にテストされ検証される必要があり得、よって、ユーザは、モジュールクラスオブジェクトへの変更を、そのクラスオブジェクトのためのモジュールインスタンスを全て更新するように適切な時間にわたって待機するために、数か月または数年間遅延させる必要があり得る。更には、モジュールクラスオブジェクトへの変更が派生オブジェクトに自動的に分散されるため、モジュールクラスへの単一の変更は、数百および潜在的に数千のモジュールインスタンスおよび子オブジェクトに影響し得る。多くのプロセス産業は、プラント運転フェーズ中、プラントの複数の領域に広がる、結果的に必要とされる破壊的なダウンロードに対処できない。その結果、制御システムは、初期に、モジュールクラスオブジェクトに結合されるモジュールインスタンスを用いて設計され、これらのインスタンスのみが、システムがプラント運転フェーズに入る前にクラスのない制御モジュールに最終的に変換される。
【００１４】
上に説明される様々な理由のために、クラスインスタンスは、多くの場合元のクラスオブジェクトから離されるかまたは関連を断たれ、変更がクラスインスタンスに行われることを可能にし、それによって、新しいクラスモジュールを作成するか、またはインスタンスの全てに直ちに伝達されることなく変更がクラスオブジェクトに行われることを可能にする。しかしながら、この動作は、クラス型構成オブジェクトを用いるというそもそもの利点を破壊する。
【００１５】
クラス／インスタンス接続が切断されていないより小さいシステムにおいてさえも、クラスのインスタンスの全てに影響することなく制御オブジェクトへの新しい変更を定義しデバッグすることはなおも困難であり、これは、一方では、インスタンスに新しい変更を実装することは可能ではなく、他方では、任意の変更がクラスオブジェクトに行われるとき、この変更がクラスオブジェクトの各インスタンスに自動的に適用されるためである。ここで再度、子オブジェクトのうちの１つである、例えば、インスタンスは、新しい変更が設計され得、インスタンスに対してテスティングされ得るように、クラスオブジェクトから一時的に離されなければならない。この場合では、変更が完成すると、クラスオブジェクトに手動で行われなければならず、ユーザは、テストのために使用されるインスタンスをクリーンアップする必要があり、インスタンスをその適したクラスオブジェクトに再取り付けする必要がある。したがって、実際、これらの課題に対処するにあたり、ユーザは、テスティング目的のために元のクラスオブジェクトからより多くのクラスを離すことによってインスタンス間のわずかな変動を処理するために全て別個のクラスオブジェクトを作成する必要があるか、またはクラスの概念を完全に破棄する必要がある。
【００１６】
なおも更に、今日の市場で使用される大部分の構成システムは、制御システムのためにグラフィックディスプレイを構成するようにクラスを使用しない。典型的に、グラフィックは、制御戦略から別個に定義され、１つのグラフィックアイテムは、多くの場合、複数の異なる制御戦略クラスと共に使用される。したがって、変更が特定のグラフィックアイテムに行われると、ユーザは、変更されたグラフィックアイテムが全てのディスプレイ上で全ての制御戦略インスタンスと共に作動することを検証する必要がある。制御戦略への修正が起こり、制御戦略クラスが上に記された方法で急増するため、各インスタンスのための各グラフィックアイテムは、検証される必要があるが、それは、時間を費やすことになり非実用的である。
【００１７】
グラフィックユーティリティが類似のグラフィックアイテムを更新するように使用され得るが、ユーティリティは、全ての選択されたグラフィックアイテムを同一にするだろう。したがって、最終的に、この解決策は、グラフィックアイテムのためにクラスを用いることに類似している。更には、グラフィックにおけるインスタンス差異を設計することは、困難であり、プログラミングスキルを要する。多様なばらつきが可能であり、実際グラフィックアイテムにおいて予測されるため、特別な形態を用いて、どの変動が、共通のグラフィックオブジェクトから作成されたグラフィックディスプレイアイテムの各々において上書き構造が許されるかまたはできるかを指定するシステムを設計する必要がある。これらの変動は、例えば、インスタンス上でユーザが、アイテムの一部分について回転を定義できる、どの文字列および変数がディスプレイに示される必要がありどれがオプションであるかを選択できる、等の変更を指定することを含む。この先行的な設計なしでは、グラフィックオブジェクトは、それに行われる小さい変更でさえも有し得ない。残念ながら、グラフィックアイテムの許容可能な変更を設計または事前に指定するように試行する構成システムは、グラフィックアイテムの変動が非常に一般的であるため、急速に使用不可能になる。その結果、グラフィック費用を効率的に維持することは、制御システム内の継続的な問題であり、グラフィックを維持するステップが、制御構成システムで使用される制御モジュールクラスに行われる変更と連携されなければならないときのみ増大される。
【００１８】
より一般的な意味では、ユーザは、再使用可能なグラフィカル構成要素からディスプレイを構成することおよび彼らが元のグラフィカル定義から行った変更を見ることができること、を所望する。加えて、彼らは、１箇所で定義に変更を行うこと、およびこれらの変更をグラフィカル定義が使用されるディスプレイに適用すること、その後、彼らが種々のディスプレイ上に行った特定の変更を維持することができることを所望する。現在、いくつかのディスプレイシステムでは、ディスプレイ構成要素は、アニメーションおよびイベントハンドラビヘイビアと共に構成された矩形およびテキストブロック等の基本形状の組み合わせであるダイナモにグループ化され得る。これらの基本形状は、プラントの一部分からの機器またはデータを表すように種々の組み合わせに構成され得る。いくつかのダイナモは、典型的に、ディスプレイ構成システムの部分として追加設定なしで提供され、他のダイナモが、プロジェクトエンジニアリングによって生成され維持される一方で、なおも他のダイナモは、顧客によって構成される。現在、これらのダイナモがディスプレイに使用されるとき、完全コピーは、元のダイナモを使用する各インスタンスについてディスプレイに置かれる。しかしながら、元のダイナモへのハードリンクバックは存在しない。しかしながら、各インスタンスは、この特定のディスプレイが、ディスプレイ要素が使用されるユーザインターフェース上の現在のディスプレイフィールド内に収まることができるように要求されるアニメーション表現の経路、位置配向、または他のビジュアル態様等のダイナモのいくつかの態様を変更し得る。
【００１９】
この手法にはいくつかの問題および限界が存在する。一般的に言うと、顧客は、財務費用を最小限にしようとし、ディスプレイの品質および信頼性を最大限にしようとする。しかしながら、必ず、１つ以上の変更が、ダイナモ定義に必要とされる。変更がマスターまたは元のダイナモに行われた後、顧客は、その指定ダイナモを使用する全てのディスプレイを更新することによってそれらの変更を実際に行う必要がある。しかしながら、変更される元のダイナモとそのコピーの間にハードリンクが存在しないため、ダイナモがどこに使用されるかを決定することは、重大な課題である。典型的に、各生成されたダイナモは、ダイナモ名およびバージョンを記憶する文字列フィールドを含む。しかしながら、全ての顧客がこの技術を使用するわけではなく、いずれの場合にも、このフィールドが、不注意に、編集セッション中にユーザによってクリアまたは削除され得、それによって、元のダイナモへ戻る名前付けされた接続を失う。更には、新しいダイナモが既存のダイナモから生成され、この参照値が更新されない場合、文字列は、元のダイナモ名およびバージョンへの不正確な参照を有する。更に、差異がディスプレイまたはダイナモへの変更であった場合、ダイナモにおいて何が差異かを知ることのみが可能であるが、その理由は不明である。したがって、変更が元のダイナモに行われるとき、特定のディスプレイにおいて使用されている特定のダイナモに変更が組み込まれる必要があるかどうかを決定することは、ユーザにとって困難である。
【００２０】
なおも更に、ユーザは、新しいダイナモにインスタンスを更新でき、このインスタンス固有の変更を保持できる一方で、ユーザは、典型的に、どの変更が新しいマスターにおいてであり、どれがインスタンス固有であるかを知らず、よって、ディスプレイアイテム内のどの差異をそのまま残すべきかを決定できない。現在、ダイナモの新しいバージョンに更新することは、ディスプレイに対して構成された値を置換するために、ダイナモの完全再コピーを要する。このプロセスは、インスタンス固有であるディスプレイアイテムに対する任意の変更を上書きする。結果的に、ユーザは、次いで、ディスプレイアイテムまたはインスタンスに前に行われた全ての変更を手動で再適用しなければならず、ユーザが変更のうちのいくつかを失念した場合、これらの変更は失われる。この動作は、オペレータディスプレイの品質に否定的に影響し、また、手動プロセスを伴うため、より長い時間を要する。なおも更に、元のダイナモレベルは、１つのレベル分のみ深い。結果的に、ダイナモは、他のダイナモからではなく、基本形状からのみ構築され得、それは、他のダイナモのための基準として使用されるダイナモのセットを構築することを阻止する。
【発明の概要】
【００２１】
構成システムは、柔軟なまたは修正可能なオブジェクト（例えば、モジュールクラスオブジェクト、モジュールインスタンスオブジェクト、および子オブジェクト）技術を使用して、クラス型構成が新しい制御戦略またはディスプレイ要素を開発すること、およびこれらの要素がプラント環境で運用または実行されているときこれらの要素に変更を行うことの両方においてより有用かつ有益になるようにする。そのような構成システムは、「柔軟な構成システム」、または「構成システム」として互換的に本明細書に称される。特に、新しい柔軟なオブジェクトの使用は、クラスオブジェクトから作られたインスタンスの中で更なる変動を可能にすることによって、クラスオブジェクトの急増を減少させ、単一のクラスオブジェクトを多様なアプリケーション（使用）に適用可能にする。新しい柔軟なオブジェクトを伴う構成システムでは、ユーザが、特定の必要性に応じて例えばクラス化された型のインスタンス（または他の子オブジェクト）にアイテムを追加できるが、ユーザがその変更を他のインスタンスかまたは親オブジェクトそれ自身に強要することを所望しない限り、インスタンスまたは子オブジェクトがクラスから除去されるかまたは関連を断たれるように強制しない方法で、および同じクラスの他のインスタンスに影響しない方法で追加できる。同様に、インスタンスまたは子オブジェクトに追加されたアイテムは、親レベルに追加されたいずれのものも妨害しないように、かつ明確な文書化の目的のために、インスタンスまたは子オブジェクト内にフラグ付けされ得、かつラベル付けされ得る。なおも更に、新しい柔軟なオブジェクトを伴う構成システムは、子レベルで親コンテンツを無効化することおよび／または子レベルでの親コンテンツの削除を支持する。子レベルで親コンテンツを無効化または削除することは、例えば、コアクラス機能性がクラスの一部に残りつつ、ユーザが、クラスインスタンスの残りよりも少ない機能性を有する必要があるインスタンスをより良く処理することを可能にする。所望の場合、子レベルの任意の無効化されたコンテンツは、子の表示を可能にする構成ユーティリティ内で視覚的に消されるかまたは見えなくでき、かつユーザによっていつでも再度有効にできる。無効化されたコンテンツは、ランタイムに使用されないが、構成環境にのみ存在する。ユーザが子オブジェクト内に親オブジェクトの前に無効化された部分を含むように判断した場合、次いで、その子オブジェクトは、制御システムのランタイムバージョンを更新するようにダウンロードのためにフラグ付けされ得る。
【００２２】
更には、柔軟なオブジェクトを用いる構成システムは、インスタンスおよび子オブジェクトに段階的に分散されるように変更または更新を可能にすることによって、運用しているプラントにおいてクラスをより利用可能にする。例えば、ユーザまたは構成エンジニアは、ユーザにクラスオブジェクトへの変更を行わせることおよびそのクラスオブジェクトのどのインスタンスが、それらの変更を受け取るべきかおよびいつであるかを決定することによって、選択的に、インスタンスへクラス変更を下方向に伝達し得、それは、クラスの全てのインスタンスに同時に伝達されるように全てのクラス変更を強制する代わりに、向上されたプラント性能およびより良いランタイム支持をもたらす。この段階的な特長は、ユーザがクラス変更を行い、変更を要するインスタンスにのみその変更を伝達することを可能にする。ユーザは、次いで、後程戻り、より多くのインスタンスまたはインスタンスの残りに変更を伝達し得る。より具体的には、この段階的な特長は、ダウンロードを手動で管理するまたは同時に全てのインスタンスに自動ダウンロードを実施する必要がある代わりに、どのインスタンスが、現行のプラント運転的考慮に基づいてそこにダウンロードされた構成更新を有することができるか、およびプロセス動作内で理に適う流動的なタイムラインにわたってクラス変更を段階的に導入することができるかを、ユーザが判断することを可能にする。
【００２３】
別の特長としては、柔軟なオブジェクトを用いる構成システムは、上方向に戻りクラスオブジェクトへインスタンス変更を選択的に伝達することによって変更を付加的に行い検証するユーザの能力を向上させる。例えば、構成システムは、ユーザに、インスタンス上に行われた変更を、下方向に戻りインスタンスの残りに分散させるために上方向に戻りクラスオブジェクトへこの変更を伝達させることを可能にする。この特長は、ユーザに、クラスオブジェクトの全ての他のインスタンスにその変更をロールアウトする前に、ユーザが１つのインスタンスを変更およびテストすることができるビルトインテスト環境を提供する。
【００２４】
理解されるように、本明細書に説明される構成システムは、このシステムが、例えば、プロセスプラントまたはシステムのランタイム動作環境内等のプロセスプラントまたはプロセス制御システム内のコントローラ、デバイス、ディスプレイ、または他のプロセス要素において運用されるモジュールクラスおよび他の親オブジェクトからモジュールインスタンスおよび他の子オブジェクトへの変更のロールアウトをユーザが制御することを可能にする機構を提供しつつ、同時にクラス型ビヘイビアの有益性を保持する。したがって、本明細書に説明される構成システムは、プロセスプラントまたはプロセス制御システムの一部（またはいくつかの場合では、プラントまたはシステム全体）におけるリアルタイム動作が不利に影響されないように、経時的に制御された段階的な方法でプラントまたはシステム動作および／またはビヘイビアを変更するためにプロセスプラントまたはプロセス制御システムの（親オブジェクトおよびそれぞれの子オブジェクトに対応する）プロセス要素に一体化されるモジュールクラスおよび他の親オブジェクトへの変更を可能にする。いくつかの状況では、親オブジェクトへの変更は、子オブジェクトに伝達されない。加えて、変更が、（例えば、変更された親オブジェクトの子オブジェクトに対応する全てのプロセス要素が更新されるのに好適である時間まで待機する代わりに）制御された様式でプロセスプラントまたはシステムのプロセス要素に付加的に適用され得るため、プロセスプラントまたはプロセス制御システムの一部（または、いくつかの場合では、プラントまたはシステム全体）への変更の適用における不必要な遅延の発生が、減少され、したがって、経時的に、プロセスプラントまたはシステムの全体的な効率性および生産性を増加させる。
【００２５】
更に、本明細書に説明される技術、システム、および方法は、ユーザが、親または子オブジェクトの一時的コピーを安全に取り扱うこと、および適切な承認が受け取られたときのみ、コントローラ、デバイス、または他のプロセス要素に展開（ダウンロード）するように親または子オブジェクトを準備することを可能にする。したがって、プロセスプラントまたは制御システムのランタイム環境のプロセス要素において適用またはインスタンス化される修正または変更のドラフトを承認すること（変更された親オブジェクトからか、または変更された子オブジェクトからか）は、未完了のまたは不正確な修正または変更が、プラントまたはシステムに不注意に組み込まれる機会を減少させる。つまり、本明細書に説明されるドラフトおよび承認技術を用いることによって、構成システムは、プロセスプラントまたはシステムに一体化される変更の精度を向上させ、それによって、プロセスプラントまたはシステムの動作の質を向上させる。
【００２６】
ある場合では、構成システムは、ユーザが、最終的に承認されるドラフトの作業をする書籍出版モデルに大雑把に基づき得る編集および分散機構を用いることによって、段階的実行を実施し得、プラント内の場所に分散されるエディションをもたらす。いくつかのコントローラ、ディスプレイ、または他のプラント資産に関しては、最新のエディションがリリースされるといつでも取り入れまたは使用し、その一方で他のものに関しては、新しいエディションに組み込むまたはアップグレードすることが、最も望ましいかまたは便宜的であるときのみそれをする。なおも更に、このシステムを使用して、ユーザは、ダウンロードをトリガすることかつ潜在的にランタイムシステムに影響することなく、構成ライブラリおよびシステム構成アイテムへの変更を行うことができる。ユーザは、ドラフトとしてアイテムまたはオブジェクトへの変更を保存でき、一旦変更が承認されると、ランタイムシステムに分散およびダウンロードされ得るエディションを作成できる。より具体的には、構成システムにおいて、モジュールインスタンス（および他の子オブジェクト）は、モジュールクラスまたは親オブジェクトの指定エディションにリンクされ、それは、モジュールクラスまたは親オブジェクトがその子に直ちに影響することなく追加の変更（エディション）を経ることを可能にする。したがって、例示的な実施例では、この特長は、変更がモジュールクラスに行われる度にモジュールインスタンスをダウンロードする必要性を除去するが、代わりにユーザが、モジュールインスタンスがモジュールクラスの最新エディションにリンクするように更新される時間を制御できるようにする。当然、子オブジェクトは、親オブジェクトがライブラリアイテムであろうとなかろうと、その親オブジェクトの指定エディションにリンクし、したがって、親オブジェクトが、その子オブジェクトの全てに直ちに影響することなく、変更または修正されることを可能にする。
【００２７】
したがって、本明細書に説明される構成システムの段階的実行の技術を用いて、ユーザは、ライブラリアイテムまたは親オブジェクトへの変更が、自動的に子オブジェクトに分散されるか、またはユーザが分散を手動で管理するかを選択できる。更には、親ライブラリおよびシステム構成アイテムは、ドラフト、エディション、および（システム構成アイテムのための）ダウンロードエディションの複数のステージを経ることができる。ここで、ユーザは、親オブジェクトの一時的コピー（ドラフト）を作成でき、適切な承認が得られた場合にのみ、ランタイムシステムにアイテムの修正されたエディションをダウンロードできるが、これは、ドラフトアイテムが、運用しているシステムに影響することなくテストされ得ることを意味する。同様に、ユーザの経験を向上させユーザに制御していることをより感じさせるために、ユーザは、ドラフト、現在のエディションとダウンロードされたエディションとの間の差異を見ることができる。指定アイテムに関連して、ユーザは、ドラフトと現在のエディションとの間、ドラフトとダウンロードされたエディションとの間、現在のエディションとダウンロードされたエディションとの間等の差異を見るように選択できる。更には、ライブラリおよびシステム構成アイテムは、参照を支持し得、その場合、どのシステム構成アイテムがライブラリアイテムを使用するか、およびシステム構成アイテムがライブラリアイテムの最新エディションを使用しているかどうか、を見ることが可能である。
【００２８】
なおも更に、モジュールクラスおよびインスタンス構造内のエディションの使用は、基本的に指定親アイテムエディションのエディション化されたコレクションであるパッケージを作成すること、および同時にダウンロードのためにこれらのパッケージを分散することを可能にする。この特長は、設計される具体的な解決策または問題に関するライブラリパッケージが設計されることを可能にし、かつそれから、全部でないにしろ必須のプラント構成のうちの大部分が作成され得る。後に、課題を矯正するためまたは機能性を向上させるためにパッケージが更新されると、パッケージの新しいエディションは、パッケージと共に包含されたライブラリアイテムの新しいエディションを同時にインストールすることによってインストールされ得る。次いで、ユーザは、彼らのプラント状況が許す限り、システム構成を自由に更新し、それは、親アイテムへの更新がその子アイテムを更新するように直ちに使用される必要がある現行の構成システムにおいて生じたロジスティクスに関する問題を排除するまたは減少させる。実施例として、本明細書に説明される構成システムは、エンジニアリングユニット、アラーム設定、およびグローバル値、セキュリティオブジェクト（ユーザアカウント、機能およびパラメータセキュリティ、および許可ポリシー等）を含むライブラリおよびシステム構成アイテムを管理するように使用され得、標準操作手順（ＳＯＰ）、開始／終了手順、アラーム補助等のユーザが生成した文書にもまた適用され得る。
【００２９】
ディスプレイアイテムに関連して、構成システムの柔軟なオブジェクトは、ユーザが、再使用可能であり他の形状をビヘイビアと組み合わせるリンクされたグラフィカルな構成可能な形状（例えば、グラフィック要素モジュール（Ｇｒａｐｈｉｃａｌ  Ｅｌｅｍｅｎｔ  ＭｏｄｕｌｅｓまたはＧＥＭ）を作成することを可能にする。ＧＥＭは、１つ以上のビジュアル表現または構成可能な形状の表示を提供する。ＧＥＭの定義は、（例えば、ＧＥＭ定義を共有することを可能にするように）指定ディスプレイおよび他のオブジェクトにおけるそのＧＥＭの使用量／インスタンスから別個に記憶される。加えて、構成システムの柔軟なオブジェクトは、他のグラフィカル定義（例えば、ディスプレイおよびＧＥＭ）からグラフィカル定義を定義することまたは派生させることを支持する。例えば、ＧＥＭは、他のＧＥＭを用いて構築され得る。
【００３０】
典型的に、親オブジェクトへの上書き、変更、または修正は、対応する変更をインスタンスまたは子オブジェクトにもたらす。構成システムの柔軟なオブジェクトは、制御戦略関数ブロックによって支持される単純なパラメータ上書きを用いて、この上書き概念を拡張してディスプレイアイテムの内部構造への変更を可能にする。これらの追加的な上書きは、例えば、プロパティ、アニメーションおよびイベントハンドラへの上書き、グラフィカル形状、アニメーションまたはイベントハンドラを追加することを支持する上書き、グラフィカル形状の移動を支持する上書き、および／または除去またはグラフィカル形状、アニメーションまたはイベントハンドラを支持する上書き、を含んでもよい。指定ディスプレイインスタンスのための上書きは、ＧＥＭ定義とは別個にインスタンスと共に記憶され得、よって、どの変更がディスプレイインスタンスに固有であることを知ることか、ディスプレイインスタンスにおいて使用されるＧＥＭ定義で行われた変更を知ることが可能である。したがって、ＧＥＭおよび他のディスプレイオブジェクト（親または子にかかわらず）への上書きは、ＧＥＭおよび他のディスプレイオブジェクトのコンテンツへの修正および変更を含み得る。
【００３１】
更には、ディスプレイをロードするとき、ＧＥＭ定義は、ディスプレイアイテムの初期表現、アニメーション、およびイベント処理ビヘイビアを決定するように使用され得る。その後、上書きは、必要に応じて、インスタンス固有の変更を提供するように、ディスプレイアイテムまたはクラスオブジェクトの指定ディスプレイインスタンスに適用され得る。この特長は、形状の配向または位置を変更する、または形状を除去する、または値をテキスト形式で示すテキストブロックを除去して塗りつぶしパーセンテージとして値をグラフィカルに示す矩形を追加すること等の、１つの形状を別の形状と置換するように、単純なプロパティ上書きを用いて実装され得る。あるいは、上書きは、既存のアニメーションまたはイベントハンドラのプロパティのうちの１つ以上を上書きすることによって、アニメーションまたはイベントハンドラを追加または既存のアニメーションまたはイベントハンドラを変更できる。一実施形態の、修正され、上書きされたＧＥＭは、ＧＥＭ定義の子オブジェクトとして記憶または維持され得る。
【００３２】
加えて、ディスプレイ構成システムは、ＧＥＭが他のＧＥＭ上に構築されるようにし、一般的なアイテムが固有の機能、産業グループ、または顧客のために容易に作成されることを可能にする。一実施例では、ＧＥＭは、派生によって広げられ得、その場合、同じ上書き構造が、派生したＧＥＭにおいて適用され得、それによって、ディスプレイアイテムが、ライブラリで新しいディスプレイクラスオブジェクトとして広げられること、またはランタイムにオペレータによって開放されるインスタンスとして広げられることを可能にする。ディスプレイ構成システムはまた、ユーザが、ＧＥＭの（使用されている場合）インスタンスの全てを容易に決定でき、どのディスプレイが他のディスプレイから派生しているかを容易に決定できる機構を含み得る。同様に、ディスプレイ構成システムは、ユーザが、何が派生した定義または使用量上に変更されたかを決定的に決定すること、元のＧＥＭ定義へのリンクした関係性を維持しつつ複合形状（例えば、ＧＥＭ）の内部構造を上書き（微調整）すること、形状を追加および除去すること、データ（アニメーション）を追加および除去すること、イベントハンドラを追加および除去すること、および形状、アニメーション、イベントハンドラ、およびＧＥＭ定義の任意の他のオブジェクト型のプロパティを上書きすることを可能にする機構を含み得る。
【００３３】
なおも更に、ディスプレイ構成システムは、ユーザが、新しいバージョンへ定義または派生した定義（ディスプレイクラスアイテム）を更新すること、およびインスタンスの上書きを失うことなくインスタンスにこれらの変更を適用することを可能にする機構を含み得る。ディスプレイ構成システムはまた、ユーザが、他のＧＥＭ定義を組み合わせることによってＧＥＭを作成すること、他のディスプレイからディスプレイを派生すること、別のＧＥＭからＧＥＭを派生すること、およびディスプレイインスタンスに行われた微調整および上書きを示すことを可能にする機構を含む。
【００３４】
ディスプレイ構成システムによって提供されたグラフィカル要素およびディスプレイの柔軟な構成は、プロセスプラントまたはプロセス制御システムがより安全にかつ効率的にリアルタイムに監視、制御および／または動作されることを可能にする。特に、ディスプレイ構成システムは、プラントのリアルタイムまたはランタイム動作環境および構成環境の両方で、オペレータが、プロセス制御システムまたはプラントの１つ以上の部分の具体的な監視、制御および／または動作に具体的に適合またはカスタマイズされたグラフィカル要素および／またはディスプレイを構成できるようにする。グラフィカル要素および／またはディスプレイは、追加的にまたは代替的に、特定のオペレータ、オペレータのグループ、組織的なエンティティ、ビジネス、または他のエンティティのために具体的に適合またはカスタマイズされ得る。ディスプレイ構成システムはまた、オペレータが一般的な（例えば、プラント全体またはシステム全体、リアルタイム環境または構成環境）アクセス、使用、再使用、および組み込みのためにカスタマイズされたグラフィカル要素および／またはカスタマイズされたディスプレイを保存することを可能にする。したがって、グラフィック要素（複数可）および／またはグラフィックディスプレイ（複数可）の構成がプロセスプラントまたはシステムの複数の環境で合理化され完全にカスタマイズ可能なため、オペレータの混乱およびエラーは減少され、よって、オペレータが効率的かつ安全にプロセスプラントまたはシステムを動作できるようにする。
【００３５】
更に、グラフィック要素（複数可）および／またはディスプレイ（複数可）が、プロセスプラントまたはシステムの固有の部分またはエンティティの固有の目的のためにカスタマイズされるため、（例えば、１つ以上のプロセスを制御しつつ）プロセスプラントまたはシステムの固有の部分またはエンティティによって生成され、かつ必要なマニュアルおよび／または自動介入を要するリアルタイムデータは、カスタマイズされたグラフィック要素（複数可）および／またはディスプレイ（複数可）を用いて容易におよび急速に識別可能である。一実施例では、リアルタイムデータは、カスタマイズされたグラフィック要素および／またはディスプレイで受け取られ識別され、識別されたデータのコンテンツに基づいて、更新された制御アルゴリズムは、手動でおよび／または自動的に生成され、実行のためにプロセスプラントに送信される。他の実施例では、受け取られ識別されたデータのコンテンツに基づいて、回復アクション命令は、実施されるプロセスプラントまたはシステムの１つ以上のプロセス要素に手動でおよび／または自動的に送信され、および／または終了または初期化命令は、実施されるプロセスプラントまたはシステムの１つ以上のプロセス要素に送信される。当然ながら、受け取られ識別されたリアルタイムデータに基づいて他のデータ、構成、および／または命令がプロセスプラントまたはシステムに送信されおよび／またはそれによって実行されることは、可能である。いくつかの場合では、識別されたリアルタイムデータに基づいてプロセスプラントまたはシステムに送達されるデータ、構成、および／または命令は、プロセスプラントまたはシステムに変更をもたらす（例えば、プロセス要素への更新されたまたは新しい構成）またはそれらの動作に変更をもたらす。いくつかの場合では、送達されたデータ、構成、および／または命令は、プロセスプラントまたは制御システムにアクションを実施させる（例えば、動作から特定のプロセス要素を除去する、ソースによって生成されたデータを別のソースに経路切り替えする等）。
【００３６】
したがって、ディスプレイ構成システムは、グラフィック要素および／またはディスプレイがよりカスタマイズされた詳細な情報（および特に、プロセスプラントまたはシステムによって生成されたリアルタイムデータに関連して）を生成することを可能にするため、プロセスプラントまたはプロセス制御システムの１つ以上の部分の制御および／または動作への任意の必要な修正は、より急速に決定され、プロセスプラントまたは制御システムのランタイム環境に一体化される。したがって、本明細書に説明される技術、方法、およびシステムを使用して、プロセスプラントまたはシステムの効率性および安全性は、更に改善される。
【図面の簡単な説明】
【００３７】
【図１】プロセスプラントまたはプロセス制御システムのために制御およびディスプレイアクティビティを構成するようにモジュールクラスオブジェクトを使用する構成アプリケーションを実装するワークステーションを含む、プロセスプラントまたはプロセス制御システム内に位置する実例の分散型プロセス制御ネットワークのブロック図である。
【図２】図１の反応装置ユニットの図である。
【図３】図２の反応装置ユニットで使用される集計機器エンティティの図である。
【図４】図２の反応装置ユニットで使用される出口バルブシステムの図である。
【図５】モジュールクラスオブジェクトとユニット、機器、制御、およびモジュールクラスオブジェクトのディスプレイ型のために関連付けられたモジュールオブジェクトとの間の相互関係を示す実例の論理図である。
【図６】図１のプラント内の反応装置のために構成アクティビティを実施するように使用され得る、反応装置ユニットモジュールクラスオブジェクトの実例の論理図である。
【図７】モジュールクラスオブジェクトを用いてプロセスプラントを構成するように構成オペレータによって使用され得る構成スクリーンの実例の描写図である。
【図８】ユーザが図１のプロセス制御システムのライブラリに記憶されたモジュールオブジェクトを修正する実例のシナリオのブロック図である。
【図９】ユーザが図１のプロセス制御システムのライブラリに記憶されたモジュールオブジェクトを修正する第２の実例のシナリオのブロック図である。
【図１０】追加のアクションを含む図９の第２の実例のシナリオのブロック図である。
【図１１】ユーザが図１のプロセス制御システムのシステム構成データ記憶領域に記憶されたモジュールオブジェクトを修正する第３の実例のシナリオのブロック図である。
【図１２】実例のバルブグラフィカル要素の３つの可能な表示を示す図である。
【図１３】実例の定義使用量パターンの図を示す図である。
【図１４】実例の入れ子状態の定義使用量パターンのためのクラス図を示す図である。
【図１５】抽象化された入れ子状態の定義使用量の実例を示す図である。
【図１６】実例の派生したパターンの図を示す図である。
【図１７】入れ子状態の派生したパターンの実例の図を示す図である。
【図１８】定義に基づいて作成された形状使用量の実例を示す図である。
【図１９】使用量パターンに適用されたフィールド値上書き微調整の実例を示す図である。
【図２０】派生したパターンに適用されたフィールド値上書き微調整の実例を示す図である。
【図２１】複数レベルでのオブジェクトへの複数の修正または微調整の実例を示す図である。
【発明を実施するための形態】
【００３８】
ここで図１を参照すると、プロセスプラント１０は、例えば、イーサネット接続またはバス１５を介して、多数のワークステーション１４に連結される１つ以上のプロセスコントローラ１２を含む。コントローラ１２はまた、通信ラインまたはバス１８のセットを介してプロセスプラント１０内のデバイスまたは機器に連結され、通信ライン１８のセットのみが図１に例示されているコントローラ１２ａに接続される。通信ラインまたはバス１８は、例えば、ワイヤ接続、ワイヤレス接続、またはワイヤ接続とワイヤレス接続との組み合わせであり得る。例としてのみだがＦｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって販売されるＤｅｌｔａＶ（商標）コントローラを用いて実装され得るコントローラ１２は、１つ以上のプロセス制御ルーティン１９を実施し、それによってプロセスプラント１０またはプロセスプラント１０の１つ以上のプロセス動作の所望の制御を実装するように、プロセスプラント１０を通じて分散されるフィールドデバイス内のフィールドデバイスおよび関数ブロック等の制御要素と通信することが可能である。ワークステーション１４（例えば、パソコンであってもよい）は、コントローラ１２によって実行されるプロセス制御ルーティン１９と、ワークステーション１４または他のコンピュータによって実行されるディスプレイルーティンとを設計し、そのようなプロセス制御ルーティン１９をコントローラ１２にダウンロードするためにコントローラ１２と通信するように、１人以上の構成エンジニアによって使用され得る。更には、ワークステーション１４は、プロセスプラント１０の動作中、プロセスプラント１０またはそれらの要素に関係する情報を受け取り表示するディスプレイルーティンを実行し得る。
【００３９】
ワークステーション１４の各々は、構成設計アプリケーションおよびディスプレイまたは表示アプリケーション等のアプリケーションを記憶するため、およびプロセスプラント１０の構成に関係する構成データ等のデータを記憶するためのメモリ２０を含む。ワークステーション１４の各々はまた、構成エンジニアが、プロセス制御ルーティンおよび他のルーティンを設計し、これらのプロセス制御ルーティンをコントローラ１２または他のコンピュータにダウンロードすることができるか、またはプロセスプラント１０の動作中情報を収集しユーザに表示することができるように、アプリケーションを実行するプロセッサ２１を含む。いくつかの実施形態では、リモートコンピューティングサービスは、構成エンジニアがワークステーション１４から遠隔にアプリケーションを実行できるように、（例えば、ネットワークまたはウェブ基盤のインターフェースを介して）ワークステーション１４と通信可能に接続している。
【００４０】
なおも更に、コントローラ１２のうちの各々は、制御および通信アプリケーションを記憶するメモリ２２および任意の知られている方法で制御および通信アプリケーションを実行するプロセッサ２４を含む。ある場合では、コントローラ１２のうちの各々は、多数の異なる独立して実行された制御モジュールまたはブロック１９を用いて制御戦略を実装するコントローラアプリケーションを記憶し実行する。制御モジュール１９は、それぞれ、各関数ブロックが、全体の制御ルーティンの一部またはサブルーティンであり、例えば、プロセスプラント１０によって実施される１つ以上のプロセスの動作を制御する等、プロセスプラント１０内のプロセス制御ループを実装するように、他の関数ブロックと連動して（リンクと呼ばれる通信を介して）動作する、関数ブロックとして一般に称されるものから構成されてもよい。
【００４１】
良く知られているように、オブジェクト指向プログラミングプロトコルのオブジェクトであり得る関数ブロックは、典型的に、プロセスプラント１０内のいくつかの物理的機能を実施するように、送信装置、センサ、または他のプロセスパラメータ測定デバイス等のフィールドデバイスと関連付けられるもの等の入力機能、ＰＩＤ、ファジー論理等の制御を実施する制御ルーティンと関連付けられるもの等の制御機能、またはバルブまたは他のフィールドデバイス等のいくつかのデバイスの動作を制御する出力機能のうちの１つを実施する。当然ながら、モデル予測コントローラ（ＭＰＣ）、オプティマイザ等のハイブリッドおよび他の種類の複合関数ブロックが存在する。ＦｉｅｌｄｂｕｓプロトコルおよびＤｅｌｔａＶシステムプロトコルが、オブジェクト指向プログラミングプロトコルにおいて設計され実装された制御モジュールおよび関数ブロックを使用する際、制御モジュールは、例えば、シーケンシャルファンクションチャート、ラダー論理等を含む任意の所望の制御プログラミングスキームを用いて設計され得、関数ブロックまたは任意の他の特定のプログラミング技術を用いて設計されるように限定されない。
【００４２】
ワークステーション１４は、プロセス制御ルーティン１９内の制御要素およびこれらの制御要素がプロセスプラント１０の制御を提供するように構成される方法を示すディスプレイスクリーンを介してユーザにコントローラ１２内のプロセス制御ルーティン１９のグラフィカル描写図を提供し得る。図１のシステムでは、構成データベース２５は、コントローラ１２およびワークステーション１４によって使用される構成データを記憶するように、およびいくつかの場合では、プロセスプラント１０で生成されたデータを今後の使用のために収集し記憶することによってデータヒストリアンとして役立たせるように、イーサネットバス１５に接続される。一実施形態では、構成データベース２５は、ライブラリアイテム（例えば、テンプレートおよびクラスモジュール）および構成データに対応するシステム構成アイテム（例えば、ライブラリアイテムから作成されたオブジェクト）を含み得る。したがって、構成データベース２５は、論理的および／または物理的に、ライブラリデータ記憶領域およびシステム構成記憶領域に区分されてもよい。
【００４３】
図１に示されるプロセスプラント１０では、コントローラ１２ａは、バス１８を介して、Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３として本明細書に称される３つの類似に構成された反応装置（プラント１０内の複製された機器）のセットに通信可能に接続される。Ｒｅａｃｔｏｒ＿０１は、反応器またはタンク１００、反応器１００に、それぞれ、酸、アルカリ、および水を提供する流体入口ラインを制御するために接続される３つの入力バルブシステム（機器エンティティ）１０１、１０２、および１０３、および反応器１００からの流体流量を制御するために接続される出口バルブシステム１０４を含む。レベルセンサ、温度センサ、圧力センサ等の任意の所望の種類のセンサであり得るセンサ１０５は、反応器１００内または付近に配置される。この考察のため、センサ１０５はレベルセンサであると仮定する。更には、共有ヘッダバルブシステム１１０は、Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３の各反応装置の水ライン上流上に接続され、それらの各反応装置への水の流量を制御するためのマスター制御を提供する。
【００４４】
同様に、Ｒｅａｃｔｏｒ＿０２が、反応器２００、３つの入力バルブシステム２０１、２０２、および２０３、出口バルブシステム２０４、およびレベルセンサ２０５を含むと同時に、Ｒｅａｃｔｏｒ＿０３は、反応器３００、３つの入力バルブシステム３０１、３０２、および３０３、出口バルブシステム３０４、およびレベルセンサ３０５を含む。図１の実施例では、Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３の反応装置は、反応器１００に酸を提供する入力バルブシステム１０１、２０１、および３０１、アルカリを提供する入力バルブシステム１０２、２０２、および３０２、および共有水ヘッダ１１０と連動する、水を提供する入力バルブシステム１０３、２０３、および３０３を使用して、塩を生成し得る。出口バルブシステム１０４、２０４、および３０４は、図１の右に向かって指示された流動ラインから生成物を送り出すように、かつ図１の下に向かって指示された流動ラインから廃棄物または他の不要な材料を排出するように、動作され得る。
【００４５】
コントローラ１２ａは、バス１８を介して、バルブシステム１０１〜１０４、１１０、２０１〜２０４、および３０１〜３０４、およびセンサ１０５、２０５、および３０５に通信可能に連結され、これらの要素の動作を制御し、Ｒｅａｃｔｏｒ−０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３の反応装置ユニットに対して１つ以上の動作を実施する。そのような動作は、一般的にフェーズと呼ばれ、例えば、反応器１００、２００、３００を充填すること、反応器１００、２００、３００内の材料を加熱すること、反応器１００、２００、３００の中身を廃棄すること、反応器１００、２００、３００を洗浄すること等を含み得る。
【００４６】
図１に示されるバルブ、センサ、および他の機器は、例えば、Ｆｉｅｌｄｂｕｓデバイス、標準４−２０ｍａデバイス、ＨＡＲＴデバイス、ワイヤレスＨＡＲＴデバイス等を含む任意の所望の種類または型であってもよく、Ｆｉｅｌｄｂｕｓプロトコル、ＨＡＲＴプロトコル、ワイヤレスＨＡＲＴプロトコル、または他のワイヤレスプロトコル、４−２０ｍａアナログプロトコル等の任意の知られているまたは所望の通信プロトコルを用いてコントローラ１２（例えば、コントローラ１２または１２ａのいずれか）と通信できる。一般的に、プロセス環境内に位置し、プロセスの制御に直接影響する機能（例えば、バルブの開閉、制御アルゴリズムまたはループで使用される測定機能、および／または他の機能等の物理的機能）を実施するデバイスは、「フィールドデバイス」として本明細書に称される。
【００４７】
なおも更に、他の種類のデバイスは、本明細書に考察される原理に従って、コントローラ１２に接続され得、それによって制御され得る。例えば、コントローラ１２は、順次１つ以上のフィールドデバイスに接続され得る１つ以上の入力／出力（Ｉ／Ｏ）デバイス（図示されず）に接続され得る。Ｉ／Ｏデバイスは、典型的に、１つ以上のフィールドデバイス、コントローラ１２、および／またはプロセス制御システム間の通信を可能にするようにコントローラ１２によって使用される。したがって、Ｉ／Ｏデバイスはまた、プロセスを制御する制御アルゴリズムまたはループの直接実行に関与することができる。したがって、コントローラ、Ｉ／Ｏデバイス、およびフィールドデバイスは、一般的にかつ分類上、「プロセス制御デバイス」として本明細書に称される。当然ながら、「プロセス制御デバイス」という用語は、コントローラ、Ｉ／Ｏデバイス、およびフィールドデバイスのみに限定されるわけではなく、プロセスプラントまたはプロセス制御システムのプロセスを制御するように実行される制御アルゴリズムおよび／またはループに関与するまたはそれに必要である他のデバイスも含み得る。
【００４８】
加えて、他の多数および種類のコントローラは、プロセスプラント１０と関連付けられる他のデバイスまたは領域を制御するためにプラント１０内に接続され得、そのような追加のコントローラの動作は、任意の所望の方法で図１に示されるコントローラ１２ａの動作と連携され得る。いくつかの実施形態では、図１のプロセスプラント１０は、アクセスポイント、プラント１０内のワイヤレスネットワークとワイヤネットワークとの間のゲートウェイ、他のネットワークへのゲートウェイ、プラント１０内またはその外部のリピータ、ルータ等の、プロセスプラント１０内のワイヤレス通信（図示されず）のための１つ以上のノードを含む。ワイヤレス通信のためのこれらのノードは、（ワイヤプロトコル、ワイヤレスプロトコル、またはそれらの組み合わせを用いて）コントローラ１２、ワークステーション１４、構成データベース２５、フィールドデバイス、他のワイヤレスで使用可能なノード、および他のデータベースまたはデータ記憶デバイスに通信可能に連結され得る。
【００４９】
一般的に言うと、図１のプロセスプラント１０は、例えば、ワークステーション１４またはコントローラ１２ａのうちの１つが、反応装置ユニット（ならびに他の機器）のうちの１つ以上の動作を指示する高レベル制御ルーティンである、バッチ実行ルーティンを実行し、特定の種類の塩等の生成物を生成するのに必要とされる一連の異なるステップ（一般にフェーズとして称される）を実施する、バッチプロセスを実装するように使用され得る。異なるフェーズを実装するために、バッチ実行ルーティンは、実施されるステップ、そのステップに関連付けられる量および時間、およびそのステップの順序を指定するレシピとして一般に称されるものを使用する。１つのレシピのためのステップとしては、例えば、適切な材料または物質で反応器を充填すること、反応器内の材料を混合すること、ある一定の時間量にわたってある温度に反応器内の材料を加熱すること、反応器を空にすること、および次いで、次のバッチランの調製をするために反応器を洗浄すること、が挙げられる場合がある。ステップのうちの各々は、バッチランのフェーズを定義し、コントローラ１２ａ内のバッチ実行ルーティンは、これらのフェーズのうちの各１つのために異なる制御アルゴリズムを実行する。当然ながら、固有の材料、材料の量、加熱温度、時間等は、異なるレシピごとに異なり得、したがって、これらのパラメータは、製造または生成される生成物および使用されるレシピによってバッチランごとに変化し得る。当業者は、制御ルーティンおよび構成が、図１に例示された反応装置のバッチランのために本明細書に説明されるが、制御ルーティンは、所望の場合、他の所望のデバイスを制御して任意の他の所望のバッチプロセス運用を実施するかまたは継続的なプロセス運用を実施するように使用されてもよいことを、理解する。
【００５０】
また理解されるように、バッチプロセスの同じフェーズまたはステップは、同時にまたは異なる時間に、図１の異なる反応装置ユニットのうちの各々上に実装され得る。更には、図１の反応装置ユニットは、一般的に、同じ数および種類の機器を含むため、特定のフェーズのための同じジェネリックフェーズ制御ルーティンは、このジェネリックフェーズ制御ルーティンが、異なる反応装置ユニットと関連付けられる異なるハードウェアまたは機器を制御するように修正される必要がある場合を除いて、異なる反応装置ユニットのうちの各々を制御するように使用され得る。例えば、（反応装置ユニットが充填される）Ｒｅａｃｔｏｒ＿０１のための充填フェーズを実装するために、充填制御ルーティンは、例えば、レベルメータ１０５が容器１００が一杯であると感知するまで、ある時間にわたって入力バルブシステム１０１、１０２、および１０３と関連付けられる１つ以上のバルブを開放する。しかしながら、この同じ制御ルーティンは、入力バルブ（複数可）の指定をバルブシステム１０１、１０２、および１０３の代わりにバルブシステム２０１、２０２、および２０３と関連付けられるものに変更すること、およびレベルメータの指定をレベルメータ１０５の代わりにレベルメータ２０５に変更することだけで、Ｒｅａｃｔｏｒ＿０２の充填フェーズを実装するように使用され得る。
【００５１】
図２は、図１の反応装置のうちの１つ、特にＲｅａｃｔｏｒ＿０１をより詳細に示す。図１に類似して示されるように、図２のＲｅａｃｔｏｒ＿０１は、反応装置タンク１００、酸、アルカリ、および水のタンク１００への入力のための入力バルブシステム１０１、１０２、１０３、および１１０、タンク１００から材料を除去するための出口バルブシステム１０４、およびレベルセンサ１０５を含む。図２に更に示されるように、入力バルブシステム１０１、１０２、および１１０の各々は、相互に平行に配置される２つのバルブおよびその２つのバルブの下流に配置される流量測定デバイスを含む、集計器として称される類似の機器エンティティを使用する。図３により詳細に示される入力バルブシステム１０１のための集計器は、粗バルブ１０１ａと名付けられたオン／オフ型バルブ、微細バルブ１０１ｂと名付けられたオン／オフ型バルブ、およびバルブ１０１ａおよびバルブ１０１ｂの下流に配置される流量メータ１０１ｃを含む。集計器１０１は、それと関連付けられる、流量メータ１０１ｃによって行われた測定を用いて酸の入力を制御するように使用される１つ以上の制御モジュールまたはルーティンを有する。第１のそのような制御ルーティンは、粗バルブ１０１ａおよび微細バルブ１０１ｂを用いて集計器１０１を通じて速い流量制御を実施し得るが、第２のそのような制御ルーティンは、粗バルブ１０１ａおよび微細バルブ１０１ｂを用いて集計器１０１を通じて正確な流量制御を実施し得る。
【００５２】
図２から理解されるように、アルカリ入力バルブシステム１０２は、粗バルブ１０２ａ、微細バルブ１０２ｂ、および流量メータ１０２ｃを有する集計器を含み、共有水入力バルブシステム１１０は、粗バルブ１１０ａ、微細バルブ１１０ｂ、および流量メータ１１０ｃを含む。集計器１０１、１０２、および１１０のうちの各々は、それらが、同じユニット、すなわち、Ｒｅａｃｔｏｒ＿０１ユニット上の異なる位置で使用されるが、そこに同じ種類の複製された機器を有する。同様に、Ｒｅａｃｔｏｒ＿０２およびＲｅａｃｔｏｒ＿０３はまた、入力バルブシステム２０１、２０２、３０１、および３０２に集計することを含む。
【００５３】
同様に、出口バルブシステム１０４は、３つのバルブを含む複製された別の機器である。図４に最も良く示されるように、出口バルブシステム１０４は、タンク１００から放出される任意の材料のために開放されなければならない主出口バルブ１０４ａ、タンク１００から生成物を送達するように主出口バルブ１０４ａと連動して開放されなければならない生成物バルブ１０４ｂ、および廃棄物、洗浄液等の材料をタンク１００から排水溝または避難システムに排出するように主出口バルブ１０４ａと連動して開放されなければならない排出バルブ１０４ｃを含む。当然ながら、１つ以上の制御ルーティンは、タンク１００を閉鎖して、タンク１００を排出するかまたはタンク１００から生成物を空にするように、バルブ１０４ａ、１０４ｂ、および１０４ｃの状態を制御する出口バルブシステム１０４と関連付けられる。
【００５４】
プロセス構成を生成し変更するために、図１のワークステーション１４のうちの１つの記憶された構成アプリケーション５０は、プロセス制御プラント１０を構成する際の使用のためにモジュールクラスオブジェクト５２のセットを含む。モジュールクラスオブジェクトは、複製された機器の多数のセットを有するプラントを構成するとき、特に有用である。一般的に言うと、異なるモジュールクラスオブジェクト５２は、プロセスプラント１０内で複製されるまたは使用される各異なる種類の物理的ユニットまたは機器のため、プロセスプラント１０内で複製されるまたは使用される各種類の制御アクティビティのため、プロセスプラント１０内で複製されるまたは使用される各異なる種類のディスプレイアプリケーションのため等に作成され得る。一旦作成されると、モジュールクラスオブジェクト５２は、モジュールクラスオブジェクトに対応するプロセスプラント１０の要素を構成するように使用され得る。
【００５５】
本質的に、プロセスエンティティのジェネリックバージョンであり任意の特定のプロセスエンティティに結合されないモジュールクラスオブジェクト５２は、それらに関連付けられるより低いレベルのオブジェクトまたはインスタンス５３、５４、５５、および５６（モジュールオブジェクトまたはモジュールブロックとして本明細書に称される）を有し得る。本明細書で使用されるとき、「プロセスエンティティ」という用語は、一般的に、一体的に識別、分類、またはグループ化され得るプロセスプラント１０または環境のサブセットを指す。例えば、プロセスエンティティは、プラントの物理的領域、機器の種類、制御機能の種類、関連するディスプレイのグループ、または他の分類であってもよい。プロセスエンティティは、他のプロセスエンティティを含み得る。例えば、「バルブ」に対応するプロセスエンティティは、「ガスバルブ」または「水バルブ」等のより低いレベルのプロセスエンティティを含み得、より低いレベルのプロセスエンティティ「水バルブ」は、「一方向性の水バルブ」および「双方向性の水バルブ」等のなおもより低いレベルのプロセスエンティティを含み得る。
【００５６】
上に記されるように、本明細書で使用されるとき、モジュールクラスオブジェクトは、一般的に、プロセスエンティティのジェネリックまたは分類上の指示である。モジュールオブジェクト５３、５４、５５、５６は、モジュールクラスオブジェクトから作成または派生され得、よって、それが作成または派生されたモジュールクラスオブジェクトと同じ構造およびプロパティを継承し得る。しかしながら、各モジュールオブジェクトは、プロセスプラント１０内で特定のエンティティに結合される。したがって、異なるモジュールオブジェクト５３が、プラント１０内に実際に存在するその種類の異なる反応装置ユニットの各々のために存在または作成され得る一方で、単一のモジュールクラスオブジェクト５２は、特定の種類の反応装置ユニットを（それらの反応装置ユニットがどれだけ多くプラント１０内に存在しようとも）表すように作成され得る。
【００５７】
モジュールクラスオブジェクトから作成または派生されたモジュールオブジェクトは、モジュールクラスオブジェクトと関連付けられそれによって所有される。結果的に、モジュールクラスオブジェクトに行われた変更は、そのモジュールクラスオブジェクトに関連付けられるモジュールオブジェクトのうちの各々に反映または伝達され得る。それゆえ、多数のモジュールオブジェクトが特定のモジュールクラスオブジェクトから作成された場合、異なるモジュールオブジェクトのうちの各々が異なるプロセスエンティティに結合され、異なるモジュールオブジェクトのうちの各々は、単純にモジュールクラスオブジェクトを変更することおよび関連付けられるモジュールオブジェクトに対して下方へその変更を伝達させることによって変更され得る。考察されるように、モジュールクラスオブジェクトが変更されるとき、伝達は、自動的に起こり得るか、または伝達の時間が選択され得る。
【００５８】
図１のモジュールクラスオブジェクト５２は、オブジェクト指向プログラミング環境または言語においてオブジェクトとして一般に称されるものであってもよい。結果的に、これらのオブジェクトは、他のオブジェクトを所有するまたは指す能力を有する。一般的に言うと、モジュールクラスオブジェクト５２は、物理的要素が相互接続する方法または論理的要素が物理的要素と連動して動作する方法等のそれらの個別の要素が相互に影響しあう方法の定義、または指示と一緒にプロセスエンティティと関連付けられる制御ルーティン、機器、または他の要素等の個別要素の指示または定義を含むことができる高レベルオブジェクトである。言い換えれば、モジュールクラスオブジェクトは、例えば、プロセスプラント１０内の、機器の特定の部品またはグループの制御または表示のための基準を提供するオブジェクト指向プログラミング言語、制御要素、ディスプレイ等内のオブジェクトであってもよく、プロセス制御プラント１０内の異なる複製された機器を構成するようにその要素が使用される多くのインスタンスを作成するために有用であり得る。
【００５９】
基本的に、各モジュールクラスオブジェクトは、プロセスエンティティのジェネリック定義を、そのエンティティを制御するコントローラ１２によってかまたはそのエンティティに対してディスプレイアクティビティを実施するワークステーション１４によって使用されるそのエンティティに適用可能である、異なる制御および／またはディスプレイアプリケーションまたはルーティンの全ての形態で、含む構成コンテナである。モジュールクラスオブジェクトは、ユニット、一機器、制御エンティティ、ディスプレイアプリケーション等のいかなる性質のプロセスエンティティも表し得る。プロセスプラント１０の構成中、モジュールクラスオブジェクトは、モジュールクラスオブジェクトによって提供される定義に準拠する異なるプロセスエンティティのどんな数のためにもプロセスエンティティの構成インスタンスを作成するように使用され得、各構成インスタンス（モジュールクラスオブジェクトから作成されたモジュールオブジェクト）は、異なる実際のプロセスエンティティと関連付けられるかまたは結合される。これらの異なるモジュールオブジェクトは、とりわけ、プロセスプラント１０内に配置されるとき、特定のプロセスエンティティに連結された制御ルーティンおよび／またはディスプレイルーティンを含み、これらの制御ルーティンは、プロセスエンティティ上で実際の制御アクティビティを実施するように、図１のコントローラ１２内でダウンロードおよび使用されることができ、プロセスプラント１０の動作中、ディスプレイルーティンは、エンティティに対して実際のディスプレイアクティビティを実施するようにワークステーション１４にダウンロードされることができる。
【００６０】
異なる種類のモジュールクラスオブジェクトは、異なる範囲のプロセスエンティティを反映し得、それゆえ、異なる範囲のプロセスエンティティ上でまたはそれに対して動作するように構成される制御および／またはディスプレイルーティンを包含し得る。ユニットのようにプロセスエンティティの範囲が大きければ大きいほど、制御および／またはディスプレイルーティンは、典型的にモジュールクラスオブジェクトとより関連付けられ、それらのモジュールクラスオブジェクトを用いてプラントのセクションを構成することはより容易である。しかしながら、モジュールクラスオブジェクトと関連付けられるプロセスエンティティの範囲が大きければ大きいほど、プロセスがその範囲で複製された機器を含む可能性は低く、よって、モジュールクラスオブジェクトが大きい範囲で有用である可能性は低い。逆に、モジュールクラスオブジェクトと関連付けられるプロセスエンティティの範囲が低ければ低いほど、モジュールクラスオブジェクトがプラントの様々な異なる場所で使用されることができる可能性は高いが、任意の特定のインスタンスにおいてそのモジュールクラスオブジェクトを用いるとき実施される構成の量は少ない。いずれにしても、モジュールクラスオブジェクトは、制御モジュールレベルでよりも抽象化のより高いレベルで異なる複製された機器のために構成が実施されることを可能にし、それは、モジュールクラスオブジェクト、特に、ユニットレベルでのような大きい範囲のモジュールクラスオブジェクトを用いるとき、複製されたユニットおよび他の機器を使用してプロセスプラントを構成することをより容易にさせ、かかる時間を少なくさせる。
【００６１】
したがって、複数レベルのオブジェクトが可能である。例えば、モジュールクラスオブジェクト５２から作成されるインスタンス５３、５４、５５、５６に対応するオブジェクト（例えば、「インスタンスオブジェクト」）は、それら自体が、１つ以上のインスタンス子オブジェクト（図示されず）のセットに対して親オブジェクトであり得る。インスタンス子オブジェクトのうちの１つ以上は、子オブジェクトの更に別のレベル等に対する親オブジェクトであり得る、等である。本明細書に使用されるとき、「プロセス要素オブジェクト」は、一般的に、バルブ、センサ、グラフィック形状、またはコントローラ等の、構成がダウンロードされる基本的プロセスエンティティに対応する、最も低いレベルのオブジェクトを指す。したがって、プロセス要素オブジェクトは、子オブジェクトを有しないインスタンスオブジェクトであってもよい。
【００６２】
一実施例では、プロセス制御システムを構成するとき、構成エンジニアは、図１の異なる反応装置のような、プロセスプラント内で複製された異なる要素のための単一のモジュールクラスオブジェクトを作成し得る。その後、構成エンジニアは、図１の実際の反応装置のうちの各々のためのモジュールクラスオブジェクト（モジュールオブジェクト）のインスタンスを作成し得る。各そのように生成されたモジュールオブジェクトは、図１の反応装置のうちの１つを動作するようにコントローラ１２ａによって使用される制御ルーティンを含み、図１の反応装置のうちの１つ内の機器に特異的に結合または連結される。これらの制御ルーティンは、次いで、コントローラ１２ａにダウンロードされ得、プロセスプラント１０の動作中に使用され得る。しかしながら、一旦作成されると、モジュールオブジェクトの各々は、モジュールクラスオブジェクトになおも結合され、モジュールオブジェクト等へのアクセスを提供または拒否するように、変更されるモジュールクラスオブジェクトによって制御され得る。
【００６３】
プロセスプラント内の構成アクティビティを実施するようにプロセスプラント内で作成または使用され得るモジュールクラスオブジェクトの多くの異なる可能な種類が存在するが、例として本明細書に考察される４つの具体的な種類としては、ユニットモジュールクラスオブジェクト、機器モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、およびディスプレイモジュールクラスオブジェクトが挙げられる。一般的に言うと、モジュールクラスオブジェクトの各異なる種類は、プロセスプラント１０内の制御または使用の異なる範囲のために設計または企図される。ユニットモジュールクラスオブジェクトは、プロセスプラント内の機器の幅広い範囲のための制御アクティビティを表す（および構成する）ために使用されるように企図される。特に、ユニットモジュールクラスオブジェクトは、例えば、いくつかの知られている方法で相互に協同して機能する個別の要素を有する図１の反応装置のような、機器（典型的に複製された機器）の相互に関連するセットを構成するためにモデル化するまたは使用されるように企図される。
【００６４】
機器モジュールクラスオブジェクトは、プロセスプラント内の物理的機器の幅広くない範囲のための制御アクティビティを表す（および構成する）ために使用されるように企図される。機器モジュールクラスオブジェクトと関連付けられる機器は、一般的に、ユニットのサブシステムを構成するバルブ、流量メータ等の１つ以上の物理的エンティティであり、機器モジュールクラスオブジェクトは、１つ以上のコマンドまたはアルゴリズムを含み得、それは、一機器上で実施される、コマンド駆動型アルゴリズム（ＣＤＡ）、状態駆動型アルゴリズム（ＳＤＡ）、シーケンシャルファンクションチャート（ＳＦＣ）アルゴリズム、関数ブロック図（ＦＢＤ）アルゴリズム、フェーズアルゴリズム等であってもよい。したがって、機器モジュールクラスオブジェクトは、ユニット内で使用されるときその機器の機能の基本セットを提供するようにユニット内の複数の低レベル構成要素またはエンティティの制御を構成することを目的とする。知られているように、コマンド駆動型アルゴリズム（コマンド駆動型制御論理）は、低レベル構成要素が機能を達成するように複数のステップを通じて連携されなければならない場合に使用される。例えば、バルブは、特定の時間量の間開放されている必要があり得、次いで、別のバルブが開放されるときに閉鎖され、次いで、閉鎖される。図３の集計器１０１は、集計器を通して所望の総流量を提供するように流量メータの測定値に基づいて、粗バルブおよび微細バルブをまず開始し次いで操作するようにこの種類のコマンド駆動型アルゴリズムを使用する。状態駆動型アルゴリズム（状態駆動型制御論理）は、単一のステップで操作され得る異なる低レベル構成要素の状態を指定し得る。このような状態駆動型アルゴリズムは、図４の出口バルブシステム１０４で使用されてもよく、その出口バルブシステムでは、そこの異なるバルブの状態が、タンク１００を閉鎖、タンク１００を排出、またはタンク１００から生成物を送達するように出口バルブシステム１０４の所望の状態に基づいて異なって（しかし単一のステップで）制御される。
【００６５】
制御モジュールクラスオブジェクトは、プロセスプラント内の個別の制御要素または制御モジュールを表す（および構成する）ために使用されるように企図される。制御モジュールクラスオブジェクトは、バルブ、メータ等、一機器または更にユニット上等のプラントエンティティ上で実施される特定の種類の制御を提供または指定する。一般的に言うと、制御モジュールクラスオブジェクトは、プロセスプラント内の複製された制御アクティビティを実施するのに有用なコントローラで実行されるいくつかの制御モジュールを定義する通信可能に相互接続する関数ブロックのセット等の特定の種類の制御プログラミングを提供する。ほとんどの場合、制御モジュールクラスオブジェクトは、単一のデバイスまたは関連するデバイスのセットを操作するようにジェネリック制御戦略を提供し得る。
【００６６】
ディスプレイモジュールクラスオブジェクトは、プロセスプラント１０の動作中、制御オペレータ等にユーザによって表示されるディスプレイアクティビティを表す（および構成する）ために使用されるように企図される。したがって、ディスプレイモジュールクラスオブジェクトは、図１のオペレータワークステーション１４内のある種類のディスプレイを生成するのに必要とされるプログラミング、およびプラント１０の動作中、そのディスプレイがプラントから適切な情報を獲得できるようにするワークステーション１４（ならびにプロセスプラント１０内の任意の他のデバイス）のうちの１つ以上で運用されるのに必要とされるプログラミングを指定し得る。ディスプレイクラスモジュールの種類は、例えば、アラームディスプレイ、構成表示ディスプレイ、動作表示ディスプレイ、診断ディスプレイ等を含む。当然ながら、ディスプレイモジュールクラスオブジェクトは、プロセスプラント内の物理的要素またはエンティティの任意の所望の範囲を表すまたはそれに結合されるディスプレイを提供し得る。例えば、ディスプレイモジュールクラスオブジェクトは、プロセスプラント１０内の全体領域、ユニット、一機器、制御要素、またはこれらの要素の任意の組み合わせについての情報を表示し得る。
【００６７】
図５を参照すると、階層グラフは、図１の構成アプリケーション５０で使用される異なる型のモジュールクラスオブジェクト間の相互接続、およびモジュールクラスオブジェクトとそれらのモジュールクラスオブジェクトから開発されたモジュールオブジェクトとの間の相互関係を示す。図５のグラフの一番上から見ていくと、モジュールクラスオブジェクト（または本明細書に互換的に称される「クラスオブジェクト」）は、モジュールクラス型によって、ユニットモジュールクラス型４００、機器モジュールクラス型４０２、制御モジュールクラス型４０４、およびディスプレイモジュールクラス型４０６のうちの１つに分離される。当然ながら、モジュールクラスオブジェクトの他の型も同様に提供または使用されてもよく、本明細書に示される４つの型は、単に例示的なモジュールクラス型である。個別のモジュールクラスオブジェクト（例えば、オブジェクト指向プログラミング言語の高レベルオブジェクトであり得、明瞭さ目的のため二重線で図５に表される）は、モジュールクラス４００、４０２、４０４、および４０６の異なる型の各々の下に属する。特に、プロセスプラント１０内の異なるユニットまたはユニットの型のための多数の異なるユニットモジュールクラスオブジェクトが存在し得る。例えば、反応装置ユニットクラスモジュールオブジェクト４１０は、プロセスプラント１０内の反応装置の特定の型または構成を表し得る。同様に、パッケージャーユニットモジュールクラスオブジェクト４１２は、プロセスプラント１０内のパッケージングユニットの特定の型または構成を表し得、ドライヤユニットクラスモジュールオブジェクト４１４は、プロセスプラント１０内のドライヤユニットの特定の型または構成を表し得る。当然ながら、物理的構成において相互に異なる反応装置を表す２つ以上の反応装置ユニットモジュールクラスオブジェクトが存在してもよい。更に、ユニットモジュールクラスオブジェクトを用いて表すまたはモデル化することができるプラント内の異なる種類のユニットの全てを列挙する試みは行われないが、当業者は、ユニットモジュールクラスオブジェクトを用いてモデル化または表され得る異なる種類のプラントに多くの異なる種類のユニットが存在することを認識する。
【００６８】
同様に、プロセスプラント１０内の異なる種類の機器を表し、モデル化し、構成するように使用される多くの異なる機器モジュールクラスオブジェクトが存在してもよい。図５に示される例としては、集計機器モジュールクラスオブジェクト４１６および出口バルブ機器モジュールクラスオブジェクト４１８が挙げられ、各々が、プロセスプラント１０内の異なる種類の機器（および好ましくは複製された機器）と関連付けられる。同様に、オン／オフバルブ制御モジュールクラスオブジェクト４２２、レベルセンサ制御モジュールクラスオブジェクト４２４、および流量メータ制御モジュールクラスオブジェクト４２６として図５に示される、多くの異なる型の制御モジュールクラスオブジェクトが存在し得る。更には、ディスプレイモジュールクラスオブジェクトは、アラームディスプレイモジュールクラスオブジェクト４３２、表示ディスプレイモジュールクラスオブジェクト４３４、および診断ディスプレイモジュールクラスオブジェクト４３６として図５に示される。当然ながら、任意の他の所望のユニット、機器、制御およびディスプレイモジュールクラスオブジェクトは、本明細書に説明される原理に従って、プロセスプラント１０の構成アプリケーション５０内で作成され使用され得る。
【００６９】
各モジュールクラスオブジェクトは、それと関連付けられるまたはそれによって所有されるサブオブジェクトを有し得る。これらのサブオブジェクトは、それら自体のモジュールクラスオブジェクトであり得るか、または図５に示されるように、それらが属するモジュールクラスオブジェクトのインスタンスとして作成されるモジュールオブジェクトであり得る。このようなインスタンスは、それらが基づいてまたはそれらが作成されたモジュールクラスオブジェクトの「モジュールオブジェクト」、「インスタンス」、「インスタンスオブジェクト」、または「モジュールインスタンスオブジェクト」として、本明細書に互換的に称される。図５は、反応装置ユニットモジュールクラスオブジェクト４１０が、それと関連付けられるＲｅａｃｔｏｒ＿０１（参照４４０ａ）、Ｒｅａｃｔｏｒ＿０２（参照４４０ｂ）、およびＲｅａｃｔｏｒ＿０３（参照４４０ｃ）と名付けられた３つの反応装置モジュールオブジェクトを有することを示し、これらの反応装置モジュールオブジェクトは、図１のそれぞれの反応装置クラスオブジェクト４１０に対応（すなわち、連結）する。図５はまた、集計機器モジュールクラスオブジェクト４１６がＷａｔｅｒ１、Ａｃｉｄ１、Ａｃｉｄ２、Ａｌｋａｌｉ１、およびＡｌｋａｌｉ２（参照４４０ｄ〜４４０ｈ）と名付けられた５つの異なる子モジュールオブジェクトを有するまたは所有するものとして示す。同様に、オン／オフバルブ制御モジュールクラスオブジェクト４２２は、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１、Ｃｏａｒｓｅ＿Ｖａｌｖｅ２、Ｃｏａｒｓｅ＿Ｖａｌｖｅ３、Ｆｉｎｅ＿Ｖａｌｖｅ１、Ｆｉｎｅ＿Ｖａｌｖｅ２、およびＦｉｎｅ＿Ｖａｌｖｅ３（参照４４０ｉ〜４４０ｎ）と名付けられた子モジュールオブジェクトを含むものとして示される。加えて、図５は、アラームディスプレイモジュールオブジェクト４３２に基づくＡｌａｒｍ＿Ａグラフィック要素オブジェクト４４０ｏ、表示ディスプレイモジュールオブジェクト４３４に基づくＴｅｍｐ＿Ｓｅｎｓｏｒ＿Ｂグラフィック要素４４０ｐおよびＣｏｎｔｒｏｌ＿Ｍｏｄｕｌｅ＿Ｃグラフィック要素４４０ｑ、および診断ディスプレイモジュール４３６に基づくＴｅｓｔ＿Ｍｏｄｕｌｅ＿Ｄグラフィック要素４４０ｒおよびＰｕｍｐ＿Ｅグラフィック要素４４０ｓを示す。同様に、図５の他のユニット、機器、制御およびディスプレイモジュールクラスオブジェクトのうちの各々は、それらに関連付けられる１つ以上のモジュールオブジェクトを有し得る。しかしながら、簡略化のため、これらのモジュールオブジェクトは、図５に示されない。
【００７０】
図５のグラフでは、Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３ユニットモジュールオブジェクト、Ａｃｉｄ１、Ａｃｉｄ  ２、Ａｌｋａｌｉ１、Ａｌｋａｌｉ２、およびＷａｔｅｒ１集計器（機器）モジュールオブジェクト（参照４４０ａ〜ｈ）、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１、Ｃｏａｒｓｅ＿Ｖａｌｖｅ２、Ｃｏａｒｓｅ＿Ｖａｌｖｅ３、Ｆｉｎｅ＿Ｖａｌｖｅ１、Ｆｉｎｅ＿Ｖａｌｖｅ２、およびＦｉｎｅ＿Ｖａｌｖｅ３制御モジュールオブジェクト（参照４４０ｉ〜４４０ｎ）、Ａｌａｒｍ＿Ａ、Ｔｅｍｐ＿Ｓｅｎｓｏｒ＿Ｂ、Ｃｏｎｔｒｏｌ＿Ｍｏｄｕｌｅ＿Ｃ、Ｔｅｓｔ＿Ｍｏｄｕｌｅ＿Ｄ、Ｐｕｍｐ＿Ｅグラフィック要素オブジェクト（参照４４０ｏ〜４４０ｓ）、および他のユニット、機器、制御およびディスプレイモジュールオブジェクトのうちの各々は、プロセスプラント１０内のユニット、機器、制御モジュール、ディスプレイアプリケーション、およびグラフィカルまたはグラフィックディスプレイ要素等のプロセスプラント１０内の実際のプロセス要素に結合される個別のオブジェクトである。したがって、オブジェクト４４０ａ〜４４０ｓは、「プロセス要素オブジェクト」、「プロセス要素モジュールオブジェクト」、または「要素オブジェクト」として本明細書に互換的に称される。同様に、オブジェクト４４０ａ〜４４０ｓのうちの各々は、そのそれぞれの「親」または「親オブジェクト」４１０〜４３６の「子」または「子オブジェクト」である。例えば、プラント１０で使用される複数の実際の酸集計器が存在するため、構成ルーティンで生成される複数の酸集計器プロセス要素モジュールオブジェクトが存在し、別個の子酸集計器プロセス要素モジュールオブジェクトが、プラント１０内に存在する個別の酸集計器のうちの各々のために存在する。しかしながら、子別個集計器プロセス要素モジュールオブジェクトのうちの各々は、同じ親集計器モジュールクラスオブジェクト４１６によって結合されるかまたは所有される。当然ながら、図５のグラフは、それに関連付けられる限定数のモジュールクラスオブジェクト、モジュールオブジェクト、インスタンスオブジェクト、およびプロセス要素オブジェクトを示すが、モジュールクラスオブジェクトの他の種類が提供され、任意の所望の数のモジュールオブジェクト、インスタンスオブジェクト、およびプロセス要素オブジェクトが異なるモジュールクラスオブジェクトのうちの各々から作成され得ることを理解されたい。
【００７１】
更には、親オブジェクトの子であるオブジェクトは、それ自体が子オブジェクトを有し得る。例えば、クラスオブジェクト流量メータ制御モジュール４２６は、例えば、「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒモジュール」および「Ｓｏｌｖｅｎｔ＿Ｆｌｏｗ＿Ｍｅｔｅｒモジュール」（示されず）等の２つの子インスタンスオブジェクトを含み得る。Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒモジュールは、「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿１」および「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿２」等のプロセスプラント１０内のそれぞれの実際の流量メータ要素に対応するそれぞれの子プロセス要素モジュールオブジェクトを含み得る。したがって、プロセス要素オブジェクト「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿１」および「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿２」は、流量メータ制御モジュール４２６に基づく「Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒモジュール」である。
【００７２】
図５のモジュールクラスオブジェクトのうちの各々（および、それゆえ、図５のモジュールオブジェクトのうちの各々）は、オブジェクトの一部分として、モジュールを定義または構築する物理的または論理的プロセス要素の定義または指示、および、所望の場合、プロセスプラント１０内でいくつかのアクティビティを実施するようにそれらのプロセス要素が物理的にまたは論理的にのいずれかで相互に影響しあう方法を含み得る。例えば、ユニットモジュールクラスオブジェクトは、典型的に、ユニットとして定義されているプロセスエンティティ内またはそれを構築している物理的および制御要素の全ての指示を含む。ユニットモジュールクラスオブジェクトはまた、個別の部分の特定の構築、およびこれらの部分がユニットとしてどのように一緒に結合されるかを定義し得る。同様に、機器モジュールクラスオブジェクトは、典型的に、プラント１０内に配置されるとき一機器として動作するように、部分が物理的にまたは論理的にのいずれかで影響しあう方法を定義する制御ルーティンまたは制御モジュールを使用する一機器およびコマンドとして定義されるエンティティを制御するために使用される制御ルーティンまたは制御モジュールを含む。同様に、各制御モジュールクラスオブジェクトは、プラント内で実施される、典型的には何らかの制御アルゴリズムの形態で、制御アクティビティを定義する。また、各ディスプレイモジュールクラスオブジェクトは、とりわけ、ディスプレイスクリーン構成、ディスプレイされる情報、およびプロセスプラント１０の種々の要素を表しディスプレイスクリーン上に提示されるグラフィックまたはグラフィカル要素、ならびに、もしある場合、プラント１０内のユニット、機器、プラントの領域、または任意の他の物理的または論理的エンティティの指定された型のために収集されるデータ、および収集されたデータ上に実施されるデータ操作を定義し得る。
【００７３】
モジュールクラス定義の一部分として、モジュールクラスオブジェクトは、そこに組み込まれるまたは使用される他のモジュールクラスオブジェクトを指示または定義し得る。そうである場合には、そのモジュールクラスオブジェクトから作成されたモジュールオブジェクトは、モジュールクラスレベルで定義された関係性に従って、他のモジュールクラスオブジェクトから作成された他のモジュールオブジェクトを組み込むか、参照するか、または含む。厳密に必要なわけではないが、機器モジュールクラスオブジェクトが、他の機器モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、およびディスプレイモジュールクラスオブジェクトを組み込み得る一方で、ユニットモジュールクラスオブジェクトは、他のユニットモジュールクラスオブジェクト、機器モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、およびディスプレイモジュールクラスオブジェクトを組み込み得る。制御モジュールクラスオブジェクトは、他の制御モジュールクラスオブジェクトおよびディスプレイモジュールクラスオブジェクトを組み込み得るかまたは参照し得る。しかしながら、所望の場合、他のモジュールクラスオブジェクトの相互関係性が、同様に使用されてもよい。これらの組み込みの関係性は、ディスプレイモジュールクラスオブジェクトのうちのいずれかが、制御、機器、およびユニットモジュールクラスオブジェクトのうちのいずれかによって含まれ得るかまたは参照され得ること、制御モジュールクラスオブジェクトのうちのいずれかが、機器およびユニットモジュールクラスオブジェクトのうちのいずれかによって含まれ得るかまたは参照され得ること、および機器モジュールクラスオブジェクトのうちのいずれかが、ユニットモジュールクラスオブジェクトのうちのいずれかによって含まれ得るかまたは参照され得ることを示す図５のグラフの下部に巨大矢印によって示される。モジュールクラスオブジェクトが、同じ型の他のモジュールクラスオブジェクトを組み込み得ることが理解される。例えば、ユニットモジュールクラスオブジェクトは、その定義の部分として、別のユニットモジュールクラスオブジェクトを組み込み得る。同様に、機器モジュールクラスオブジェクトは、別の機器モジュールクラスオブジェクトを含み得、制御モジュールクラスオブジェクトは、別の制御モジュールクラスオブジェクトを含み得、およびディスプレイモジュールクラスオブジェクトは、別のディスプレイモジュールクラスオブジェクトを含み得る。当然ながら、所望の場合、モジュールクラスオブジェクトは、複数回、別のモジュールクラスオブジェクトを使用し得るかまたは組み込み得る。例えば、反応装置ユニットモジュールクラスオブジェクトは、反応装置ユニットモジュールクラスオブジェクトによってモデル化されている反応装置が複数の集計器のインスタンスを含むため、何回も集計機器モジュールクラスオブジェクトを組み込み得るかまたは使用し得る。
【００７４】
第１のモジュールクラスオブジェクトが、第２のモジュールクラスオブジェクトを組み込むかまたは使用するとき、第１のモジュールクラスオブジェクトのインスタンスからまたはそれとして作成された任意のモジュールオブジェクトは、第２のモジュールクラスオブジェクトのインスタンスからまたはそれとして作成されたモジュールオブジェクトを組み込むかまたは使用することがまた理解される。したがって、反応装置ユニットモジュールクラスオブジェクト４１０が、それの要素または部分として集計器モジュールクラスオブジェクト４１６を使用する際、Ｒｅａｃｔｏｒ＿０１モジュールオブジェクトは、それの要素または部分として、Ａｃｉｄ１モジュールオブジェクト４４０ｅ等の集計器モジュールオブジェクトのうちの１つを使用するかまたは含む。同様に、集計機器モジュールクラスオブジェクトが、出口バルブ機器モジュールクラスオブジェクトを組み込むかまたは含む場合、例えば、Ｔｏｔａｌｉｚｅｒ＿１として独自に名付けられる集計機器モジュールクラスオブジェクトから作成されたモジュールオブジェクトは、出口バルブ機器モジュールクラスオブジェクトから作成され、例えば、Ｏｕｔｌｅｔ＿Ｖａｌｖｅ＿２として独自に名付けられるモジュールオブジェクトを含む。このように、モジュールクラスオブジェクトレベルで定義されるときのモジュールクラスオブジェクト間の関係性は、これらのモジュールクラスオブジェクトから開発または作成されるモジュールオブジェクトに反映される。モジュールクラスオブジェクト（およびそれゆえ、モジュールオブジェクト）間のこの相互接続または参照は、構成アクティビティ中、オブジェクトの大きい変動性および高い移行性を可能にし、それによって、制御および機器モジュールクラスオブジェクト等のプリミティブモジュールクラスオブジェクトのセットが作成された後に、ユニットモジュールクラスオブジェクト等のより複合のモジュールクラスオブジェクトが、プリミティブモジュールクラスオブジェクトを参照することにより容易に作成され得る。当然ながら、モジュールクラスオブジェクトは、他のモジュールクラスオブジェクトを参照または使用できるが、それらはまた、または代わりに、関連付けられたモジュールクラスオブジェクトを有しないバルブ、センサ等の単純なオブジェクトまたはプロセス要素オブジェクトを定義または使用できる。これらの単純またはプロセス要素オブジェクトは、それらのために使用される制御ルーティンに関して、モジュールクラスオブジェクトそれ自体内で、完全に定義される。
【００７５】
実例の反応装置ユニットモジュールクラスオブジェクト４１０が図６に例示され、ユニットモジュールクラスオブジェクトと関連付けられるかまたはその内に提示されるエンティティを説明または定義する１つの方法を示す。図６に示されるように、反応装置ユニットモジュールクラスオブジェクト４１０は、モジュールクラスオブジェクトが存在しないプロセスプラント１０内の単純オブジェクトまたはプロセス要素オブジェクトであるタンク５００の指示を含む。タンク５００は、タンクに対する入力／出力アクティビティを制御または実施する制御または低レベルアクティビティの必要がないため、点線で示される。結果的に、タンク５００は、反応装置ユニットモジュールクラスオブジェクト４１０と関連付けられる他のオブジェクト間の相互接続を示すためだけに含まれる。反応装置ユニットモジュールクラスオブジェクト４１０はまた、図５の集計機器モジュールクラスオブジェクト４１６への３つの異なる参照である、それぞれ、Ａｃｉｄ、Ａｌｋａｌｉ、およびＷａｔｅｒと名付けられた３つの集計器５０１、５０２、および５１０を含む。水集計器モジュールクラスオブジェクト５１０は、それが共有のモジュールクラスオブジェクトであることを示すように点線によって分離されるユニットモジュールクラスオブジェクト４１０のセクションに示され、したがって、ユニットモジュールクラスオブジェクト４１０は、他のユニットモジュールクラスオブジェクトと、このオブジェクトの制御を共有する。図６の出口オブジェクト５０４は、図５の出口バルブ機器モジュールクラスオブジェクト４１８への参照であり、レベルセンサ５０５は、図５のレベルセンサ制御モジュールクラスオブジェクト４２４への参照であり、ｗａｔｅｒ＿ｉｎバルブ５０３は、単純バルブ要素であり得る（およびよってユニットモジュールクラスオブジェクト４１０内に完全に定義され得る）かまたは構成戦略のどこかに定義されるバルブ制御モジュールクラスオブジェクトへの参照であり得るバルブオブジェクトへの参照である。異なるエンティティかまたは反応装置ユニットモジュールクラスオブジェクト４１０の部分との間の物理的な相互接続はまた、これらの異なる要素間の相互接続を定義する目的のため示される。上に記されるように、ユニットモジュールクラスオブジェクト４１０または任意の型の他のモジュールクラスオブジェクトは、（それらに関連付けられる任意のジェネリック制御ルーティンを含む）モジュールクラスオブジェクト内に完全に定義された単純要素を含むことができ、および／またはモジュールクラスオブジェクト外に定義されたモジュールクラスオブジェクトへの参照を含むことができる。
【００７６】
ユニットモジュールクラスオブジェクト４１０はまた、図５の表示ディスプレイモジュールクラスオブジェクト４３４およびアラームディスプレイモジュールクラスオブジェクト４３２への参照である反応装置表示ディスプレイ５２０および反応装置アラームディスプレイ５２２と呼ばれる２つの実例のディスプレイモジュールクラスオブジェクトを含む。これらのオブジェクトは、状態（例えば、タンクの充填レベル等）を表示するためのジェネリックディスプレイアクティビティ、および反応装置ユニットモジュールクラスオブジェクト４１０において定義される反応装置ユニットの機器または部分のいずれかと関連付けられるアラームを定義する。同様に、ユニットモジュールクラスオブジェクト４１０は、Ｄｏｓｅ、Ｍｉｘ、Ｄｒａｉｎ、およびＦｌｕｓｈフェーズクラスオブジェクトとしてボックス５２４に示されるフェーズクラスオブジェクト等の他の要素を含み得、その各々が、ユニットモジュールクラスオブジェクト４１０によって定義されるユニット上で動作されるジェネリック制御ルーティンを定義する。ユニットモジュールクラスオブジェクトは、フェーズクラスオブジェクトへのゼロ以上の関連付けを有することができる。フェーズクラスオブジェクト５２４は、任意の所望の方法で、ユニットモジュールクラスオブジェクト４１０のどこかに定義され得かつそこにインポートされ得る。ある意味では、フェーズクラス５２４は、ユニットを充填すること、ユニットを加熱すること、ユニットを空にすること、ユニットを洗浄すること等の異なる機能を実施するようにユニットモジュールクラスオブジェクト４１０によって定義されたユニット上で動作され得るコマンドまたはルーティンである。
【００７７】
更には、ユニットモジュールクラスオブジェクト４１０は、このユニットモジュールクラスオブジェクト４１０から構成アプリケーション５０（図１）によって作成されるモジュールクラスオブジェクトへの参照を記憶するメモリまたはセクション５２６を含み得る。セクション５２６は、本質的に、ユニットモジュールクラスオブジェクト４１０から作成されかつそれによって所有されるモジュールオブジェクトのリストである。（当然ながら、所有されたモジュールオブジェクトのこのリストまたは他の指示は、ワークステーションに、または構成アプリケーション５０によって、任意の所望の方法で記憶されることができ、ユニットモジュールクラスオブジェクト４１０に物理的に包含される必要はない）。いずれにしても、図６の実施例では、ユニットモジュールクラスオブジェクト４１０は、Ｒｅａｃｔｏｒ＿０１  ４４０ａ、Ｒｅａｃｔｏｒ＿０２  ４４０ｂ、Ｒｅａｃｔｏｒ＿０３  ４４０ｃ等のモジュールクラスオブジェクトを所有し、その各々は、反応装置ユニットモジュールクラスオブジェクト４１０から作成されている。
【００７８】
ユニットモジュールクラスオブジェクト４１０はまた、構成アクティビティ中または後のいずれかに、ユニットモジュールクラスオブジェクト４１０によって実施され得る方法５３０のセットを含む。方法５３０は、ユニットモジュールクラスオブジェクト４１０に行われた変更を、ユニットモジュールクラスオブジェクト４１０によって所有されるモジュールオブジェクト５２６の各々に自動的に伝達する変更管理方法またはアプリケーションを含み得る。他の方法は、ユニットモジュールクラスオブジェクト４１０に対するおよび／またはそれによって所有されるユニットモジュールオブジェクト５２６のうちのいずれかに対するセキュリティまたはアクセス制御を実施するセキュリティ制御方法、またはユーザまたは構成エンジニアが変更パラメータおよび／またはセキュリティパラメータを、そこから作成されたモジュールクラスオブジェクトまたは任意のモジュールオブジェクトのために指定することを可能にする方法を含み得る。当然ながら、異なる方法５３０は、ユニットモジュールクラスオブジェクト４１０上でまたはそれに対して任意の他の手順を実施し得る。
【００７９】
所望の場合、ユニットモジュールクラスオブジェクト４１０は、モジュールクラスオブジェクト４１０に行われた変更がユニットモジュールオブジェクト５２６に伝達される方法、ならびにセキュリティアクセスがユニットモジュールオブジェクト５２６において設定される方法を制御し得る。この機能性を提供する１つの方法は、変更がユニットモジュールオブジェクト５２６に伝達され、セキュリティがユニットモジュールオブジェクト５２６において処理される方法を指定する、ユニットモジュールクラスオブジェクト４１０内の１つ以上のフラッグまたはパラメータを設定することである。特に、１つ以上の変更伝達パラメータは、ユニットモジュールクラスオブジェクト４１０に行われた変更が、モジュールクラスオブジェクト５２６のうちの１つ以上に自動的に伝達されるかどうかを指定するように設定され得る。これらの変更伝達パラメータは、ユニットモジュールオブジェクト５２６に記憶され得、ユニットモジュールオブジェクト全体のために、またはサブ要素基準によって、ユニットモジュールクラスオブジェクトに行われた変更がユニットモジュールオブジェクトに反映されるかどうかを指定し得る。例えば、ユニットモジュールクラスオブジェクト４１０は、ユニットモジュールクラスオブジェクト４１０に行われた変更がユニットモジュールオブジェクトに自動的に反映されることを可能にするかまたは無効にするユニットモジュールクラスオブジェクト４１０から作成される各ユニットモジュールオブジェクトに設定され得るグローバル変更パラメータ５３４（「Ｃ」と印がついている）を含み得る。同様に、ブロック５０１〜５０５、５１０、５２０、および５２２等の各サブ要素またはブロックは、そのブロックのみのために、ユニットモジュールクラスオブジェクト４１０のそのブロックに行われた変更がユニットモジュールオブジェクトに反映されるかどうかを指定する変更パラメータ５３６を含み得る。当然ながら、ユニットモジュールオブジェクトの異なるブロックは、例えば、ユニットモジュールクラスオブジェクト４１０のＡｃｉｄブロック５０１に行われた変更が、モジュールオブジェクト５２６のうちの特定の１つの対応するＡｃｉｄブロックに伝達されるが、ユニットモジュールクラスオブジェクト４１０のＡｌｋａｌｉブロック５０２に行われた変更は、ユニットモジュールオブジェクトのうちの特定の１つのアルカリブロックに伝達されないように、異なって設定され得る。更には、ユニットモジュールクラスオブジェクトから作成される異なるユニットモジュールオブジェクトは、ユニットモジュールクラスオブジェクト４１０内のＡｌｋａｌｉブロック５０２への変更が、ユニットモジュールオブジェクト５２６のうちの第１の１つの対応するＡｌｋａｌｉブロックに伝達されるが、ユニットモジュールオブジェクト５２６のうちの第２の１つの対応するＡｌｋａｌｉブロックには伝達されないように、相互に異なって設定される変更パラメータを有し得る。当然ながら、ユニットモジュールクラスオブジェクト４１０の変更管理方法は、変更がユニットモジュールクラスオブジェクト４１０において行われるとき、それらのオブジェクト内の変更を行うようにかまたは行わないようにユニットモジュールオブジェクト５２６の変更パラメータにアクセスし使用し得る。
【００８０】
同様に、ユニットモジュールクラスオブジェクト４１０は、セキュリティまたはアクセスがユニットモジュールオブジェクト５２６のうちの各々において制御される方法を指定する１つ以上のセキュリティパラメータを含み得る。ユニットモジュールクラスオブジェクト４１０は、反応装置ユニットモジュールクラスオブジェクト４１０から作成される反応装置ユニットモジュールオブジェクト全体へのセキュリティの任意の所望のレベルを提供し得るグローバルセキュリティパラメータ５３８（「Ｓ」と印がついている）を含み得、および／またはブロック５０１〜５０５、５１０、５２０、５２２等のうちの各々のため等、ブロック基準によってブロック上にそれらのブロックの各々のためのセキュリティのレベルを指定するユニットモジュールクラスオブジェクト４１０の各サブ要素のための異なるセキュリティパラメータ５４０を含み得る。グローバルセキュリティパラメータ５３８は、事前許可されたセキュリティアクセスレベルを有する者を除く全てのユーザへのユニットモジュールクラスオブジェクトをロックするロッキングパラメータであり得る。当然ながら、セキュリティパラメータ５３８および５４０は、ユーザの特定の種類またはＩＤ等へのアクセスがない、限られたアクセス、アクセスがある等のセキュリティの多数の異なるレベルのうちの任意の１つを指定し得、セキュリティレベルは、異なるブロックおよび同じユニットモジュールクラスオブジェクトから作成された異なるユニットモジュールオブジェクトにおいて異なるように設定され得る。所望の場合、セキュリティ対策の一部分は、ユニットモジュールクラスオブジェクトと関連付けられる１つ以上の方法またはアルゴリズム上に暗号化を提供することを含み得る。
【００８１】
ユニットモジュールクラスオブジェクト４１０の変更およびセキュリティパラメータは、既定値に設定され得、ユニットモジュールクラスオブジェクト４１０から作成された各ユニットモジュールオブジェクト５２６の対応する変更およびセキュリティパラメータは、作成されるとこの既定値を受け入れ得ることが理解される。しかしながら、既定の変更およびセキュリティパラメータはまた、ユニットモジュールオブジェクト５２６において、これらのユニットモジュールオブジェクトが作成された後に、（適切なセキュリティアクセスを有するユーザによって）個別に変更されてもよい。変更およびセキュリティパラメータが、反応装置ユニットモジュールクラスオブジェクトに対して本明細書に考察される一方で、類似の変更およびセキュリティパラメータは、ユニットモジュールクラスオブジェクトの他の型で、ならびに、機器モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、ディスプレイモジュールクラスオブジェクト等の任意の所望の型で、提供され得る。
【００８２】
所望の場合、ユニットモジュールクラスオブジェクト４１０は、ユニットまたはユニットモジュールクラスオブジェクト４１０と関連付けられるユニットの任意のサブ要素と関連付けられる文書を含む、ユニットクラスモジュールオブジェクトのために記憶されるかまたはそれと関連付けられる文書への、ＵＲＬまたは他の参照等の参照を含み得る。そのような参照は、参照５４９として図６に示される。
【００８３】
図６に示される実施形態は、ユニットモジュールクラスオブジェクト４１０と関連付けられ、およびモジュールクラスオブジェクト４１０の子または送達されたオブジェクトに適用される変更伝達およびセキュリティガイドラインとして示される、変更パラメータおよびセキュリティパラメータを描写する。いくつかの実施形態では、変更パラメータおよび／またはセキュリティパラメータは、モジュールクラスオブジェクト４１０のそれぞれの子オブジェクトまたはそれぞれの派生されたオブジェクト（例えば、反応装置オブジェクト４４０ａを有する）と追加的にまたは代替的に関連付けられ得、それぞれの子または派生されたオブジェクトが１つ以上の親オブジェクトから変更を受け取るかまたはセキュリティ制約を組み込むかどうかに関してガイドラインを示し得る。
【００８４】
図７は、構成エンジニアがプロセスプラント１０を構成するためにモジュールクラスオブジェクトを作成し使用するプロセス中、図１の構成アプリケーション５０によって作成され得るスクリーンディスプレイを描写する。一般的に、スクリーンディスプレイは、プロセスプラント１０の構成を描写する組織的ツリー構造を提供するスクリーンの左側にエクスプローラ表示を含む。同様に、スクリーンディスプレイは、一般的に、その右側に１つ以上の情報表示を含む。これらの情報表示は、エクスプローラ表示の要素のうちの選択されたものについて更なる情報を提供する。情報表示においてユーザにディスプレイされることができるかまたはユーザによって変更されることができる情報は、異なるモジュールクラスオブジェクトまたはそのサブ要素のうちの各々のために設定された図６の制御およびセキュリティパラメータによって決定または制御され得る。したがって、エクスプローラ表示内の特定の要素は、モジュールクラスオブジェクトに設定されたセキュリティおよび制御パラメータに基づいて表示および／または変更するために、ユーザに対してディスプレイ可能であり得るかまたは公開され得、エクスプローラ表示に描写されるモジュールオブジェクトに伝達され得る。当然ながら、前に説明されたように、情報は、常時非表示にされていてもよいか、ユーザがパスワードまたは他のセキュリティコードを入力することによってのみディスプレイ可能または変更可能であってもよいか、常時ディスプレイ可能かつ変更不可能であってもよいか、常時ディスプレイ可能かつ変更可能であってもよいか、または、これらまたは他のセキュリティおよび変更パラメータの任意の他の組み合わせであってもよい。なおも更に、所望の場合、要素のディスプレイ可能性、可視性、または変更可能性は、ユーザにどの要素がより詳細にディスプレイされ得るかまたは変更され得るかを知らせるために、強調表示、グレイアウト、カラーまたは任意の他の技術を用いてエクスプローラ表示に示され得る。
【００８５】
図７では、スクリーンディスプレイ６００は、ディスプレイの左側に描写されるエクスプローラ構成表示６０２の一部分を含む。エクスプローラ表示６０２の一部分は、ユニットモジュールクラスオブジェクト６０４、機器モジュールクラスオブジェクト６０６、および制御モジュールクラスオブジェクト６０８を含む多数のモジュールクラスオブジェクトを記憶するライブラリを示す。（図６の反応装置ユニットモジュールクラスオブジェクト４１０に対応し得る）反応装置ユニットモジュールクラスオブジェクト６１０は、ユニットモジュールクラスライブラリ６０４内に記憶され、Ｄｏｓｅ、Ｍｉｘ、Ｄｒａｉｎ、およびＦｌｕｓｈフェーズクラスオブジェクト、および酸、アルカリ、水、および出口機器モジュールクラスオブジェクト、Ｗａｔｅｒ＿ＩｎおよびＬｅｖｅｌ＿Ｍｅｔｅｒ制御モジュールクラスオブジェクトおよび所望の他のオブジェクトを含む多数のサブ要素の指示を含む。したがって、ユニットモジュールクラスライブラリ６０４に定義されるように、反応装置ユニットモジュールクラスオブジェクト６１０は、フェーズクラスの指示ならびに機器モジュールクラスオブジェクトおよび制御モジュールクラスオブジェクトの指示を含む。反応装置ユニットモジュールクラスオブジェクト６１０がスクリーン６００で選択されるため、それらの要素は、スクリーン６００の右側６１２上により詳細に描写される。
【００８６】
なおも更に、機器モジュールクラスライブラリ６０６は、（図７の集計機器モジュールクラスオブジェクト４１６に対応し得る）集計機器モジュールクラスオブジェクト６１４およびＲｅａｃｔｏｒ＿Ｏｕｔｌｅｔ機器モジュールクラスオブジェクト６１６を含む。集計機器モジュールクラスオブジェクト６１４は、Ｃｏｍｍａｎｄ＿００００１、Ｃｏｍｍａｎｄ＿００００２、およびＣｏｍｍａｎｄ＿００００３と呼ばれるアルゴリズム（図７のアルゴリズム５６４のうちの１つ等）の３つの異なる部分を含む。モジュールクラスオブジェクト６１４はまた、（オン／オフ型制御モジュールクラスオブジェクトである）Ｃｏａｒｓｅ＿ＶａｌｖｅおよびＦｉｎｅ＿Ｖａｌｖｅ、ならびに（流量メータ型制御モジュールクラスオブジェクトである）Ｆｌｏｗ＿Ｍｅｔｅｒと呼ばれる制御モジュールオブジェクトへの参照を含む。なおも更に、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ機器モジュールクラスオブジェクト６１６は、Ｓｔａｔｅ＿００００１、Ｓｔａｔｅ＿００００２、およびＳｔａｔｅ＿００００３、Ｔａｒｇｅｔ、Ｄｒｉｖｅ、Ｍｏｎｉｔｏｒ、およびＲｅａｄｂａｃｋモジュール、およびＯｕｔｌｅｔ、Ｄｒａｉｎ、およびＰｒｏｄｕｃｔバルブ制御モジュールオブジェクト（オン／オフ制御モジュールクラスオブジェクト型のモジュールブロックへの指示または参照であり得、Ｏｕｔｌｅｔ、Ｄｒａｉｎ、およびＰｒｏｄｕｃｔと名付けられるかまたは単純オブジェクトであり得る）と呼ばれる異なる状態を有する状態駆動型制御アルゴリズムを有する。集計器およびＲｅａｃｔｏｒ＿Ｏｕｔｌｅｔモジュールクラスオブジェクト６１４および６１６と関連付けられるコマンドおよび状態駆動型アルゴリズムは、任意の所望のルーティンであってもよく、それらのコマンドと共に使用される機器モジュールクラスオブジェクト内の制御モジュールオブジェクトを参照してもよい。特に、機器モジュールクラスオブジェクトのＣＤＡまたはＳＤＡコマンドアルゴリズムは、制御モジュール（または他の機器モジュール）を参照する式またはアクションを、アルゴリズムを実施するときどの機器が操作されるかを示すそれらのモジュールの名前を組み込むことによって、含み得る。これらのアルゴリズム内の制御モジュール（または別の機器モジュール）の名前の使用は、アルゴリズムが位置する機器モジュールオブジェクトによって参照されるかまたはそれと関連付けられる制御モジュールオブジェクトを指定し、指定の名前は、機器モジュールオブジェクトが機器モジュールクラスオブジェクトから作成されると、連結またはインスタンス化される。
【００８７】
当然ながら、所望の場合、図７に示されるスクリーンおよび類似のスクリーンは、Ｄｏｓｅまたは他のフェーズクラス内、またはユニットモジュールクラスオブジェクト、機器モジュールクラスオブジェクト、およびディスプレイモジュールクラスオブジェクト等の他のモジュールのうちのいずれかのための、制御アルゴリズムを生成して指定し、それによって任意の所望のモジュールクラスオブジェクトを作成するように、構成エンジニアによって使用され得る。上記のように１つ以上のモジュールクラスオブジェクトを作成した後に、構成エンジニアは、次いで、プロセスプラント１０内の要素を構成するようにこれらのモジュールクラスオブジェクトを使用し得る。
【００８８】
機器または制御モジュールのうちのいずれかは、共有または非共有モジュールオブジェクトとしてユニットモジュールクラスオブジェクト内に指定され得る。非共有モジュールオブジェクトは、非共有モジュールオブジェクトが作成されるより高いレベルモジュールオブジェクトによって完全に所有される。共有モジュールオブジェクトは、所有されるかまたは２つ以上のより高いレベルモジュールオブジェクトと関連付けられる。モジュールオブジェクトの共有または非共有性質は、エクスプローラ表示のモジュールオブジェクトの描写に影響を与える。共有モジュールオブジェクト指定が、その要素ならびにエクスプローラ階層のスタンドアロン型モジュールオブジェクトを共有するより高いレベルモジュールオブジェクトのうちの各々の下に描写されている共有モジュールブロックまたはモジュールオブジェクトをもたらす一方で、特に、非共有モジュールオブジェクト指定は、制御戦略内のより高いレベルオブジェクト下のみに描写されているモジュールオブジェクトをもたらす。
【００８９】
同様に、構成エンジニアは、プロセス制御環境内のそこに説明される原理に従ってユニット、機器、制御要素、およびディスプレイ要素のために構成要素を作成するように、任意の他のユニットモジュールクラスオブジェクト、機器モジュールクラスオブジェクト、および制御モジュールクラスオブジェクト、ならびにディスプレイモジュールクラスオブジェクトを使用し得ることが理解される。更に、構成エンジニアは、ユニットモジュールクラスオブジェクトのうちの１つ以上を変更することおよびそれらのユニットモジュールクラスオブジェクトから作成されかつそれらと関連付けられるモジュールオブジェクトのうちの各々にそれらの変更を伝達させることによって、グローバル基準で異なるプロセスエンティティの構成の要素への変更を行い得る。この特長は、構成がすでに作成された後に、構成内の変更をより容易にし、行う時間を短縮させる。更には、構成エンジニアは、モジュールクラスオブジェクト内のセキュリティパラメータを設定することによって、構成システム内のモジュールオブジェクトの異なる要素または構成要素へのアクセスレベルを指定し得る。上に記されるように、構成エンジニアは、ユニットモジュールレベル、機器モジュールレベル、制御モジュールレベル、およびディスプレイモジュールレベル等の任意のレベルで、モジュール基準によってモジュール上にセキュリティを指定し得る。このように、ユニットモジュールオブジェクトのいくつかの要素は、他のものが表示可能でない場合にも表示可能であり得る。
【００９０】
当然ながら、構成システムが完了され、モジュールオブジェクトがプロセスプラント１０内の個別のプロセスエンティティに連結されると、これらのモジュールと関連付けられる制御およびディスプレイモジュールまたは要素は、プロセスプラント１０の動作中の実行のために図１の適切なコントローラ１２、デバイス、およびワークステーション１４にダウンロードされ得る。
【００９１】
本明細書に説明される技術、システム、および方法は、柔軟なクラスオブジェクト、インスタンスオブジェクト、およびプロセス要素オブジェクトを用いるプロセスプラントおよびプロセス制御システムの構成を可能にする。一実施例では、親オブジェクトへの変更または修正の伝達は、構成更新のタイミングがプロセスプラントで制御され得るように、１つ以上のそれぞれの子オブジェクトにおいて段階的に実行されるかまたは遅延される。一実施形態では、段階的に実行されることおよび／または遅延は、ユーザによって示され、異なる子オブジェクトに対して異なってもよい。別の実施例では、親オブジェクトに行われた変更は、選択された子オブジェクトに適用されるが、親の子オブジェクトの全てにというわけではない。ユーザは、変更が適用される所望の子オブジェクトの選択を示し得る。なおも別の実施例では、子オブジェクトに行われた変更は、選択的に、その親オブジェクトおよび／または１つ以上の子オブジェクトに適用される。変更が適用される所望の親および／または子オブジェクト（複数可）の選択は、ユーザによって示され得る。追加的または代替的に、ユーザは、変更の自動分散および／またはインスタンス化（例えば、実行可能なファイルの作成）なく、種々のオブジェクトにドラフトの変更または修正を行い得る。ドラフトの変更の異なるセットは、種々のオブジェクトの異なるバージョンとして保存され得、ランタイムプロセスプラントの実際の動作に影響することなくオフラインでテストされ得る。
【００９２】
更に、本明細書に説明される技術、システム、および方法は、プロセス制御システムまたはプラント１０のライブラリ（例えば、テンプレートおよび／またはユーザが作成したライブラリオブジェクト）に記憶されたアイテムまたはオブジェクトに適用する。代替的にまたは加えて、技術、システム、および方法は、いくつかの場合では、少なくとも部分的にライブラリアイテムまたはオブジェクトから作成または派生されるプロセス制御システムまたはプラント１０の構成データベース２５に記憶されたアイテムまたはオブジェクトに適用する。
【００９３】
なおも更に、本明細書に説明される柔軟な構成技術およびオブジェクトのうちの１つ以上は、図１のプロセスプラント１０、または他の好適なプロセスプラントまたはプロセス制御システム等のプロセスプラントにおいて使用され得る。一実施例では、本明細書に説明される技術のうちの１つ以上は、図１の１つ以上のワークステーション１４上で実行される構成アプリケーション５０によって実施される。別の実施例では、本明細書に説明される技術のうちの１つ以上は、アプリケーションにアクセスするリモートアプリケーション（例えば、ウェブクライアントまたは他のリモートアクセス手段）によって少なくとも部分的に実施される。いくつかの実施形態では、柔軟な構成技術のうちの１つ以上は、本明細書に説明されるもの以外の他の構成技術と組み合わせて使用される。
【００９４】
更には、本明細書に説明される柔軟な構成技術およびオブジェクトは、図５に説明されるもの等のモジュールクラスを用いて実装される。しかしながら、本明細書に説明される柔軟な構成技術は、他の好適なモジュールクラス、ソフトウェアアーキテクチャ、および／またはプログラミング技術を用いて実装されてもよい。
【００９５】
アイテムまたはオブジェクトドラフト：
【００９６】
前に論じたように、本明細書に説明される柔軟な構成技術、システム、および方法の実施形態は、ランタイムプロセスプラントまたはプロセス制御システムに悪影響を与え得るダウンロードを要することなく、ユーザがライブラリおよびシステム構成アイテムまたはオブジェクトに変更を行うことを可能にする。ライブラリアイテムまたはオブジェクトは、一般的に、アクセス可能な場所またはライブラリ（例えば、構成データベース２５またはワークステーション１４および他のインターフェースおよびコンピューティングデバイスにアクセス可能である他の記憶装置）に集中的に記憶されるテンプレートオブジェクトである。システム構成アイテムまたはオブジェクト（およびいくつかのライブラリアイテムまたはオブジェクト）は、一般的に、１つ以上のライブラリアイテムに基づくかまたはそこから派生する。いくつかのアイテムおよびオブジェクトについては、少なくともいくつかの態様がユーザによってカスタム化される。
【００９７】
本明細書で使用されるとき、「アイテム」という用語は、一般的に、クラスオブジェクト、インスタンスオブジェクト、またはプロセス要素オブジェクト等のオブジェクトを指す。アイテムは、ライブラリ（例えば、「ライブラリアイテム」または「ライブラリオブジェクト」）に記憶され得るか、またはアイテムは、システム構成データ記憶領域（例えば、「構成アイテム」または「構成オブジェクト」）に記憶され得る。加えて、本明細書で使用されるとき、「アイテム」という用語はまた、一般的に、例えば、オブジェクトのコンテンツの少なくとも一部分であるオブジェクトの内部でありオブジェクトによって定義されるアイテムを指す。オブジェクトの可能な内部アイテムとしては、例えば、方法、アクション、データフィールドまたは他の属性、入力、出力、Ｉ／Ｏの種類（例えば、例えば、図１のコントローラ１２または１２ａ等のコントローラが介してシステムと通信する入力／出力カードまたはデバイスの種類）、機能または使用量、定義、パラメータ値、親オブジェクトへの参照、子オブジェクトへの参照、親オブジェクトまたは子オブジェクトのいずれでもない別のオブジェクトへの参照、および他の内部アイテムが挙げられる。内部アイテムは、絶対的に定義されてもよいか（例えば、一定の値または式を記憶するデータフィールド）、または内部アイテムは、絶対値、絶対式、別のオブジェクトへの参照、または別の参照等によって相対的に定義されてもよい。例えば、グラフィックディスプレイ要素オブジェクトによって定義される内部アイテムは、親オブジェクトへの参照、１つ以上のフィールド、トリガ、機能、表示定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、テーブル等を含んでもよい。別の実施例では、制御モジュール要素オブジェクトによって定義される内部アイテムは、親オブジェクトへの参照、１つ以上の入力、出力、パラメータ、関数ブロック、相互接続、フィールド式、外部参照、アクション、アルゴリズム、遷移等を含んでもよい。
【００９８】
本明細書で一般的に使用されるとき、「リンク」アイテムは、オブジェクトまたはアイテムであって、その構造および開始値が親オブジェクトまたはアイテムから派生または作成される、および／またはその構造および開始値が子オブジェクトまたはアイテムに提供されるオブジェクトまたはアイテムを指す。したがって、リンクアイテムは、親アイテムであり得る。追加的または代替的に、リンクアイテムは、子アイテムであり得る。したがって、本明細書で一般的に使用されるとき、「リンクされていない」アイテムは、親オブジェクトを有せず、かつ任意の子オブジェクトを有しないアイテムまたはオブジェクトを指す。リンクの設定（例えば、親／子オブジェクト関係性の指示を維持すること）は、ユーザが、親アイテムまたはオブジェクトの構造および開始値を定義し、次いで、同じ構造および開始値をインスタンスまたは子オブジェクトと共有することを可能にする。例えば、ユーザが、クラスオブジェクトの全てのインスタンスに影響する修正または変更を行いたいとき、ユーザは、クラスオブジェクトのみを修正し、変更は、クラスオブジェクトのリンクされたインスタンスに分散または伝達される。
【００９９】
本明細書で使用されるとき、「現在のアイテム」または「現在のオブジェクト」という用語は、インスタンス化された（およびいくつかの場合では、ダウンロードされた）、およびプロセスプラント１０の対応するプロセス要素のランタイム中に実行され得る、アイテムまたはオブジェクトを指す。例えば、現在のプロセス要素制御オブジェクトがインスタンス化されると、現在のプロセス要素制御オブジェクトに対応する実行可能な構成コードは、図１のコントローラ１２または１２ａ等のプロセス要素にダウンロードされ、コントローラ１２または１２ａは、インスタンス化された現在のプロセス要素制御オブジェクトによって定義される、機能、入力、出力、および他の条件に従って、ランタイム中、動作するように構成される。別の実施例では、現在のグラフィックディスプレイ表示オブジェクトに含まれる定義に対応する表示が構築されユーザインターフェース上に提示されると、現在のグラフィックディスプレイ表示オブジェクトは、ユーザインターフェースでインスタンス化される。典型的に、オブジェクトによって定義される特定の内部アイテムに行われた変更は、典型的に、オブジェクトによって定義される他の内部アイテムに影響しない。
【０１００】
「修正」および「微調整」という用語は、オブジェクトのコンテンツへの１つ以上の変更を、その親オブジェクトへのリンクを維持しつつ、示すように、本明細書に互換的に使用される。現在のアイテムまたはオブジェクトへの修正または変更の１つの実施例は、新しいパラメータまたはアクションの追加等、現在のアイテムまたはオブジェクトへの新しい内部アイテムの追加である。追加的または代替的に、修正は、現在のプロセス要素オブジェクトの既存アイテムを削除することを含み得、および／またはオブジェクトによって定義されるアイテムの値、式、または参照を変更することを含み得る。いくつかのシナリオでは、修正は、特定のアイテムの無効化を含み、よって、特定のアイテムは、インスタンス化中無視される。例えば、特定のインスタンスオブジェクトでは、ユーザは、親クラスオブジェクトで定義されるアイテムを無効化し得る。そのような性能は、ユーザが、クラスの残りよりも少ない機能性を有するがコアクラス機能性をなおも含むインスタンスを定義することを可能にする。任意の無効化されたコンテンツは、視覚的に消されるかまたは見えなくされ得るか、または別様に無効にされ得、ランタイム中使用されない。無効化されたコンテンツは、適宜、ユーザによって有効化され得る。一般的に、修正は、親オブジェクトの参照がそれぞれの子オブジェクトの一定値に解読されるとき等の、参照を一定値または式に解読することを含み得る。
【０１０１】
任意の変更、修正、およびそれらの組み合わせは、クラスアイテムまたはオブジェクト、インスタンスアイテムまたはオブジェクト、プロセス要素アイテムまたはオブジェクト、または内部アイテムに行われ得る。インスタンスオブジェクトおよび他の子オブジェクトの場合では、一実施形態では、子オブジェクトへの変更または修正は、その親から除去されている子オブジェクトをもたらさない。例えば、インスタンスオブジェクトへの修正は、そのクラスからインスタンスオブジェクトを除去せず、更には、ユーザ等によって示されない限り、同じクラスの他のインスタンスに影響しない。一実施形態では、子オブジェクトによって定義されるアイテムへの変更または修正は、子オブジェクト内のフラッグまたは他の印によって示され、そのようにラベル付けされ得るため、クラスレベルでアイテムを妨害しない。したがって、この柔軟性は、親オブジェクトの急増を減少させ得、その子アイテムまたはオブジェクト中でより変動を可能にすることによって、単一の親アイテムまたはオブジェクトをより多様なアプリケーションに適用可能にし得る。
【０１０２】
加えて、ユーザは、ドラフトとしてアイテムまたはオブジェクトへの修正のセットを保存できる。一般的に、ドラフトオブジェクトは、ランタイムプロセスプラントまたはシステムに影響することなくテストされ得る。（本明細書で使用されるとき、ドラフトオブジェクトの「テスティング」は、一般的に、変更または修正が正しいかどうかを判定するようにドラフトオブジェクトそれ自体上で初期検査をする能力を指すが、典型的に、他のドラフトを伴う環境でドラフトオブジェクトを機能させる必要がある完全な工場出荷テストを意味するものではない。）
【０１０３】
一実施形態では、特定のオブジェクトのために１つのドラフトのみがその時に存在してもよい。一実施形態では、複数の異なるドラフトが、特定のオブジェクトのために存在してもよい。ユーザは、ドラフトオブジェクトを追加、削除、または修正することができる場合がある。いくつかの実施形態では、ドラフトオブジェクトのバージョン制御が、利用可能である。ドラフトオブジェクトは、オブジェクトに含まれるかまたはオブジェクトと関連付けられる、フラッグ、フィールド、または他の指示によってドラフトとして識別され得る。一実施形態では、ドラフトオブジェクトは、現在インスタンス化されたオブジェクトの子オブジェクトとして、現在のオブジェクトの親オブジェクトの子オブジェクトとして、または現在のオブジェクトが派生するライブラリの子オブジェクトとして、記憶される。いくつかのシナリオでは、ドラフトオブジェクトに対応する他の情報（例えば、作者、記憶の時間等）もまた、記憶され得る。
【０１０４】
現在のオブジェクトへの異なる修正を包含する異なるドラフトが、（例えば、同時に）作成され記憶されてもよい。異なるドラフトは、本質的に連続的であってもよい。例えば、第１のドラフトは、レガシープロセスデバイスを構成することに対応し得、第２のドラフトは、プロセスデバイスのより新しいモデルを構成することに対応し得る。異なるドラフトは、コンテンツにおいて異なり得る。例えば、第１のドラフトは、特定の機能を実施するように製造業者Ａによって製造されたバルブを構成することに対応し得るが、第２のドラフトは、類似の機能を実施するように製造業者Ｂによって製造されたバルブを構成することに対応し得る。当然、連続的および／またはコンテンツ変更の任意の組み合わせは、例えば、ユーザによって所望されるように、ドラフトのセットにわたって現れてもよい。
【０１０５】
ドラフトは、一般的に、インスタンス化またはダウンロードされることが可能でないが、それらが適切に機能することを確実にするように、分散およびダウンロードされることが可能であるエディションに公開される前にテストされることが可能である。このように、ユーザは、現在のアイテムまたはオブジェクトへの修正を行うことができ、ドラフトとして修正を記憶できる。ユーザがドラフトを許容可能であると判断すると、ユーザは、ドラフトを公開し得、例えば、「公開された」または「承認された」アイテムまたはオブジェクト等のアイテムまたはオブジェクトの新しいエディションを生成し得る。アイテムまたはオブジェクトの新しいエディションは、記憶され、それは、インスタンス化またはプロセスプラントまたはシステムへのダウンロードのために利用可能である。
【０１０６】
エディション：
【０１０７】
したがって、エディションは、ユーザがプロセス要素への変更を記録し制御するための助けとなる。特に、アイテムまたはオブジェクトは、その寿命の一部として変更を受け得る。最初に、オブジェクトが作成され、オブジェクトへの各後続の変更（関数ブロックを追加／削除すること等の構造的なもの、またはパラメータ値を変更することのいずれか）は、典型的に、その子オブジェクトに分散または伝達される。しかしながら、実際のプロセスプラント運転中、親アイテムまたはオブジェクトへの変更（および特に不完全な未承認または未テストの変更）は、非制御された様式でランタイムシステムに入ることから阻止されるべきである。したがって、本明細書に説明される柔軟な構成技術およびオブジェクトは、ユーザが変更の分散および伝達を制御できる「エディション」を含む。本明細書で使用されるとき、「エディション」は、一般的に、承認または公開された現在のオブジェクトへのドラフト修正を指し、ランタイム環境へのインスタンス化のために利用可能である。ドラフトは、インスタンス化されることが可能でないが、エディションまたは公開は、プロセスプラントまたはプロセス制御システムにインスタンス化されることができる。
【０１０８】
一実施形態では、ドラフトは、ユーザがそのように示すと（例えば、ユーザがドラフトを承認した後にのみ）、エディションに公開される。したがって、オブジェクトのプロセス要素アイテムへのドラフト修正が承認されると、プロセス要素アイテムまたはオブジェクトの状態は、インスタンス化が阻止されるかまたは可能でない第１の状態（例えば、「ドラフト」状態）からインスタンス化が可能である第２の状態（例えば、「公開された」状態）に変更し得る。一実施形態では、許可されたユーザまたは適切なセキュリティクリアランスを有するユーザのみが、ドラフトをエディションに公開することができる（例えば、ドラフト修正を承認し公開された修正またはエディションを生成する）。複数のドラフトが利用可能なとき、ユーザは、複数のドラフトのうちのどれがエディションに公開されるかを選択できる。
【０１０９】
オブジェクトのエディションは、オブジェクトに含まれるかまたはオブジェクトと関連付けられる、フラッグ、フィールド、または他の指示によって識別され得る。一実施形態では、エディションまたは公開された修正されたオブジェクトは、その親として、修正されたオブジェクトのドラフト、現在のオブジェクト、別のエディション、別のオブジェクト、またはライブラリオブジェクトを示すまたはそれらにリンクする別個のオブジェクトとして記憶される。いくつかのシナリオでは、オブジェクトのエディションに対応する他の情報（例えば、作者、公開の時間等）もまた、記憶され得る。一実施形態では、子アイテムまたはオブジェクトは、親オブジェクトのエディションおよび親オブジェクトそれ自体の両方にリンクされ得る。
【０１１０】
オブジェクトの複数のエディションが利用可能なとき、一実施形態では、ユーザは、複数のエディションのうちのどれがインスタンス化されるかを示し得るかまたは選択し得る。例えば、ユーザは、オブジェクトの異なるエディションが、プロセスプラント内の異なるプロセス要素でインスタンス化されることを示し得る。代替的にまたは加えて、ユーザは、エディションのためまたは異なるエディションのため、インスタンス化の異なる回数を示し得る。いくつかの場合では、ユーザはまた、エディションを削除、無効化、または編集できる。
【０１１１】
いくつかの実施形態では、１つのドラフトのみ（かつ複数のドラフトではない）が、記憶されることが可能である。そのような実施形態では、現在のオブジェクトの現在のエディションのみが、ユーザによって編集されることが可能である。したがって、編集した後に、ユーザは、ドラフトの修正されたオブジェクトを保存し、ユーザ命令に応じて、ドラフトの修正されたオブジェクトは、オブジェクトの新しい現在のエディションとして公開される。一実施形態では、前の現在のエディションは、ライブラリアイテムまたはオブジェクトの場合等、それにリンクされる任意の子オブジェクトを有せずかつ唯一のエディションである場合、自動的に削除され得る。したがって、現在のエディションが任意の子オブジェクトを有しない場合、現在のエディションへの修正の後続の公開は、単に現在のエディションを置換または上書きしてもよい（例えば、追加の現在のエディションは作成されない）。一実施形態では、１つ以上の前の現在のエディションは、ユーザから非表示にされ得るかまたはユーザがアクセスできなくし得る。
【０１１２】
一実施形態では、少なくとも１つの子オブジェクトを有する親アイテムまたはオブジェクトを公開することは、子オブジェクトの新しい現在のエディションを自動的に生成する。一実施形態では、オブジェクトを名前変更することは、オブジェクトの新しいエディションを作成しないが、オブジェクトによって定義される内部アイテムを名前変更することは、ドラフトとして名前変更された内部アイテムを保存すること、および内部アイテムの新しいエディションとして名前変更された内部アイテムドラフトを公開すること、を要する。
【０１１３】
一実施形態では、公開アイテムまたはオブジェクトが、別の公開アイテムまたはオブジェクトを指すかまたはそれに組み込まれる（および任意に、それ自体オブジェクトの複数のレベルに入れ子状態である）場合、最内部アイテムまたはオブジェクトの新しいエディションを作成することは、入れ子状態の全てのレベルの包含アイテムまたはオブジェクトのうちの各々の新しいエディションを自動的に作成し得る。
【０１１４】
変更および修正の分散または伝達：
【０１１５】
「分散」および「伝達」という用語は、本明細書で互換的に使用され、一般的に、構造の移行（制御オブジェクトのための関数ブロック使用量、ダイナモ使用量、形状、パラメータの種類、ワイヤ等、およびグラフィック要素オブジェクトのためのアニメーション、表示定義、形状、コネクタ等）および親オブジェクトから子オブジェクトへ、および／または子オブジェクトからその親オブジェクトへのパラメータ値を指す。典型的に、エディションまたは公開されたオブジェクトの修正または変更は、伝達される。一実施形態では、オブジェクトの公開されたエディションに含まれる変更されたアイテムのみが、伝達される。一実施形態では、オブジェクトのエディション全体が、伝達される。
【０１１６】
ポリシー設定は、オブジェクト当たりまたはアイテム当たりの基準に応じて分散または伝達プロセスを制御し得る。一実施形態では、ポリシー設定は、構成設計者またはシステム管理者等のユーザによって変更可能である。ポリシー設定を変更することへのアクセスは、いくつかの構成システムで安全に制御される。ポリシー設定を分散することおよび伝達することは、少なくとも２つの可能な値を含み、それらは、自動型およびユーザ管理型である。一実施例では、ポリシーが、ライブラリに定義された機器アイテムのために自動型に設定された場合、新しいエディションに公開されるライブラリ記憶機器アイテムへの変更または修正は、その機器アイテムの任意のリンクアイテムに自動的かつ直ちに伝達され、リンクアイテムの新しい公開されたエディションをもたらす。
【０１１７】
しかしながら、オブジェクトのポリシーがユーザ管理型に設定された場合、新しく公開された変更は、リンクアイテムに自動的かつ直ちに伝達されない。代わりに、ユーザは、選択された時間に選択されたリンクアイテムに手動で伝達を開始する（または伝達を開始するようにスクリプトまたは類似的なものを作成する）。上のライブラリ記憶機器アイテムの実施例では、ポリシーが、ユーザ管理型に設定された場合、ユーザは、選択された時間に公開変更を受け取るように特定の子システム構成アイテムを選択し得る。更に、ライブラリ記憶機器アイテムの複数の記憶されたエディションが存在する場合、ユーザは、複数のエディションのうちのどれがどの時間に伝達されるかを示すことができる。
【０１１８】
したがって、本明細書に説明される柔軟な構成技術およびオブジェクトは、ユーザが、親オブジェクト（例えば、クラスオブジェクト）に変更を行うこと、変更が分散または伝達される子オブジェクト（例えば、インスタンスオブジェクト）を指定すること、およびいつ伝達が生じるかを指定することを可能にする。したがって、公開の後に、親オブジェクトに行われた変更は、変更を要する子オブジェクトのみに直ちに伝達され得る一方で、他の子オブジェクトは、後から変更を伴って更新され得る。変更または修正を受信するものの選択は、プロセスエンティティまたは要素基準当たりに応じて実施され得るか、またはグループ基準（例えば、プラントの領域、ある製造業者の全てのデバイス、Ｘというリリースを運用する全てのデバイス、あるテスト生成ラインの全てのメータ等）で実施され得る。分散および伝達のそのような選択性は、全ての子オブジェクトが一度に更新されるわけではないため、ランタイム中のプロセス性能を向上させ得る。更に、変更および修正は、最適化および制御された方法でプロセスプラントに段階的に導入され得る。
【０１１９】
一実施形態では、少なくとも１つの子アイテムを有し、複数の既存のエディションもまた有する親オブジェクトにとっては、分散または伝達ポリシー設定を変更することは、親オブジェクトの任意の公開された現在インスタンス化されたエディションに影響しない。しかしながら、親アイテムまたはオブジェクトのコンテンツが続けて変更された場合、コンテンツ変更は、その子アイテムまたはオブジェクトの全てに伝達され、よって、子が、親オブジェクトのもたらされる現在のエディションを使用し、先のエディションが、削除または無効化される。
【０１２０】
一実施形態では、親オブジェクトからのパラメータ値の伝達または分散は、値が子オブジェクトに上書きされていない場合にのみ生じる。
【０１２１】
親オブジェクトと同様に、子オブジェクト（例えば、インスタンスオブジェクトまたはプロセス要素オブジェクト）に行われた変更または修正はまた、選択的に、それぞれの親オブジェクト（例えば、クラスオブジェクトまたはインスタンスオブジェクト）に伝達または分散され得る。一実施形態では、伝達のタイミングおよび／またはコンテンツは、ユーザによって選択される。このように、子オブジェクトでの変更は、親オブジェクトに伝達され得、それは、次に、他の子オブジェクトに変更を伝達し得る。
【０１２２】
一実施形態では、ユーザは、子オブジェクトによって定義された特定のアイテムが親オブジェクトから非表示にされる（例えば、無効化される）ことを示し得る。例えば、特定のパラメータ値が、子オブジェクトに追加されるが、一般的に、親オブジェクトおよび親オブジェクトの他の子に適用可能でなかった場合、特定のパラメータ値は、親オブジェクトへの伝達中、フラグ付けされ得るか、または別途非表示にされるかまたは無効化され得る。
【０１２３】
インスタンス化：
【０１２４】
一実施形態では、エディションは、インスタンス化のため、ユーザによって選択され得る。選択されたエディションのインスタンス化は、選択されたエディションによって定義された内部アイテムに従って、ランタイム中、対応するプロセス要素の実行をもたらす。例えば、制御オブジェクトの場合では、ユーザは、制御オブジェクトの特定の公開されたエディションがランタイムシステムの対応するデバイスにダウンロードされることを所望する。ユーザは、選択されたエディションからダウンロードエディションを生成し、ランタイムシステムのプロセス要素へそのダウンロードエディションを送信するように、システムに命令する。したがって、ランタイム中、プロセス要素は、制御オブジェクトの実行エディションを実行し、その実行エディションは、エディションに含まれる修正を包含する構成を含む。別の実施例では、ユーザは、ディスプレイ表示上に含まれる公開されたグラフィックディスプレイ要素オブジェクトをインスタンス化するように構成システムに命令する。構成システムは、グラフィックディスプレイ要素オブジェクトの実行エディションを作成する。対応するディスプレイ表示がランタイムに構築されると、グラフィックディスプレイオブジェクトの実行エディションが実行され、ディスプレイ表示上に含まれているそれぞれのグラフィック要素をもたらす。複数のエディションが利用可能なとき、ユーザは、複数のエディションのうちのどれがインスタンス化されるかを選択し得る。
【０１２５】
インスタンス化の上の実施例では、インスタンス化は、ユーザによって指定されるかまたは示される時間に、または、ユーザによって指定されたかまたは示されたイベントの後に、生じる。いくつかの実施形態では、ユーザは、オブジェクトのエディションが、公開直後にインスタンス化されることを示し得る。例えば、ユーザは、エディションに対応する子オブジェクトの第１のセットのインスタンス化が、公開の直後に実施されること、エディションに対応する子オブジェクトの第２のセットのインスタンス化が、指定された一定の時間量の間遅延されること、およびエディションに対応する子オブジェクトの第３のセットのインスタンス化が、ユーザが明示的にインスタンス化を要求するまで遅延されること、を示し得る。したがって、本明細書に説明される柔軟な構成システム技術およびオブジェクトを用いて、ユーザは、種々のプロセス制御要素でいつおよびどの修正がインスタンス化されるかを制御できる。
【０１２６】
当然、本明細書に説明される技術およびオブジェクトは、オブジェクトまたはアイテムのコンテンツをより柔軟に修正し、プロセスプラントまたはプロセス制御システム内の修正の分散およびタイミングをより柔軟に管理するように、機能性および能力をユーザに提供する。例えば、ユーザは、オブジェクトのインスタンスおよび使用量を作成すること、オブジェクトのコピーを作成すること、オブジェクトから派生アイテムを作成すること、更なる構造を追加するように内部アイテム（例えば、使用量およびインスタンス）を修正すること、オブジェクトおよび使用量に含まれる内部アイテムおよびインスタンス（例えば、パラメータおよびプロパティ値）を修正すること、選択された内部アイテムを非表示にするまたは無効化すること、オブジェクトをリンクしリンク解除すること、および／またはアイテムまたはオブジェクトへの変更の伝達および分散を制御すること、ができる場合がある。
【０１２７】
シナリオ例：
【０１２８】
次に、プロセスプラントまたはプロセス制御システムの柔軟な構成の特長、性能、および動作を示すためにいくつかのシナリオ例が提供される。これらのシナリオ例は、図１〜７のうちのいずれか、またはそれらの組み合わせによって示される技術のうちの任意の１つ以上の部分によって実装され得る。これらのシナリオ例は、限定することを意図するものではないが、本明細書に説明される技術、システム、および方法の概念、利点、および用法のうちのいくつかを示すために本明細書に提供される。加えて、これらのシナリオは、可能なシナリオを網羅するセットではない。更に、これらのシナリオ例は、一般的に、ライブラリアイテムまたはオブジェクトを指すが、シナリオは、システム構成オブジェクト、グラフィックおよびディスプレイオブジェクト、インスタンスオブジェクト、プロセス要素オブジェクト、クラスオブジェクト等のプロセスプラントまたはプロセス制御システム内の他のアイテムおよびオブジェクトに容易に適用され得る。
【０１２９】
図８に示される第１のシナリオ例では、ユーザは、ライブラリアイテムまたはオブジェクト１０００を作成、変更、または修正する、タスクを実施するかまたは１つ以上のコマンドを実行する。一実施形態では、コマンドは、例えば、ワークステーション１４または他のユーザインターフェースを介して、構成システムで受け取られる。ユーザがライブラリアイテムまたはオブジェクト１０００を作成または編集しそれを保存すると、アイテムのドラフト１００２が記憶される。ユーザは、ドラフト１００２に追加の編集を行い得る。ある時点で、ユーザは、変更を承認し、アイテムである１００５を公開する。公開１００５は、この第１のシナリオ例のライブラリアイテム１０００が任意の子を有しないため、ライブラリアイテム１０００の新しいエディション１００８をもたらす。新しいエディション１００８は、プロセスプラントまたはプロセス制御環境のランタイム環境へのインスタンス化に利用可能である。
【０１３０】
図９に示される第２のシナリオ例では、ライブラリアイテム１０１０は、例えば、ライブラリアイテム１０１０が別のライブラリアイテムまたはシステム構成アイテム１０１２にリンクされる等の子アイテムまたはオブジェクト１０１２を有し得る。この第２のシナリオでは、ユーザは、ライブラリアイテム１０１０に変更を行い、それを、ドラフトの修正されたライブラリアイテム１０１３として保存する。ある時点で、ドラフト１０１３への変更が承認され、ユーザは、ドラフト１０１３を公開して変更を含むライブラリエディション１０１４の現在のエディションを生成する。ユーザは、例えば、プロセスプラントの動作フェーズ、人員配置、手続き上の課題、および／または他の考慮点等に照らして、ライブラリアイテム１０１０への変更がその子１０１２にどのように分散または伝達されるかを制御すること所望する。ユーザ管理型分散は、変更または修正が最適時刻に分散されることが可能であるため（例えば、適切なサポートチームがバルブをブロックするように所定の位置に存在する等）、プロセスプラント（精製所等）における動作を改善し得る。
【０１３１】
ライブラリアイテム１０１０の現在のエディション１０１４の制御された伝達または分散を達成するように、ユーザは、ライブラリアイテム１０１０のために分散プロセスを制御するポリシー設定を設定する。一実施形態では、ポリシー設定は、ライブラリアイテム１０１０に対応し得る。あるいは、ポリシー設定は、ライブラリアイテム１０１０の使用量または子１０１２に対応し得る。一実施形態では、ポリシー設定は、２つの選択肢を含み得、それらは、自動型１０１８およびユーザ管理型１０１５である。ポリシーが自動型１０１８に設定されると、ライブラリアイテム１０１０の公開された現在のエディション１０１４（または公開されたエディション１０１４に含まれる変更）は、ライブラリアイテム１０１０から子アイテム１０１２へ自動的に分散１０１８される。ポリシー設定がユーザ管理型１０１５であるとき、ユーザは、現在のエディション１０１４のドラフト１０２２を作成し得る。ドラフト１０２２は、次に、子アイテム１０１２の新しい現在のエディション１０２５として公開され得る。
【０１３２】
図１０に示されるように、システム構成アイテム１０１２の新しい現在のエディション１０２５は、インスタンス化され得る。例えば、システム構成アイテム１０１２が制御または関数ブロックに対応する場合、現在のエディション１０２５は、ダウンロードエディション１０２８に変換され得、それは、実行エディション１０３２として、対応するランタイムアイテム１０３０に（例えば、自動的にまたはユーザ指示によって）ダウンロードされ得る。別の実施例では、システム構成アイテム１０１２がグラフィック要素に対応する場合、グラフィック要素の現在のエディションは、グラフィカルアイテムを含むディスプレイ表示が構築されるとランタイムにインスタンス化される。
【０１３３】
一方で、図９に戻って参照すると、分散ポリシー設定がユーザ管理型１０１８を示すと、ユーザは、所望のように、ライブラリアイテム１０１０に行われた変更をその子アイテム１０１２の各々に手動で伝達または分散し得る。本質的に、ライブラリアイテム１０１０の現在のエディション１０１４は、子アイテム１０１２のために（ユーザによって明示的に入力され得るかまたはスクリプトに含まれ得る）ユーザコマンド１０１８によってライブラリから「引き出される」。一実施例では、ユーザは、対象とする子アイテム（例えば、システム構成アイテム１０１２）を選択し、ライブラリアイテム１０１０の現在のエディション１０１４（またはそこへの修正）が、対象とする子アイテム１０１２に伝達されることを１０１８に要求する。伝達時に、システム構成アイテム１０１２のドラフト１０２２が、作成され記憶される。ユーザは、ドラフトシステム構成アイテム１０２２への追加の編集を行っても行わなくてもよい。ある所望の時点で、ユーザは、ドラフトシステム構成アイテム１０２２を公開し、インスタンス化され得るシステム構成アイテム１０１２の新しいエディション１０２５をもたらす。
【０１３４】
前のシナリオは、ライブラリアイテム１０００および１０１０への修正を説明する。しかしながら、ライブラリアイテム１０１０は単に修正可能であるのみではない。図１１は、ユーザが、ライブラリテンプレートではないシステム構成アイテム１０４０に直接変更を行うシナリオを示す。ユーザは、ドラフト１０４２として構成アイテム１０４０への変更を保存し、ドラフト１０４２が承認された後に、ユーザは、アイテム１０４０の現在のエディション１０４５にドラフト１０４２を公開する。図１１に示される実施例では、ユーザは、（例えば、実行可能な）ダウンロードエディション１０４８が生成されることを要求し、次いで、アイテム１０４０のダウンロードエディション１０４８がランタイムアイテム１０５０に送信されることを続けて要求し、よって、実行エディション１０５２は、対応するランタイムアイテム１０５０に含まれ、対応するランタイムアイテム１０５０によって実行される。
【０１３５】
本明細書に説明される柔軟な技術およびオブジェクトを示す他の可能なシナリオは、以下のものを含む。
【０１３６】
１．ユーザは、複数のエディションを有するライブラリアイテムをコピーする。
【０１３７】
このシナリオでは、分散ポリシー設定は、ユーザ管理型に設定される。複数のエディションを持つライブラリアイテムが、ライブラリに存在する。
【０１３８】
ユーザは、ライブラリアイテムをコピーして異なる名前を持つ新しいライブラリアイテムを作成する。ライブラリアイテムのもたらされるコピーは、元のライブラリアイテムの現在のエディションに合致する単一のエディションを有する。しかしながら、新しいライブラリアイテムは、単にコピーであり、元のライブラリアイテムへの後続の変更によって影響されない。
【０１３９】
２．ユーザは、別のライブラリアイテムからライブラリアイテムを派生する。
【０１４０】
アイテム（ディスプレイまたはフェースプレート等）は、ライブラリに存在する。アイテムは、例えば、１つの送信装置および２つのバルブを示す単一のタンクを有する。
【０１４１】
ユーザは、第１のライブラリアイテムから派生する新しいライブラリアイテムのドラフトを作成するコマンドを選択する。ユーザは、次いで、ドラフトを修正して第２の送信装置を追加し、ドラフトを保存し、派生ライブラリアイテムの第１のエディションとしてドラフトを公開する。
【０１４２】
ユーザは、続いて、元のライブラリアイテムを修正して第３のバルブを追加し、元のライブラリアイテムのドラフトを保存し、ドラフトをエディションに公開する。ユーザは、次いで、修正された元のライブラリアイテムのエディションを分散する。分散の結果として、派生ライブラリアイテムは、ここで３つのバルブを包含する。
【０１４３】
３．ユーザは、複数のエディションを有するライブラリアイテムのインスタンスを作成する。
【０１４４】
分散設定は、ユーザ管理型に設定され、このシナリオでは、１つの現在のエディションのみがいつでも利用可能である。ユーザは、ライブラリアイテムを作成し、ライブラリアイテムの第１のインスタンスを作成する。ユーザは、次いで、元のライブラリアイテムを修正し、ドラフトとして修正を保存し、修正された元のライブラリアイテムを公開する。公開は、元のライブラリアイテムの新しいエディションをもたらす。
【０１４５】
次に、ユーザは、ライブラリアイテムの第２のインスタンスを作成する。第２のインスタンスは、ライブラリアイテムの現在のエディション（例えば、修正された元のライブラリアイテム）に基づくが、第１のインスタンスは影響されない。つまり、第１のインスタンスは、修正なしに元のライブラリアイテムに基づいて残る。
【０１４６】
一実施形態では、新しいインスタンスまたは使用量が、複数のエディションを有するライブラリアイテムから作成されると、新しいインスタンスまたは使用量は、ライブラリアイテムの現在の利用可能なエディションを指す。
【０１４７】
４．ユーザは、複数のエディションを有するライブラリアイテムの使用量を作成する。
【０１４８】
このシナリオは、前のシナリオに類似しているが、インスタンスの代わりにライブラリアイテムの使用量を含む。このシナリオでは、１つの現在のエディションのみが一度に利用可能である。新しい使用量が、複数のエディションを有するアイテムから作成された場合、新しい使用量は、ライブラリアイテムの現在の利用可能なエディションに基づく。
【０１４９】
５．ユーザは、使用量を有するライブラリアイテムを修正する。
【０１５０】
このシナリオでは、システム構成アイテムは、ライブラリアイテムに基づく。システム構成アイテムは、ライブラリアイテムの使用量（モジュール内の複合関数ブロック使用量等）を含む。変更の分散は、ユーザ管理型に設定される。
【０１５１】
ユーザは、システム構成アイテムが基づくライブラリアイテムを変更し、ライブラリアイテムが、ライブラリアイテムの複数のエディションが存在することを示すビジュアル指示物（スタックアイコン等）をここで有することを観察する。ユーザは、ライブラリアイテム上の参照表示を開き、例えば、システム構成アイテムに含まれる、ライブラリアイテムの新しい（ここでは現在の）エディションを使用していない使用量（モジュールの複合関数ブロック使用量）が存在することを見る。
【０１５２】
６．ユーザは、別のライブラリアイテムの使用量を有するライブラリアイテムを修正する。
【０１５３】
このシナリオは、前のシナリオに類似しているが、使用量は、システム構成アイテムよりもむしろ、別のライブラリアイテムに含まれる。このシナリオでは、分散ポリシーは、システム構成アイテムへの分散のみを制御し、ユーザ管理型に設定されたままである。ライブラリアイテムへの変更は、ポリシー設定にかかわらず、他のライブラリアイテム内の使用量に自動的に分散される。つまり、ライブラリアイテムへの分散は、「自動型」に既定され、修正されることができない。分散は、影響を受けたライブラリアイテムが、それ自体他のライブラリアイテムによって使用される場合、再帰的であり、新しいエディションは、別のライブラリアイテムへの変更によって影響を受けた全てのライブラリアイテムのために作成される。
【０１５４】
いくつかの実施形態では、修正可能なポリシー設定は、ライブラリアイテムのために利用可能であり、異なる修正可能なポリシー設定は、構成アイテム等の非ライブラリアイテムのために利用可能である。
【０１５５】
７．ユーザは、インスタンスを有するライブラリアイテムを修正する。
【０１５６】
このシナリオでは、ライブラリアイテムのインスタンス（モジュールインスタンス等）は、システム構成アイテムとして記憶される。分散は、ユーザ管理型に設定される。
【０１５７】
ユーザは、ライブラリアイテムを変更し、ライブラリアイテムが、複数のエディションが存在することを示すビジュアル指示物（スタックアイコン等）をここで有することを観察する。ユーザは、ライブラリアイテム上の参照表示を開き、ライブラリアイテムの新しい（ここでは現在の）エディションを使用していないシステム構成インスタンスが存在することを見る。
【０１５８】
８．ユーザは、派生ライブラリアイテムを有するライブラリアイテムを修正する。
【０１５９】
このシナリオでは、親ライブラリアイテムは、派生ライブラリアイテムによって使用され、この派生ライブラリアイテムは、次に、システム構成アイテムによって使用される。システム構成アイテムへの分散は、ユーザ管理型に設定され、ライブラリアイテムへの分散は、修正可能ではなく、自動型に既定される。
【０１６０】
ユーザは、親ライブラリアイテムを修正する。ライブラリアイテム分散設定が自動型であるため、派生ライブラリアイテムは、自動的に更新される。しかしながら、派生ライブラリに基づくシステム構成アイテムは、構成アイテムへの分散設定がユーザ管理型に設定されるため、更新されない。したがって、システム構成アイテムは、派生ライブラリアイテムの前のエディションを使用し続ける。ユーザは、親ライブラリアイテム上の参照表示を開くこと、および派生ライブラリアイテムは親ライブラリアイテムの現在のエディションを使用しているが、システム構成アイテムはそうではないことを観察すること、によってこれを見ることができる。
【０１６１】
９．ユーザは、ライブラリアイテムのコンテクストにおいて使用量を更新する。
【０１６２】
前のシナリオを構築すると、ユーザは、ライブラリアイテムの全てのインスタンスが更新されたわけではないことを示す、ライブラリアイテムに対応するスタックアイコンを見る。システム構成アイテムへの分散は、ユーザ管理型に設定される。
【０１６３】
ユーザは、ライブラリアイテム上の参照表示を開き、各々がライブラリアイテムを用いる、２つのディスプレイに対応する２つの行を見る。ユーザは、次いで、ライブラリアイテムの現在の更新されたエディションを使用するようにディスプレイのうちの１つを変更する。ユーザがディスプレイを開くと、ユーザは、例えば、ディスプレイおよび任意のライブラリアイテム使用量の両方が、それらが現在の更新されたエディションを使用していることを示す等の、ライブラリアイテムの現在の更新されたエディションを見る。
【０１６４】
後に、ユーザは、第２のディスプレイ上の参照表示を開き、使用量を変更しライブラリアイテムの現在の更新されたエディションを使用する。ユーザは、第２のディスプレイを保存し、使用量の様子は、ライブラリアイテムの現在の更新されたエディションが使用されていることを示す。
【０１６５】
ユーザ変更の結果として、システムにはライブラリアイテムの第１のエディションにリンクされたアイテムが存在せず、よって、第１のエディションは、システムによって自動的に削除される。他の実施形態では、第１のエディションは、無効化または非アクティブに設定され得る。
【０１６６】
ユーザは、現在のものではない使用量を複数選択でき、それらを現在のエディションに更新するように選択できる。ライブラリアイテム上の指示物は、全てのインスタンスが最新のエディションを使用しているとき、消失し得る。使用量またはインスタンスが、複数選択動作中に更新され得ない場合、使用量またはインスタンスが、読み飛ばされ、更新は、次のアイテムに進む。更新の終了時に、ユーザは、どのアイテムが成功裡に更新されなかったかを示される。
【０１６７】
１０．ユーザは、ライブラリアイテムのコンテクストにおけるライブラリアイテム使用量を更新する。
【０１６８】
一実施形態では、ライブラリアイテムへの変更は、システム構成分散ポリシー設定にかかわらず、他のライブラリアイテム内の使用量に自動的に分散される。いくつかの実施形態では、異なるライブラリ分散ポリシー設定は、そうする権限を有するユーザによって利用可能および修正可能であり得る。
【０１６９】
１１．ユーザは、ライブラリアイテムのコンテクストにおいてインスタンスを更新する。
【０１７０】
このシナリオは、伝統的なクラス型モジュールビヘイビアを広げる。ライブラリアイテムが存在し、ライブラリアイテムのインスタンスが、システム構成アイテムとして記憶される。しかしながら、インスタンスは、ライブラリアイテムの現在のエディションを使用していない。システム構成オブジェクトへの分散は、ユーザ管理型に設定される。
【０１７１】
ユーザは、ライブラリアイテムを選択し、参照表示を開く。ユーザは、システム構成インスタンスがライブラリアイテムの現在のエディションを使用していないことを見て、ユーザはインスタンスを選択し、「現在にする」コマンドを実行する。このコマンドは、ライブラリアイテムの現在のエディションを使用するインスタンスの新しいドラフトをもたらす。ユーザは、次いで、システム構成インスタンスのドラフトを編集および／または公開するステップを取り得る。
【０１７２】
１２．ユーザは、ライブラリアイテムのコンテクストにおいて派生アイテムを更新する。
【０１７３】
ユーザは、他のライブラリアイテムに基づくライブラリアイテムを作成することが可能である。例えば、ユーザは、任意のインターロックなしに親ライブラリモジュールを作成でき、次いで、インターロックの追加を有する親ライブラリモジュールの全ての性能を有する派生ライブラリモジュールを作成できる。親ライブラリモジュールのアルゴリズムへの変更は、派生ライブラリモジュールへと流れることができ、よって、ユーザは、１つの所定の場所に定義されるアルゴリズムを有することによって利益を受ける。
【０１７４】
１３．ユーザは、使用量のコンテクストにおいて使用量を更新する。
【０１７５】
このシナリオでは、ユーザは、現在のエディションを使用するために使用量を更新することを所望する。例えば、制御モジュールオブジェクトは、システム構成オブジェクトとして記憶され、単一の入力コネクタを有する単一のエディション複合ブロックの関数ブロック使用量を含む。単一のエディション複合ブロックは、ライブラリアイテムであり、システム構成オブジェクトへの分散は、ユーザ管理型に設定される。ユーザは、ライブラリの複合ブロックを修正して別の入力コネクタを追加し、ライブラリ複合ブロックのために新しい現在のエディションを作成する。ユーザは、ライブラリ複合ブロックが複数のエディションを有することを示すグラフィックを見ることができる。
【０１７６】
次に、ユーザは、特定の制御モジュール上の関数ブロック使用量を選択し、「現在にする」コマンドを選択する。特定の制御モジュールの使用量は、更新されて現在のエディションを使用し、したがって、追加の入力コネクタを示す。前のライブラリ複合ブロックエディションがシステムにおいて使用されない場合、グラフィックは、変化してライブラリ複合ブロックが複数のエディションをもはや有しないこと示す。
【０１７７】
１４．ユーザは、ライブラリアイテム使用量のコンテクストにおいてライブラリアイテム使用量を更新する。
【０１７８】
派生アイテムのように、他のライブラリアイテムにおけるライブラリアイテムの使用量（例えば、関数ブロック）は、構成アイテムへの分散ポリシー設定にかかわらず、自動更新に既定され得る。しかしながら、いくつかの競合が原因で変更が別のライブラリアイテムに自動的に分散されることができない場合には、ユーザは、ライブラリアイテム使用量を手動で訂正してもよい。
【０１７９】
１５．ユーザは、インスタンスのコンテクストにおいてインスタンスを更新する。
【０１８０】
このシナリオでは、ライブラリモジュールは、単一のエディションを有し、ライブラリモジュールのインスタンスは、システム構成アイテムとして記憶される。システム構成アイテムへの分散は、ユーザ管理型に設定される。ユーザは、ライブラリモジュールを修正し、変更を公開する。ライブラリモジュールと関連付けられるディスプレイ上のグラフィックは、ライブラリ複合ブロックが複数のエディションを有することを示す。
【０１８１】
ユーザは、モジュールインスタンスを選択し、「現在にする」コマンドを選択する。ライブラリモジュールの現在の修正されたエディションを使用するインスタンスのドラフトが作成される。ユーザは、次いで、モジュールインスタンスの新しい現在のエディションを作成するようにドラフトを公開できる。前のライブラリモジュールエディションがシステムのどこにももはや使用されない場合、ライブラリと関連付けられる複数のエディション指示物は、ディスプレイから除去される。
【０１８２】
１６．ユーザは、機器アイテムに包含される全てのインスタンスを更新する。
【０１８３】
このシナリオは、更新が、領域、セル、またはユニット等の機器アイテムのコンテクストにおいてなされることを除いて、前のシナリオに類似している。単一のエディションを有するライブラリモジュールが存在し、モジュールの２つのインスタンスが、領域下のシステム構成に存在する。システム構成への分散は、ユーザ管理型に設定される。ユーザは、ライブラリモジュールを修正し、グラフィックが提供され、ライブラリ複合ブロックが複数のエディションを有することを示す。
【０１８４】
コンテクスト（例えば、領域）に対応するディスプレイ上で、領域はまた、現在ではないインスタンスを有するとして印がつけられている。領域表示を拡大すると、２つのモジュールインスタンスは、現在ではないとして印がつけられている。ユーザは、領域を選択し、「現在にする」コマンドを選択する。ライブラリモジュールの現在のエディションを使用するインスタンスのドラフトが、作成される。ユーザは、ドラフトを公開してモジュールインスタンスの新しい現在のエディションを作成することができ、したがって、ディスプレイから「現在ではない」印付けを消失させることができる。前のライブラリモジュールエディションがシステムのどこにももはや使用されない場合、ライブラリモジュールに対応する複数のエディション指示物もまた、ディスプレイから消失し得る。
【０１８５】
１７．ユーザは、派生アイテムのコンテクストの派生アイテムを更新する。
【０１８６】
ライブラリは、ライブラリディスプレイＤＩＳＰ１およびＤＩＳＰ１から派生するライブラリディスプレイＤＩＳＰ２という、２つのアイテムを記憶する。ユーザは、ＤＩＳＰ１を変更して文字列フィールドを追加し、ＤＩＳＰ１を公開し、ＤＩＳＰ１を分散する。したがって、ＤＩＳＰ２は、文字列フィールドを用いて自動的に更新される。
【０１８７】
同様に、ライブラリは、ライブラリデバイス型ＶＡＬＶＥに関連付けられるフェースプレートを有し得るライブラリデバイス型ＶＡＬＶＥを記憶する。ライブラリはまた、ＶＡＬＶＥから派生するライブラリデバイス型ＤＶＣを記憶し得、ＶＡＬＶＥによって使用されるフェースプレートへの追加の情報を含む。加えて、ライブラリは、アプリケーション固有ライブラリデバイス型ＭｆｃｔｒＤＶＣを記憶し、これは、次に、ＤＶＣのためのフェースプレートへの情報をより更に追加する。ユーザがＶＡＬＶＥのためのパラメータ値を変更すると、パラメータ値は、ＤＶＣおよびＭｆｃｔｒＤＶＣがパラメータ値を上書きしないときＤＶＣおよびＭｆｃｔｒＤＶＣの両方において自動的に更新される。
【０１８８】
上記への継起として、ユーザは、アプリケーション固有デバイス型ＭｆｃｔｒＤＶＣ−ＣｒｉｔｉｃａｌＳｅｒｖｉｃｅを、このデバイス型をＭｆｃｔｒＤＶＣデバイス型から派生することにより、作成する。そうすることによって、ユーザは、パラメータのうちの１つを上書きする。この継起のシナリオでは、ユーザがＶＡＬＶＥにおいて同じパラメータの値を変更すると、ＤＶＣおよびＭｆｃｔｒＤＶＣがパラメータ値を上書きしないため、パラメータ値は、ＤＶＣおよびＭｆｃｔｒＤＶＣにおいて自動的に更新される。しかしながら、ユーザがパラメータ値を上書きしたため、パラメータ値は、ＭｆｃｔｒＤＶＣ−ＣｒｉｔｉｃａｌＳｅｒｖｉｃｅにおいて変更されない。
【０１８９】
したがって、一実施形態では、システム構成アイテムのための分散ポリシー設定にかかわらず、他のアイテムから派生するライブラリアイテムは、親ライブラリアイテムが変化すると、常時更新される。しかしながら、競合が原因で、親ライブラリアイテムの現在のエディションは、構造変更を有する派生ライブラリアイテムに自動的に伝達されない場合がある。ユーザがこの課題を訂正した後に、ユーザは、派生ライブラリアイテムを手動で更新できる。
【０１９０】
１８．ユーザは、規則違反をもたらす使用量を更新する。
【０１９１】
このシナリオでは、システム構成オブジェクトへの分散が自動型に設定される。しかしながら、ライブラリアイテムに行われた変更を分散することは、規則（例えば、データベース規則）が違反される場合、子システム構成インスタンスのうちのいくつかまたは全てを更新できない場合がある。この相違は、分散が後の公開のステップに結合されると、ライブラリアイテムを保存するとき、ユーザにとって明白でない場合がある。実際に、新しいエディションは、相違が発見される前に他のリンクアイテムによってすでに使用されている場合がある。この状況では、ユーザは、ライブラリアイテムを編集して相違を訂正でき、したがって、規則違反なしに全てのインスタンスのために使用可能であるライブラリアイテムの新しい現在のエディションを生成する。
【０１９２】
実例を示すと、新しい使用量を有する新しいエディションへの更新は、インスタンスに追加された使用量の名前と競合する。例えば、ライブラリは、ＵＳＡＧＥ１と名前付けされた使用量を有するライブラリモジュールＬＭを記憶する。ライブラリモジュールＬＭのシステム構成インスタンスＭＡおよびＭＢは、領域ＡｒｅａＡに存在する。ユーザは、次いで、使用量ＵＳＡＧＥ２をインスタンスＭＡに追加する。
【０１９３】
ユーザは、使用量ＵＳＡＧＥ２をライブラリモジュールＬＭに追加し、ライブラリモジュールＬＭを公開し、それを分散する。インスタンスＭＡがすでに使用量ＵＳＡＧＥ２を有するため、インスタンスＭＡは、現在ではなく残り、「現在ではない」指示物がインスタンスＭＡに対応する。しかしながら、インスタンスＭＢは、そのような使用量を有せず、成功裡に更新される。
【０１９４】
１９．ユーザは、ユーザ管理型から自動型システム構成分散に切り替えた後に、ライブラリアイテムを保存する。
【０１９５】
このシナリオでは、ライブラリアイテムは、複数のディスプレイによって使用される。他のディスプレイが前のエディションを使用している一方で、１つのディスプレイは、現在のエディションを使用している。ユーザは、ユーザ管理型から自動型分散に切り替える。ユーザ管理型から自動型分散に分散を変更することは、ディスプレイに影響しない。
【０１９６】
システム構成分散設定が自動型に設定されると、ユーザは、ライブラリアイテムを修正する。したがって、ライブラリアイテムの全てのインスタンスは、現在の修正されたエディションを使用するように更新される。システム構成インスタンスの全てが更新されるため、ライブラリアイテムのより古いエディションは、もはや参照されず、自動的に削除され得る。ライブラリアイテムのためのアイコンが変化して１つのエディションのみが存在することを示す。
【０１９７】
２０．ユーザは、ライブラリアイテムの現在のエディションを使用していないインスタンスをダウンロードする。
【０１９８】
ユーザは、プロセス要素に、ライブラリアイテムの現在のエディションを使用していないシステム構成インスタンスをダウンロードし得る。ダウンロード要求は、ダウンロード警告がディスプレイされる結果となり得る。
【０１９９】
２１．ユーザは、ライブラリアイテムの現在のエディションを使用していない使用量を有するオブジェクトをダウンロードする。
【０２００】
ユーザは、プロセス要素に、ライブラリアイテムの使用量の現在のエディションを含まないシステム構成インスタンスをダウンロードし得る。ダウンロード要求は、ダウンロード警告がディスプレイされる結果となり得る。
【０２０１】
２２．ユーザは、ライブラリアイテムを包含するファイルをインポートする。
【０２０２】
このシナリオでは、ユーザは、ファイルをインポートし、そのファイルのアイテムのリストをユーザに提示する。ユーザは、各アイテムに対してインポートビヘイビア（読み飛ばし、上書き等）から選択し得る。
【０２０３】
上のシナリオ例が示すように、ユーザは、本明細書に説明される柔軟な構成技術、システム、および方法を用いて、少なくとも以下のアクションまたはコマンドを実施できる。
【０２０４】
編集−アイテムまたはオブジェクトを開き修正し得る。ユーザは、ドラフトまたはエディションを開くことができる。
【０２０５】
ドラフトとして保存する−開いた（およびおそらく修正した）アイテムをドラフトとして保存する。
【０２０６】
テスト−ドラフトオブジェクトをダウンロードまたはインスタンス化することなくドラフトオブジェクトを運用する。
【０２０７】
承認−公開のためにドラフトを承認する。
【０２０８】
公開−ドラフトを取りそれを現在のエディションに転化する。典型的に、公開することは、ドラフトを承認した後に実施される。
【０２０９】
生成−公開されたまたは現在のエディションからダウンロードまたはランタイムエディションを生成する。
【０２１０】
送信−エディションをランタイムに送信する。
【０２１１】
ダウンロード−ダウンロードエディションをランタイムに送信する送信コマンドの実施形態である。典型的に、ダウンロードは、システム構成アイテムのコンテクストで実施される。
【０２１２】
分散／伝達／更新−特定のオブジェクトエディションに行われた修正を有する別のリンクオブジェクトを更新することである。特定のオブジェクトへの修正の更新、分散または伝達は、例えば、子オブジェクトおよび／または親オブジェクト等の複数の他のリンクオブジェクトの更新をもたらし得る。
【０２１３】
ライブラリからの更新−ライブラリオブジェクトから派生した子オブジェクトへのライブラリオブジェクトエディションへの修正を更新（例えば、分散または伝達）する。ライブラリオブジェクトの更新または伝達は、リンクした子の複数のレベルの更新をもたらし得る。したがって、ユーザは、例えば、ライブラリアイテムの現在のエディションからインスタンスまたは派生アイテム使用を生成し得る。
【０２１４】
削除−記憶装置からオブジェクトまたはアイテムを削除する。
【０２１５】
検証−エラーに関してアイテムまたはオブジェクトを検査する。ドラフトおよびエディションの両方が検証される。
【０２１６】
差異−オブジェクトまたはアイテムの種々のエディション間の差異を決定する。
【０２１７】
参照−アイテムまたはオブジェクトと関連付けられる参照を決定する。
【０２１８】
いくつかの実施形態では、上のアクションまたはコマンドのうちの１つ以上は、非表示にされ得るかまたはエンドユーザに利用不可であり得る。例えば、生成および送信コマンドは、ダウンロードコマンドに組み合わされてもよいか、またはユーザは、ユーザが適切な権限を有しない限りアイテムを削除することが許可されない場合がある。
【０２１９】
一実施形態では、ユーザは、アイテムまたはオブジェクトのためにドラフトと現在の公開されたエディションとダウンロードエディションとの間の任意の差異を示すように、柔軟な構成システムを要求することができる。例えば、ユーザは、ドラフトと現在の公開されたエディションとの間、ドラフトとバージョン制御の任意のエディションとの間、ドラフトとダウンロードエディションとの間、２つの異なるドラフトの間、２つの異なる現在のエディションの間、現在のエディションとダウンロードエディションとの間、および他の組み合わせ間、の差異を見るように要求してもよい。
【０２２０】
一実施形態では、ユーザは、直接リンクされた子オブジェクトが、特定のオブジェクトの現在のエディションを使用しているかどうかにかかわらず、特定のオブジェクトの全ての直接リンクされた子を表示するように、構成システムに要求することができる。逆に、一実施形態では、ユーザは、子オブジェクトがその親オブジェクトの現在のエディションを使用しているかどうかを決定するように表示を要求することができる。
【０２２１】
パッケージ：
【０２２２】
いくつかの実施形態では、上に説明されたドラフト、公開、およびインスタンス化の技術は、オブジェクトのグループに適用されてもよい。オブジェクトのグループまたは複数のオブジェクトは、一般的に、「パッケージ」として本明細書に称される。一実施形態では、パッケージのメンバは、ユーザによって選択される。パッケージのメンバのうちの少なくともいくつかは、いくつかの場合では、製造業者またはプロバイダによって追加設定なし（ＯＯＢ）で提供される。
【０２２３】
例えば、ＯＯＢパッケージは、「スタータ」ライブラリアイテム（例えば、モジュール、複合物、ディスプレイ、デバイス等）のセットを含み得る。ユーザは、制御ループまたはプロセスモデル等のプロセス解決策を作成するようにアイテムのスタータコレクションから種々のアイテムを選択し得る。ユーザがカスタマイズされたオブジェクトをＯＯＢパッケージに追加した場合、ユーザは、スタータパッケージとは異なるパッケージとして、増補されたＯＯＢパッケージを指定してもよい。
【０２２４】
別の実例のパッケージは、例えば、ボイラーパッケージまたは反応装置パッケージ等の固有のプロセス問題を解決するように適合される構成実装を含んでもよい。そのようなパッケージは、典型的に、制御問題を処理する完全な解決策として使用され、「解決策パッケージ」等として本明細書に称される。一実施形態では、解決策パッケージは、ユーザがパッケージのインスタンスを生成するとき適用される任意のインスタンス化規則を含む。例えば、ボイラーパッケージがインスタンス化されると、規則は、パッケージの全てのアイテムが、文字列置換を用いて、名前付け規約に従ってどのように名前付けされるかを記述できる。
【０２２５】
アイテムまたはオブジェクトと同様に、１つ以上のドラフトは、現在のパッケージのために作成または編集されてもよい。ドラフトのパッケージは、エディションに公開され得、エディションは、インスタンス化のために選択され得る。一実施形態では、ユーザがパッケージの新しいエディションを保存したいと考えると、新しいエディションは、前のエディションを置き換え得るか、または新しいエディションは、前のエディションと同時に記憶され得る。
【０２２６】
パッケージドラフト、パッケージ公開、およびパッケージインスタンス化のこれらの技術は、ユーザに柔軟性の更に別のレベルを提供する。例示的（だが非限定的な）シナリオでは、ライブラリパッケージが、作成され、パッケージの第１のドラフトとして記憶される。例えば、ライブラリパッケージは、ボイラーまたは反応装置のテンプレート構成に対応する。パッケージの第１のドラフトは、公開され、第１のエディションとして記憶され、プロセスプラントまたはシステムにインスタンス化される。第１のエディションは、続いて修正され（例えば、課題を訂正し、および／またはボイラーまたは反応装置に機能性を追加する）、続いてパッケージの第２のエディションとして公開される。パッケージの第２のエディションをインスタンス化するユーザ指示を受け取った時点で、パッケージの第１のバージョンから更新されるパッケージの第２のエディションに含まれるアイテムのみが、インスタンス化される。更に、ユーザは、ロジスティクス、性能、帯域幅、および／または他の制約による必要に応じて、種々の更新アイテムのインスタンス化のタイミングを示し得る。第２のエディションの使用が、何らかの理由のために終了する必要がある場合、第１のエディションは、プロセスプラントまたはシステムに再インスタンス化され得る。
【０２２７】
グラフィカルまたはディスプレイアイテムまたはオブジェクト：
【０２２８】
ここで、柔軟なグラフィカルまたはディスプレイアイテムまたはオブジェクトの考察をすると、一般的に本明細書に参照されるとき、「ディスプレイ」は、個別に開かれ得、ランタイム時にオペレータによって表示され得るグラフィカルエンティティ（例えば、最も粒度の細かいエンティティ）である。典型的に、柔軟なグラフィカルまたはディスプレイアイテムまたはオブジェクトは、他のグラフィカルオブジェクトから構成され、オブジェクトライブラリまたはシステム構成データ記憶エンティティに記憶され得る。ディスプレイは、プロセス要素のランタイム中、実行のために公開されたエディションをダウンロードすることによってインスタンス化され得るか、またはオペレータが構築される特定のディスプレイ表示を要求する際等のリアルタイムにインスタンス化され得る。柔軟なグラフィカルアイテムまたはオブジェクトによって定義され得るディスプレイの種類は、例えば、以下のものを含む。
【０２２９】
１）動作ディスプレイ：動作ディスプレイは、一般的に、プロセスへのウィンドウまたはプロセスの表現を、それがプロセスプラントにおいて実行されつつ、提供する。典型的に、ディスプレイ表示は、ＧＥＭおよび他のライブラリおよび／またはシステム構成オブジェクトから構成され、ローカルまたはリモートユーザインターフェース上にインスタンス化され得る。
【０２３０】
２）ダッシュボードディスプレイ：ダッシュボードディスプレイは、オペレータおよびプラント職員に重要な指標を提供する。ダッシュボードディスプレイは、ライブラリおよび／またはシステム構成オブジェクトから構成され得、ローカルまたはリモートユーザインターフェース上にインスタンス化され得る。いくつかの実施形態では、ダッシュボードディスプレイ上に含まれる限定された性能、特長、またはグラフィックは、ランタイムにオペレータによって構成およびインスタンス化され得る。ダッシュボードディスプレイ上に含まれる性能、特長、およびグラフィック要素および形状は、一般的に、「ガジェット」として本明細書に称される。一般的に言うと、ガジェットは、ランタイムに利用可能であると印がついているＧＥＭであり、ダッシュボードディスプレイ上に置かれ得る。したがって、本明細書で使用されるとき、「ＧＥＭ」という用語は、総称的に、ガジェットであるＧＥＭおよびガジェットではないＧＥＭの両方を指す。ダッシュボードおよびガジェットの例は、２０１２年１０月８日に出願された、「Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｕｓｅｒ  Ｄｉｓｐｌａｙｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ」と題した同時係属中の米国仮特許出願第６１／７１１，１０５号に提供され、その全内容が参照により本明細書に組み込まれる。
【０２３１】
３）レイアウトディスプレイ：レイアウトディスプレイは、ユーザがその上の他のディスプレイを編成できるようにユーザインターフェース上に区域または領域を提供する。レイアウトディスプレイを用いて、ユーザは、単一のモニタスクリーン上またはいくつかのモニタスクリーンにわたってディスプレイの配置を作成できる。
【０２３２】
４）フォームディスプレイ：フォームディスプレイは、構成またはランタイム中、データ入力のためのユーザインターフェースを提供する。ユーザは、フォームディスプレイを利用して、オブジェクトを作成または修正し、構成またはランタイムデータを入力し、値を入力し、一般的にディスプレイアイテムおよびオブジェクトを操作し得る。
【０２３３】
ディスプレイは、典型的に、１つ以上の表示を包含し、そのうちの各々は、ディスプレイの異なるビジュアル表現である。ディスプレイの各表示は、形状（例えば、矩形、楕円、および他の形状）および／または制御（例えば、ラベルまたはテキストボックス）を包含し得、オブジェクトライブラリに記憶されるかまたはシステム構成データ記憶エンティティに記憶されるように対応するオブジェクトを有し得る。矩形、テキストボックス、またはスタックパネル等のいくつかの形状は、構成システムに構築され記憶され得る（例えば、コンパイルされシステムに登録される）。他の形状は、ユーザによって作成され得、対応する形状オブジェクトは、オブジェクトライブラリに記憶され得るか、またはシステム構成ＧＥＭまたはガジェットとして記憶され得る。
【０２３４】
前に論じたように、ＧＥＭまたはガジェットは、１つ以上の形状をビヘイビアと組み合わせる再使用可能な形状である。ＧＥＭおよびガジェットは、ユーザによって作成、エディションに公開、ライブラリまたはシステム構成等のオブジェクトとして構成システムに記憶され得る。ＧＥＭは、他のオブジェクトにリンクされ得、ＧＥＭオブジェクトへの後続の変更は、例えば、前述のような方法で、他のＧＥＭおよびディスプレイのＧＥＭの全ての使用に伝達され得る。一実施形態では、（いくつかの場合では、顧客の特定の業界に対応する）追加設定なし（ＯＯＢ）形状、ＧＥＭ、ガジェットおよびディスプレイは、例えば、プリミティブオブジェクトのセットまたはオブジェクトの「スタータセット」として、構成システムのライブラリに提供される。
【０２３５】
ディスプレイと同様に、ＧＥＭは、１つ以上のビジュアル表現または表示を包含し得る。ＧＥＭ表示のうちの各々は、１つ以上の組み込みおよび／または作成された形状を含む。図１２は、例示的なＶａｌｖｅ  ＧＥＭの３つの可能な異なる図、すなわち、垂直図１０６０ａ、水平図１０６０ｂ、および別の垂直図１０６０ｃを示す。ＧＥＭの図を使用して、詳細の異なるレベル、形状の配置を提示、またはＧＥＭに関係する情報の異なる焦点を提示できる。
【０２３６】
比較的静的な形状および表示に追加して、ディスプレイ、ＧＥＭ、またはガジェットはまた、オペレータがプロセスデータを見て、プロセスデータを通じて移動するか、またはプロセスデータを変更することができるように動的ビヘイビアを包含し得る。動的ビヘイビアは、その両方が以下に考察される、例えば、アニメーションおよびイベント処理を含み得る。
【０２３７】
アニメーションは、テキストまたはグラフィカル形式でプロセスデータを示すために、プロセスプラント内の情報源からディスプレイ上の種々の形状にプロセスデータをマップする。アニメーションの結果は、情報源のフィールド値が変化するとアニメーションが変化するように、形状のフィールド（例えば、文字列フィールドまたは可視性フィールド）に適用され得る。したがって、アニメーションは、生プロセスデータを意味のあるビジュアル提示に変換するために、プロセスデータが関数（例えば、数学関数）によって操作されることを可能にする。例えば、アニメーションは、タンクレベルのために矩形の塗りつぶしパーセンテージを示すように矩形形状に適用され得るか、または、アニメーションは、テキスト形式で塗りつぶしパーセンテージ値を表示するようにテキスト形状に適用され得る。
【０２３８】
イベントハンドラは、マウスクリック、キーボード動作、およびアクセラレータキー移動等のイベントに対して定義された応答を実施するように構成される。定義された応答は、例えば、別のディスプレイへの移動、アラームの認識、プロセス設定点の変更、データ入力、および他のそのようなアクションであり得る。
【０２３９】
ＧＥＭが複数のビジュアル表現または表示に含まれ得るため、ＧＥＭと関連付けられるアニメーションおよびイベントハンドラは、データの異なる方向性または表現を提供するように、一度作成され得、種々の表示において再使用され得る。したがって、その種々の表示のうちの各々のためにＧＥＭを作成およびＧＥＭ使用量を修正するために必要とされるカスタムコードの量が、減少され得る。
【０２４０】
多くのオブジェクトおよび情報源にわたってＧＥＭを再使用可能にするために、一実施形態では、アニメーションおよびイベントハンドラ経路は、プレースホルダで部分的にまたは完全にトークン化される。プレースホルダ値の値は、ＧＥＭの固有の使用量を構成する際に提供され得るか、またはプレースホルダ値は、ランタイムにプログラムで設定され得る。アニメーションおよびイベントハンドラは、プレースホルダを参照し得、よって、プレースホルダの値が、ランタイムに参照において置換され指定オブジェクトへの経路を解読する。加えて、ＧＥＭと同様に、ディスプレイはまた、プレースホルダを支持し得、よって、ディスプレイは、再使用可能になり得る。ディスプレイインスタンスは、種々のプレースホルダ（複数可）のために値を提供することによって、構成の一部として作成され得るかまたはランタイムに動的に作成され得る。
【０２４１】
いくつかの実施形態では、情報の再使用および共有は、グローバルセットを用いることによって確定される。グローバルセットは、構成設計者が、例えば、クライアントであるＨｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ（ＨＭＩ）セッションの存続期間について、多くの非関連のディスプレイおよびＧＥＭにわたって共有される状態およびビヘイビアを構成できるようにする。グローバルセットのアイテムは、参照され得、任意のディスプレイまたはＧＥＭによって使用され得、したがって、多くのアイテム間での再使用および共有を可能にする。一実施形態では、グローバルセットの各アイテムは、グローバルセットに対応するオブジェクトにリンクされるオブジェクトに記憶される。
【０２４２】
いくつかの実施形態では、情報の再使用および共有は、スタイルおよび／またはスタイルセットを用いることによって生じる。スタイルは、フィールド名および値ペアのコレクションであり、スタイルセットは、スタイルのコレクションである。一実施形態では、全ての形状は、スタイルを支持する。形状が、ユーザによってディスプレイまたはＧＥＭの表示に追加されると、スタイルフィールドは、スタイルセットの所望のスタイルに設定され得る。結果的に、追加された形状は、各フィールドのためのスタイルに定義される値を使用する。スタイルおよびスタイルセットは、それぞれのオブジェクトによって構成システムに表され得る。
【０２４３】
いくつかの実施形態では、名前付けされた定数は、名前値ペアを作成する際にユーザ柔軟性を可能にする。例えば、グラフィック要素オブジェクト内のフィールドは、ＴｉｔｌｅＦｏｎｔまたはＴａｎｋＢｏｄｙＣｏｌｏｒ等、値として名前付けされた定数を割り当てられる。名前定数は、プロジェクト標準が作成されフィールド値に割り当てられることを可能にする。プロジェクト標準が変更された場合、名前付けされた定数値は、１つの中央の場所において更新され得る。名前付けされた定数は、例えば、名前、タイトル、説明、およびデータ型を含み得る。任意のフィールド値は、形状使用量上のフィールド、アニメーション、変換器、テーブル、グローバルセット、およびスタイル等の、値または名前付けされた定数に設定され得る。
【０２４４】
パターン：
【０２４５】
ディスプレイオブジェクトは、使用量パターンまたは派生パターン等の１つ以上のパターンによって互いにおよび他のオブジェクトに関連し得る。追加的または代替的に、構成オブジェクトは、１つ以上のパターンによって互いにおよび他のオブジェクトに関連し得る。パターンの異なる種類の使用は、相互に排他的である必要はない。例えば、いくつかのパターンの種々の態様は、組み合わされてもよい。
【０２４６】
使用量パターンは、一般的に、定義に基づくオブジェクトの包含またはグループ化である。図１３は、定義使用量設計パターンの実例の図を示す。使用量パターンを用いると、グラフィカルオブジェクト１０６２ａの定義は、１つ以上の他のグラフィカルアイテム１０６２ｃの１つ以上の使用量１０６２ｂを含む。インスタンス化されたとき、これらの使用量１０６２ｂは、ディスプレイの表示上に提示されるグラフィカルオブジェクト１０６２ａによって定義されるグラフィカル形状を表す。各使用量１０６２ｂは、フィールド、イベント、およびビヘイビア等の内部アイテムのために既定値を含む定義を有し得る。一実施形態では、そのような内部アイテムが、構成され得る。
【０２４７】
定義使用量パターンは、所望の場合、入れ子状態の複数のレベルであってもよい。図１４は、実例の入れ子状態の定義使用量設計パターンのためのクラス図を示す。例えば、ディスプレイは、別のＧＥＭまたは形状を包含できるＧＥＭを包含できる。
【０２４８】
図１５は、抽象化された入れ子状態の定義使用量の実例を示す。図１５では、使用量Ｃ１（参照１０６５ａ）は、使用量Ｂ１（参照１０６５ｂ）の定義に基づく。ユーザは、別の使用量から１つ以上の内部アイテムを修正（例えば、上書きまたは微調整）し得る。例えば、図１５では、使用量Ｃ１（参照１０６５ｃ）への変更は、微調整である。
【０２４９】
オブジェクトが関連され得る別のパターンは、派生パターンである。実例の派生パターンの図は、図１６に示される。派生パターンは、（上に考察される定義使用量パターンの場合のように）集約を用いることなく、定義が広げられることを可能にする。特に、派生パターンは、階層の別のレベルを作成することなく、新しい定義１０６８ａの作成を可能にする。したがって、「基礎となる」定義１０６８ａの全ての内部アイテムは、派生定義１０６８ｂに含まれる。
【０２５０】
派生パターンは、入れ子状態の複数のレベルであり得、例えば、派生定義は、最終的に非派生定義に基づき得る別の派生定義に基づき得る。入れ子状態のレベルの任意の所望の数が、可能であり得る。図１７は、非派生定義（図示されず）から作成された第２の派生定義１０７０ｃから作成された第１の派生定義１０７０ｂから作成される新しい定義１０７０ａの入れ子状態の派生パターンの実例を示す。
【０２５１】
柔軟なアイテムおよびオブジェクト：
【０２５２】
前に論じたように、オブジェクトは、構成システムにおいて柔軟に定義および使用され得る。一実施形態では、柔軟なオブジェクトは、順に別のオブジェクトによって定義され得る、１つ以上の内部アイテムを含み得る。構成システムに含まれ得る柔軟なアイテム、オブジェクト、および内部アイテムの説明が、続く。これらの説明が、グラフィカルまたはディスプレイオブジェクトのコンテクストに提示され、本明細書に考察される概念および属性もまた構成オブジェクトに適用される。
【０２５３】
フィールドは、所定のオブジェクトの状態または属性を表す内部アイテムである。例えば、矩形サイズは、幅フィールドおよび高さフィールドに記憶される。各フィールドは、名前および値を有し得る。一実施形態では、フィールドと関連付けられる追加のメタデータは、フィールドがアニメ化され得るかどうか、フィールドが読み取り専用かどうか、およびフィールドのデータ型等のフィールドの他の属性を示す。メタデータは、例えば、所定のオブジェクトの構成において使用され得る。フィールドの値は、文字列等の単純なデータ型であり得るか、またはライブラリオブジェクト、形状オブジェクト、またはプロセス要素オブジェクト等の別のオブジェクトへの参照であり得る。一実施形態では、フィールドの値は、ユーザによって修正または上書きされ得る。
【０２５４】
プレースホルダは、定義されたアイテムが複数の他のオブジェクトにわたって使用されることを可能にする生成された内部アイテムである。例えば、ディスプレイオブジェクトについては、プレースホルダは、アニメーションおよびイベントハンドラが種々のグラフィックまたはディスプレイオブジェクトおよび情報源経路にわたって生成および再使用されることを可能にするグラフィックアイテムであり得る。したがって、プレースホルダは、あるレベルの間接参照を提供し、ランタイムに値で解読される。いくつかの実施形態では、プレースホルダは、入れ子状態であり得る。
【０２５５】
パラメータは、フィールドの状態または属性を表す内部アイテムである。例えば、ディスプレイおよびグラフィカルオブジェクトについては、パラメータは、値および状態を有するグラフィックアイテムであり得る。パラメータは、ＧＥＭ、ガジェット、ディスプレイ、およびダッシュボード、レイアウトおよび形式、グローバルセット等のグラフィックアイテムに追加されてもよい。パラメータは、典型的に、ランタイム中、可視ではない。しかしながら、パラメータは、値を参照する式を作成することによって（アニメーション等の）ランタイム中オブジェクトの可視態様に影響し得る。ユーザは、オブジェクトにパラメータを追加し得るが、いくつかの実施形態では、ユーザは、特定のライブラリアイテムまたはプリミティブオブジェクトにパラメータを追加することが可能でない場合がある。
【０２５６】
関数は、指定オブジェクトに対してビヘイビアを提供する内部アイテムである。例えば、ディスプレイおよびグラフィカルオブジェクトを用いて、関数は、グループまたはグローバルセットから提供されるグラフィックアイテムまたは一般的なビヘイビアであり得る。例えば、グループのビジュアルアイテムは、ＡｄｄＳｈａｐｅ（）関数を提供し得るか、またはグローバルセットは、ＯｐｅｎＤｉｓｐｌａｙ（）関数を提供し得る。いくつかの関数は、組み込まれ得、したがって、ユーザによって修正可能ではない場合がある。他の関数は、ユーザによって作成され得る。一実施形態では、関数は、プログラミングＡＰＩまたはスクリプトを介してランタイム中に実行され得る。加えて、関数は、例えば、定数、フィールドの値、別のオブジェクトへの参照、またはパラメータへの参照等の１つ以上の引数を取り得る。関数は、いくつかのインスタンスでは、例えば、定数、フィールドの値、別のオブジェクトへの参照、またはパラメータへの参照等の値を返し得る。
【０２５７】
アニメーションは、情報源またはオブジェクトから内部アイテムのフィールドにデータをマップする内部アイテムである。例えば、ディスプレイまたはグラフィックオブジェクトについては、アニメーションは、矩形のＦｉｌｌＰｅｒｃｅｎｔフィールドまたはＬａｂｅｌのＴｅｘｔプロパティにデータをマップし得る。アニメーションは、式の参照された値が変化すると再評価および／または再計算される式を含む。加えて、アニメーションは、例えば、再計算された式の結果で更新される親オブジェクト上のフィールド等の対象とするフィールドと関連付けられる。したがって、ランタイムに、アニメーションの計算された値が変化すると、対象とするフィールドが再計算された値で更新され、したがって、スクリーンレンダリングを変更させる。一実施形態では、アニメーションは、更新頻度を含み、式結果を変換する変換器を含み得る。
【０２５８】
変換器は、アニメーションの式結果を最終アニメーション結果に変換する内部アイテムである。例えば、変換は、式の再計算された値（結果）、結果のデータ型またはフォーマット、結果およびデータ型の両方を変更し得るか、または変換は、式の結果上の変換のいくつかの他の型を実施し得る。各変換器の型は、ユーザによって構成され得る指定のフィールドを含んでもよい。
【０２５９】
イベントは、アクションおよび応答を定義するオブジェクトの内部アイテムである。イベントの定義は、典型的に、ユーザクリック、マウス移動、マウスホバー、またはデータ変更等のイベントトリガを含む。必要に応じて、イベントはまた、トリガが起動されるときに１つ以上の応答関数またはビヘイビアを実行するイベントハンドラで定義される。イベントハンドラは、ユーザによって構成され得るか、事前構成された定義上にＯＯＢビヘイビアとして提供され得るか、または指定の形状上に組み込み型ビヘイビアとして提供され得る。指定のイベントのためにイベントハンドラを追加することは、顧客が指定のトリガに基づいてビヘイビアを作成することを可能にする。
【０２６０】
各イベントトリガは、１つ以上の指定引数を支持し得る。一般的に、イベントトリガは、イベントトリガを起動したオブジェクトを示す送信元引数を含む。加えて、イベントトリガは、起動時に送信される情報等のイベントの種類に対して適切であるオプションの引数を含み得る。マウス移動トリガが、マウス移動トリガが起動されるとき送信される送信元引数およびマウス場所座標（例えば、Ｘ、Ｙ）を有し得るのに対して、例えば、マウスクリックトリガは、送信元引数のみを有し得る。いくつかの場合では、イベントは、ユーザアクションに基づいては起動されないが、オブジェクトのフィールド値またはシステム状態が、例えば、開始から定常状態に、変化するときには起動される。
【０２６１】
いくつかの実施形態では、イベントハンドラは、イベントトリガのために構成される。これらの実施形態では、イベントハンドラは、イベントトリガが起動され、トリガ起動に応答して１つ以上の関数を実行するとき、呼び出される。一実施形態では、ユーザは、利用可能な関数（例えば、ディスプレイ、ウィンドウまたはグローバルセットに利用可能な関数）と一緒に実行されるカスタムビヘイビアまたはロジックを含むようにイベントハンドラを定義する。
【０２６２】
テーブルは、入力値および出力結果を有する１つ以上のデータ構造を含む内部アイテムである。一実施形態では、テーブルは、１つのデータ型から別のものに入力値を変換するテーブル変換器と共に使用され得る。例えば、グラフィックオブジェクトについては、テーブル使用量は、プロセス値を色に変換すること、またはプロセス値を文字列に変換することを含み得る。したがって、テーブルは、非プログラム的な方法を提供して入力値の範囲のための結果を構成する。テーブルは、入力値の完全一致上または入力値の範囲上で動作し得る。
【０２６３】
形状オブジェクトは、複合のビジュアル表現およびＧＥＭおよびディスプレイ等の特殊化されたビジュアルアイテムを生成するように一緒に組み合され得る基本の生成されたビジュアル構築ブロックである。いくつかの形状オブジェクトは、組み込まれ得（例えば、構成システムと共に実行可能ファイルがインストールされたＯＯＢを有する）、プリミティブ形状として本明細書に称される。プリミティブ形状は、幾何学形状（例えば、矩形、線、楕円）、他の形状が中に配置され得るコンテナ（例えば、グループ、パネル、グリッド）、制御（例えば、テキストボックス、ドロップダウンコンボボックス、またはバッチリストコントロール、トレンド）等のいくつかの分類のうちの１つに属し得る。
【０２６４】
各形状（プリミティブかどうか）は、定義を有する。定義は、例えば、１つ以上のフィールド、アニメーション、イベントトリガを有するイベント、ハンドラ、および／または接続点を含み得る。一実施形態では、形状は、スタイルフィールドを支持し得る。典型的に、大部分の形状は、構成可能かつ修正可能である。例えば、矩形は、構成システムの組み込みとして提供され、ユーザは、フィールド値を設定すること、およびイベントもしくはアニメーションを矩形使用量に追加することによって、矩形オブジェクトを修正し得る。ユーザは、次いで、新しいオブジェクトとして修正された矩形形状を保存し得、承認の後にそれを公開し得る。
【０２６５】
図１８は、矩形の定義１０７８に基づいて作成された形状使用量Ｒｅｃｔ１（参照１０７５）の実例を示す。ユーザは、矩形定義値の既定値から幅１０８０ａフィールドおよび高さ１０８０ｂフィールドの値を修正した。加えて、ユーザは、幅フィールドを対象とするアニメーション１０８２ａを追加し、値を適切に計測するために範囲変換器１０８２ｂを追加した。ユーザはまた、クリックイベント１０８５ｂのために使用量１０７５上にイベントハンドラ１０８５ａを追加し、イベントハンドラは、ＯｐｅｎＤｉｓｐｌａｙ（）関数を呼び出すように構成された。一実施形態では、具体的に上書きされるフィールド（例えば、１０８０ａ、１０８０ｂ）のみが、存続される。つまり、形状使用量１０７５は、定義１０７８に戻ってリンクし、その値が上書きされていない任意のフィールドは、定義１０７８（または、いくつかの場合ではスタイル）から来ている。例えば、矩形定義１０７８の前景ブラシがブルーからグレイに変更された場合、前景ブラシ（例えば、使用量Ｒｅｃｔ１  １０７５）を上書きしない任意の使用量は、変更が矩形定義１０７８エディションから伝達された後に、ブルー前景ブラシを有する。
【０２６６】
幾何学形状定義に関して、グループ形状は、いくつかの形状が可視性、サイズ変更、配置／配向、およびイベント等のアクションのための１つの形状として処理されることを可能にする。したがって、グループ形状は、それらのそれぞれの（Ｘ、Ｙ）座標配向を相対的に維持する複数の形状のコピーである。グループのフィールドおよびイベントのビヘイビア、およびそれらが、グループ内の包含された形状のフィールドおよびイベントにどのように影響するかは、構成可能であり得る。例えば、ダイナモは、グループ形状の１つの種類である。
【０２６７】
パネル形状は、グループ形状に類似し得るが、包含された形状（例えば、サイズ、位置、配置等）のレンダリングに対するより具体的な制御を可能にし得る。パネル内のアイテムは、一般的に、パネルの指定領域に順序付けまたはドックされ、グループとは異なり、相対座標設定を有しない。パネルは、アイテムの正確な数が知られていないときにアイテムを制御する能力と、パネルまたは包含ウィンドウがサイズ変更されるとき各アイテムを個別に移動させずに、アイテムを視覚的に配置する能力と、をユーザに付与する。パネルはまた、空白スペースを除去し重複を回避するために、アイテムが、他のアイテムの位置を調整することによって追加、除去、またはパネル内に非表示にされるとき、ビヘイビアを提供する。
【０２６８】
コネクタ使用量は、ワイヤ、パイプ、ダクト、またはコンベヤ等のプロセスプラントの物理的リンク要素を表す。構成中、接続点は、形状使用量への接続使用量の接続の指示を示す。コネクタ使用量は、構成中に形状使用量が移動されると、コネクタが追跡し経路制御しサイズ変更することを可能にする。特に、コネクタは、その定義されたアルゴリズムおよび設定に従って辿り経路制御する。したがって、コネクタは、ディスプレイ上に他のディスプレイオブジェクトを一緒にリンクする形状であり、それぞれのプロパティおよびビヘイビアによって定義される。ディスプレイ上に置かれ接続されたとき、コネクタは、異なる形状使用量の周りを経路制御できる。構成ユーザは、コネクタの配置または経路制御を修正、既定ビジュアルを定義、および／またはコネクタ使用量の接続点を修正できる。
【０２６９】
層は、現在のタスクを妨害し得るか、または形状使用量の不注意な修正を阻止し得る形状を非表示にすることおよびロックすることによって、ユーザの編集経験を整理し向上させるように、構成時に使用され得るディスプレイオブジェクトの別の種類である。層は、形状使用量を編成しディスプレイ定義および／またはＧＥＭ表示定義の構成において補助するための方法を提供する。層はまた、形状を編成してヘルプ、保守、または診断層のような詳細を示すことおよび非表示にすること等のランタイム特長を提供するために使用され得る。
【０２７０】
特に、表示は、１つ以上の層を有し得る。表示内の形状は、特定の層に関連付けられ得る（例えば、形状オブジェクトおよび層オブジェクトはリンクされ得る）。特定の層は、構成のみかまたは構成およびランタイムの両方として設計され得る。層は、可視または非表示にすることができる。層は、不注意な選択または修正を阻止するようにロックおよびロック解除されることができる。層の可視性が変更されると、値は、包含されるＧＥＭ使用量上の名前によって合致する全ての層に再帰的に伝達することができる。例えば、「ヘルプ」層上の可視性は、ヘルプ層に関連付けられる任意のＧＥＭ使用量に適用される。
【０２７１】
ユーザ作成したアイテムおよびオブジェクト：
【０２７２】
上に論じられた柔軟なオブジェクトのうちの少なくともいくつかは、例えば以下のようにユーザによって作成され得る。
【０２７３】
ディスプレイ−例えば、ユーザがランタイムに開くことができるビジュアルアイテムである。ディスプレイは、典型的に、動作プロセスの表示を表すか、またはプロセスの指定領域について詳細を提供する。
【０２７４】
ＧＥＭおよびガジェット−例えば、プロセス内のプロセス要素または他のエンティティを表す構成された形状であり、ディスプレイまたは他のＧＥＭ上に含まれ得る（例えば、置かれ得る）。例えば、デバイス、制御モジュール、ダイナモ、ディスプレイ表示、または他のプロセス要素は、ＧＥＭによって表され得る。ＧＥＭは、プラントまたはプロセス内のプロセスの機器または部分の同じ種類の異なるインスタンスを表すように再使用可能であるように構成され得る。したがって、ＧＥＭは、構成され一度テストされ得るが、他のＧＥＭおよびディスプレイで何度も使用され得る。典型的に、ＧＥＭは、名前、タイトル、説明、選択された表示、およびテーブル、イベント、パラメータおよび関数等の他のフィールドを含む。ＧＥＭは、例えば、他のＧＥＭまたはディスプレイ内に入れ子状態にされ得る。典型的に、ＧＥＭは、ＧＥＭの１つ以上の対応するビジュアル表現を提供する１つ以上の表示定義を有する。既定表示は、ＧＥＭのために提供され得、いくつかの実施形態では、ユーザは、既定表示を変更することができる場合がある。当然、ユーザは、ＧＥＭによって定義されるフィールドのうちのいずれかを変更することができる場合がある。
【０２７５】
一実施形態では、ガジェットは、ランタイムに利用可能であるＧＥＭであり、ダッシュボードディスプレイ上に置かれ得る。オペレータは、例えば、ランタイム中にガジェットを生成し修正できる場合がある。
【０２７６】
ＧＥＭ定義は、別のＧＥＭ定義から派生し得る。ＧＥＭが、別のＧＥＭから派生すると、派生ＧＥＭは、基礎となるＧＥＭからの全ての表示を含む。ユーザは、派生ＧＥＭのこれらの表示を修正し得るか、または追加の表示を派生ＧＥＭに追加し得る。追加の表示は、独立であり得るか、存在するＧＥＭ定義に定義される既存の表示から派生し得るか、または基礎となるＧＥＭ定義から作成され得る。
【０２７７】
一実施形態では、ＧＥＭがディスプレイの表示または別のＧＥＭの表示に置かれると、置かれたＧＥＭは、（矩形またはグループ等の組み込み形状使用量を追加することに類似の）形状使用量になる。しかしながら、置かれたＧＥＭは、それらのそれぞれの定義に戻ってリンクして残り、使用量への変更は、伝達設定および戦略に基づいて伝達される。
【０２７８】
一実施形態では、ＧＥＭ使用量を修正すること（例えば、サイズ変更すること）は、グループ使用量を修正することに類似している。加えて、ＧＥＭまたはガジェットは、構成設計者に提示される標準化されたまたは部分的に標準化された形式を用いることによって構成され得る。
【０２７９】
表示−例えば、ディスプレイまたはＧＥＭ内のビジュアル表現である。各ディスプレイまたはＧＥＭは、１つ以上の定義された表示を有し得る。ビジュアルまたはグラフィカルアイテム（例えば、形状および他のＧＥＭ）は、表示定義に追加され得る。表示は、独立であり得るか、または同じ親定義または基礎親定義内の別の表示から派生し得る。
【０２８０】
独立表示定義は、典型的に、形状、静的に構成されたフィールド値、アニメーション、およびイベントハンドラ等の、それらのコンテンツおよび情報全体を定義する。したがって、独立表示定義は、包含しているディスプレイまたはＧＥＭ定義内の任意の他の表示定義に基づかない。しかしながら、ディスプレイまたはＧＥＭ定義は、独立しており共通表示から派生しない複数の表示を有し得る。
【０２８１】
一方で、派生表示定義は、典型的に、同じコンテナ定義内の別の表示定義に基づく。コンテナ定義が派生すると、表示定義は、コンテナ定義の基礎となる定義の表示から派生し得る。例えば、ディスプレイＡは、表示Ａおよび表示Ｂを定義する。ディスプレイＢが、ディスプレイＡから派生すると、次いで、ディスプレイＢは、既定によって、表示Ａおよび表示Ｂを有するが、表示Ｂから派生するように表示Ｃもまた定義し得る。
【０２８２】
表示定義は、知られているフィールドのセットを含み得、ユーザがそれを構成し得るかまたはユーザがそれらのフィールドを対象とするアニメーションを追加し得る。表示定義はまた、ユーザがイベントハンドラを追加し得る、知られているトリガを有する１つ以上のイベントを含み得る。加えて、特定の表示定義は、例えば、基礎となる表示からの全ての使用量、ならびにこの特定の表示定義に追加された任意の形状使用量等の形状使用量を含む。表示は、表示定義内のアイテムが、独自に名前付けされるように、名前スペースを提供し得る。
【０２８３】
グローバルセット−例えば、非関連のディスプレイ、ガジェット、およびＧＥＭから参照され得る状態（例えば、値）およびビヘイビア（例えば、関数）を保持する構成されたアイテムである。一般的に、グローバルセットは、ランタイムに任意のビジュアル表現を有しないが、ランタイムに利用可能である。グローバルセットは、単体として印がついていてもよいか、またはグローバルセットは、オブジェクトのインスタンスまたはグループに対応してもよい。したがって、グローバルセットは、多くのオブジェクト間の情報を共有および再使用する方法を提供する。
【０２８４】
スタイルおよびスタイルセット−例えば、一定性を維持するように、１つの位置において変更および形状使用量のセットまたは他のビジュアルアイテムにわたって適用され得るフィールド名および値（例えば、フィールド／値ペア）のコレクションである。スタイルセットは、スタイルのコレクションであり、典型的に、名前、タイトル、説明、および可能性として他のフィールドを含む。一実施形態では、形状がスタイルセットを有するとき、スタイルのフィールドのための値は、フィールドが上書きされておらずかつアニメ化されていない場合、形状に適用される。スタイルセットは、エディション変更可能（ｅｄｉｔｉｏｎａｂｌｅ）およびバージョン変更可能（ｖｅｒｓｉｏｎａｂｌｅ）であり得る。
【０２８５】
したがって、上に論じたように、構成システムは、ビジュアルまたはグラフィックアイテムの堅牢なセットを支持し、その各々は、それぞれのオブジェクトによって定義される。ビジュアルまたはグラフィックアイテムのセットは、例えば、１つ以上のディスプレイ定義、ダッシュボード、レイアウト、ＧＥＭ定義、ガジェット定義、グローバルセット、組み込み形状定義、グループ定義、表示定義、形状使用量、グループ使用量、ダイナモ、ＧＥＭ使用量、ガジェット使用量、クローム使用量、区域使用量、パネル使用量、接続点、コネクタ、アニメーション、変換器、イベントトリガ、イベントハンドラ、位置ホルダ、パラメータ、関数、テーブル、名前セット、スタイル、および／またはスタイルセットを含んでもよい。ビジュアルまたはグラフィックアイテムのセットの少なくとも一部は、ユーザによって作成または修正され得る。
【０２８６】
更には、各ビジュアルまたはグラフィックアイテムを定義するオブジェクトは、例えば、フィールド、イベントトリガ、関数、表示定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、テーブル、名前セット、変換器、組み込み形状の使用量（複数可）、ＧＥＭの使用量（複数可）、ガジェットの使用量（複数可）、クローム使用量、区域使用量、グループ使用量、ダイナモ、パネル使用量、接続点、コネクタ、グローバルセット、スタイルセットおよび／またはスタイル等の１つ以上の内部アイテムを含んでもよい。ビジュアルまたはグラフィックアイテムのオブジェクトにおいて定義される内部アイテムのうちの各々は、構成システムに組み込まれ得るか、ユーザによって追加され得るか、または定義もしくは別のアイテムへの参照によって構成され得る。
【０２８７】
変更、修正、および微調整：
【０２８８】
前に論じたように、ユーザは、オブジェクト定義のコンテンツを変更、修正、または微調整できる。つまり、ユーザは、オブジェクトの１つ以上の内部アイテムを、そのそれぞれが基礎としている定義へのリンクを維持しつつ、変更できる。これらの変更、修正、および微調整は、例えば、オブジェクトのコンテンツ（例えば、フィールドまたは他の内部アイテム）への追加、削除、および／または修正を含み得る。更には、これらの変更は、エディションに公開されたとき、一般的に、オブジェクトの基礎としている定義に優先し、新しいエディションが伝達されると修正された定義からの今後の変更が適用されることを可能にし得る。例えば、定義に包含されたアイテム（例えば、ＧＥＭ）が、使用量または派生表示において修正および微調整される場合、微調整が、優先順位を取る。しかしながら、アイテムが基礎としている定義から削除された場合、使用量または派生定義への微調整は、失われる。例えば、基礎としている定義に包含されたアイテム（例えば、ＧＥＭ）は、削除されるが、使用量または派生定義において前に微調整された。この実施例では、微調整が失われる。更には、基礎としている定義に包含されたアイテム（例えば、ＧＥＭ）が修正されるが使用量または派生定義において削除された場合、基礎としている定義への変更は、使用量または派生定義に伝達されない。
【０２８９】
一実施形態では、指定子オブジェクト使用量上の微調整は、一実施形態では、基礎としている定義に押し戻され得る。一実施例では、基礎としている定義は、子に行われた微調整を含む新しいエディションに更新され、微調整は、子から除去される。
【０２９０】
図１９〜２１は、種々のビジュアルアイテムおよびオブジェクトに行われ得る修正または微調整の実例を示す。特に、図１９は、使用量パターンに適用されたフィールド値上書き微調整の実例を示す。図１９では、幅フィールド値１０９０ａおよび高さフィールド値１０９０ｂは、上書きされる。
【０２９１】
図２０は、派生パターンに適用されたフィールド値上書き微調整の実例を示す。図２０では、幅フィールド値１０９２ａおよび高さフィールド値１０９２ｂは、上書きされる。
【０２９２】
図２１は、複数のレベルでのオブジェクトへの複数の修正または微調整の実例を示す。特に、図２１は、より低い定義に適用された微調整はどのように次のレベルのための既定値になるか（例えば、参照１０９５ａ〜１０９５ｃ）、値はどのように複数のレベルで上書きされ得るか（例えば、参照１０９８ａ、１０９８ｂ）、および最外部定義上の上書きはどのように優先順位を取るか（例えば、参照１１００）、を示す。
【０２９３】
図１９〜２１に示されるように、一実施形態では、微調整は、使用量パターンおよび派生パターン上で実施され得る。更には、微調整または修正は、構成アイテムまたはオブジェクト、および／またはビジュアルまたはグラフィックアイテムまたはオブジェクトに行われ得る。例えば、微調整され得るビジュアルまたはグラフィックアイテムのセットは、１つ以上のディスプレイ定義、ダッシュボード、レイアウト、ＧＥＭ定義、ガジェット定義、グローバルセット、組み込み形状定義、グループ定義、表示定義、形状使用量、グループ使用量、ダイナモ、ＧＥＭ使用量、ガジェット使用量、クローム使用量、区域使用量、パネル使用量、接続点、コネクタ、アニメーション、変換器、イベントトリガ、イベントハンドラ、位置ホルダ、パラメータ、関数、テーブル、名前セット、スタイル、および／またはスタイルセットを含んでもよい。更に、微調整は、フィールド、イベントトリガ、関数、表示定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、テーブル、名前セット、変換器、組み込み形状の使用量（複数可）、ＧＥＭの使用量（複数可）、ガジェットの使用量（複数可）、クローム使用量、区域使用量、グループ使用量、ダイナモ、パネル使用量、接続点、コネクタ、グローバルセット、スタイルセットおよび／またはスタイル等の、他のオブジェクト定義に含まれる１つ以上のオブジェクト上で実施され得る。
【０２９４】
実施されたとき、本明細書に説明されるかまたはその一部である方法および技術のうちのいずれかは、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭ内の、磁気ディスク、レーザディスク、光ディスク、半導体メモリ、他のメモリデバイス、または他の記憶媒体等の１つ以上の非一時的有形コンピュータ可読記憶媒体またはメモリに記憶されたソフトウェアを実行することによって実施され得る。一実施形態では、本明細書に説明されるかまたはその一部である方法および技術のうちのいずれかは、コンフィギュレータまたは柔軟なコンフィギュレータ（例えば、１つ以上の構成アプリケーションまたは他の好適なアプリケーション）によって実施され得る。コンフィギュレータは、プロセスプラントまたはプロセス制御システムに含まれるデータ記憶デバイスおよび１つ以上の構成可能な要素に通信可能に連結され得る。コンフィギュレータは、コンピュータで実行可能な命令が、本明細書に説明されるかまたはその一部である方法および技術のうちのいずれかを実施するように実行可能であり得る、１つ以上の有形非一時的メモリまたはコンピュータ可読記憶媒体に記憶されたコンピュータで実行可能な命令を含み得る。
【０２９５】
前述の本文が多数の異なる実施形態の詳細な説明を論述しているが、本特許の範囲は、本特許およびその均等物の最後に論述される特許請求の範囲の文言によって定義されることを理解されたい。詳細な説明は、単なる例示として解釈されるべきであり、全ての可能な実施形態を説明することは、不可能ではないにしても、非合理的であるため、全ての可能な実施形態を説明しない。多数の代替的な実施形態は、現在の技術、または、依然として、特許請求の範囲およびそのすべての均等物の範囲内に属する本特許の出願日後に開発される技術のうちのいずれかを用いて、実装され得る。例として、限定するものではなく、本明細書の開示は、少なくとも以下の態様を企図する。
【０２９６】
プロセスプラントを構成する方法であって、
プロセスプラントの指定要素のための現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることであって、指定要素が、プロセスプラントにおいて制御される１つ以上のプロセスに対応する、受け取ることと、
指定要素のための修正されたプロセス要素オブジェクトを生成するために、第１のユーザ入力に基づいて、現在のプロセス要素オブジェクトを修正することと、
第２のユーザ入力によって示される指定された時間まで修正されたプロセス要素オブジェクトのインスタンス化を遅延させることと、
指定された時間に、指定要素が、プロセスプラントにおいて制御される１つ以上のプロセスに制御またはディスプレイ機能を提供するために、修正されたプロセス要素オブジェクトに従ってランタイム中動作するように、修正されたプロセス要素オブジェクトのインスタンス化を引き起こすことと、を含む、方法。
【０２９７】
前述の態様の方法であって、
現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることが、現在のプロセス要素オブジェクトのセットが作成される現在のインスタンスオブジェクトへの修正を示すユーザ入力を受け取ることを含み、現在のプロセス要素オブジェクトのセットが、指定要素のための現在のプロセス要素オブジェクト、およびクラスオブジェクトから作成される現在のインスタンスオブジェクトを含み、
本方法は、現在のインスタンスオブジェクトへの修正を示すユーザ入力に基づいて、修正されたインスタンスオブジェクトを生成するように現在のインスタンスオブジェクトを修正することと、修正されたインスタンスオブジェクトに基づいて現在のプロセス要素オブジェクトのセットを修正することと、を更に含む、方法。
【０２９８】
前述の態様のうちのいずれかの方法であって、
現在のインスタンスオブジェクトが、第１の現在のインスタンスオブジェクトであり、
修正されたインスタンスオブジェクトが、第１の修正されたインスタンスオブジェクトであり、かつ
本方法は、第１の現在のインスタンスオブジェクトへの修正を示すユーザ入力に基づいて、第２の修正されたインスタンスオブジェクトを生成するように第２の現在のインスタンスオブジェクトを修正することであって、第２の現在のインスタンスオブジェクトが、クラスオブジェクトから作成される、修正すること、を更に含む、方法。
【０２９９】
前述の態様のうちのいずれかの方法であって、第２の現在のインスタンスオブジェクトが、第１の現在のインスタンスオブジェクトに基づく、方法。
【０３００】
前述の態様のうちのいずれかの方法であって、
指定された時間が、第１の指定された時間であり、
現在のプロセス制御要素オブジェクトのセットが、現在のプロセス制御要素オブジェクトの第１のセットであり、かつ
本方法が、
第１の指定された時間に現在のプロセス制御要素オブジェクトの第１のセットのインスタンス化を引き起こすことと、
第１の指定された時間とは異なる第２の指定された時間に、第２の修正されたインスタンスオブジェクトに対応する現在のプロセス制御要素オブジェクトの第２のセットのインスタンス化を引き起こすことと、を更に含む、方法。
【０３０１】
前述の態様のうちのいずれかの方法であって、
第１の現在のインスタンスオブジェクトが、ユーザによって示されるか、
第２の現在のインスタンスオブジェクトが、ユーザによって示されるか、
第１の指定された時間が、ユーザによって示されるか、または
第２の指定された時間が、ユーザによって示されるか、のうちの少なくとも１つである、方法。
【０３０２】
前述の態様のうちのいずれかの方法であって、現在のインスタンスオブジェクトへの修正を示すユーザ入力に基づいて別の現在のプロセス要素オブジェクトを修正しないことを含む別の現在のプロセス要素オブジェクトを維持することを更に含み、別の現在のプロセス要素オブジェクトが、クラスオブジェクトに基づき、および現在のインスタンスオブジェクトに対応する現在のプロセス要素オブジェクトのセットから除外される、方法。
【０３０３】
前述の態様のうちのいずれかの方法であって、現在のインスタンスオブジェクトへの修正をクラスオブジェクトに伝達することを更に含む、方法。
【０３０４】
前述の態様のうちのいずれかの方法であって、現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることが、現在のプロセス要素オブジェクトが基づくクラスオブジェクトへの修正を示すユーザ入力を受け取ることを含む、方法。
【０３０５】
前述の態様のうちのいずれかの方法であって、
現在のプロセス要素オブジェクトが、第１の現在のプロセス要素オブジェクトであり、
修正されたプロセス要素オブジェクトが、第１の修正されたプロセス要素オブジェクトであり、かつ
本方法が、第２の修正されたプロセス要素オブジェクトを生成するように、第１のユーザ入力に基づいて第２の現在のプロセス要素オブジェクトを修正することを更に含み、第２の現在のプロセス要素オブジェクトが、クラスオブジェクトに基づく、方法。
【０３０６】
前述の態様のうちのいずれかの方法であって、指定された時間が、第１の指定された時間であり、本方法が、第１の指定された時間とは異なる第２の指定された時間に、第２の修正されたプロセス要素オブジェクトのインスタンス化を引き起こすことを更に含む、方法。
【０３０７】
前述の態様のうちのいずれかの方法であって、
第１の現在のプロセス要素オブジェクトのうちの少なくとも１つが、第１のインスタンスオブジェクトから作成され、または第２の現在のプロセス要素オブジェクトが、第２のインスタンスオブジェクトから作成され、
第１のインスタンスオブジェクトおよび第２のインスタンスオブジェクトが、クラスオブジェクトから作成される、方法。
【０３０８】
前述の態様のうちのいずれかの方法であって、
現在のプロセス要素オブジェクトが、第１の現在のプロセス要素オブジェクトであり、
修正されたプロセス要素オブジェクトが、第１の修正されたプロセス要素オブジェクトであり、かつ
本方法が、第１のユーザ入力に基づいて第２の現在のプロセス要素オブジェクトを修正しないことを更に含み、第２の現在のプロセス要素オブジェクトが、クラスオブジェクトに基づく、方法。
【０３０９】
前述の態様のうちのいずれかの方法であって、第２の現在のプロセス要素オブジェクトが、ユーザによって示される、方法。
【０３１０】
前述の態様のうちのいずれかの方法であって、現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることが、
現在のプロセス要素オブジェクトのコンテンツに追加すること、
現在のプロセス要素オブジェクトのコンテンツの少なくとも第１の部分を削除すること、
現在のプロセス要素オブジェクトのコンテンツの少なくとも第１の部分か、または現在のプロセス要素オブジェクトのコンテンツの少なくとも第２の部分を無効化すること、
現在のプロセス要素オブジェクトの無効化されたコンテンツを有効化すること、
現在のプロセス要素オブジェクトに含まれる値を変更すること、
現在のプロセス要素オブジェクトに含まれる参照を変更すること、
現在のプロセス要素オブジェクトを名前変更すること、または
現在のプロセス要素オブジェクトに含まれる参照を解読すること、のうちの少なくとも１つを含む、方法。
【０３１１】
前述の態様のうちのいずれかの方法であって、指定要素のための現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることが、制御モジュールまたはディスプレイモジュールのうちの１つのための現在のプロセス要素オブジェクトへの修正を示す第１のユーザ入力を受け取ることを含む、方法。
【０３１２】
前述の態様のうちのいずれかの方法であって、
ドラフトの修正されたプロセス要素オブジェクトとして修正されたプロセス要素オブジェクトを記憶することと、
公開された修正されたプロセス要素オブジェクトを生成するようにドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることと、を更に含み、
修正されたプロセス要素オブジェクトのインスタンス化を引き起こすことが、公開修正されたプロセス要素オブジェクトのインスタンス化を引き起こすことを含む、方法。
【０３１３】
前述の態様のうちのいずれかの方法であって、修正されたプロセス要素オブジェクトが、第１の修正されたプロセス要素オブジェクトであり、本方法が、
現在のプロセス要素オブジェクトまたは第１の修正されたプロセス要素オブジェクトのうちの１つへの別の修正を示す第３のユーザ入力を受け取ることと、
第２の修正されたプロセス要素オブジェクトを生成するように第３のユーザ入力に従って、現在のプロセス要素オブジェクトまたは第１の修正されたプロセス要素オブジェクトのうちの１つを修正することと、を更に含む、方法。
【０３１４】
前述の態様のうちのいずれかの方法であって、
ドラフトの修正されたプロセス要素オブジェクトとして修正されたプロセス要素オブジェクトを記憶することが、第１のドラフトの修正されたプロセス要素オブジェクトとして第１の修正されたプロセス要素オブジェクトを記憶することを含み、
本方法が、第２のドラフトの修正されたプロセス要素オブジェクトとして第２の修正されたプロセス要素オブジェクトを記憶することを更に含む、方法。
【０３１５】
前述の態様のうちのいずれかの方法であって、ドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることが、選択されたドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることを含む、方法。
【０３１６】
前述の態様のうちのいずれかの方法であって、
現在のプロセス要素オブジェクト、ドラフトの修正されたプロセス要素オブジェクト、および公開された修正されたプロセス要素オブジェクトのうちの少なくとも２つを比較するユーザ要求を受け取ることと、
ユーザインターフェースに、ユーザ要求に対応する比較を表示することと、を更に含む、方法。
【０３１７】
前述の態様のうちのいずれかの方法であって、
ドラフトのパッケージに含まれるオブジェクトのセットの選択の指示を受け取ることと、
ドラフトのパッケージの指示を記憶することと、
公開されたパッケージを生成するようにドラフトのパッケージを公開するユーザ指示を受け取ることと、
公開されたパッケージに含まれるオブジェクトに対応するプロセス要素オブジェクトのセットのインスタンス化を引き起こすことと、を更に含む、方法。
【０３１８】
前述の態様のうちのいずれかの方法であって、オブジェクトのセットが、クラスオブジェクト、インスタンスオブジェクト、ライブラリオブジェクト、またはプロセス要素オブジェクトのうちの少なくとも１つを含む、方法。
【０３１９】
前述の態様のうちのいずれかの方法であって、
ドラフトのパッケージが、第１のドラフトのパッケージであり、
本方法が、
第１のドラフトのパッケージへの修正を示す第３のユーザ入力を受け取ることと、
第３のユーザ入力に従って、第１のドラフトのパッケージを修正することと、
第２のドラフトのパッケージとして修正された第１のドラフトのパッケージを記憶することと、を更に含み、
公開されたパッケージを生成するようにドラフトのパッケージを公開するユーザ指示を受け取ることが、公開されたパッケージを生成するように選択されたドラフトのパッケージを公開するユーザ指示を受け取ることを含む、方法。
【０３２０】
プロセスプラントを構成する方法であって、
プロセスプラントにおいて制御される１つ以上のプロセスに対応する現在のクラスオブジェクトへの修正を示すユーザ入力を受け取ることと、
修正されたオブジェクトの第１のサブセットを作成するように、クラスオブジェクトから作成される現在のオブジェクトのセットの第１のサブセットの各現在のオブジェクトへの修正を伝達することと、
クラスオブジェクトから作成される現在のオブジェクトのセットの第２のサブセットへの修正を伝達しないことと、
プロセス要素のそれぞれの第１のセットが、プロセスプラントにおいて制御される１つ以上のプロセスに関係する制御またはディスプレイ機能を提供するように修正されたプロセス要素オブジェクトの第１のセットに従って、ランタイムに動作するように、修正されたオブジェクトの第１のサブセットに対応する修正されたプロセス要素オブジェクトの第１のセットのインスタンス化を引き起こすことと、
プロセス要素のそれぞれの第２のセットが、プロセスプラントにおいて制御される１つ以上のプロセスに関係する制御またはディスプレイ機能を提供するように現在のオブジェクトの第２のサブセットに従って、ランタイムに動作するように、現在のオブジェクトの第２のサブセットに対応する現在のプロセス要素オブジェクトの第２のセットのインスタンス化を維持することと、を含む、方法。
【０３２１】
前述の態様のうちのいずれかの方法であって、現在のオブジェクトの第１のサブセットのユーザ選択、または現在のオブジェクトの第２のサブセットのユーザ選択の指示のうちの少なくとも１つを受け取ることを更に含む、方法。
【０３２２】
前述の態様のうちのいずれかの方法であって、
現在のオブジェクトの第１のサブセットが、現在のクラスオブジェクトから作成される第１の現在のインスタンスオブジェクトを含むこと、
現在のオブジェクトの第２のサブセットが、現在のクラスオブジェクトから作成される第２の現在のインスタンスオブジェクトを含むこと、
現在のオブジェクトの第１のサブセットが、現在のクラスオブジェクトに基づく定義を有する第１の現在のプロセス要素オブジェクトを含むことか、または
現在のオブジェクトの第２のサブセットが、現在のクラスオブジェクトに基づく定義を有する第２の現在のプロセス要素オブジェクトを含むこと、のうちの少なくとも１つである、方法。
【０３２３】
前述の態様のうちのいずれかの方法であって、修正の指示を維持することを更に含む、方法。
【０３２４】
前述の態様のうちのいずれかの方法であって、現在のクラスオブジェクトへの修正を示すユーザ入力を受け取ることが、
現在のクラスオブジェクトのコンテンツに追加すること、
現在のクラスオブジェクトのコンテンツの少なくとも第１の部分を削除すること、
現在のクラスオブジェクトのコンテンツの少なくとも第１の部分か、または現在のクラスオブジェクトのコンテンツの少なくとも第２の部分を無効化すること、
現在のクラスオブジェクトの無効化されたコンテンツを有効化すること、
現在のクラスオブジェクトに含まれる値を変更すること、
現在のクラスオブジェクトに含まれる参照を変更すること、
現在のクラスオブジェクトを名前変更すること、または
現在のクラスオブジェクトに含まれる参照を解読すること、のうちの少なくとも１つを含む、方法。
【０３２５】
前述の態様のうちのいずれかの方法であって、修正されたオブジェクトの第３のサブセットを作成するように、クラスオブジェクトから作成される現在のオブジェクトのセットの第３のサブセットの各現在のオブジェクトへの修正を伝達することを更に含む、方法。一実施形態では、伝達された修正を含む各現在のオブジェクトは、名前変更されてもよい。
【０３２６】
前述の態様のうちのいずれかの方法であって、ユーザ入力が第１のユーザ入力であり、本方法が、第２のユーザ入力によって示される指定された時間まで修正されたプロセス要素オブジェクトの第１のセットのインスタンス化を遅延させることを更に含む、方法。
【０３２７】
前述の態様のうちのいずれかの方法であって、指定された時間が、第１の指定された時間であり、本方法が、第１の指定された時間とは異なる第２の指定された時間まで、現在のオブジェクトのセットの第３のサブセットに対応する修正されたプロセス要素オブジェクトの第３のセットのインスタンス化を遅延させることを更に含む、方法。
【０３２８】
前述の態様のうちのいずれかの方法であって、プロセス要素のそれぞれの第１のセットが、ディスプレイモジュールまたは制御モジュールのうちの少なくとも１つを含む、方法。
【０３２９】
プロセスプラントを構成する方法であって、
プロセスプラントにおいて制御される１つ以上のプロセスに対応するクラスオブジェクトから作成される現在のインスタンスオブジェクトへの修正を示すユーザ入力を受け取ることと、
ユーザ入力に基づいて、修正されたインスタンスオブジェクトを生成するように現在のインスタンスオブジェクトを修正することと、
修正されたプロセス要素オブジェクトの第１のセットを生成するように、修正されたインスタンスオブジェクトに基づいて、現在のインスタンスオブジェクトから作成される現在のプロセス要素オブジェクトの第１のセットを修正することと、
プロセス要素のそれぞれの第１のセットが、プロセスプラントにおいて制御される１つ以上のプロセスに関係する制御またはディスプレイ機能を提供するように修正されたプロセス要素オブジェクトの第１のセットに従って、ランタイム中に動作するように、修正されたプロセス要素オブジェクトの第１のセットのインスタンス化を引き起こすことと、
修正された他のオブジェクトのセットを生成するように、他のオブジェクトのセットに修正を伝達することであって、他のオブジェクトのセットが、クラスオブジェクトに基づく、伝達することと、
プロセス要素のそれぞれの第２のセットが、プロセスプラントにおいて制御される１つ以上のプロセスに関係する制御またはディスプレイ機能を提供するように修正されたプロセス要素オブジェクトの第２のセットに従って、ランタイム中に動作するように、修正された他のオブジェクトのセットに対応する修正されたプロセス要素オブジェクトの第２のセットのインスタンス化を引き起こすことと、を含む、方法。
【０３３０】
前述の態様のうちのいずれかの方法であって、現在のインスタンスオブジェクトが、第１の現在のインスタンスオブジェクトであり、他のオブジェクトのセットに修正を伝達することが、クラスオブジェクトから作成される第２の現在のインスタンスオブジェクトに修正を伝達することを含む、方法。
【０３３１】
前述の態様のうちのいずれかの方法であって、クラスオブジェクトから作成される第３の現在のインスタンスオブジェクトに修正を伝達しないことを更に含む、方法。
【０３３２】
前述の態様のうちのいずれかの方法であって、他のオブジェクトのセットに修正を伝達することが、クラスオブジェクトに修正を伝達することを含む、方法。
【０３３３】
前述の態様のうちのいずれかの方法であって、修正の指示を維持することを更に含む、方法。
【０３３４】
前述の態様のうちのいずれかの方法であって、修正クラスオブジェクトに基づいて、現在のプロセス要素オブジェクトの第３のセットを修正しないことを更に含み、現在のプロセス要素オブジェクトの第３のセットが、クラスオブジェクトに基づき、およびユーザによって示される、方法。
【０３３５】
前述の態様のうちのいずれかの方法であって、他のオブジェクトのセットに修正を伝達することが、現在のインスタンスオブジェクトに基づいて作成される別のオブジェクトに修正を伝達することを含む、方法。
【０３３６】
前述の態様のうちのいずれかの方法であって、別のオブジェクトが、別のインスタンスオブジェクトまたは現在のインスタンスオブジェクトから作成されるプロセス要素オブジェクトのうちの１つである、方法。
【０３３７】
前述の態様のうちのいずれかの方法であって、他のオブジェクトのセットのユーザ選択の指示を受け取ることを更に含む、方法。
【０３３８】
前述の態様のうちのいずれかの方法であって、修正されたインスタンスオブジェクトに基づいて、現在のプロセス要素オブジェクトの第３のセットを修正しないことを更に含み、現在のプロセス要素オブジェクトの第３のセットが、現在のインスタンスオブジェクトに基づき、およびユーザによって示される、方法。
【０３３９】
前述の態様のうちのいずれかの方法であって、ユーザ入力が第１のユーザ入力であり、本方法が、第２のユーザ入力によって示される指定された時間まで修正されたプロセス要素オブジェクトの第１のセットのインスタンス化を遅延させることを更に含む、方法。
【０３４０】
前述の態様のうちのいずれかの方法であって、指定された時間が、第１の指定された時間であり、本方法が、第１の指定された時間とは異なる第２の指定された時間まで、修正されたプロセス要素オブジェクト第２のセットのインスタンス化を遅延させることを更に含む、方法。
【０３４１】
前述の態様のうちのいずれかの方法であって、現在のインスタンスオブジェクトへの修正を示すユーザ入力を受け取ることが、
現在のインスタンスオブジェクトのコンテンツに追加すること、
現在のインスタンスオブジェクトのコンテンツの少なくとも第１の部分を削除すること、
現在のインスタンスオブジェクトのコンテンツの少なくとも第１の部分か、または現在のインスタンスオブジェクトのコンテンツの少なくとも第２の部分を無効化すること、
現在のインスタンスオブジェクトの無効化されたコンテンツを有効化すること、
現在のインスタンスオブジェクトに含まれる値を変更すること、
現在のインスタンスオブジェクトに含まれる参照を変更すること、
現在のインスタンスオブジェクトを名前変更すること、または
現在のインスタンスオブジェクトに含まれる参照を解読すること、のうちの少なくとも１つを含む、方法。
【０３４２】
前述の態様のうちのいずれかの方法であって、プロセス要素のそれぞれの第１のセットが、制御モジュールまたはディスプレイモジュールのうちの少なくとも１つを含む、方法。
【０３４３】
前述の態様のうちのいずれかの方法であって、任意の修正されたオブジェクトを名前変更することを更に含む、方法。
【０３４４】
プロセスプラントを構成する方法であって、
プロセスプラントの指定要素のための現在のプロセス要素オブジェクトへの修正を示すユーザ入力を受け取ることであって、指定要素が、プロセスプラントにおいて制御される１つ以上のプロセスに対応する、受け取ることと、
指定要素のための修正されたプロセス要素オブジェクトを生成するために、ユーザ入力に基づいて、現在のプロセス要素オブジェクトを修正することと、
ドラフトの修正されたプロセス要素オブジェクトとして修正されたプロセス要素オブジェクトを記憶することと、
公開された修正されたプロセス要素オブジェクトを生成するようにドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることと、を更に含み、
指定要素が、プロセスプラントにおいて制御される１つ以上のプロセスに制御またはディスプレイ機能を提供するために、公開された修正されたプロセス要素オブジェクトに従ってランタイム中動作するように、公開された修正されたプロセス要素のインスタンス化を引き起こすことと、を含む、方法。
【０３４５】
前述の態様のうちのいずれかの方法であって、ユーザ入力が、第１のユーザ入力であり、修正されたプロセス要素オブジェクトが、第１の修正されたプロセス要素オブジェクトであり、本方法が、
現在のプロセス要素オブジェクトまたは第１の修正されたプロセス要素オブジェクトのうちの１つへの別の修正を示す第２のユーザ入力を受け取ることと、
第２の修正されたプロセス要素オブジェクトを生成するように第２のユーザ入力に従って、現在のプロセス要素オブジェクトまたは第１の修正されたプロセス要素オブジェクトのうちの１つを修正することと、を更に含む、方法。
【０３４６】
前述の態様のうちのいずれかの方法であって、
ドラフトの修正されたプロセス要素オブジェクトとして修正されたプロセス要素オブジェクトを記憶することが、第１のドラフトの修正されたプロセス要素オブジェクトとして第１の修正されたプロセス要素オブジェクトを記憶することを含み、
本方法が、第２のドラフトの修正されたプロセス要素オブジェクトとして第２の修正されたプロセス要素オブジェクトを記憶することを更に含む、方法。
【０３４７】
前述の態様のうちのいずれかの方法であって、ドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることが、選択されたドラフトの修正されたプロセス要素オブジェクトを公開するユーザ指示を受け取ることを含む、方法。
【０３４８】
前述の態様のうちのいずれかの方法であって、
現在のプロセス要素オブジェクト、ドラフトの修正されたプロセス要素オブジェクト、および公開された修正されたプロセス要素オブジェクトのうちの少なくとも２つを比較するユーザ要求を受け取ることと、
ユーザインターフェースに、ユーザ要求に対応する比較を表示することと、を更に含む、方法。
【０３４９】
前述の態様のうちのいずれかの方法であって、
ドラフトのパッケージとしてプロセスプラントの複数のドラフトの修正されたオブジェクトを記憶することであって、複数のドラフトの修正されたオブジェクトが、ドラフトの修正されたプロセス要素オブジェクトを含む、記憶することと、
公開されたパッケージを生成するようにドラフトのパッケージを公開するユーザ指示を受け取ることと、
公開されたパッケージに含まれる公開された修正されたオブジェクトのセットを生成するように、複数のドラフトの修正されたオブジェクトの少なくともサブセットを公開することと、
公開された修正されたオブジェクトのセットに対応するプロセス要素オブジェクトが、プロセスプラントにおいて制御される１つ以上のプロセスに関係する制御またはディスプレイ機能を提供するように公開された修正されたオブジェクトのセットに従って、ランタイム中に動作するように、公開された修正されたオブジェクトのセットのインスタンス化を引き起こすことと、を更に含む、方法。
【０３５０】
前述の態様のうちのいずれかの方法であって、複数のドラフトの修正されたオブジェクトを記憶することが、ドラフトのクラスオブジェクト、またはドラフトのクラスオブジェクトまたは別のクラスオブジェクトから作成されるドラフトのインスタンスオブジェクトのうちの少なくとも１つを含む複数のドラフトの修正されたオブジェクトを記憶することを含む、方法。
【０３５１】
前述の態様のうちのいずれかの方法であって、複数のドラフトの修正されたオブジェクトの選択の指示を受け取ることを更に含む、方法。
【０３５２】
前述の態様のうちのいずれかの方法であって、
ドラフトのパッケージが、第１のドラフトのパッケージであり、
本方法が、
第１のドラフトのパッケージへの修正を示す別のユーザ入力を受け取ることと、
別のユーザ入力に従って、第１のドラフトのパッケージを修正することと、
第２のドラフトのパッケージとして修正された第１のドラフトのパッケージを記憶することと、を更に含み、
公開されたパッケージを生成するようにドラフトのパッケージを公開するユーザ指示を受け取ることが、公開されたパッケージを生成するように選択されたドラフトのパッケージを公開するユーザ指示を受け取ることを含む、方法。
【０３５３】
前述の態様のうちのいずれかの方法であって、現在のプロセス要素オブジェクトへの修正を示すユーザ入力を受け取ることが、
現在のプロセス要素オブジェクトが基づく現在のインスタンスオブジェクトへの修正を示すユーザ入力を受け取ることであるか、または
現在のプロセス要素オブジェクトが基づく現在のクラスオブジェクトへの修正を示すユーザ入力を受け取ることであるか、のうちの１つを含む、方法。
【０３５４】
先行の方法のいずれかまたは先行の方法の任意の組み合わせのうちのいずれかを実施するように構成される装置。
【０３５５】
それゆえ、上述に照らして、本明細書に考察される技術、システム、方法、装置、およびデバイスは、プロセスプラントまたはプロセス制御システムの一部分（またはいくつかの場合では、プラントまたはシステム全体）におけるリアルタイム動作が不利に影響されないように、モジュールクラスおよび他の親オブジェクトへの変更がプロセスプラントまたはプロセス制御システムに一体化されることを可能にして経時的に制御された方法でその動作および／またはビヘイビアを変更する。加えて、変更が、（例えば、更新される変更された親オブジェクトの子オブジェクトに対応する全てのプロセス要素に好適である時間まで待機する代わりに）プロセスプラントまたはシステムのプロセス要素に付加的に適用または段階的に実行され得るため、プロセスプラントまたはプロセス制御システムの一部分（または、いくつかの場合では、プラントまたはシステム全体）への変更の適用における不必要な遅延の発生が、減少され、したがって、経時的に、プロセスプラントまたはシステムの全体的な効率性および生産性を増加させる。
【０３５６】
更には、本明細書に考察される技術、システム、方法、装置、およびデバイスは、親オブジェクトおよび／または子オブジェクトへの修正または変更のドラフトを、それらがプロセスプラントまたは制御システムのランタイム環境のプロセス要素において（変更された親オブジェクトからか、または変更された子オブジェクトからか）適用またはインスタンス化される前に、承認することを可能にする。したがって、プラントまたはシステムに不注意に組み込まれる不完全または不正確な修正または変更の確率が、大幅に減少され、プロセスプラントまたはシステムに一体化される変更に精度が向上され、それによって、プロセスプラントまたはシステムの動作の質、効率性、および安全性を増加させる。
【０３５７】
更には、グラフィカル要素およびディスプレイに関して本明細書に考察される技術、システム、方法、装置、およびデバイスは、プロセスプラントまたはプロセス制御システムがリアルタイムにおいてより安全かつ効率的に監視、制御、および／または動作されることを可能にする。特に、オペレータは、プラントのリアルタイムまたはランタイム動作環境および構成環境の両方で、プロセス制御システムまたはプラントの１つ以上の部分の具体的な監視、制御、および／または動作に具体的に適合またはカスタマイズされたグラフィカル要素および／またはディスプレイを構成できる。追加的または代替的に、グラフィカル要素および／またはディスプレイのうちの１つ以上は、特定のオペレータ、オペレータのグループ、組織的なエンティティ、ビジネス、または他のエンティティのために具体的に適合またはカスタマイズされ得る。オペレータは、一般的な（例えば、プラント全体またはシステム全体、リアルタイムまたは構成）アクセス、使用、再使用、および組み込みのためにこれらのカスタマイズされたグラフィカル要素および／またはディスプレイを保存できる。したがって、グラフィック要素（複数可）および／またはグラフィックディスプレイ（複数可）の構成が複数の環境で合理化されカスタマイズされるため、オペレータの混乱およびエラーは減少され、よって、オペレータが効率的かつ安全にプロセスプラントまたはシステムを動作できるようにする。
【０３５８】
なおも更に、グラフィック要素（複数可）および／またはディスプレイ（複数可）が、プロセスプラントまたはシステムの固有の部分またはエンティティの固有の目的のためにカスタマイズされるため、（例えば、１つ以上のプロセスを制御しつつ）プロセスプラントまたはシステムの固有の部分またはエンティティによって生成され、かつ必要なマニュアルおよび／または自動介入を要するリアルタイムデータは、カスタマイズされたグラフィック要素（複数可）および／またはディスプレイ（複数可）を用いて容易におよび急速に識別可能である。いくつかの場合では、介入に関連付けられプロセスプラントまたはシステムに送達されるデータ、構成、および／または命令は、プロセスプラントまたはシステムに変更をもたらす（例えば、プロセス要素への更新されたまたは新しい構成）またはそれらの動作に変更をもたらす。いくつかの場合では、送達されたデータ、構成、および／または命令は、プロセスプラントまたは制御システムにアクションを実施させる（例えば、動作から特定のプロセス要素を除去する、ソースによって生成されたデータを別のソースに経路切り替えする等）。したがって、本明細書に説明される技術、方法、およびシステムは、グラフィック要素および／またはディスプレイがよりカスタマイズされた詳細な情報（および特に、プロセスプラントまたはシステムによって生成されたリアルタイムデータに関連して）を生成することを可能にするため、プロセスプラントまたはプロセス制御システムの１つ以上の部分の制御および／または動作への任意の必要な修正は、より急速に決定され、プロセスプラントまたは制御システムのランタイム環境に一体化される。したがって、本明細書に説明される技術、方法、およびシステムを使用して、プロセスプラントまたはシステムの効率性および安全性は、更に改善される。
【図１】
2020177686.tif 000003
【図２】
2020177686.tif 000004
【図３】
2020177686.tif 000005
【図４】
2020177686.tif 000006
【図５】
2020177686.tif 000007
【図６】
2020177686.tif 000008
【図７】
2020177686.tif 000009
【図８】
2020177686.tif 000010
【図９】
2020177686.tif 000011
【図１０】
2020177686.tif 000012
【図１１】
2020177686.tif 000013
【図１２】
2020177686.tif 000014
【図１３】
2020177686.tif 000015
【図１４】
2020177686.tif 000016
【図１５】
2020177686.tif 000017
【図１６】
2020177686.tif 000018
【図１７】
2020177686.tif 000019
【図１８】
2020177686.tif 000020
【図１９】
2020177686.tif 000021
【図２０】
2020177686.tif 000022
【図２１】
2020177686.tif 000023
【手続補正書】
【提出日】令和2年7月16日(2020.7.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセスプラントを柔軟に構成する方法であって、
前記プロセスプラントのエンティティに対応する現在の親オブジェクトへの修正の指示を受け取ることと、
修正された子オブジェクトの第１のサブセットを作成するように、現在の子オブジェクトのセットの第１のサブセットの各現在の子オブジェクトに前記修正を伝達することであって、
現在の子オブジェクトの前記セットに含まれる各現在の子オブジェクトが、前記現在の親オブジェクトから派生し、前記プロセスプラントのそれぞれの指定要素に対応し、
前記それぞれの指定要素が、前記プロセスプラントにおいて制御されている１つ以上のプロセスに対応する機能を提供するように、前記各現在の子オブジェクトのインスタンス化に従って動作する、伝達することと、
現在の子オブジェクトの前記セットの第２のサブセットに前記修正を伝達しないことと、
修正された現在の子オブジェクトの前記第１のサブセットのインスタンス化を生成させ、かつ修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化をそれぞれの指定要素の第１のセットにおいて実行させ、それぞれの指定要素の前記第１のセットが修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化に従ってランタイムに動作するようにすることと、
現在の子オブジェクトの前記第２のサブセットに対応するそれぞれの指定要素の第２のセットが、現在の子オブジェクトの前記第２のサブセットの前記インスタンス化に従ってランタイムに動作するように、現在の子オブジェクトの前記セットの前記第２のサブセットのインスタンス化を維持することと、を含む、方法。
【手続補正書】
【提出日】令和2年8月14日(2020.8.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセスプラントを柔軟に構成する方法であって、
前記プロセスプラントのエンティティに対応する現在の親オブジェクトへの修正の指示を受け取ることと、
修正された子オブジェクトの第１のサブセットを作成するように、現在の子オブジェクトのセットの第１のサブセットの各現在の子オブジェクトに前記修正を伝達することであって、
現在の子オブジェクトの前記セットに含まれる各現在の子オブジェクトが、前記現在の親オブジェクトから派生し、前記プロセスプラントのそれぞれの指定要素に対応し、
前記それぞれの指定要素が、前記プロセスプラントにおいて制御されている１つ以上のプロセスに対応する機能を提供するように、前記各現在の子オブジェクトのインスタンス化に従って動作する、伝達することと、
現在の子オブジェクトの前記セットの第２のサブセットに前記修正を伝達しないことと、
修正された現在の子オブジェクトの前記第１のサブセットのインスタンス化を生成させ、かつ修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化をそれぞれの指定要素の第１のセットにおいて実行させ、それぞれの指定要素の前記第１のセットが修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化に従ってランタイムに動作するようにすることと、
現在の子オブジェクトの前記第２のサブセットに対応するそれぞれの指定要素の第２のセットが、現在の子オブジェクトの前記第２のサブセットの前記インスタンス化に従ってランタイムに動作するように、現在の子オブジェクトの前記セットの前記第２のサブセットのインスタンス化を維持することと、を含む、方法。
【請求項２】
現在の子オブジェクトの前記セットの前記第１のサブセットの選択の指示、または現在の子オブジェクトの前記セットの前記第２のサブセットの選択の指示のうちの少なくとも１つを受け取ることを更に含む、請求項１に記載の方法。
【請求項３】
現在の子オブジェクトの前記セットの前記第１のサブセットに前記修正を伝達すること、または、現在の子オブジェクトの前記セットの前記第２のサブセットに前記修正を伝達しないことのうちの少なくとも１つが、分散ポリシーに基づく、請求項１または２に記載の方法。
【請求項４】
前記分散ポリシーが、特定のクラスオブジェクトまたは特定のプロセス要素オブジェクトのうちの少なくとも１つに変更が伝達されるべきかどうかを示す、請求項３に記載の方法。
【請求項５】
現在の子オブジェクトの前記第１のサブセットの前記各現在の子オブジェクトに前記修正を伝達することが、前記現在の親オブジェクトから派生する第１の現在のインスタンスオブジェクトに前記修正を伝達することを含み、現在の子オブジェクトの前記第１のサブセットに含まれる前記現在の子オブジェクトのうちの少なくとも１つが、前記第１の現在のインスタンスオブジェクトから派生するか、または
前記第２のサブセットに前記修正を伝達しないことが、前記現在の親オブジェクトから派生する第２の現在のインスタンスオブジェクトに前記修正を伝達しないことを含み、現在の子オブジェクトの前記第２のサブセットに含まれる前記現在の子オブジェクトのうちの少なくとも１つが、前記第２の現在のインスタンスオブジェクトから派生するか、のうちの少なくとも１つである、
請求項１〜４の何れか１項に記載の方法。
【請求項６】
前記現在の親オブジェクトへの前記修正の前記指示を受け取ることが、
前記現在の親オブジェクトのコンテンツへの追加、
前記現在の親オブジェクトの前記コンテンツの少なくとも第１の部分の削除、
前記現在の親オブジェクトの前記コンテンツの前記少なくとも第１の部分、または前記現在の親オブジェクトの前記コンテンツの少なくとも第２の部分の無効化、
前記現在の親オブジェクトの無効化されたコンテンツの有効化、
前記現在の親オブジェクトに含まれる値への変更、
前記現在の親オブジェクトに含まれる参照への変更、または
前記現在の親オブジェクトに含まれる参照の解像度、のうちの少なくとも１つの指示を受け取ることを含む、
請求項１〜５の何れか１項に記載の方法。
【請求項７】
それぞれの指定要素の前記第１のセットでの修正された現在の子オブジェクトの前記第１のサブセットの前記インスタンス化の実行を、指定された時間まで遅延させることを更に含む、請求項１〜６の何れか１項に記載の方法。
【請求項８】
前記指定された時間が、第１の指定された時間であり、前記方法が、
修正された子オブジェクトの第２のサブセットを作成するように、現在の子オブジェクトの前記セットの第３のサブセットの各現在のオブジェクトに前記修正を伝達することと、
それぞれの指定要素の第３のセットでの修正された子オブジェクトの前記第２のサブセットのインスタンス化の実行を、前記第１の指定された時間とは異なる第２の指定された時間まで遅延させることと、を更に含む、
請求項７に記載の方法。
【請求項９】
それぞれの指定要素の前記第１のセットが、ディスプレイモジュール、制御モジュール、または前記プロセスプラントに含まれるネットワークを用いて通信を経路制御するモジュールのうちの少なくとも１つを含む、請求項１〜８の何れか１項に記載の方法。
【請求項１０】
前記現在の親プロセスオブジェクトへの前記修正の前記指示を受け取ることが、現在のクラスプロセスオブジェクトへの修正の指示を受け取ることを含む、請求項１〜９の何れか１項に記載の方法。
【請求項１１】
特定の現在の子オブジェクトへの修正の指示を受け取ることであって、前記特定の現在の子オブジェクトが、前記親オブジェクトから派生する現在の子オブジェクトの前記セットに含まれ、前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記セットの前記第１のサブセットのメンバでなく、前記特定の現在の子オブジェクトが、現在の子オブジェクトの前記第２のサブセットのメンバでないことを特徴とする前記受け取ることと、
前記現在の親オブジェクトに前記特定の現在の子オブジェクトの前記修正を伝達することと、を更に含み、
前記現在の親オブジェクトへの前記修正の前記指示を受け取ることが、前記現在の親オブジェクトのための前記特定の現在の子オブジェクトの前記伝達された修正の指示を受け取ることを含む、
請求項１〜１０の何れか１項に記載の方法。
【請求項１２】
プロセスプラントを柔軟に構成するための装置であって、
前記プロセスプラントに含まれる１つ以上の指定要素に通信可能に連結された柔軟なコンフィギュレータを備え、前記１つ以上の指定要素のうちの各々が、前記プロセスプラントによって制御されている１つ以上のプロセスに対応し、前記柔軟なコンフィギュレータが、１つ以上の有形の非一時的メモリ上に記憶されたコンピュータ実行可能命令を含み、前記コンピュータ実行可能命令が、
前記プロセスプラントのエンティティに対応する現在の親オブジェクトに対応するユーザ修正の指示を受け取ることと、
修正された子オブジェクトのセットを作成するように、現在の子オブジェクトのセットの第１のサブセットの各現在の子オブジェクトに前記ユーザ修正を伝達することであって、
現在の子オブジェクトの前記セットに含まれる各現在の子オブジェクトが、前記現在の親オブジェクトから派生し、前記プロセスプラントのそれぞれの指定要素に対応し、
前記それぞれの指定要素が、前記プロセスプラントにおいて制御されている前記１つ以上のプロセスに対応する機能を提供するように、前記各現在の子オブジェクトのインスタンス化に従って動作する、伝達することと、
現在の子オブジェクトの前記セットの第２のサブセットに前記ユーザ修正が伝達されることを阻止することと、
修正された子オブジェクトの前記セットのインスタンス化をそれぞれの指定要素の第１のセットへ送信させ、それぞれの指定要素の前記第１のサブセットが修正された子オブジェクトの前記セットの前記インスタンス化に従ってランタイムに動作するようにすることと、
現在の子オブジェクトの前記第２のサブセットに対応するそれぞれの指定要素の第２のセットでの現在の子オブジェクトの前記セットの第２のサブセットのインスタンス化を維持し、それぞれの指定要素の前記第２のセットが現在の子オブジェクトの前記第２のサブセットの前記インスタンス化に従ってランタイムに動作するようにすることと、
請求項１〜１１の何れか１項に記載の方法を実施することと、を行うように、１つ以上のプロセッサによって動作可能である、装置。
【請求項１３】
現在の子オブジェクトの前記セットの前記第１のサブセットが、現在の子オブジェクトの選択された第１のサブセットであるか、または現在の子オブジェクトの前記セットの前記第２のサブセットが、現在の子オブジェクトの選択された第２のサブセットであるか、のうちの少なくとも１つである、請求項１２に記載の装置。
【請求項１４】
前記ユーザ修正の前記伝達または前記ユーザ修正の前記伝達の前記阻止が、１つ以上のオブジェクトに対応する少なくとも１つの分散パラメータに基づき、前記１つ以上のオブジェクトが、前記現在の親オブジェクト、現在の子オブジェクトの前記セットの前記第１のサブセット、現在の子オブジェクトの前記セットの前記第２のサブセット、現在の子オブジェクトの前記第１もしくは前記第２のサブセットに含まれる少なくとも１つの現在の子オブジェクトの親オブジェクトであり、かつ前記現在の親オブジェクトから派生するインスタンスオブジェクト、または前記各現在の子オブジェクトのうちの少なくとも１つを含む、
請求項１２または請求項１３に記載の装置。
【請求項１５】
前記少なくとも１つの分散パラメータが、修正可能である、請求項１４に記載の装置。
【請求項１６】
プロセスプラントのランタイム環境のオペレータインターフェースにおいて、ランタイム環境において実行するグラフィック要素オブジェクトのインスタンスの少なくとも一部に対するオーバーライドの指示を受け取ることと、
前記グラフィック要素オブジェクトのインスタンスが、(i)前記プロセスプラントの構成環境において前記グラフィック要素オブジェクトから構成され、形状、動的グラフィカルビヘイビア、及び前記形状の多数のビジュアル表現を定義し、(ii)前記グラフィック要素オブジェクトからランタイム環境にインスタンス化され、(iii)ディスプレイオブジェクトのインスタンスにおいて前記ランタイム環境で実行し、前記ディスプレイオブジェクトのインスタンスが複数のグラフィック要素を有し、
前記ディスプレイオブジェクトのインスタンスが、(i)前記構成環境において前記ディスプレイオブジェクトから構成され、(ii)前記ディスプレイオブジェクトから前記ランタイム環境にインスタンス化され、(iii)前記ランタイム環境で実行し、それにより個別のプロセス要素にリンクされ、
前記ディスプレイオブジェクトのインスタンスが前記プロセスプラントによってインダストリアルプロセスのリアルタイム制御に対応する個別のプロセス要素によって生成されるリアルタイムデータを提供し、
前記オーバーライドの定義を生成し、前記グラフィック要素オブジェクトのインスタンスの記憶された構成とは別にオーバーライド定義を記憶し、それにより前記オーバーライド定義を前記グラフィック要素オブジェクトのインスタンスとは別に使用できるようにすることと、
前記ランタイム環境において前記グラフィック要素オブジェクトのインスタンスの少なくとも一部に対し前記オーバーライド定義を適用し、それによって修正されたグラフィック要素オブジェクトのインスタンスを生成することと、
前記ランタイム環境において前記ディスプレイオブジェクトのインスタンスにおける前記修正されたグラフィック要素オブジェクトのインスタンスを実行することを含む、方法。
【請求項１７】
前記オーバーライドの定義を生成することが、前記グラフィック要素オブジェクトのインスタンスの１つ以上のパラメータの１つ以上の値に１つ以上の変化を生成することを含む、請求項１６に記載の方法。
【請求項１８】
前記オーバーライドの定義を記憶することが、前記グラフィック要素オブジェクトのインスタンスと共に前記オーバーライドの定義を記憶することを含む、請求項１６に記載の方法。
【請求項１９】
前記オーバーライドの定義を生成することが、前記グラフィック要素オブジェクトの子オブジェクトを生成することを含み、前記子オブジェクトが前記オーバーライドの定義を有する、請求項１６に記載の方法。
【請求項２０】
前記オーバーライドの定義を有する前記グラフィック要素オブジェクトの前記子オブジェクトを生成することが、前記オーバーライドの定義を含むクラスオブジェクトを生成することを含む、請求項１９に記載の方法。
【請求項２１】
前記オーバーライドの定義を生成することが、前記グラフィック要素オブジェクトが含まれるオブジェクトの階層において新しいレベルを作成することなく前記グラフィック要素オブジェクトの派生されたオブジェクトを生成することを含む、請求項１６に記載の方法。
【請求項２２】
前記グラフィック要素オブジェクトのインスタンスが前記グラフィック要素オブジェクトの第１のインスタンスであり、前記修正されたグラフィック要素オブジェクトのインスタンスが第１の修正されたグラフィック要素オブジェクトのインスタンスであり、
前記オーバーライド定義を前記グラフィック要素オブジェクトの第２のインスタンスに適用し、それにより第２の修正されたグラフィック要素オブジェクトのインスタンスを生成することを更に含む、請求項１６に記載の方法。
【請求項２３】
前記修正されたグラフィック要素オブジェクトのインスタンスが前記グラフィック要素オブジェクトの第１のインスタンスであり、
前記グラフィック要素オブジェクトの第２のインスタンスを実行することを更に含むとともに、前記グラフィック要素の第２のオブジェクトのインスタンスが前記オーバーライドを除外する、請求項１６に記載の方法。
【請求項２４】
前記グラフィック要素オブジェクトのインスタンスの記憶された構成とは別に前記オーバーライド定義を記憶することが、前記オーバーライド定義をライブラリに新しいオブジェクトとして記憶することを含み、前記ライブラリが前記グラフィック要素オブジェクトのインスタンスの前記記憶された構成、前記グラフィック要素オブジェクト、又は前記ディスプレイオブジェクトの少なくとも１つを有する、請求項１６に記載の方法。
【請求項２５】
前記グラフィック要素オブジェクトが複数のビュー定義を含み、各ビュー定義が前記グラフィック要素オブジェクトに対応する前記形状の異なるビジュアル表現にそれぞれ対応し、
前記修正されたグラフィック要素オブジェクトのインスタンスを実行することが、前記グラフィック要素オブジェクトによって定義される前記形状の特定のビュー定義に対応する特定のビジュアル表現において前記修正されたグラフィック要素オブジェクトのインスタンスを実行することを含む、請求項１６に記載の方法。
【請求項２６】
前記オーバーライド定義を前記グラフィック要素オブジェクトのインスタンスとは別に使用できるようにすることが、前記オーバーライド定義を前記グラフィック要素オブジェクトの他のインスタンスと同時に使用できるようにすることを含む、請求項１６に記載の方法。
【請求項２７】
前記オーバーライド定義を前記グラフィック要素オブジェクトのインスタンスとは別に使用できるようにすることが、前記オーバーライド定義を前記プロセスプラントの前記ランタイム環境において複数のオペレータワークステーションにわたって使用できるようにすることを含む、請求項１６に記載の方法。
【請求項２８】
前記グラフィック要素オブジェクトの前記インスタンスの少なくとも前記一部に対する前記オーバーライドの前記指示を受け取ることが、前記グラフィック要素オブジェクトの少なくとも１つの属性に対応する修正の指示を受け取ることを含み、
前記少なくとも１つの属性が、プロパティ、アニメーション、又は前記グラフィック要素オブジェクトにおいて定義されるイベントハンドラのうちの少なくとも１つを有し、
前記アニメーションが前記個別のプロセス要素によって生成される前記リアルタイムデータの変化に基づいて変化する前記グラフィック要素オブジェクトのインスタンスのビジュアル表現の少なくとも一部の第１の特定の動的グラフィカルビヘイビアを定義し、
前記イベントハンドラが、トリガが発生すると実行されることになる前記グラフィック要素オブジェクトのインスタンスの第２の特定の動的グラフィカルビヘイビアを定義し、
前記プロパティが、前記グラフィック要素オブジェクトのインスタンスの前記ビジュアル表現の特性を定義する、請求項１６に記載の方法。
【請求項２９】
前記グラフィック要素オブジェクトの前記少なくとも１つの属性が第１の属性を含み、前記グラフィック要素オブジェクトの前記少なくとも１つの属性に対応する前記修正が、前記第１の属性に対する修正、前記第１の属性の削除、又は前記グラフィック要素オブジェクトへの第２の属性の付加の少なくとも１つを有する、請求項２８に記載の方法。
【請求項３０】
前記グラフィック要素オブジェクトの前記少なくとも１つの属性を少なくとも１つの個別のプレースホルダでトークン化することを更に含む、請求項２８に記載の方法。
【請求項３１】
前記グラフィック要素オブジェクトに含まれる特定のプレースホルダの値を定義することを更に含む、請求項３０に記載の方法。
【請求項３２】
前記グラフィック要素オブジェクトの前記インスタンスの前記少なくとも一部に対する前記オーバーライドの前記指示を受け取ることが、前記グラフィック要素オブジェクトに含まれる定義に対応する修正の指示を受け取ることを含み、
前記定義のソースが、前記グラフィック要素オブジェクトが派生される別のグラフィック要素オブジェクトであり、
前記定義が、前記グラフィック要素オブジェクトのビジュアル表現の定義、個別のプロセス要素によって生成された前記リアルタイムデータが前記グラフィック要素オブジェクトのインスタンスで受け取られるリンクビアの定義、又は前記グラフィック要素オブジェクトの少なくとも１つの属性の定義のうちの少なくとも１つを有する、請求項１６に記載の方法。
【請求項３３】
前記グラフィック要素オブジェクトに含まれる前記定義が第１の定義であり、前記グラフィック要素オブジェクトに含まれる前記第１の定義に対応する前記修正が、前記第１の定義に対する修正、前記第１の定義の削除、又は前記グラフィック要素オブジェクトへの第２の定義の付加の少なくとも１つを有する、請求項３２に記載の方法。
【請求項３４】
前記グラフィック要素オブジェクトが前記別のグラフィック要素オブジェクトの子オブジェクトである、請求項３２に記載の方法。
【請求項３５】
前記グラフィック要素オブジェクトの前記インスタンスの前記少なくとも一部に対するオーバーライドの前記指示を受け取ることが、前記グラフィック要素オブジェクトの使用量パターンに対応する修正の指示を受け取ることを含み、前記使用量パターンが、前記グラフィック要素オブジェクトが含まれるグラフィック要素オブジェクトのグループ化を含み、前記グラフィック要素オブジェクトの前記グループ化が１つ以上の定義に基づく、請求項１６に記載の方法。
【請求項３６】
前記使用量パターンが第１の使用量パターンであり、前記グラフィック要素オブジェクトの前記第１の使用量パターンに対応する前記修正が、前記第１の使用量パターンに対する修正、前記第１の使用量パターンの削除、又は前記グラフィック要素オブジェクトに対応する第２の使用量パターンの付加のうちの少なくとも１つを有する、請求項３５に記載の方法。
【請求項３７】
前記グラフィック要素オブジェクトの前記インスタンスの前記少なくとも一部に対する前記オーバーライドの前記指示を受け取ることが、前記グラフィック要素オブジェクトが属するグローバルセットに対応する修正の指示を受け取ることを含み、前記グローバルセットが、多数のグラフィック要素オブジェクトにわたって共有される状態又は動的ビヘイビアの少なくとも１つの構成の定義を有する、請求項１６に記載の方法。
【請求項３８】
前記グローバルセットが第１のグローバルセットであり、前記第１のグローバルセットに対応する前記修正が、前記第１のグローバルセットに対する修正、前記第１のグローバルセットの削除、又は前記グラフィック要素オブジェクトが属する第２のグローバルセットの付加のうちの少なくとも１つを有する、請求項３７に記載の方法。
【請求項３９】
前記グラフィック要素オブジェクトの前記インスタンスの前記少なくとも一部に対する前記オーバーライドの前記指示を受け取ることが、前記グラフィック要素オブジェクトによって利用されるスタイルセットに対応する修正の指示を受け取ることを含み、前記スタイルセットが１つ以上のフィールド名及び値ペアのコレクションの定義を有する、請求項１６に記載の方法。
【請求項４０】
前記スタイルセットが個別のオブジェクトによって前記構成環境に表示される、請求項３９に記載の方法。
【請求項４１】
前記グラフィック要素オブジェクトのインスタンスが動的テキストビヘイビアを更に定義する、請求項１６に記載の方法。
【請求項４２】
前記アニメーションが第１のアニメーションであり、前記少なくとも１つの属性が、個別のプロセス要素によって生成される前記リアルタイムデータの変化に基づいて変化する前記グラフィック要素オブジェクトのインスタンスの前記ビジュアル表現の少なくとも一部の動的テキストビヘイビアを定義する第２のアニメーションを有する、請求項２８に記載の方法。