JP2001514414A - オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム - Google Patents

オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム

Info

Publication number
JP2001514414A
JP2001514414A JP2000508056A JP2000508056A JP2001514414A JP 2001514414 A JP2001514414 A JP 2001514414A JP 2000508056 A JP2000508056 A JP 2000508056A JP 2000508056 A JP2000508056 A JP 2000508056A JP 2001514414 A JP2001514414 A JP 2001514414A
Authority
JP
Japan
Prior art keywords
algorithm block
block
data
client
supplier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000508056A
Other languages
English (en)
Other versions
JP4750944B2 (ja
Inventor
ステインマン,ジェスロ・エフ
ハイマー,リチャード・ピイ
カンジ,エム・グラム
Original Assignee
ハネウエル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ハネウエル・インコーポレーテッド filed Critical ハネウエル・インコーポレーテッド
Publication of JP2001514414A publication Critical patent/JP2001514414A/ja
Application granted granted Critical
Publication of JP4750944B2 publication Critical patent/JP4750944B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

(57)【要約】 オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を与えるためのシステムと方法ならびにそのシステムと方法を使用した分散された、実時間プロセス制御システム。一実施形態では、このシステムは、(1)クライアント・アルゴリズム・ブロックがあるアドレスに格納されたデータへの直接的なアクセスを得ることができるようにアドレスに対する要求を生成するクライアント・アルゴリズム・ブロックと、(2)その要求を受信し、評価するサプライヤ・アルゴリズム・ブロックと、(2a)サプライヤ・アルゴリズム・ブロックがその要求を許可した場合には、そのアドレスをクライアント・アルゴリズム・ブロックに送り、クライアント・アルゴリズム・ブロックがそのデータへの直接的なアクセスを得ることができるようにし、(2b)サプライヤ・アルゴリズム・ブロックがその要求を拒否した場合には、そのアドレスを保留し、クライアント・アルゴリズム・ブロックがそのデータへの間接的なアクセスを得るように強制するサプライヤ・アルゴリズム・ブロックを含む。

Description

【発明の詳細な説明】
【0001】 (発明の技術分野) 本発明は、一般に、計算および処理システムに関し、特に、オブジェクト指向
コントローラ内でカプセル化されかつ能率的なデータ参照を提供する計算および
処理システムならびにそれを使用した分散制御システムに関する。
【0002】 (発明の背景) 自動プロセス制御システムは、たとえば製造設備内で様々なプロセスを制御し
監視するために、アルゴリズムまたはソフトウェアで定義可能な多数のプロセス
制御ルーチンを含んでいる。制御システムは、全体的にまたは設備の指定された
部分内で広い範囲のプロセス要件を満足させるように調整することができる。通
常、制御システムは様々なモジュールを含んでおり、各モジュールはそれ自体の
プロセッサまたはファームウェアを有しており、通信バスによって互いにリンク
され、その結果分散プロセス制御システムを形成している。システムの分散性質
により、設備中の拡張または変更を満足させるためにシステムを増分式に拡大す
る能力とともに高い性能が得られる。
【0003】 プロセス制御システムは一般に、ユーザがカスタム制御戦略、例えばソフトウ
ェアで定義可能なプロセス制御ルーチンを作成するために使用できる手段を設け
ている。完全な制御戦略は、「ブロック」、「パラメータ」、および「接続」と
呼ばれるより小さい構成要素から構築される。ブロックはデータおよび基本的な
制御計算のアルゴリズムをカプセル化するために使用されるソフトウェア構成で
あり、パラメータはブロック内の個別のデータへのインタフェースを定義し、接
続によってデータがブロックのパラメータ間を流れることができる。
【0004】 実時間プロセス・コントローラを実現するために使用されるソフトウェアは、
異なる設計思想に基づくことができる。1つの思想は、アルゴリズムと基本的な
制御アルゴリズムを囲むデータがカプセル化されたオブジェクト内で実装される
オブジェクト指向方法を使用することであり、この思想を使用すると、「ブロッ
ク」とはオブジェクトであり、オブジェクトの属性は「パラメータ」を含み、オ
ブジェクトの振る舞いは実装された制御アルゴリズムである。この方法はいくつ
かの利点を有し、利点の中には、制御アルゴリズムとそのデータを緊密に結合す
ること、データの所有者としてのアルゴリズムの、データの変更に権限を与える
能力、データの所有者としてのアルゴリズムの、要求された状態の変化の有効性
についてシステムのユーザに「連絡」する能力が含まれる。
【0005】 しかし、オブジェクト指向方法は、他の方法より処理オーバーヘッドが多くな
る原因となる場合があるという欠点を有する。純粋にオブジェクト指向方法では
、ブロック自体の介入がなければブロックのパラメータへのアクセスを外部のア
ルゴリズムに与えることはできず、そのためにはブロックがサブルーチンを実行
し、パラメータを読み込むあるいは書き込むことが必要となる。サブルーチンの
実行が適切であり、オーバーヘッドは重要でない場合もあるが、サブルーチンの
実行が処理リソースの無駄である場合もある。
【0006】 したがって、当該技術で要求されているのは、オブジェクト指向コントローラ
内でカプセル化されかつ能率的なデータ参照を提供するめのシステムと方法なら
びにそのシステムと方法を使用した分散制御システムであり、そのシステムと方
法は、制御ブロックのブロックの設計者が、サブルーチンの実行を通じて、ある
いは、ここでは「密接な」アクセスと定義されているそれほどカプセル化されて
いないがさらに効率のよいアクセス形式を通じてパラメータ・アクセスを選択で
きる手段を提供しなければならない。
【0007】 (発明の概要) 本発明の主な目的は、上に論じられた従来技術の欠点に対処するために、アル
ゴリズム・ブロック設計に融通性を与え、データ転送の効率を高めるための複数
のタイプのデータ・アクセスを提供することにある。
【0008】 上記の主な目的を達成するために、本発明は、オブジェクト指向コントローラ
内にカプセル化されたデータ参照を提供するためのシステムと方法ならびにその
システムまたは方法を使用した分散実時間制御システムを提供する。1つの実施
例では、システムは(1)クライアント・アルゴリズム・ブロックが、アドレス
に格納されたデータへの直接的なアクセスを得ることができるようにアドレスに
対する要求を生成するクライアント・アルゴリズム・ブロックと、(2)その要
求を受信し、評価して、(2a)サプライヤ・アルゴリズム・ブロックがその要
求を許可した場合には、そのアドレスをクライアント・アルゴリズム・ブロック
に送り、そのクライアント・アルゴリズム・ブロックがそのデータへの直接的な
アクセスを得ることができるようにし、(2b)サプライヤ・アルゴリズム・ブ
ロックがその要求を拒否した場合には、そのアドレスを保留し、クライアント・
アルゴリズム・ブロックがそのデータへの間接的なアクセスを得るように強制す
るサプライヤ・アルゴリズム・ブロックとを含む。
【0009】 したがって、本発明は複数のタイプのデータ・アクセスを用いる概念を導入す
る。直接的なアクセスはサプライヤ・アルゴリズム・ブロックがアクセスに含ま
れる必要がないため一般により早く、間接的なアクセスはサプライヤ・アルゴリ
ズム・ブロックがアクセスを制御するため一般により安全である。
【0010】 本発明の一実施態様によれば、クライアント・アルゴリズム・ブロックは構成
時に要求を生成する。したがって、タイミングの制約が存在する時には、データ
交換のための経路を形成する接続は実行時間ではなくシステムが構成される時に
決めることができる。もちろん、本発明は構成時における生成に限定されない。
【0011】 本発明の一実施態様では、サプライヤ・アルゴリズム・ブロックは、クライア
ント・アルゴリズム・ブロックに強制して、明示的なサブルーチン・コールを通
じてデータへの間接的なアクセスを得させる。当業者であれば、従来技術内でデ
ータ・アクセスの独占的な方法を提供した「ゲット(get)」サブルーチンと
「格納する(store)」サブルーチンを熟知しているであろう。本発明はさ
らに、間接的なアクセスの文脈内でこのようなサブルーチンの使用も許可する。
【0012】 本発明の一実施態様では、サプライヤ・アルゴリズム・ブロックは所定の規則
に基づいて各パラメータについての要求を異なったように評価する。これらの規
則は、以下の種々の考慮によって刺激されるが、考慮はこれらに限定されるもの
ではない。種々の考慮とは、パラメータが割り当てられた格納セルを有するかま
たはアクセス時に計算されるかどうか、そのパラメータについて高速アクセスが
重要かどうか、密接なアクセスを許可することがソフトウェアの失敗の可能性を
大きく増大させるかどうかなどである。
【0013】 本発明の一実施態様によれば、データはパラメータに関連し、パラメータは(
1)直接的なアクセスがサポートされているかどうか、(2)直接的なアクセス
がサポートされている場合には関連するセルの位置、(3)直接的なアクセスが
サポートされていない場合にはサーバ・アルゴリズム・ブロックの位置からなる
情報グループから選択された少なくとも1つに関連する情報を含む。これらのま
た他のタイプの情報はデータがアクセスされる別の方法を識別するために使用さ
れる。
【0014】 本発明の一実施態様によれば、アドレスはクライアント・アルゴリズム・ブロ
ックに関連する持続性ポインタに含まれる。当業者であれば、持続性オブジェク
ト、すなわちメモリ・アドレスへの持続性ポインタは熟知しているであろう。本
発明はアルゴリズム・ブロック間の接続の生成をさらに効率的にするために、ポ
インタの持続性を使用することができる。
【0015】 本発明の一実施態様によれば、制御システムは分散実時間プロセス制御システ
ムである。しかし当業者であれば、本発明が提供する複数レベルのデータ・アク
セスに、他のオブジェクト指向アプリケーションを使用することを容易に思いつ
くであろう。
【0016】 前記は、以下に記述される本発明の詳細な記述を当業者がよりよく理解できる
ように、本発明の特徴と技術的な利点をかなりおおまかに概略したものである。
本発明のさらなる特徴と利点は本発明の請求項の主題を形成する以下に記述され
る。当業者であれば、概念と開示された具体的な実施形態を、本発明の同じ目的
を実施するための変更または他の構成の設計の基礎として容易に使用できること
を理解されたい。当業者であればまた、これらの同等の構成が本発明のもっとも
広い形の精神と範囲から離れるものではないことが理解されるであろう。
【0017】 本発明とその利点のさらに完全な理解のために、次に、付随する、同様な数字
は同様な部分を示す図面と、以下の詳細な記述を参照する。
【0018】 (詳細な説明) 本発明のシステムと方法の実施形態の記述を行う前に、本発明が適切に使用さ
れるか実装される計算または処理システム環境を記述すると役立つであろう。ま
ず図1を参照すると、本発明が適切に使用される例としての、分散実時間制御シ
ステム(全体的に100と示される)の機能図が図示されている。
【0019】 説明のために、プロセス制御システム100はサーバ110とコントローラ・
ネットワーク111を有するコンピュータ・ネットワークを含む。コントローラ
・ネットワーク111は、サーバ110とプロセス制御コントローラ(全体的に
121と示される)の間のインタフェースを提供し、コントローラ・ネットワー
ク111は、たとえば、サーバ110とプロセス制御コントローラ121の間で
管理メッセージを、プロセス制御コントローラ121どうしの間でピアツーピア
・メッセージを運ぶ。プロセス制御コントローラ121は、I/Oネットワーク
112を介して入力/出力(I/O)デバイス122と通信する。プロセス制御
コントローラ121は、I/Oデバイス122とI/Oネットワーク112を介
して、処理センサとアクチュエータ130とからのデータを制御し受信するため
に、ソフトウェアで定義可能なプロセス制御ルーチンを実行するようにされてい
る。当業者であれば、種々の製品の製造に使用される電気的に制御可能なモータ
、バルブ、ポンプなど種々のタイプの処理センサとアクチュエータ130に熟知
しているであろうが、本発明の原理は特定の処理あるいは処理システムに限定さ
れるものではなく、任意のこのようなシステムに使用し、利点を与えることが可
能である。
【0020】 一実施形態では、プロセス制御システム100はさらに、サーバ110と遠隔
ワークステーション(全体として140と示される)の間にインタフェースを提
供するローカル・エリア・ネットワーク(「LAN」)113を含む。遠隔ワー
クステーション140は、プロセス制御システム100の動作を制御し監視する
ためにシステム・オペレータによって使用される。LAN112とコントローラ
・ネットワーク111は別のネットワークとして示されているが、同じ場合もあ
る。また、遠隔ワークステーション140とプロセス制御コントローラ120が
同じネットワーク送信媒体を共有する場合もある。当業者であれば、制御システ
ムとオペレータのワークステーションについて別のネットワークを用意すると、
分散実時間プロセス制御システムの信頼性を高めることに気づくであろう。たと
えば、サーバ110からオペレータのワークステーション140への処理に関連
したデータの配布に関連するLAN112上のネットワーク・トラフィックは、
制御ネットワーク111を介したサーバ110と遠隔プロセス制御コントローラ
120の間で送信される処理制御情報に干渉しない。
【0021】 ソフトウェアで定義可能なプロセス制御ルーチンは、サーバ110、ワークス
テーション140、プロセス制御コントローラ121などの任意のディジタル処
理システムによって実行される。図2は本発明の原理を具体化する、ソフトウェ
アで定義可能なプロセス制御ルーチンを実行するために使用される例としてのデ
ィジタル処理システム200の高レベルの構成図を示す。例としてのディジタル
処理システム200は、マイクロプロセッサ210、非揮発性メモリ220、ラ
ンダム・アクセス・メモリ(「RAM」)230を含む。ソフトウェアで定義可
能なプロセス制御ルーチンを格納するために使用されている非揮発性メモリ22
0は、たとえば、プログラム可能な読込み専用メモリ(PROM)、フラッシュ
ROM、磁気記憶媒体などを含む。非揮発性メモリ220内に格納されたソフト
ウェアで定義可能なプロセス制御ルーチンは、マイクロプロセッサ210によっ
て実行される。マイクロプロセッサは、ルーチンが実行される時にプロセス制御
ルーチンのすべてあるいは一部を格納するために、また、処理センサとアクチュ
エータ130に関連した処理制御データの格納のためにRAM230を使用して
いる。ディジタル処理システム200の記述は例としてのものであり、当業者で
あれば本発明の原理を使用するソフトウェアで定義可能なプロセス制御ルーチン
はディジタル処理システム200用の特定のハードウェア実装に限定されず、す
べてのこのようなシステムが以下の請求項の範囲に含まれることを理解されるで
あろう。
【0022】 オブジェクト指向プログラミングを使用したプロセス制御コントローラ、つま
り、「オブジェクト指向コントローラ」内では、アルゴリズムとそれに関連する
データは「ブロック」と呼ばれるオブジェクトとして実装することができる。ブ
ロック内のデータは、「パラメータ」と呼ばれる、ブロックの名付けられた属性
から読み込まれたり、その属性に書き込んだりすることができる。異なるブロッ
クの間のデータの流れは、1つのブロックの出力パラメータから第2のブロック
の入力パラメータへの「接続」を確立することによって達成できる。
【0023】 本発明の原理によれば、2つのブロックの間で接続が確立された時、1つのブ
ロックは「参照」として働く情報を保持する。参照は、2つのブロック間のデー
タの流れに影響を与えることの目的のために、どのブロック、そのブロックのど
のパラメータがアクセスされるべきかを定義する。参照はまた、ブール型あるい
は整数型など、参照されるパラメータのデータ型などの記述的な情報を与える。
参照は、入力パラメータを有するブロックによって保持され、第2のブロックの
出力パラメータを指示することができ、この場合、データの流れは入力パラメー
タを伴うブロックが、出力パラメータを伴うブロックからデータを「ゲット」ま
たは「要求する」、「プル」技術として特徴づけられる。あるいは、参照は、出
力パラメータを有するブロックによって保持され、第2のブロックの入力パラメ
ータを指示することができ、この場合、データの流れは、出力パラメータを伴う
ブロックが第2のブロックの入力パラメータへデータを「格納」する「プッシュ
」技術として特徴づけられる。
【0024】 プロセス制御コントローラ設計が「プル」技術または「プッシュ」技術のどち
らを使用しているか、または両方を使用しているかにかかわらず、参照を保持す
るブロックはここでは「クライアント・アルゴリズム・ブロック」、または簡単
に「クライアント」、「クライアント・ブロック」と呼ばれ、一方、参照される
パラメータを保持するブロックはここでは「サプライヤ・アルゴリズム・ブロッ
ク」、または簡単に「サプライヤ」、「サプライヤ・ブロック」と呼ばれる。概
念的には、クライアントはブロックの間のデータの流れに影響を与えるために、
サプライヤ・ブロック上で動作あるいは方法を実行する原因として考えることが
できる。さらに、この後詳しく記述するように、サプライヤはサプライヤからク
ライアントへのデータの流れを実装する手続き、たとえばクライアントが所望の
データへ「直接的な」アクセスを得るかまたは「間接的な」アクセスを得るかと
いう手続きを提供する。さらに、データの流れを実装する手続きは、要求された
データに応答する以上のことを行うことができる。たとえば、手続きはデータへ
の要求に答える前にデータについての補助的な計算を実行する場合もある。
【0025】 一実施形態では、参照がクライアントによって受信された時には、参照はコン
トローラ内のパラメータ・アクセスに直接適合できる内部的な形式に変換されな
ければならない外部的な形式であり、この変換を与える処理はここでは「バイン
ディング」と呼ばれる。バインディングはブロックがその構成データを受信する
設定動作の一部として実行でき、また参照されたブロックとパラメータが参照自
体の後存在するようになる場合、ランタイム実行の一部として起動される場合も
ある。一般に、クライアント・ブロックは、バインディング動作を実行するため
の十分な情報を有し、クライアント・ブロックは、バインディング動作を自分で
実行する場合もあり、または、バインディングに関連したルーチン動作を処理す
るサポート・エージェントに頼る場合もある。しかしどちらの場合も、この後さ
らに詳細に記述するように、バインディング処理は最終的にはサプライヤ・ブロ
ック上で2つの手続きのうち1つを実行するという結果になる。すなわちニーズ
が「ゲット」権限のためにバインディングすることである場合は「BindGe
t()」手続きが起動され、ニーズが「格納」権限の場合、「BindStor
e()」手続きが起動される。各バインド要求は参照されるべきパラメータを識
別するために十分な情報を含む。
【0026】 本発明の原理を図示し説明するために、次に本発明の原理を使用したアルゴリ
ズム・ブロックを使用した、例としてのソフトウェアで定義可能なアプリケーシ
ョン300の構成図である図3を参照する。アプリケーション300はサプライ
ヤ・ブロックSB1、SB2と、クライアント・ブロックCBを含む。サプライ
ヤ・ブロックSB1はクライアント・ブロックCBの入力パラメータIP1に接
続された出力パラメータOP1を有し、クライアント・ブロックCBはサプライ
ヤ・ブロックSB2の入力パラメータIP2に接続された出力パラメータOP2
を有し、実行時間には、パラメータ間の接続によってデータが矢印の方向に流れ
る。
【0027】 特定のアプリケーションでは、アルゴリズム・ブロック、つまりサプライヤ・
ブロックSB1、SB2とクライアント・ブロックCBは、任意の所望のソフト
ウェアで定義可能な処理を具体化する。これは、たとえば入力パラメータIP1
、IP2または出力パラメータOP1、OP2によって保持されたデータを操作
、使用あるいは生成することができるが、本発明の原理はブロックによって実行
される特定のアルゴリズムまたは処理に限定されるものではなく、データがブロ
ック間で共有される方法に関連する。したがって、説明のために、クライアント
・ブロックCBは以下の性質を有するアルゴリズムの集りを含むものと仮定する
。(1)入力パラメータIP1はサプライヤ・ブロックSB1の出力パラメータ
OP1への接続を形成する関連するコネクタを有し、クライアント・ブロックC
Bが実行すると、サプライヤ・ブロックSB1から出力パラメータOP1の値を
プル、またはゲットするためにコネクタ参照を使用する。(2)出力パラメータ
OP2はサプライヤ・ブロックSB1の入力パラメータIP2への接続を形成す
る関連するコネクタを有し、クライアント・ブロックCBが実行すると、サプラ
イヤ・ブロックSB2の出力パラメータOP2から入力パラメータIP2へ値を
プッシュ、あるいは格納するためにコネクタ参照を使用する。また、説明のため
に、サプライヤ・ブロックSB1は出力パラメータOP1について密接なゲット
・アクセスをサポートし、サプライヤ・ブロックSB2は入力パラメータIP2
について密接な格納アクセスをサポートしていないので、入力パラメータIP2
へのデータの書込みは、サプライヤ・ブロックSB2のStore()サブルー
チンによって処理されることが必要であると仮定されている。ここで使用されて
いるように、密接な、または直接的なデータ・アクセスとは、データにアクセス
するために使用される従来のサブルーチンの第2のブロックによる実行を必要と
しないで、第1のブロックが第2のブロックのパラメータによって保持されたデ
ータへのアクセスを得ることができることを意味し、ここで使用されているアク
セスという言葉は、ブロックのパラメータによって保持されたデータの書込みま
たは格納、および読込みまたはゲットの両方を含む。
【0028】 次に図4を参照すると、本発明の原理を使用したアルゴリズム・ブロックの設
計用として、接続サブシステム・クラス図400が図示されている。図400は
Booch概念内で実行され、当業者であれば参照により本明細書に組み込まれ
る、Benjamin/Cummings、1994の、「Object Or
iented Analysis and Design With Appl
ications」でGrady Boochによって記述されたBooch概
念を熟知しているであろう。図400は、接続上のデータ転送をサポートするア
ルゴリズム・ブロックの設計内で使用される構造的な要素やクラスを図示し、ブ
ロック、パラメータ、コネクタは異なるタイプのクラスで、各々の記述と別のク
ラスとの包含関係は次のように与えられる。ブロック410の各インスタンスは
オブジェクト指向処理制御戦略の基本的な構成要素を含み、ブロック410のデ
ータ要素を形成する1つまたは複数のパラメータ420を含む。特定の制御戦略
内では、ブロックは1つまたは複数のコネクタ430によってともにリンクされ
ている。
【0029】 上記のように、ブロック・クラスのインスタンスはオブジェクト指向処理制御
戦略が構成できる基本的な構成要素を形成する。ブロックはパラメータとコネク
タのインスタンスを含み、パラメータはブロックのデータ要素を作り出し、コネ
クタはブロックが他のブロックのパラメータへの参照データを保持することを可
能にする。この後記述されるように、ブロックによって実行される制御アルゴリ
ズムはExecute()手続きで表現され、例としてのExecute()手
続きは次に記述される。クライアント・ブロックが読込みアクセスのためにGe
t()手続き、書込みアクセスのためにStore()手続きを起動した時に、
ブロックによって所有されているパラメータへのアクセスが起きる。BindG
et()手続きとBindStore()手続きはクライアント・ブロックまた
はクライアント・ブロックの代理をするエージェントによって呼び出され、バイ
ンディング手続きを通じてこれらの独自のコネクタの値を満たす。BindGe
t()手続きの特定の実装は、ブロックが密接なゲット・アクセスを許可するパ
ラメータと、ブロックが方法の起動によってのみゲット・アクセスを許可するパ
ラメータを決定する。同様に、BindStore()手続きの特定の実装は、
ブロックが密接な格納アクセスを許可するパラメータと、ブロックが方法の起動
によってのみ格納アクセスを許可するパラメータを決定する。例としてのソフト
ウェアで定義可能なアプリケーション300では、サプライヤ・ブロックSB1
、SB2、クライアント・ブロックCBという3つのブロック・クラスのインス
タンスがある。本発明の原理を実装するブロック・クラスに使用されるいくつか
のサンプル手続きについて例としてのPDLサンプルが下に示され、その中には
例としてのGet()、Store()、BindGet()、BindSto
re()、Execute()の各手続きが含まれている。サンプルの手続きは
、高レベルに抽象化されており、各手続きによって実行される処理のタイプを示
すことが目的である。当業者であれば、特定のブロック方法を実装するために必
要な符号はブロックの各タイプによって異なり、以下に提供されるPDLサンプ
ルは例としてのソフトウェアで定義可能なアプリケーション300内で描かれた
ブロックに関連していることが分かるであろう。
【0030】 「パラメータ」クラスのインスタンスは、ブロックのデータ・ベースを作り上
げる個別のデータを形成する。オブジェクト指向処理制御戦略では、1つのブロ
ックによって保持されたパラメータ値は接続のエージェンシまたは「コネクタ」
クラスを通じて他のブロックによって読み込まれ、書き込まれる。パラメータ値
は、工場のスタッフが処理の変化を監視できるようにプロセス制御システム内の
人間のインタフェース装置によって読み込まれる場合もある。「パラメータ」ク
ラスは任意の他のクラスをインスタンス化しない。例としてのソフトウェアで定
義可能なアプリケーション300では、パラメータ・クラスは入力パラメータI
P1とIP2、出力パラメータOP1とOP2の、4つのインスタンスがある。
【0031】 本発明の原理によれば「コネクタ」クラスのインスタンスはクライアント・ブ
ロックがサプライヤ・ブロックのパラメータにアクセスできるようにする参照デ
ータを保持し、コネクタは「DataType」「ParameterIden
tifier」「pCell」「pBlock」のインスタンスを保持する。例
としてのソフトウェアで定義可能なアプリケーション300では、クライアント
・ブロックCBの入力パラメータIP1に関連したコネクタと、クライアント・
ブロックCBの出力パラメータOP2に関連したコネクタという2つのインスタ
ンスのコネクタ・クラスがある。
【0032】 1つのアプリケーション内では各接続に対して少なくとも1つのコネクタがあ
る。コネクタ内の参照データが出力パラメータを示す時、コネクタを所有するク
ライアント・ブロックは接続上でデータを「プル」する。コネクタ内の参照デー
タが入力パラメータを示す時、コネクタを所有するクライアント・ブロックは接
続上でデータを「プッシュ」する。コネクタは参照を記述するために1つ以上の
タイプの情報を保持する。すなわち、参照されたパラメータのデータ型、参照さ
れたパラメータの外部的な形の識別子、参照されたパラメータの内部的な形の識
別子を保持する。
【0033】 本明細書で提供されている例としてのPDL手続きで使用されているように、
外部的な識別子は「ParameterIdentifier」と呼ばれるが、
本発明の原理はこの識別子について特定のフォーマットに限定されるものではな
い。たとえばこの識別子が特定のブロック内で特定のパラメータを一意的に示す
能力がある限り、識別子はテキストでも数字でもその組合せでもよい。また本明
細書で提供されている例としてのPDL手続きで使用されているように、「pC
ell」と「pBlock」は共に内部的な識別子を含む。密接なアクセスがサ
プライヤ・ブロックによって許可されている場合を除いては、pCellは空で
あり、密接なアクセスが許可されている時は、pCellはサプライヤ・ブロッ
ク内におけるパラメータの正確なメモリ位置(つまり、アドレス)を示す。pC
ellが空の場合、pBlockは使用されており、これはGet()手続きや
Store()手続きなどの総称的アクセス方法(本明細書では「方法」アクセ
スと定義する)がサプライヤ・ブロック上で起動できるように、サプライヤ・ブ
ロック自体のメモリ位置を指示する。「pCell」と「pBlock」はその
名前が示すように「ポインタ」と考えられるが、内部的な参照はたとえば、関連
するオフセットを伴うメモリ・ハンドルをポインタの代わりに使用するなど、ポ
インタ以外の形を取ることもあり、それも本発明の範囲の中である。
【0034】 本発明はデータの所有者(つまりブロック)が別のブロックによってそのデー
タへの密接なアクセスを選択的に許可できる手続きを導入する。本明細書ではこ
れらの手続きは「BindGet()」、「BindStore()」と名付け
られている。本発明の原理を示すために、図3に示された例としてのソフトウェ
アで定義可能なアプリケーション300について、表1と表2が、それぞれ例と
してのBindGet()手続きとBindStore()手続きについて非常
に抽象化されたレベルでCに似たプログラム設計言語(「PDL」)の記述を提
供しており、当業者であれば他の特定のソフトウェアで定義可能なアプリケーシ
ョンについて同等の手続きを容易に思いつくであろう。当業者であればソフトウ
ェアで定義可能な処理の帰納的な要件を記述するPDLの使用を熟知しているで
あろうが、本発明の原理はこのような手続きを定義するために使用される特定の
手続きや特定の符号に限定されるものではない。当業者であれば本発明の原理を
実装する多くの同等の手段を容易に考えつくであろうし、このような同等の手段
も本明細書内の請求項の範囲内に含まれるものである。
【0035】 表1に提供された例としてのBindGet()手続きによって図示されたよ
うに、BindGet()はどのパラメータが参照されているのかを識別し、サ
プライヤ・ブロックSB1がバインディングを要求しているサプライヤ・ブロッ
クSB1のパラメータを決定できるようにする入力引数として、値「Param
eterIdentifier」を受信する。BindGet()はそのパラメ
ータについてサポートされているバインディングのタイプを識別するデータを戻
し、このデータは例の中では「BoundParameterReferenc
e」と呼ばれる。BoundParameterReference内の情報は
最終的にはコネクタ内に格納され、「pCell」と「pBlock」の値とし
てクライアント・ブロックCBによってインスタンス化される。一実施形態では
、BindGet()手続きはクライアント・ブロックCBに対する設定動作の
一部としてコールされる。
【0036】
【表1】
【0037】 表2に与えられた例としてのBindStore()手続きによって示されて
いるように、BindStore()はバインディングが要求されているパラメ
ータを識別するようにParameterIdentifierの値を入力引数
として受信する。BindStore()は最終的にはコネクタ内に格納され、
クライアント・ブロックCBによってpCellとpBlockの値としてイン
スタンス化される「BoundParameterReference」を戻す
。一実施形態では、BindStore()手続きはクライアント・ブロックC
Bについて設定動作の一部としてコールされる。
【0038】
【表2】
【0039】 説明のために、本発明の原理によれば、バインド要求が、密接なゲット・アク
セスが参照されているパラメータについてサポートされているかどうかを評価す
るためにブロックの設計者によって符号化されているBindGet()手続き
へのコールとなると仮定する。密接なアクセスがサポートされている場合、Bi
ndGet()手続きはパラメータが格納されている正しいメモリ・セル(複数
可、すなわち、アドレス)の識別を可能にする内部的な形の参照を戻す。アドレ
ス情報は指定されたセルへの直接的な読込みアクセスを実行するために、実行時
に使用されるべきアクセスを要求したクライアント・ブロックへ戻される。ブロ
ックの設計者が特定の参照されたパラメータについて密接なアクセスを許可しな
いようにBindGet()手続きを実装した場合、異なる形の参照が戻され、
戻された参照はブロック内のセルではなくブロック自体を示し、サプライヤ・ブ
ロック上で密接なアクセスではなく、Get()手続き(つまり「方法」アクセ
ス)を起動するようにクライアント・ブロックによって使用される。
【0040】 「格納」バインド要求の処理は本質的には「ゲット」バインド要求についての
処理に類似している。BindGet()手続き使用とBindStore()
手続き使用の主な相違は、ほとんどのアプリケーションでは、BindGet(
)手続きはBindStore()手続きより好ましくはかなり多くのパラメー
タについて密接なアクセスをサポートしているということであり、データの読込
みは本来データの書込みより安全なので、密接な「ゲット」アクセスは密接な「
格納」アクセスよりもより頻繁に許可される。さらに、ほとんどの処理制御戦略
では、ゲット動作よりも格納動作が関連する計算を有する方が一般的であり、関
連する計算はアクセスが方法アクセス、つまりサブルーチンの実行による場合だ
けに実行でき、密接なアクセスを使用している時は不可能かまたは望ましくない
こともある。
【0041】 本発明の必要な要件は、直接的な(つまり密接な)アクセスを許可する参照と
方法アクセス(つまりサブルーチンの実行によるアクセス)だけを許可する参照
との間の違いを符号化する方法があることであり、クライアント・ブロックまた
はクライアント・ブロックによって使用される中間のサービスは、適切な技術に
よるアクセスを実行するためにこの違いを検出できる必要がある。所望のアクセ
スの方法を示すために必要な情報を符号化できる方法は多く、本発明の原理は特
定の方法に限定されるものではなく、当業者であれば同等の技術を容易に思いつ
くであろう。選択される方法は部分的には本発明の原理が使用されるべきプロセ
ス制御コントローラ内で使用されるメモリ管理の形式によって異なる。一般に、
参照は次の事項を識別できる十分な情報を格納しなければならない。(1)密接
なアクセスがサポートされているかどうか。(2)密接なアクセスがサポートさ
れている場合、パラメータ格納セルの位置(つまりメモリ・アドレス)、(3)
密接なアクセスがサポートされていない場合、サプライヤ・ブロックの位置(つ
まりメモリ・アドレス)。
【0042】 説明のために、アプリケーション内で使用されているメモリ管理思想が、バウ
ンド参照が単純な、持続性なポインタとして格納されているものと仮定する。こ
の仮定の元で、pCellとpBlockの2つのポインタは参照情報を符号化
するために十分である。pCellポインタとpBlockポインタは、本明細
書に「コネクタ」として記載されているような参照オブジェクト内で共に格納で
きる。表4に示されている例としてのPDLは、これらのポインタがどのように
使用できるかを示す。
【0043】
【表3】
【0044】 一般に、コネクタはpCellとpBlockの値の中に保持された内部的な
形式の参照と、構成データとして受信することのできる外部的な形式の参照の両
方を保持すべきである。参照の2つの形式を有することによって、パラメータ定
義が存在する前に参照情報が受信された場合、コネクタは、必要に応じてバイン
ディング手続きを起動することが可能になる。
【0045】 参照が密接なアクセスをサポートするようにバインディングされている場合、
クライアント・ブロックは、所望のアクセスを実行するために参照されたパラメ
ータのデータ型を知っていることが好ましい。クライアント・ブロックは1つ以
上の方法でデータ型を知るようになるが、本発明の原理はクライアント・ブロッ
クが参照されたパラメータのデータ型を得る方法に限定されない。以下に記述さ
れるように、データ型情報を得る方法には例として次の2つの方法が含まれる。
(1)クライアント・ブロックによって所有された関連するパラメータのデータ
型に基づいた暗示的な知識、または(2)参照されたパラメータに関連するコネ
クタ内のデータ型格納に基づいた明示的な知識。
【0046】 アクセス・コントローラ・アプリケーション内の接続は、1つのブロックの出
力パラメータと第2のブロックの入力パラメータの間でリンケージ(linka
ge)を確立する。処理制御アプリケーションあるいはその一部によっては、入
力パラメータと出力パラメータのデータ型は正確に一致することが求められ、こ
れらのアプリケーションでは、クライアント・ブロックはクライアント・ブロッ
クによって所有されている関連するパラメータのデータ型から、参照されたパラ
メータのデータ型を推測できる。たとえば「プル」接続では、クライアント・ブ
ロックは参照された出力パラメータのデータ型をその入力パラメータのデータ型
から推測でき、「プッシュ」接続では、クライアント・ブロックは参照された入
力パラメータのデータ型をその出力パラメータのデータ型から推測できる。他の
処理制御アプリケーションの場合、入力パラメータと出力パラメータのデータ型
の間の正確な合致は要求されず、クライアント・ブロックによって仮定すること
もできないので、このようなアプリケーションでは、クライアント・ブロックは
なんらかの方法で参照されたパラメータのデータ型を学ばなければならない。参
照されたパラメータのデータ型はたとえば、パラメータに関連するコネクタ内で
データ型とアドレス・データを共に格納することによって決定でき、制御戦略の
設定時に、コネクタはアドレス情報とデータ型情報の両方を保持するように初期
化することができる。
【0047】 以下の表4に示された例としてのExecute()手続きによって図示され
ているように、Execute()はクライアント・ブロックCBによって実装
される制御アルゴリズムのほとんどを符号化する。クライアント・ブロックCB
の特定の要件に応じて、制御アルゴリズムの要素はそのブロックのパラメータに
ついてGet()手続きまたはStore()手続きによって実装される。表4
に提供された例としてのPDL内では、クライアント・ブロックCB内のコネク
タ・インスタンスは「IP1Connector」「OP2connector
」として参照される。例としてのExecute()手続きは、IP1Conn
ectorとOP2Connectorがクライアント・ブロックCBについて
設定動作の間に使用可能な状態に初期化されていることを仮定しており、また、
クライアント・ブロックCBは暗示的ではなく明示的なデータ型の決定を使用し
ていることを仮定している。Execute()手続き内で行われる処理は、密
接なアクセスGet()コール、Store()コールを含むIP1Conne
ctorとOP2Connectorに関連するサプライヤ・ブロックへの任意
の実行時アクセスを処理する。
【0048】
【表4】
【0049】 表5に提供された例としてのStore()手続きによって示されているよう
に、例としてのアプリケーション300内のサプライヤ・ブロックSB2につい
ては、サプライヤ・ブロックSB2は入力パラメータIP2について密接な格納
アクセスをサポートしていないので、サプライヤ・ブロックSB2はその格納手
続きStore()が、入力パラメータIP2への任意の入力接続についてコー
ルされるように強制する。サプライヤ・ブロックSB2は、入力パラメータIP
2が格納されるといつでも一連のアルゴリズムの計算(表5には図示せず)を実
行する。例としてのStore()手続きは入力引数としてParameter
Identifierと格納されるべき値を受信し、これは引数「InputV
alue」内に渡され、Store()手続きは格納動作が成功したかしないか
を示す「状態」値を戻す。
【0050】
【表5】
【0051】 サプライヤ・ブロックSB1についてGet()手続きを実行することは、例
としてのアプリケーション300内で描かれた接続によっては刺激されないが、
Get()手続きの実行はたとえば処理中の表示から発生するサプライヤ・ブロ
ックSB1についてのパラメータ値要求によって刺激される。表6は例としての
Get()手続きを示す。
【0052】
【表6】
【0053】 まとめとして、上記の本発明は、オブジェクト指向ソフトウェア設計を使用す
るプロセス制御コントローラ内で処理のオーバーヘッドを削減するための手段を
提供する。使用されている方法はクライアント・ブロックが参照されているパラ
メータについて密接なアドレス・データを要求する構成時間においてバインディ
ング処理を設定することであり、サプライヤ・ブロックは要求を評価し、密接な
アクセスを許可するかしないかを決定する。サプライヤ・ブロックが密接なデー
タ・アクセスを許可することを決定した場合、サプライヤ・ブロックはクライア
ント・ブロックにデータのアドレスを提供し、許可することを決定しなかった場
合、サプライヤ・ブロックは密接なアクセスを否定し、実行時にクライアントブ
ロックに対して明示的なサブルーチンを通じてデータにアクセスすることを強制
する。
【0054】 以前のプロセス制御コントローラ設計は、カプセル化されたオブジェクトとし
て制御アルゴリズムとデータを実装してきた。アルゴリズムの主な部分はたとえ
ばExecute()関数で表現され、パラメータ・データへのアクセスは上記
に示されたようにGet()とStore()などのデータの所有者の関数を通
じて制御された。しかし以前のコントローラ設計は、たとえばGet()/St
ore()実行を通じた間接的な、または「密接」なアクセスを通じた直接的な
パラメータへのアクセスを許可していなかった。本発明は要求されたデータを所
有するブロックがそこへのアクセスを制御する能力を失うことなく直接的および
間接的なアクセスの方法を提供し、データ・パラメータを所有するブロックは各
パラメータについて密接なアクセスが許可されているかどうかを決定でき、それ
によって各パラメータについて密接な読込みアクセスと密接な書込みアクセスに
ついて独立して決定できるようにする。
【0055】 上記から、本発明は、オブジェクト指向コントローラ内でカプセル化されかつ
能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムまた
は方法を使用した分散実時間プロセス制御システムを提供することが明らかであ
る。一実施形態では、システムは(1)クライアント・アルゴリズム・ブロック
があるアドレスに格納されたデータへの直接的なアクセスを得ることができるよ
うに前記アドレスに対する要求を生成するクライアント・アルゴリズム・ブロッ
クと、(2)その要求を受信し、評価するサプライヤ・アルゴリズム・ブロック
と、(2a)サプライヤ・アルゴリズム・ブロックがその要求を許可した場合に
は、そのアドレスをクライアント・アルゴリズム・ブロックに送り、クライアン
ト・アルゴリズム・ブロックが前記データへの直接的なアクセスを得ることがで
きるようにし、(2b)サプライヤ・アルゴリズム・ブロックがその要求を拒否
した場合には、そのアドレスを保留し、そのクライアント・アルゴリズム・ブロ
ックがそのデータへの間接的なアクセスを得るように強制するサプライヤ・アル
ゴリズム・ブロックを含む。本発明を使用するとブロックの設計者は特定の処理
制御アプリケーションの設計についてより制御できるようになり、必要であれば
、ブロックの設計者は密接なアクセスを拒否し、特定のパラメータについてデー
タの読込みまたは書込みがサブルーチンの実行あるいは「方法」アクセスを通過
するように強制することもできる。あるいは、サブルーチンの実行が望ましくな
く、読込みアクセスまたは書込みアクセスの効率を上げることがより重要な場合
、設計者は密接なアクセスを許可できる。
【0056】 本発明とその利点が詳細に記述されたが、当業者であれば本発明のもっとも広
い精神と範囲から離れることなく本発明についてさまざまな変更、代替、代替実
施形態が作りだせることを理解されるであろう。
【図面の簡単な説明】
【図1】 本発明が適切に使用できる、例としての、分散実時間プロセス制御システムの
機能図である。
【図2】 本発明の原理を具体化する、ソフトウェアで定義可能なプロセス制御ルーチン
を実行するために使用される、例としてのディジタル処理システムの高レベルな
構成図である。
【図3】 本発明の原理を使用したアルゴリズム・ブロックを使用した、例としてのソフ
トウェアで定義可能なアプリケーションの構成図である。
【図4】 本発明の原理を使用したアルゴリズム・ブロックの設計について接続サブシス
テム・クラス図を示した図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハイマー,リチャード・ピイ アメリカ合衆国・19422・ペンシルヴェニ ア州・ブルー ベル・ヒアフォード ドラ イブ・1035 (72)発明者 カンジ,エム・グラム アメリカ合衆国・18103・ペンシルヴェニ ア州・アレンタウン・コールド スプリン グ ロード・950 Fターム(参考) 5B098 AA03 AA10 GA01 GA06 GB13 GD03 GD14

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向コントローラ内でカプセル化されかつ能率
    的なデータ参照を提供するためのシステムであって、 クライアント・アルゴリズム・ブロックがあるアドレスに格納されたデータへ
    の直接的なアクセスを得ることができるように前記アドレスに対する要求を生成
    するクライアント・アルゴリズム・ブロックと、 前記要求を受信し、評価して、 サプライヤ・アルゴリズム・ブロックが前記要求を許可した場合には、前記ア
    ドレスを前記クライアント・アルゴリズム・ブロックに送り、前記クライアント
    ・アルゴリズム・ブロックが前記データへの直接的なアクセスを得ることができ
    るようにし、 前記サプライヤ・アルゴリズム・ブロックが前記要求を拒否した場合には、前
    記アドレスを保留し、前記クライアント・アルゴリズム・ブロックが前記データ
    への間接的なアクセスを得るように強制するサプライヤ・アルゴリズム・ブロッ
    クと を含むシステム。
  2. 【請求項2】 前記クライアント・アルゴリズム・ブロックが構成時間に前
    記要求を生成する請求項1に記載のシステム。
  3. 【請求項3】 前記サプライヤ・アルゴリズム・ブロックが前記クライアン
    ト・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じて前記デー
    タへの間接的なアクセスを得るように強制する請求項1に記載のシステム。
  4. 【請求項4】 前記サプライヤ・アルゴリズム・ブロックが前記サプライヤ
    ・アルゴリズム・ブロックに関連する所定の規則に基づいて前記要求を評価する
    請求項1に記載のシステム。
  5. 【請求項5】 前記データがパラメータに関連し、前記パラメータが、 直接的なアクセスがサポートされているかどうか、 直接的なアクセスがサポートされている場合には関連するセルの位置、 直接的なアクセスがサポートされていない場合には前記サーバ・アルゴリズム
    ・ブロックの位置、 からなる情報グループから選択された少なくとも1つに関連する情報を含む請求
    項1に記載のシステム。
  6. 【請求項6】 前記アドレスが前記クライアント・アルゴリズム・ブロック
    に関連する持続性ポインタに含まれる請求項1に記載のシステム。
  7. 【請求項7】 前記制御システムが分散実時間プロセス制御システムである
    請求項1に記載のシステム。
  8. 【請求項8】 オブジェクト指向コントローラ内でカプセル化されかつ能率
    的なデータ参照を提供するための方法であって、 クライアント・アルゴリズム・ブロックにより、前記クライアント・アルゴリ
    ズム・ブロックがあるアドレスに格納されたデータへの直接的なアクセスを得る
    ことができるように前記アドレスへの要求を生成するステップと、 前記要求をサプライヤ・アルゴリズム・ブロックが受信し、前記サプライヤ・
    アルゴリズム・ブロックが前記要求を評価するステップと、 前記サプライヤ・アルゴリズム・ブロックが前記要求を許可した場合には、前
    記アドレスを前記クライアント・アルゴリズム・ブロックに送り、前記クライア
    ント・アルゴリズム・ブロックが前記データへの直接的なアクセスを得ることが
    できるようにするステップと、 前記サプライヤ・アルゴリズム・ブロックが前記要求を拒否した場合には、前
    記アドレスを保留し、前記クライアント・アルゴリズム・ブロックが前記データ
    への間接的なアクセスを得るように強制するステップと を含む方法。
  9. 【請求項9】 前記生成のステップが構成時間に実行される請求項8に記載
    の方法。
  10. 【請求項10】 前記受信のステップが、 前記サプライヤ・アルゴリズム・ブロックが前記要求を拒否した場合に、前記
    クライアント・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じ
    て前記データへの間接的なアクセスを得るように強制するステップを含む請求項
    8に記載の方法。
  11. 【請求項11】 前記受信のステップが、 前記サプライヤ・アルゴリズム・ブロックに関連する所定の規則に基づいて前
    記要求を評価するステップを含む請求項8に記載の方法。
  12. 【請求項12】 前記データがパラメータに関連し、前記パラメータが、 直接的なアクセスがサポートされているかどうか、 直接的なアクセスがサポートされている場合には関連するセルの位置、 直接的なアクセスがサポートされていない場合には前記サーバ・アルゴリズム
    ・ブロックの位置、 からなる情報グループから選択された少なくとも1つに関連する情報を含む請求
    項8に記載の方法。
  13. 【請求項13】 前記アドレスが前記クライアント・アルゴリズム・ブロッ
    クに関連する持続性ポインタに含まれる請求項8に記載の方法。
  14. 【請求項14】 前記制御システムが分散実時間プロセス制御システムであ
    る請求項8に記載の方法。
  15. 【請求項15】 分散実時間プロセス制御システムであって、 複数のセンサおよび制御可能なデバイスと、 前記複数のセンサおよび制御可能なデバイスに関連し、 参照されたパラメータを含んでいるアルゴリズム・ブロック内に配置されたソ
    フトウェア命令のシーケンスを実行し、 クライアント・アルゴリズム・ブロック内で、前記クライアント・アルゴリズ
    ム・ブロックがあるアドレスに格納されたデータへの直接的なアクセスを得るこ
    とができるように前記アドレスに対する要求を生成し、 前記要求をサプライヤ・アルゴリズム・ブロックが受信し、前記サプライヤ・
    アルゴリズム・ブロックが前記要求を評価し、 サプライヤ・アルゴリズム・ブロックが前記要求を許可した場合には、前記ア
    ドレスを前記クライアント・アルゴリズム・ブロックに送り、前記クライアント
    ・アルゴリズム・ブロックが前記データへの直接的なアクセスを得ることができ
    るようにし、 前記サプライヤ・アルゴリズム・ブロックが前記要求を拒否した場合には、前
    記アドレスを保留し、前記クライアント・アルゴリズム・ブロックが前記データ
    への間接的なアクセスを得るように強制するように、オブジェクト指向コントロ
    ーラとして動作可能なデータ処理および格納回路と を含むシステム。
  16. 【請求項16】 前記クライアント・アルゴリズム・ブロックが構成時間に
    前記要求を生成する請求項15に記載のシステム。
  17. 【請求項17】 前記サプライヤ・アルゴリズム・ブロックが前記クライア
    ント・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じて前記デ
    ータへの間接的なアクセスを得るように強制する請求項15に記載のシステム。
  18. 【請求項18】 前記サプライヤ・アルゴリズム・ブロックが前記サプライ
    ヤ・アルゴリズム・ブロックに関連する所定の規則に基づいて前記要求を評価す
    る請求項15に記載のシステム。
  19. 【請求項19】 前記データがパラメータに関連し、前記パラメータが、 直接的なアクセスがサポートされているかどうか、 直接的なアクセスがサポートされている場合には関連するセルの位置、 直接的なアクセスがサポートされていない場合には前記サーバ・アルゴリズム
    ・ブロックの位置、 からなる情報グループから選択された少なくとも1つに関連する情報を含む請求
    項15に記載のシステム。
  20. 【請求項20】 前記アドレスが前記クライアント・アルゴリズム・ブロッ
    クに関連する持続性ポインタに含まれる請求項15に記載のシステム。
JP2000508056A 1997-08-22 1998-08-19 オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム Expired - Lifetime JP4750944B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/920,258 US5890155A (en) 1997-08-22 1997-08-22 System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same
US08/920,258 1997-08-22
PCT/US1998/017167 WO1999010805A1 (en) 1997-08-22 1998-08-19 System and methods for providing encapsulated and performance-efficient data references in an object-oriented controller and distributed control system employing the same

Publications (2)

Publication Number Publication Date
JP2001514414A true JP2001514414A (ja) 2001-09-11
JP4750944B2 JP4750944B2 (ja) 2011-08-17

Family

ID=25443450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000508056A Expired - Lifetime JP4750944B2 (ja) 1997-08-22 1998-08-19 オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム

Country Status (8)

Country Link
US (1) US5890155A (ja)
EP (1) EP1005673B1 (ja)
JP (1) JP4750944B2 (ja)
CN (1) CN1267377A (ja)
AU (1) AU9199198A (ja)
CA (1) CA2295536A1 (ja)
DE (1) DE69803468T2 (ja)
WO (1) WO1999010805A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6065120A (en) * 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US6449757B1 (en) * 1998-02-26 2002-09-10 Micron Technology, Inc. Hierarchical semiconductor design
US6922659B2 (en) * 1998-02-26 2005-07-26 Micron Technology, Inc. Parameter population of cells of a hierarchical semiconductor structure via file relation
FI109951B (fi) * 1999-12-29 2002-10-31 Valtion Teknillinen Ohjain ja sen ohjausmenetelmä
DE10161111A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Projektierung von Transformationen von Objektbäumen
DE10161064A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Kommunikation zwischen Softwareapplikationen, insbesondere MES-Applikationen
US20070093917A1 (en) * 2005-10-20 2007-04-26 Honeywell International Inc. Storing and accessing relay ladder logic modules in a relational database
US7698662B1 (en) * 2006-07-21 2010-04-13 Ciranova, Inc. System and method for proxied evaluation of PCells
US7587694B1 (en) 2006-07-21 2009-09-08 Ciranova, Inc. System and method for utilizing meta-cells
CN101266633B (zh) * 2006-11-29 2011-06-08 优万科技(北京)有限公司 无缝超大规模虚拟游戏世界平台
WO2009139165A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 サービス結合支援装置及びサービス結合支援方法並びに記憶媒体
US9767676B2 (en) * 2012-01-11 2017-09-19 Honeywell International Inc. Security system storage of persistent data
CN104898577B (zh) * 2015-04-08 2020-02-11 北京配天技术有限公司 S形曲线速度规划方法、装置及数控方法和数控机床
US10401836B2 (en) 2016-03-21 2019-09-03 Fisher-Rosemount Systems, Inc. Methods and apparatus to setup single-use equipment/processes

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2539385B2 (ja) * 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
US5079695A (en) * 1988-04-25 1992-01-07 Hewlett-Packard Company Object management facility which includes a snapshot facility for providing data transfer between two objects
US5125091A (en) * 1989-06-08 1992-06-23 Hazox Corporation Object oriented control of real-time processing
CA2124720C (en) * 1993-06-25 2002-10-22 Michael R. C. Seaman Integration of systems management services with an underlying system object model
US5761883A (en) * 1995-11-28 1998-06-09 Food Machinery Sales, Inc. Cookie tray loading machine
US5802276A (en) * 1996-01-03 1998-09-01 International Business Machines Corporation Information handling system, method, and article of manufacture including a vault object for encapsulation of object security credentials
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration

Also Published As

Publication number Publication date
JP4750944B2 (ja) 2011-08-17
EP1005673B1 (en) 2002-01-09
AU9199198A (en) 1999-03-16
DE69803468T2 (de) 2002-08-08
US5890155A (en) 1999-03-30
CA2295536A1 (en) 1999-03-04
WO1999010805A1 (en) 1999-03-04
EP1005673A1 (en) 2000-06-07
CN1267377A (zh) 2000-09-20
DE69803468D1 (de) 2002-02-28

Similar Documents

Publication Publication Date Title
JP2001514414A (ja) オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム
US5327559A (en) Remote and batch processing in an object oriented programming system
US9176772B2 (en) Suspending and resuming of sessions
US5937189A (en) Object oriented framework mechanism for determining configuration relations
US20050038828A1 (en) Transparent migration of stateless sessions across servers
CN109886693B (zh) 区块链系统的共识实现方法、装置、设备和介质
JP2001514405A (ja) 分散型制御システム内でアルゴリズム・ブロック間の異質のデータの流れを達成するためのシステムと方法
CN110069295A (zh) 区块链处理方法、装置、设备和介质
CN112738139B (zh) 一种跨链访问控制方法和装置
CN112698952A (zh) 计算资源统一管理方法、装置、计算机设备及存储介质
CN113556389B (zh) 一种rpc式的云边端通信方法、系统及存储介质
CN105491082A (zh) 远程资源访问方法和交换设备
CN109245941A (zh) 一种服务补偿方法及装置
US6925491B2 (en) Facilitator having a distributed configuration, a dual cell apparatus used for the same, and an integrated cell apparatus used for the same
CN113760986A (zh) 一种数据查询方法、装置、设备及存储介质
US6834281B1 (en) Method and apparatus to support multi-node direct access to file system data
CN110389821A (zh) 多账号处理方法、处理装置、应用程序和电子装置
AU2004300915A1 (en) Transparent migration of stateless sessions across servers
CN114844961B (zh) 一种分布式系统协议互通方法、装置、设备及存储介质
CN115174587B (zh) 一种数据传输系统、方法、装置、计算机可读存储介质及电子设备
CN116244099B (zh) 嵌入式系统内进程通讯方法、装置、电子设备和存储介质
CN112055068B (zh) 多代理系统主控节点的分配方法、装置、终端及存储介质
JP2855133B2 (ja) エキスパートシステム
CN116566991A (zh) 多链跨链场景下的链间交互负载动态调控方法及系统
CN115858005A (zh) 一种服务平台的服务系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110520

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term