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

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

Info

Publication number
JP4750944B2
JP4750944B2 JP2000508056A JP2000508056A JP4750944B2 JP 4750944 B2 JP4750944 B2 JP 4750944B2 JP 2000508056 A JP2000508056 A JP 2000508056A JP 2000508056 A JP2000508056 A JP 2000508056A JP 4750944 B2 JP4750944 B2 JP 4750944B2
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.)
Expired - Lifetime
Application number
JP2000508056A
Other languages
English (en)
Other versions
JP2001514414A (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

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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を含む。ソフトウェアで定義可能なプロセス制御ルーチンを格納するために使用されている非揮発性メモリ220は、たとえば、プログラム可能な読込み専用メモリ(PROM)、フラッシュROM、磁気記憶媒体などを含む。非揮発性メモリ220内に格納されたソフトウェアで定義可能なプロセス制御ルーチンは、マイクロプロセッサ210によって実行される。マイクロプロセッサは、ルーチンが実行される時にプロセス制御ルーチンのすべてあるいは一部を格納するために、また、処理センサとアクチュエータ130に関連した処理制御データの格納のためにRAM230を使用している。ディジタル処理システム200の記述は例としてのものであり、当業者であれば本発明の原理を使用するソフトウェアで定義可能なプロセス制御ルーチンはディジタル処理システム200用の特定のハードウェア実装に限定されず、すべてのこのようなシステムが以下の請求項の範囲に含まれることを理解されるであろう。
【0022】
オブジェクト指向プログラミングを使用したプロセス制御コントローラ、つまり、「オブジェクト指向コントローラ」内では、アルゴリズムとそれに関連するデータは「ブロック」と呼ばれるオブジェクトとして実装することができる。ブロック内のデータは、「パラメータ」と呼ばれる、ブロックの名付けられた属性から読み込まれたり、その属性に書き込んだりすることができる。異なるブロックの間のデータの流れは、1つのブロックの出力パラメータから第2のブロックの入力パラメータへの「接続」を確立することによって達成できる。
【0023】
本発明の原理によれば、2つのブロックの間で接続が確立された時、1つのブロックは「参照」として働く情報を保持する。参照は、2つのブロック間のデータの流れに影響を与えることの目的のために、どのブロック、そのブロックのどのパラメータがアクセスされるべきかを定義する。参照はまた、ブール型あるいは整数型など、参照されるパラメータのデータ型などの記述的な情報を与える。参照は、入力パラメータを有するブロックによって保持され、第2のブロックの出力パラメータを指示することができ、この場合、データの流れは入力パラメータを伴うブロックが、出力パラメータを伴うブロックからデータを「ゲット」または「要求する」、「プル」技術として特徴づけられる。あるいは、参照は、出力パラメータを有するブロックによって保持され、第2のブロックの入力パラメータを指示することができ、この場合、データの流れは、出力パラメータを伴うブロックが第2のブロックの入力パラメータへデータを「格納」する「プッシュ」技術として特徴づけられる。
【0024】
プロセス制御コントローラ設計が「プル」技術または「プッシュ」技術のどちらを使用しているか、または両方を使用しているかにかかわらず、参照を保持するブロックはここでは「クライアント・アルゴリズム・ブロック」、または簡単に「クライアント」、「クライアント・ブロック」と呼ばれ、一方、参照されるパラメータを保持するブロックはここでは「サプライヤ・アルゴリズム・ブロック」、または簡単に「サプライヤ」、「サプライヤ・ブロック」と呼ばれる。概念的には、クライアントはブロックの間のデータの流れに影響を与えるために、サプライヤ・ブロック上で動作あるいは方法を実行する原因として考えることができる。さらに、この後詳しく記述するように、サプライヤはサプライヤからクライアントへのデータの流れを実装する手続き、たとえばクライアントが所望のデータへ「直接的な」アクセスを得るかまたは「間接的な」アクセスを得るかという手続きを提供する。さらに、データの流れを実装する手続きは、要求されたデータに応答する以上のことを行うことができる。たとえば、手続きはデータへの要求に答える前にデータについての補助的な計算を実行する場合もある。
【0025】
一実施形態では、参照がクライアントによって受信された時には、参照はコントローラ内のパラメータ・アクセスに直接適合できる内部的な形式に変換されなければならない外部的な形式であり、この変換を与える処理はここでは「バインディング」と呼ばれる。バインディングはブロックがその構成データを受信する設定動作の一部として実行でき、また参照されたブロックとパラメータが参照自体の後存在するようになる場合、ランタイム実行の一部として起動される場合もある。一般に、クライアント・ブロックは、バインディング動作を実行するための十分な情報を有し、クライアント・ブロックは、バインディング動作を自分で実行する場合もあり、または、バインディングに関連したルーチン動作を処理するサポート・エージェントに頼る場合もある。しかしどちらの場合も、この後さらに詳細に記述するように、バインディング処理は最終的にはサプライヤ・ブロック上で2つの手続きのうち1つを実行するという結果になる。すなわちニーズが「ゲット」権限のためにバインディングすることである場合は「BindGet()」手続きが起動され、ニーズが「格納」権限の場合、「BindStore()」手続きが起動される。各バインド要求は参照されるべきパラメータを識別するために十分な情報を含む。
【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への接続を形成する関連するコネクタを有し、クライアント・ブロックCBが実行すると、サプライヤ・ブロック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 Oriented Analysis and Design With Applications」でGrady Boochによって記述されたBooch概念を熟知しているであろう。図400は、接続上のデータ転送をサポートするアルゴリズム・ブロックの設計内で使用される構造的な要素やクラスを図示し、ブロック、パラメータ、コネクタは異なるタイプのクラスで、各々の記述と別のクラスとの包含関係は次のように与えられる。ブロック410の各インスタンスはオブジェクト指向処理制御戦略の基本的な構成要素を含み、ブロック410のデータ要素を形成する1つまたは複数のパラメータ420を含む。特定の制御戦略内では、ブロックは1つまたは複数のコネクタ430によってともにリンクされている。
【0029】
上記のように、ブロック・クラスのインスタンスはオブジェクト指向処理制御戦略が構成できる基本的な構成要素を形成する。ブロックはパラメータとコネクタのインスタンスを含み、パラメータはブロックのデータ要素を作り出し、コネクタはブロックが他のブロックのパラメータへの参照データを保持することを可能にする。この後記述されるように、ブロックによって実行される制御アルゴリズムはExecute()手続きで表現され、例としてのExecute()手続きは次に記述される。クライアント・ブロックが読込みアクセスのためにGet()手続き、書込みアクセスのためにStore()手続きを起動した時に、ブロックによって所有されているパラメータへのアクセスが起きる。BindGet()手続きとBindStore()手続きはクライアント・ブロックまたはクライアント・ブロックの代理をするエージェントによって呼び出され、バインディング手続きを通じてこれらの独自のコネクタの値を満たす。BindGet()手続きの特定の実装は、ブロックが密接なゲット・アクセスを許可するパラメータと、ブロックがメソッドの起動によってのみゲット・アクセスを許可するパラメータを決定する。同様に、BindStore()手続きの特定の実装は、ブロックが密接な格納アクセスを許可するパラメータと、ブロックがメソッドの起動によってのみ格納アクセスを許可するパラメータを決定する。例としてのソフトウェアで定義可能なアプリケーション300では、サプライヤ・ブロックSB1、SB2、クライアント・ブロックCBという3つのブロック・クラスのインスタンスがある。本発明の原理を実装するブロック・クラスに使用されるいくつかのサンプル手続きについて例としてのPDLサンプルが下に示され、その中には例としてのGet()、Store()、BindGet()、BindStore()、Execute()の各手続きが含まれている。サンプルの手続きは、高レベルに抽象化されており、各手続きによって実行される処理のタイプを示すことが目的である。当業者であれば、特定のブロックメソッドを実装するために必要な符号はブロックの各タイプによって異なり、以下に提供されるPDLサンプルは例としてのソフトウェアで定義可能なアプリケーション300内で描かれたブロックに関連していることが分かるであろう。
【0030】
「パラメータ」クラスのインスタンスは、ブロックのデータ・ベースを作り上げる個別のデータを形成する。オブジェクト指向処理制御戦略では、1つのブロックによって保持されたパラメータ値は接続のエージェンシまたは「コネクタ」クラスを通じて他のブロックによって読み込まれ、書き込まれる。パラメータ値は、工場のスタッフが処理の変化を監視できるようにプロセス制御システム内の人間のインタフェース装置によって読み込まれる場合もある。「パラメータ」クラスは任意の他のクラスをインスタンス化しない。例としてのソフトウェアで定義可能なアプリケーション300では、パラメータ・クラスは入力パラメータIP1とIP2、出力パラメータOP1とOP2の、4つのインスタンスがある。
【0031】
本発明の原理によれば「コネクタ」クラスのインスタンスはクライアント・ブロックがサプライヤ・ブロックのパラメータにアクセスできるようにする参照データを保持し、コネクタは「DataType」「ParameterIdentifier」「pCell」「pBlock」のインスタンスを保持する。例としてのソフトウェアで定義可能なアプリケーション300では、クライアント・ブロックCBの入力パラメータIP1に関連したコネクタと、クライアント・ブロックCBの出力パラメータOP2に関連したコネクタという2つのインスタンスのコネクタ・クラスがある。
【0032】
1つのアプリケーション内では各接続に対して少なくとも1つのコネクタがある。コネクタ内の参照データが出力パラメータを示す時、コネクタを所有するクライアント・ブロックは接続上でデータを「プル」する。コネクタ内の参照データが入力パラメータを示す時、コネクタを所有するクライアント・ブロックは接続上でデータを「プッシュ」する。コネクタは参照を記述するために1つ以上のタイプの情報を保持する。すなわち、参照されたパラメータのデータ型、参照されたパラメータの外部的な形の識別子、参照されたパラメータの内部的な形の識別子を保持する。
【0033】
本明細書で提供されている例としてのPDL手続きで使用されているように、外部的な識別子は「ParameterIdentifier」と呼ばれるが、本発明の原理はこの識別子について特定のフォーマットに限定されるものではない。たとえばこの識別子が特定のブロック内で特定のパラメータを一意的に示す能力がある限り、識別子はテキストでも数字でもその組合せでもよい。また本明細書で提供されている例としてのPDL手続きで使用されているように、「pCell」と「pBlock」は共に内部的な識別子を含む。密接なアクセスがサプライヤ・ブロックによって許可されている場合を除いては、pCellは空であり、密接なアクセスが許可されている時は、pCellはサプライヤ・ブロック内におけるパラメータの正確なメモリ位置(つまり、アドレス)を示す。pCellが空の場合、pBlockは使用されており、これはGet()手続きやStore()手続きなどの総称的アクセスメソッド(本明細書では「メソッド」アクセスと定義する)がサプライヤ・ブロック上で起動できるように、サプライヤ・ブロック自体のメモリ位置を指示する。「pCell」と「pBlock」はその名前が示すように「ポインタ」と考えられるが、内部的な参照はたとえば、関連するオフセットを伴うメモリ・ハンドルをポインタの代わりに使用するなど、ポインタ以外の形を取ることもあり、それも本発明の範囲の中である。
【0034】
本発明はデータの所有者(つまりブロック)が別のブロックによってそのデータへの密接なアクセスを選択的に許可できる手続きを導入する。本明細書ではこれらの手続きは「BindGet()」、「BindStore()」と名付けられている。本発明の原理を示すために、図3に示された例としてのソフトウェアで定義可能なアプリケーション300について、表1と表2が、それぞれ例としてのBindGet()手続きとBindStore()手続きについて非常に抽象化されたレベルでCに似たプログラム設計言語(「PDL」)の記述を提供しており、当業者であれば他の特定のソフトウェアで定義可能なアプリケーションについて同等の手続きを容易に思いつくであろう。当業者であればソフトウェアで定義可能な処理の帰納的な要件を記述するPDLの使用を熟知しているであろうが、本発明の原理はこのような手続きを定義するために使用される特定の手続きや特定の符号に限定されるものではない。当業者であれば本発明の原理を実装する多くの同等の手段を容易に考えつくであろうし、このような同等の手段も本明細書内の請求項の範囲内に含まれるものである。
【0035】
表1に提供された例としてのBindGet()手続きによって図示されたように、BindGet()はどのパラメータが参照されているのかを識別し、サプライヤ・ブロックSB1がバインディングを要求しているサプライヤ・ブロックSB1のパラメータを決定できるようにする入力引数として、値「ParameterIdentifier」を受信する。BindGet()はそのパラメータについてサポートされているバインディングのタイプを識別するデータを戻し、このデータは例の中では「BoundParameterReference」と呼ばれる。BoundParameterReference内の情報は最終的にはコネクタ内に格納され、「pCell」と「pBlock」の値としてクライアント・ブロックCBによってインスタンス化される。一実施形態では、BindGet()手続きはクライアント・ブロックCBに対する設定動作の一部としてコールされる。
【0036】
【表1】
Figure 0004750944
【0037】
表2に与えられた例としてのBindStore()手続きによって示されているように、BindStore()はバインディングが要求されているパラメータを識別するようにParameterIdentifierの値を入力引数として受信する。BindStore()は最終的にはコネクタ内に格納され、クライアント・ブロックCBによってpCellとpBlockの値としてインスタンス化される「BoundParameterReference」を戻す。一実施形態では、BindStore()手続きはクライアント・ブロックCBについて設定動作の一部としてコールされる。
【0038】
【表2】
Figure 0004750944
【0039】
説明のために、本発明の原理によれば、バインド要求が、密接なゲット・アクセスが参照されているパラメータについてサポートされているかどうかを評価するためにブロックの設計者によって符号化されているBindGet()手続きへのコールとなると仮定する。密接なアクセスがサポートされている場合、BindGet()手続きはパラメータが格納されている正しいメモリ・セル(複数可、すなわち、アドレス)の識別を可能にする内部的な形の参照を戻す。アドレス情報は指定されたセルへの直接的な読込みアクセスを実行するために、実行時に使用されるべきアクセスを要求したクライアント・ブロックへ戻される。ブロックの設計者が特定の参照されたパラメータについて密接なアクセスを許可しないようにBindGet()手続きを実装した場合、異なる形の参照が戻され、戻された参照はブロック内のセルではなくブロック自体を示し、サプライヤ・ブロック上で密接なアクセスではなく、Get()手続き(つまり「メソッド」アクセス)を起動するようにクライアント・ブロックによって使用される。
【0040】
「格納」バインド要求の処理は本質的には「ゲット」バインド要求についての処理に類似している。BindGet()手続き使用とBindStore()手続き使用の主な相違は、ほとんどのアプリケーションでは、BindGet()手続きはBindStore()手続きより好ましくはかなり多くのパラメータについて密接なアクセスをサポートしているということであり、データの読込みは本来データの書込みより安全なので、密接な「ゲット」アクセスは密接な「格納」アクセスよりもより頻繁に許可される。さらに、ほとんどの処理制御戦略では、ゲット動作よりも格納動作が関連する計算を有する方が一般的であり、関連する計算はアクセスがメソッドアクセス、つまりサブルーチンの実行による場合だけに実行でき、密接なアクセスを使用している時は不可能かまたは望ましくないこともある。
【0041】
本発明の必要な要件は、直接的な(つまり密接な)アクセスを許可する参照とメソッドアクセス(つまりサブルーチンの実行によるアクセス)だけを許可する参照との間の違いを符号化する方法があることであり、クライアント・ブロックまたはクライアント・ブロックによって使用される中間のサービスは、適切な技術によるアクセスを実行するためにこの違いを検出できる必要がある。所望のアクセスの方法を示すために必要な情報を符号化できる方法は多く、本発明の原理は特定の方法に限定されるものではなく、当業者であれば同等の技術を容易に思いつくであろう。選択される方法は部分的には本発明の原理が使用されるべきプロセス制御コントローラ内で使用されるメモリ管理の形式によって異なる。一般に、参照は次の事項を識別できる十分な情報を格納しなければならない。(1)密接なアクセスがサポートされているかどうか。(2)密接なアクセスがサポートされている場合、パラメータ格納セルの位置(つまりメモリ・アドレス)、(3)密接なアクセスがサポートされていない場合、サプライヤ・ブロックの位置(つまりメモリ・アドレス)。
【0042】
説明のために、アプリケーション内で使用されているメモリ管理思想が、バウンド参照が単純な、持続性なポインタとして格納されているものと仮定する。この仮定の元で、pCellとpBlockの2つのポインタは参照情報を符号化するために十分である。pCellポインタとpBlockポインタは、本明細書に「コネクタ」として記載されているような参照オブジェクト内で共に格納できる。表4に示されている例としてのPDLは、これらのポインタがどのように使用できるかを示す。
【0043】
【表3】
Figure 0004750944
【0044】
一般に、コネクタはpCellとpBlockの値の中に保持された内部的な形式の参照と、構成データとして受信することのできる外部的な形式の参照の両方を保持すべきである。参照の2つの形式を有することによって、パラメータ定義が存在する前に参照情報が受信された場合、コネクタは、必要に応じてバインディング手続きを起動することが可能になる。
【0045】
参照が密接なアクセスをサポートするようにバインディングされている場合、クライアント・ブロックは、所望のアクセスを実行するために参照されたパラメータのデータ型を知っていることが好ましい。クライアント・ブロックは1つ以上の方法でデータ型を知るようになるが、本発明の原理はクライアント・ブロックが参照されたパラメータのデータ型を得る方法に限定されない。以下に記述されるように、データ型情報を得る方法には例として次の2つの方法が含まれる。(1)クライアント・ブロックによって所有された関連するパラメータのデータ型に基づいた暗示的な知識、または(2)参照されたパラメータに関連するコネクタ内のデータ型格納に基づいた明示的な知識。
【0046】
アクセス・コントローラ・アプリケーション内の接続は、1つのブロックの出力パラメータと第2のブロックの入力パラメータの間でリンケージ(linkage)を確立する。処理制御アプリケーションあるいはその一部によっては、入力パラメータと出力パラメータのデータ型は正確に一致することが求められ、これらのアプリケーションでは、クライアント・ブロックはクライアント・ブロックによって所有されている関連するパラメータのデータ型から、参照されたパラメータのデータ型を推測できる。たとえば「プル」接続では、クライアント・ブロックは参照された出力パラメータのデータ型をその入力パラメータのデータ型から推測でき、「プッシュ」接続では、クライアント・ブロックは参照された入力パラメータのデータ型をその出力パラメータのデータ型から推測できる。他の処理制御アプリケーションの場合、入力パラメータと出力パラメータのデータ型の間の正確な合致は要求されず、クライアント・ブロックによって仮定することもできないので、このようなアプリケーションでは、クライアント・ブロックはなんらかの方法で参照されたパラメータのデータ型を学ばなければならない。参照されたパラメータのデータ型はたとえば、パラメータに関連するコネクタ内でデータ型とアドレス・データを共に格納することによって決定でき、制御戦略の設定時に、コネクタはアドレス情報とデータ型情報の両方を保持するように初期化することができる。
【0047】
以下の表4に示された例としてのExecute()手続きによって図示されているように、Execute()はクライアント・ブロックCBによって実装される制御アルゴリズムのほとんどを符号化する。クライアント・ブロックCBの特定の要件に応じて、制御アルゴリズムの要素はそのブロックのパラメータについてGet()手続きまたはStore()手続きによって実装される。表4に提供された例としてのPDL内では、クライアント・ブロックCB内のコネクタ・インスタンスは「IP1Connector」「OP2connector」として参照される。例としてのExecute()手続きは、IP1ConnectorとOP2Connectorがクライアント・ブロックCBについて設定動作の間に使用可能な状態に初期化されていることを仮定しており、また、クライアント・ブロックCBは暗示的ではなく明示的なデータ型の決定を使用していることを仮定している。Execute()手続き内で行われる処理は、密接なアクセスGet()コール、Store()コールを含むIP1ConnectorとOP2Connectorに関連するサプライヤ・ブロックへの任意の実行時アクセスを処理する。
【0048】
【表4】
Figure 0004750944
【0049】
表5に提供された例としてのStore()手続きによって示されているように、例としてのアプリケーション300内のサプライヤ・ブロックSB2については、サプライヤ・ブロックSB2は入力パラメータIP2について密接な格納アクセスをサポートしていないので、サプライヤ・ブロックSB2はその格納手続きStore()が、入力パラメータIP2への任意の入力接続についてコールされるように強制する。サプライヤ・ブロックSB2は、入力パラメータIP2が格納されるといつでも一連のアルゴリズムの計算(表5には図示せず)を実行する。例としてのStore()手続きは入力引数としてParameterIdentifierと格納されるべき値を受信し、これは引数「InputValue」内に渡され、Store()手続きは格納動作が成功したかしないかを示す「状態」値を戻す。
【0050】
【表5】
Figure 0004750944
【0051】
サプライヤ・ブロックSB1についてGet()手続きを実行することは、例としてのアプリケーション300内で描かれた接続によっては刺激されないが、Get()手続きの実行はたとえば処理中の表示から発生するサプライヤ・ブロックSB1についてのパラメータ値要求によって刺激される。表6は例としてのGet()手続きを示す。
【0052】
【表6】
Figure 0004750944
【0053】
まとめとして、上記の本発明は、オブジェクト指向ソフトウェア設計を使用するプロセス制御コントローラ内で処理のオーバーヘッドを削減するための手段を提供する。使用されている方法はクライアント・ブロックが参照されているパラメータについて密接なアドレス・データを要求する構成時間においてバインディング処理を設定することであり、サプライヤ・ブロックは要求を評価し、密接なアクセスを許可するかしないかを決定する。サプライヤ・ブロックが密接なデータ・アクセスを許可することを決定した場合、サプライヤ・ブロックはクライアント・ブロックにデータのアドレスを提供し、許可することを決定しなかった場合、サプライヤ・ブロックは密接なアクセスを否定し、実行時にクライアントブロックに対して明示的なサブルーチンを通じてデータにアクセスすることを強制する。
【0054】
以前のプロセス制御コントローラ設計は、カプセル化されたオブジェクトとして制御アルゴリズムとデータを実装してきた。アルゴリズムの主な部分はたとえばExecute()関数で表現され、パラメータ・データへのアクセスは上記に示されたようにGet()とStore()などのデータの所有者の関数を通じて制御された。しかし以前のコントローラ設計は、たとえばGet()/Store()実行を通じた間接的な、または「密接」なアクセスを通じた直接的なパラメータへのアクセスを許可していなかった。本発明は要求されたデータを所有するブロックがそこへのアクセスを制御する能力を失うことなく直接的および間接的なアクセスの方法を提供し、データ・パラメータを所有するブロックは各パラメータについて密接なアクセスが許可されているかどうかを決定でき、それによって各パラメータについて密接な読込みアクセスと密接な書込みアクセスについて独立して決定できるようにする。
【0055】
上記から、本発明は、オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムまたは方法を使用した分散実時間プロセス制御システムを提供することが明らかである。一実施形態では、システムは(1)クライアント・アルゴリズム・ブロックがあるアドレスに格納されたデータへの直接的なアクセスを得ることができるように前記アドレスに対する要求を生成するクライアント・アルゴリズム・ブロックと、(2)その要求を受信し、評価するサプライヤ・アルゴリズム・ブロックと、(2a)サプライヤ・アルゴリズム・ブロックがその要求を許可した場合には、そのアドレスをクライアント・アルゴリズム・ブロックに送り、クライアント・アルゴリズム・ブロックが前記データへの直接的なアクセスを得ることができるようにし、(2b)サプライヤ・アルゴリズム・ブロックがその要求を拒否した場合には、そのアドレスを保留し、そのクライアント・アルゴリズム・ブロックがそのデータへの間接的なアクセスを得るように強制するサプライヤ・アルゴリズム・ブロックを含む。本発明を使用するとブロックの設計者は特定の処理制御アプリケーションの設計についてより制御できるようになり、必要であれば、ブロックの設計者は密接なアクセスを拒否し、特定のパラメータについてデータの読込みまたは書込みがサブルーチンの実行あるいは「メソッド」アクセスを通過するように強制することもできる。あるいは、サブルーチンの実行が望ましくなく、読込みアクセスまたは書込みアクセスの効率を上げることがより重要な場合、設計者は密接なアクセスを許可できる。
【0056】
本発明とその利点が詳細に記述されたが、当業者であれば本発明のもっとも広い精神と範囲から離れることなく本発明についてさまざまな変更、代替、代替実施形態が作りだせることを理解されるであろう。
【図面の簡単な説明】
【図1】 本発明が適切に使用できる、例としての、分散実時間プロセス制御システムの機能図である。
【図2】 本発明の原理を具体化する、ソフトウェアで定義可能なプロセス制御ルーチンを実行するために使用される、例としてのディジタル処理システムの高レベルな構成図である。
【図3】 本発明の原理を使用したアルゴリズム・ブロックを使用した、例としてのソフトウェアで定義可能なアプリケーションの構成図である。
【図4】 本発明の原理を使用したアルゴリズム・ブロックの設計について接続サブシステム・クラス図を示した図である。

Claims (20)

  1. オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムであって、
    前記オブジェクト指向コントローラは、
    オブジェクトとして前記システム内に実装されたクライアント・アルゴリズム・ブロックおよびサプライヤ・アルゴリズム・ブロックを含み、
    前記クライアント・アルゴリズム・ブロックを実行して、あるアドレスに格納されたデータへの直接的なアクセスを可能にする前記アドレスに対する要求を生成させ
    前記サプライヤ・アルゴリズム・ブロックを実行して、前記要求を受信させ、評価させ
    前記要求を許可する場合には、前記アドレスをコネクタに格納することにより前記クライアント・アルゴリズム・ブロックに送り、前記クライアント・アルゴリズム・ブロック前記データへの直接的なアクセスを可能にし、そして
    前記要求を拒否する場合には、前記アドレスを保留し、前記クライアント・アルゴリズム・ブロック前記データへの間接的なアクセスを強制する
    システム。
  2. 前記クライアント・アルゴリズム・ブロックによりコンフィグレーション時に前記要求を生成する請求項1に記載のシステム。
  3. 前記サプライヤ・アルゴリズム・ブロックが前記クライアント・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じて前記データへの間接的なアクセスを得ることを強制する請求項1に記載のシステム。
  4. 前記サプライヤ・アルゴリズム・ブロックにより前記サプライヤ・アルゴリズム・ブロックに関連する所定の規則に基づいて前記要求を評価する請求項1に記載のシステム。
  5. 前記データがパラメータに関連し、前記パラメータが、
    直接的なアクセスがサポートされているかどうか、
    直接的なアクセスがサポートされている場合には関連するセルの位置、
    直接的なアクセスがサポートされていない場合には前記サプライヤ・アルゴリズム・ブロックの位置、
    からなる情報グループから選択された少なくとも1つに関連する情報を含む請求項1に記載のシステム。
  6. 前記アドレスが前記クライアント・アルゴリズム・ブロックに関連する持続性ポインタに含まれる請求項1に記載のシステム。
  7. 前記オブジェクト指向コントローラが分散実時間プロセス制御システムである請求項1に記載のシステム。
  8. オブジェクトとしてシステム内に実装されるクライアント・アルゴリズム・ブロックおよびサプライヤ・アルゴリズム・ブロックを含むオブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するために実施される方法であって、
    前記クライアント・アルゴリズム・ブロックを実行して、あるアドレスに格納されたデータへの直接的なアクセスを可能にする前記アドレスへの要求を生成させるステップと、
    前記サプライヤ・アルゴリズム・ブロックを実行して、前記要求を受信させ、評価させるステップと、
    前記要求を許可する場合には、前記アドレスをコネクタに格納することにより前記クライアント・アルゴリズム・ブロックに送り、前記クライアント・アルゴリズム・ブロック前記データへの直接的なアクセスを可能にするステップと、そして
    前記要求を拒否する場合には、前記アドレスを保留し、前記クライアント・アルゴリズム・ブロック前記データへの間接的なアクセスを強制するステップと
    を含む方法。
  9. 前記生成のステップがコンフィグレーション時に実行される請求項8に記載の方法。
  10. 前記受信のステップが、
    前記サプライヤ・アルゴリズム・ブロックにより前記要求を拒否する場合に、前記クライアント・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じて前記データへの間接的なアクセスを得るように強制するステップを含む請求項8に記載の方法。
  11. 前記受信のステップが、
    前記サプライヤ・アルゴリズム・ブロックに関連する所定の規則に基づいて前記要求を評価するステップを含む請求項8に記載の方法。
  12. 前記データがパラメータに関連し、前記パラメータが、
    直接的なアクセスがサポートされているかどうか、
    直接的なアクセスがサポートされている場合には関連するセルの位置、
    直接的なアクセスがサポートされていない場合には前記サプライヤ・アルゴリズム・ブロックの位置、
    からなる情報グループから選択された少なくとも1つに関連する情報を含む請求項8に記載の方法。
  13. 前記アドレスが前記クライアント・アルゴリズム・ブロックに関連する持続性ポインタに含まれる請求項8に記載の方法。
  14. 前記オブジェクト指向コントローラが分散実時間プロセス制御システムである請求項8に記載の方法。
  15. 分散実時間プロセス制御システムであって、
    複数のセンサおよび制御可能なデバイスと、そして
    前記複数のセンサおよび前記制御可能なデバイスに関連し、オブジェクト指向コントローラとして動作可能なデータ処理・格納回路と
    を含み、
    前記データ処理・格納回路は、
    オブジェクトとしてシステム内に実装されたクライアント・アルゴリズム・ブロックおよびサプライヤ・アルゴリズム・ブロック内に配置されたソフトウェア命令のシーケンスを実行することにより、
    前記クライアント・アルゴリズム・ブロックに、あるアドレスに格納されたデータへの直接的なアクセスを可能にする前記アドレスに対する要求を生成させ
    前記サプライヤ・アルゴリズム・ブロックに、前記要求を受信させ、評価させ、
    前記要求を許可する場合には、前記アドレスをコネクタに格納することにより前記クライアント・アルゴリズム・ブロックに送り、前記クライアント・アルゴリズム・ブロック前記データへの直接的なアクセスを可能にし、そして
    前記要求を拒否する場合には、前記アドレスを保留し、前記クライアント・アルゴリズム・ブロック前記データへの間接的なアクセスを強制する
    システム。
  16. 前記クライアント・アルゴリズム・ブロックによりコンフィグレーション時に前記要求を生成する請求項15に記載のシステム。
  17. 前記サプライヤ・アルゴリズム・ブロックにより前記クライアント・アルゴリズム・ブロックに明示的なサブルーチン・コールを通じて前記データへの間接的なアクセスを強制する請求項15に記載のシステム。
  18. 前記サプライヤ・アルゴリズム・ブロックにより前記サプライヤ・アルゴリズム・ブロックに関連する所定の規則に基づいて前記要求を評価する請求項15に記載のシステム。
  19. 前記データがパラメータに関連し、前記パラメータが、
    直接的なアクセスがサポートされているかどうか、
    直接的なアクセスがサポートされている場合には関連するセルの位置、
    直接的なアクセスがサポートされていない場合には前記サプライヤ・アルゴリズム・ブロックの位置、
    からなる情報グループから選択された少なくとも1つに関連する情報を含む請求項15に記載のシステム。
  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 1997-08-22
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
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 JP2001514414A (ja) 2001-09-11
JP4750944B2 true 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
US6922659B2 (en) * 1998-02-26 2005-07-26 Micron Technology, Inc. Parameter population of cells of a hierarchical semiconductor structure via file relation
US6449757B1 (en) * 1998-02-26 2002-09-10 Micron Technology, Inc. Hierarchical semiconductor design
FI109951B (fi) * 1999-12-29 2002-10-31 Valtion Teknillinen Ohjain ja sen ohjausmenetelmä
DE10161064A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Kommunikation zwischen Softwareapplikationen, insbesondere MES-Applikationen
DE10161111A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Projektierung von Transformationen von Objektbäumen
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 优万科技(北京)有限公司 无缝超大规模虚拟游戏世界平台
JP5408129B2 (ja) * 2008-05-14 2014-02-05 日本電気株式会社 サービス結合支援装置及びサービス結合支援方法並びにプログラム
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
US5890155A (en) 1999-03-30
DE69803468D1 (de) 2002-02-28
EP1005673B1 (en) 2002-01-09
DE69803468T2 (de) 2002-08-08
WO1999010805A1 (en) 1999-03-04
JP2001514414A (ja) 2001-09-11
CA2295536A1 (en) 1999-03-04
AU9199198A (en) 1999-03-16
CN1267377A (zh) 2000-09-20
EP1005673A1 (en) 2000-06-07

Similar Documents

Publication Publication Date Title
JP4750944B2 (ja) オブジェクト指向コントローラ内でカプセル化されかつ能率的なデータ参照を提供するためのシステムと方法ならびにそのシステムと方法を使用した分散制御システム
US5546584A (en) System and method for establishing communication protocols between application programs
EP0660234B1 (en) Method and system for executing code remotely
EP1027796B1 (en) Distributed web application server
CA2297028C (en) System and methods for achieving heterogeneous data flow between algorithm blocks in a distributed control system
TWI360323B (en) Computer-executable method of remote execution of
EP0912937A1 (en) Method and apparatus for asynchronously calling and implementing objects
CN112698952A (zh) 计算资源统一管理方法、装置、计算机设备及存储介质
JP2000515279A (ja) プロキシーおよびメモリ割当てを使用して分散オブジェクト呼出しを実行するための方法および装置
US6957427B1 (en) Remote object activation in a distributed system
US20030005106A1 (en) Communication control apparatus and method
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) 一种数据查询方法、装置、设备及存储介质
KR100350315B1 (ko) 실시간 시스템의 원격지 입출력 제어 장치 및 방법
CN109542816A (zh) 一种基于分布式系统的服务总线构造方法
JP3907295B2 (ja) 情報検索装置及びその方法、及びコンピュータ読み取り可能な記憶媒体
CN116150116B (zh) 文件系统共享的方法、装置、电子设备及存储介质
Chaxel et al. Mobile database nodes for manufacturing information management: a STEP based approach
Narayanan et al. Modeling control decisions in manufacturing systems simulation using objects
CN110879747B (zh) 资源管理方法及装置
JPH0736374A (ja) データリンクシステム
Kumara et al. Distributed Information Retrieval and Integration through a Centralized Agent-base System
KR20040011072A (ko) 파일 업데이트 시스템 및 방법
CN115858005A (zh) 一种服务平台的服务系统
KR970022737A (ko) 메시지 교환을 통한 커널에서의 실메모리 관리방법 및 장치

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