JPH09502556A - モジュールをモデル化する手段を含むデータ処理装置 - Google Patents

モジュールをモデル化する手段を含むデータ処理装置

Info

Publication number
JPH09502556A
JPH09502556A JP8502984A JP50298495A JPH09502556A JP H09502556 A JPH09502556 A JP H09502556A JP 8502984 A JP8502984 A JP 8502984A JP 50298495 A JP50298495 A JP 50298495A JP H09502556 A JPH09502556 A JP H09502556A
Authority
JP
Japan
Prior art keywords
module
data processing
marker
processing device
action
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.)
Pending
Application number
JP8502984A
Other languages
English (en)
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 JPH09502556A publication Critical patent/JPH09502556A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 本出願は、その中には幾つかのモジュール(302,314)をモデル化するよう仕組んだ手段が含まれる1個のデータ処理装置に関する。各モジュールには幾つかの相互に接続された行動要素(interconnected behaviours)(320-325)が含まれる。マーカー(304)として識別される行動要素は、同定リンク(identify link)(306)を経由してルック・アップ・テーブル(312)を見ることにより、行動要素(321)が別の行動要素(310)の中に保持されてことを明示する情報を得る。こうして、マーカー(304)は、他のモジュール内の行動要素(321)に対してアクセスできる。アクセスが確立すると、選ばれた行動要素(321)と指定された行動要素(318)との間に直接に同定リンク(316)が設定できる。この直接同定リンクは、上記マーカーと別の行動要素の間の同定リンクが終結(terminate)しても保持されるので、マーカーは動作を進め、他のモジュール(336)の内部の行動要素に対して別の直接リンク(330)が確立できる。

Description

【発明の詳細な説明】 モジュールをモデル化する手段を含むデータ処理装置 本発明は、仮想マシンをモデル化するためのデータ処理装置に関連するもので 、この装置によれば、コンパイルされた生成規則システム(production rule sys tem)の実行に関して、特定のしかし排他的でない応用が可能である。 生成規則システムをコンパイルして論理回路の形態に表現する技術については 、1991年欧州シミュレーション合同会議(European Simulation Multiconference )の予稿集226-231頁に述べられている。この例で使用された生成規則システムは “Real Time ABLE”(RTA)である。茲でABLEとは“Agent Behaviour LanguageE” の略で、エージェント(仮想回路の小部分、目的または環境を表現する)や複数 エージェント・システムをシミュレートするための、高度に並行動作可能な生成 規則言語である。ABLEによれば生成規則システムの処理時間を厳しく統合(短縮 )することが可能である。この言語は、これをコンパイルして多数の相互接続さ れた要素を含む便利な形態で表現することが可能である。これら要素とは、仮想 論理回路用のAND要素、OR要素、遅延要素などである。上記RTAでは、生成規則シ ステムの動作を迅速化するため、探索戦略(search strategy)とは対照的な伝播 技術(propagation technique)が用いられる。 しかし、非同期論理回路の形態にコンパイルされた生成規則システムは、実行 できる機能にかなり制限があることが知られ、その結果として生成システムの汎 用性(versatility)も限定されている。そこで本発明の1つの目的はこの制限を 緩和するにある。 更に別の問題として、モジュールまたはエージェント(仮想回路の小部分)を 互いに結合して対話(interation)させることに伴って生じる問題点がある。既知 のシステムとしては、多数のエージェントが互いに対話しながら問題解決するシ ステムが、英国特許出願第GB-A-2,261,968号(Toshiba)により出願されている。 このToshibaのシステムでは、1つのエージェントに関する情報が専用の制御網 を通じて伝送され、もう1つのエージェントに蓄積され、後者のエージェントは この蓄積情報に基づいて決定を下すので通信の必要が回避されている。しかし動 きの速いシステムでは、蓄積情報に依存するのは特に不利になる、というのは情 報をいざ使おうしてもそれが既に無関係か不正確な情報になっている可能性があ るからである。従って、本発明のもう1つの目的は、情報の「陳腐化(“stale” )」を回避するため、現時点の内部状態(internal states)のままエージェント相 互でアクセスできるようにすることである。 本発明に基づいて提供されるデータ処理装置には: それぞれに、複数の互いに接続された要素(elements)(行動要素(behaviours) )を含む1対のモジュール; 上記モジュール対の外部に存在し、上記モジュール対のうち第1のモジュール の中の行動要素を明示する情報を含む1個の別の(further)行動要素; 第2のモジュールの中にあってマーカーとして識別される1個の行動要素の各 項をモデル化するための手段;及び 上記マーカーと外部行動要素との双方の状態を強制的に同一にするよう制約を 加えるため、両者の間に同定リンク(identity link)を確立する手段; が含まれる。このような仕組みにより、マーカーは、同定リンクを経由して、外 部行動要素の中のその行動要素を明示する情報から判断して、第1モジュールの 中の1個の行動要素にアクセスできる。マーカーと同定リンクの使用という上記 の簡単な方法により、独立にロードされコンパイルされたモジュール同士の間で 、互いに動的に対話できることになる。この場合、固定した相互接続もデータの 事前供給・蓄積も必要ない。 適当な方法として、1つの記憶装置を設けこれを行動要素に対するポインター のスタックとして使用してもよい。この場合本体装置には一連の処理ステップを 踏ませて、第1モジュールの中の行動要素へのアクセスを実現する。上記処理ス テップとは、マーカーへのポインターをスタック上へプッシュし、同定リンクへ の参照を解除し(dereference)、マーカーへのポインターを外部行動要素へのポ インターに置換え、外部行動要素の情報を指定(index)して、スタック内の外部 情報へのポインターを第1モジュールから選択した行動要素へのポインターに置 換えることである。 第1モジュールから選択した行動要素と、マーカーを含むモジュールの中で指 定した行動要素との間に別の(further)同定リンクを確立できるような手段を設 けてもよい。これにより、一旦マーカーにより外部行動要素までの接続が確立し てしまえば、モジュール相互間の直接リンクが可能になる。この別の同定リンク は、マーカーが上記外部行動要素との間のリンクを終結させる場合を考えて保持 しておくのが望ましく、これによりマーカーは新たにもう一つのモジュールへの リンク確立に取りかかれる。上記別の同定リンクの終結は次の場合に起こる。1 つはシステム・コマンドの結果として、その行動要素への制約行動(constraint behaviour)が終了する場合である。いま1つは、第1モジュールから選択した行 動要素かあるいはマーカーを含むモジュールの中で指定した行動要素の何れかが 、次に表明(assert)された新しい同定リンクの支配下に入る場合である。 マーカーから外部行動要素への直接接続は必須という訳ではなく、1つまたは それ以上の行動要素(further behaviours)のそれぞれの間に次々と同定リンクを 表明することにより、これらそれぞれの要素を経由するポイント・ポイント間リ ンクの形で1本のリンクを設けるようにしてもよい。上記で触れた参照解除ステ ップでは、外部行動要素へのポインターに到達するまでポインターは次々に置き 換わる。 以下、本発明を、非同期論理回路(asynchronous logic circuit)のモデル化に 特に注目して説明する。なお説明にあたり、1例に過ぎないが以下の付図を参照 する。なお茲で: 図1は、生成規則システムの1つの論理表現を示す図であり; 図2は、図1のシステムの1つの表現を示すテーブルの図であり; 図3は、本発明に基づくデータ処理装置のブロック図であり; 図4は、図3のプロセッサにより実行される処理ステップを示す図であり; 図5は、図3の記憶の制約データ領域(constraint data area)の動作を図式的 に示した図であり: 図6は、等価制約(equivalence constraint)を図式的に示す図であり; 図7は、互いに分離したモジュールの行動要素同士をリンクする様子を図式的 に示す図であり;また 図8は、図7の一部を拡大した図である。 図1に示したのは、簡単なRTAシステムからコンパイルした非同期論理回路の 論理表現である。3個の簡単な行動要素(レジスタ)a,b,cが3個の異なる 規則で結合されている。これらの規則は86,88,及び90で示され、具体的には論 理関数と時間的注釈(time annotations)(すなわち遅延要素)の組合せで構成さ れる。この図で示した具体構成は簡単で、各規則によって行動要素cの状態が変 化する。この回路全体としては、状態変化が左から右に伝播(propagate)するよ うな応答を定義している。もっと複雑な具体構成として、例えば、行動要素bが 応答を定義する条件の一部に行動要素cが入っていたとすれば、状態変化の伝播 には本図右から左への伝播(cからb)も加わることになる。 図1の具体構成において、レジスタ10(行動要素a)には、複数の独立な開始 または支援入力12、複数の独立な停止または拒否入力14(開始と支援の差、及び 停止と拒否の差は以下に述べる)、及び出力16がある。出力16は、第1遅延要素 18の入力20、短時間(1ミリ秒)遅延要素96を介してAND要素24の第1入力、及 びAND要素26の第1入力にそれぞれ接続される。遅延要素18は遅延時間10.0秒( もちろんこれ以外の時間長でもよい)で設定され、この要素18は入力が加わって 10秒後に出力がオンになる。しかし入力がオフになると直ちに出力はオフになる 。遅延要素18の出力22は、AND要素80で規則関数86と組み合わさり(RTAで要求さ れるように)、そして遅延要素92を経由してレジスタ44(行動要素c)の第1開 始入力46Aに接続される。このレジスタ44には出力50がある。要素92で遅延時間 (10マイクロ秒が適当)を与えるのは、読取りに先立って状態を安定化するため である。もう1つのレジスタ52には、複数の開始または支援入力54、複数の停止 または拒否入力56、及び出力58がある。出力58はAND要素24と26それぞれの第2 入力に接続される。AND要素24の出力は、AND要素82で規則関数88と組み合わさり 、更に遅延要素98(これも読取りに先立ち状態を安定させるための)を経由して レジスタ44のもう1つの開始入力46Bとなる。AND要素26の出力は、遅延時間1.0 秒のもう1つの遅延要素32の入力34に接続される。遅延要素32の出力36は、AND 要素84で規則関数90と組み合わさり、更に遅延要素(これも読取りに先立ち 状態を安定させるための)を経由してレジスタ44の支援入力47、及びインバータ 38の入力40に接続される。インバータ38の出力42は、レジスタ44の拒否入力30に 接続される。 図1のシステムは、下記のRTAプログラム規則(RTA program rules)を実現して いる: a/10.0-->c (1) (a&b)/1.0==>c (2) a>>b-->c (3) (1)と(3)とは、ライセンス(licence)と称する型の規則の例である。(1)には、 レジスタ10(行動要素a)の状態が10秒間連続して設定された場合にレジスタ44 (行動要素c)の状態を設定する効果がある。図1において、このライセンスは 、レジスタ10とレジスタ44の開始入力の1つ46Aとの間に接続された遅延回路18 によって実現する。(3)はAND-THENライセンスの1つで、レジスタ10の状態をレ ジスタ52の状態に先立って出現させることを要求する規則である。 (2)はスキーマ(schema)と称する型の規則で、ライセンスに類似しているが、 追加の効果として、このスキーマを満足させた条件が消滅し次第、このスキーマ の結果(consequence)が取消されるという効果がある。この例では、レジスタ10 と52(行動要素aとb)の出力が両方とも連続して1秒間設定されると、レジス タ44(行動要素c)の状態が設定される。この効果はAND要素26の出力が、遅延 要素32を介してレジスタ44の支援入力47に結合することによって生じる。しかし レジスタ10の状態かレジスタ52の状態の何れかがリセットされると、レジスタ44 の状態もリセットされる必要がある。この効果が達成されるのはAND要素26の出 力とレジスタ44の拒否入力42の間に接続されたインバータ38による。 図に示した要素は、本装置の伝播性あるいは前向き連鎖(forward-chaining)性 のお陰でエッジ・トリガーされる(edge-triggered)と見做せる。レジスタ要素10 と52への入力、及びレジスタ要素44の出力は一般に、より大きな非同期論理表現 の中で次のセクションにつながっている。 こうした論理表現は、本発明に基づいた装置では、図2に示すような形態のテ ーブルに蓄積できる。図1に示したレジスタ要素(行動要素)10,52,44;遅延要 素(時間的注釈)18,32,92,94,96,98;論理関数要素24,26,38,80,82,84;及び規則 関数86,88,90は、このテーブルでは縦の列(row)に並べられる。テーブルの各列 は下記のそれぞれに対応する: 要素番号EN(理解し易いよう要素の参照番号は図1と同一にしてある); デバイス(device)の状態フラグS; デバイスの待ち行列状態フラグ(queued flag)Q; 内部状態INT;及び 伝播関数(propagate function)開始アドレスSA. このテーブルの列に対応するデバイス(発信またはホスト・デバイス(originati ng or host device))の状態が変化すると、伝播関数が実行され、それに影響さ れる要素があればそのすべてで対応した変化が起こる。こうした伝播関数は適宜 、適当な(certain)記憶位置または開始アドレスSAに準備(arrange)される。要素 の状態を変化させる場合、1つの状態変化に関連するすべての要素を探すよりも 、こうした方法で伝播により実行する方が、装置の動作が効率化される。 レジスタ44の入力から見たシステムの行動(behaviour)は下記のように記述で きよう: 上記のように、開始入力と支援入力の差異(停止入力と拒否入力の差異も)は 、それらがスキーマの結果を受信するか否かに支配される。入力46Aと46Bとは、 ライセンスの結果を受信して開始入力となるが、他方支援入力47は、スキーマの 結果を受信する。図1のAND要素24は、AND-THEN要素(AND要素類似ではあるが入 力が特定の順序で現れることが必要)として機能する。このため追加遅延96を設 定し、レジスタ10と52から正しい順序で受信するよう保証してある。 図3には、本発明の実施例として1つのデータ処理装置のブロック図を示した 。ランダムアクセス記憶装置(RAM)60の記憶領域62の中に、図2で述べた要素番 号EN、状態S、行列状態Q、及び伝播関数開始アドルスSAが記憶されている。こ の領域62の中には更に別の列VPがあって、各要素ごとに要素データの位置を示し 、そのデータには別の記憶領域67の中の制限情報(constraint information)への ポインタを含むこともある。この点については以下に詳細を述べる。 開始アドレスから始まる伝播関数PFは、今1つの記憶手段(RAMの領域)63に記 憶される。RAM 60には更に、別の領域として、将来の要素状態変化を記憶する64 、イベント・スタック65、及びプログラム記憶66も存在する。ここで、プログラ ム記憶と伝播関数とは、望ましい場合、別の記憶装置例えば読出専用記憶(ROM) に蓄積してもよい。上記RAM 60と中央処理ユニット(CPU)68とは、データバス70 及びアドレスバス72により通常の方法で接続される。同様通常の方法で、クロッ ク(CLK)74がCPU 68に接続される。 将来の要素状態変化を記憶する別の蓄積手段64は、2列のテーブルで、複数の 時間周期(time periods)Tと複数の要素番号ENとを記憶する。特定の時間周期T に対応して任意の数の要素番号が記憶でき、これら要素の状態はその時間周期の 中で必ず変化する。 一般に、遅延要素に対応するものを除くすべての要素状態変化は、現在の(cur rent)時間周期の間に実行される。ただしその他の要素状態変化も、望ましい場 合には遅延させることも可能である。遅延なしで起こる予定の要素状態変化は、 イベント・スタック65(図3)に収容し、近い将来すなわち現在の時間周期の中 の後の方で実行してもよい。ただし別のイベントに指定した次の時間周期に移る 前に実行する必要がある。 プログラム記憶66には命令が収容され、CPU 68がこれら命令を実行すると、記 憶62に蓄積されたデバイス状態の変化が起こり、その結果として(関連する別の )デバイスの状態変化が決定する。図4のフローチャートは、プログラム記憶66 に蓄積された命令に基づくCPU 68の動作を示す。このフローチャートの中の番号 を付したステップは下記の機能(function)に対応する: 100 - 開始. 102 - ホスト要素(があれば)の要素番号を記憶64から読取れ. 104 - ホスト要素の外部状態Sを変化させよ. 106 - ホスト要素の待ち行列状態を解除せよ. 108 - ホスト要素の伝播関数から次の項目を読取れ. 110 - その項目はAND関数か? 112 - 指定されたAND要素の内部状態を変更(alter)し、ホスト要素状態変化が オフからオンであれば減少(decrement)させよ、またオンからオフなら増加(incr ement)させよ. 114 - ANDデバイスの内部状態は0か? 115 - ANDデバイスの出力状態は0か? 116 - AND要素の出力状態変化を待ち行列に入れてAND要素の待ち行列フラグを設 定せよ. 117 - ANDデバイスの出力状態は0か? 118 - その項目はOR関数か? 12 - 指定されたOR要素の内部状態を変えて、ホスト要素の状態変化がオフから オンなら増加させよ、逆なら減少させよ. 122 - OR要素の内部状態は0か? 123 - OR要素の出力状態は0か? 124 - OR要素の出力状態の変化を待ち行列に入れてOR要素の待ち行列フラグを設 定せよ. 125 - ORデバイスの出力状態は0か? 130 - 現在の項目はホスト要素の伝播関数の最後の項目か? 132 - 現在のイベント待ち行列の(または、イベント・スタックがあればその) 中にリストされた要素があるか. 134 - 現在の時間周期の中でシステムを実時間で同期するに十分な時間を経過さ せよ. 136 - 短時間待て. 138 - 短時間Tを増加させよ. 図4のルーチンは以下のように動作する。ステップ102で記憶64からある項目 が読み出されると、関連する要素出力状態S及びその行列状態Qがステップ104 と106とで更新される。次いで、この要素に対する伝播関数の次の項目が、記憶6 3の関連PF部分から読み出される。この項目がAND関数なら、指定されたAND要素 の内部状態が変化する。1個のAND要素の内部状態は、その要素への入力のうち オフまたは論理0の数に等しい。従って、この要素の内部状態が0の場合には 、このAND関数は満たされ出力状態は当然オンまたは論理1となる。ステップ10 4で起こったホスト要素の状態変化が、そのホスト要素をオンにするもの(また は論理0から論理1への変化)だった場合、1個のAND要素の内部状態はその伝 播関数の中で1だけ減少する。逆に、ステップ104で起こった状態変化がホスト 要素をオフにするもの(または論理1から論理0への変化)だった場合、1個の AND要素の内部状態はその伝播関数の中で1だけ増加する。1個のAND要素に関す る決定的な内部状態変化は、0から1及び1から0である。これら変化の何れか が起こると、この要素の出力状態はそれに応じて変化せねばならない。出力状態 の変化は、装置(apparatus)内の衝突を避けるため直ちには起こらず、同一時間 周期の中で待ち行列で実行される。この要素の待ち行列状態Qは記憶62でオンに 変わるかまたは論理1に設定される。 記憶62の中のPFから読み出された項目がOR要素だった場合、指定されたOR要素 の内部状態はこれに応じて変化する。ステップ104におけるホスト要素の状態変 化が、このホスト要素をオンにするものだった場合、このOR要素の内部状態は1 だけ増加する。ここでもまた、重要な内部状態変化は0から1及び1から0であ るが、デバイスの出力状態に対する結果は逆になる。すなわち、内部状態0から 1への変化で出力状態は1になり、1から0では出力状態は0になる。ここでも 、実際の状態変化は記憶64で待ち行列を作り、次の時間周期の中で実行される。 図4のフローチャートにおける残りのステップは、上記から容易に理解される通 り、イベント待ち行列をチェックし同期を取るためのものである。 要素の伝播関数には更に以下の命令(群)を含むことがある。それらの命令を PF記憶の中に収容して、図4のフローチャートのステップ118以下(関数がANDで もORでもないと判断された場合)に加えると有効である。以下これらの命令と、 ホスト要素がオンまたはオフになっていた場合にそれら命令の与える効果とを列 挙する。 伝播関数を与えた(attached)ホスト要素が“ON”になっている場合: <命令> <効果> start-behaviour(行動要素開始) :指定された要素出力を1単位時間後オンに変 える。 support-behaviour(行動要素支援):指定された要素出力を、1単位時間後内部状 態に応じてオンに変える。 stop-behaviour(行動要素停止) :指定された要素出力を1単位時間後オフに変 える。 reject-behaviour(行動要素拒否) :指定された要素出力を、1単位時間後内部状 態に応じてオフに変える。 delay(遅延) :指定された遅延要素の出力を、単位時間の指 定倍数後オンに変える。 AND :指定したAND要素の内部状態を減にし内部状 態=0なら出力状態をオンに変える。 AND-THEN-left :AND-THEN要素に内部状態ビットを立てて使用 可能状態にする。 AND-THEN-right :AND-THEN要素が使用可能状態ならこれをオン に変える。 NOT :NOT要素(インバータ)の出力をオフに変え る。 finish(終了) :現在の伝播関数の実行を停止し、現在の時間 周期またはイベント行列に存在する次の要素 に属する伝播関数(がもしあれば)その実行 を開始する。 constraint(制約) :新たな制約条件(constraint instance)を作 り出す。 no-constraint(無制約) :効果なし。 execute(実行) :制約CPUルーチンを実行する。 TLU :TLU命令に指定された重み(weight)を指定さ れたTLU要素に追加する。内部状態がしきい 値以上/以下になると、対応して出力状態を オン/オフに変える。 伝播関数を与えた(attached)ホスト要素が“OFF”になっている場合: <命令> <効果> start-behaviour(行動要素開始) :効果なし。 support-behaviour(行動要素支援):効果なし。 stop-behaviour(行動要素停止) :効果なし。 reject-behaviour(行動要素拒否) :効果なし。 delay(遅延) :指定された遅延要素の出力を直ちにオフに変 える。 AND-THEN-left :内部状態ビットをクリアしてAND-THEN要素を 使用禁止(disable)にする。 AND-THEN-rlght :AND-THEN要素をオフにする。 NOT :NOT要素の出力をオンにする。 finish(終了) :現在の伝播関数の実行を停止し、現在の時間 周期またはイベント行列にリストされた次の 要素に属する伝播関数(がもしあれば)の実 行を開始する。 constraint(制約) :制約データ・ブロック及び関連の無制約を除 去し命令を実行する。 no-constraint(無制約) :制約データ・ブロック及び関連の無制約を除 去し命令を実行する。 execute(実行) :制約CPU関数を実行する。 TLU :指定されたTLU要素の内部状態からTLU命令 に指定された重みを除去する(subtract)。内 部状態がしきい値よりも上がる/下がる場合 、出力状態をオン/オフにする。 上記のうちconstraint(制約),no-constraint(無制約),及びexecute(実行)の各 命令について説明を加える。 図5に示すように、各行動要素201-204(レジスタ関数要素)には、制約を加 え る目的で、1つの値VPへのポインタ206がある。ここでVPのデータ型はCPUの支援 するどんな型でも構わない。以下の記述には、CPU(図3の68)はC(言語)を 支援し、従ってCによるコーディングとC関数への参照が当然行なわれると仮定 する。 本システムには、行動要素へのポインタのFILO(先入れ後出し)型スタック( 図7の300)が備えられる。このスタックはC関数の引数(arguments)を保持する のに用いられ、スタックの操作は下記のように各種の命令によって行なわれる。 これらC関数は、引数行動要素(argument behaviour)の値の上で、つまり行動要 素自体とは切り離した形で動作できる。 図5に戻って、その制約を示す行動要素201が起動する(turn on)結果として制 約命令が実行される際には、その制約データを保持するため、制約データ記憶( 図3の67)のブロック210が割り当てられる。このブロックには少なくとも以下 の諸項目が格納される: 行動要素201への所属を示すポインタ211; C関数のアドレス213; C関数のための引数行動要素202-204の集合215; no-constraint(無制約)命令の集合217;及び execute(実行)命令の集合219。 no-constraint(無制約)命令217は、引数行動要素を含むモジュールを示す(rep resent)行動要素である202-204の各伝播関数PFの中にリンクされている。これに より、ある1個のモジュールが削除(unload)されてそこに含まれる引数行動要素 が消滅する場合には常に、no-constraint(無制約)命令が実行されて制約が解 消する。実行命令219もまた、引数行動要素202-204の伝播関数PFの中にリンクさ れている。このため、1個の引数行動要素が状態を変化(オンからオフまたはオ フからオンへ)する場合には、アドレス213に格納された制約C関数(constraint C function)が呼び出される。このC関数はまた、1個の引数行動要素がブリン ク(明滅)する場合にも、言い換えると、行動要素の状態が瞬間的にオン−オフ −オンまたはオフ−オン−オフと変化した場合にも呼び出される。constraint( 制約)命令が終了すると(turn off)、no-constraint(無制約)命令とexec ute(実行)命令とが行動要素伝播関数から切り離され(unthreaded)制約データブ ロック210全体が記憶領域67から削除される。1個のno-constraint(無制約)命令 が実行されると、制約行動要素201はオフになり、これにより上記のように制約 データブロック210が解放(free)される。制約が強制されるのは、制約行動要素2 01がオンの場合に限ることが理解されよう。一旦制約がオンになり、それらの値 が制約データブロック210の中に凍結されると、行動要素の引数202-204が吟味(e valuate)される。execute(実行)命令が実行されるとC関数が制約データブロッ ク内に指定された引数によって呼び出される。制約C関数のコーディングに決ま った規則はないが、それが何故実行されるかという特定の理由に敏感な形で記述 される必要がある。理由とは例えば、制約が発生した結果か、特定の引数に状態 変化が起こった結果か、などである。反復して起こる性質の制約を扱う規則を指 定することにより、ある程度の共通性を導入することは可能である。例えば、あ る制約が数個の行動要素にリンクする場合、制約の有効性を保持するために、変 更すべき引数の値は、自らが変更の原因でない場合には、常に最高の引数値を選 んでもよい。プログラマーに対して、引数のみならず制約行動要素201自体にア クセスさせることも便利かも知れない。これは、C関数への特別引数(extra arg ument)としてそれを渡すなどで可能となる。 制約による伝播(条件)の変化を制御するための特別な手段を講じるのは、望 ましいかも知れないが必要条件ではない。しかし特定の引数に出入りする変化を 除去(filter out)するようなマスクを設ければ伝播制御は達成できる。最も極端 な場合として、あらゆる引数がマスクで覆われたとすると、制約C関数は、その 制約が最初に加わった場合のみ実行され、それ以後の引数の変化には無関係にな る。これにより実際的に外部関数呼出しの仕組みが実現する。 制約の一例は、図6に示すような等価(equivalence)制約または同定(identify )制約である。同定制約C関数には、到来する引数行動要素(a)の状態を、他 の引数行動要素(b)に複写する機能がある。こうして、変化はこの制約を通じ て何れの方向にも伝播でき、しかも2個の行動要素はリンクされる(同一状態を 保てる)。その他の制約の形態の中には代数的なものもあり、その1例では、そ の制約により、第1のレジスタの関数要素のデータ値または出力が、他の2つの レジスタ関数要素のデータ値または出力の差に等しい状態が保持される。またブ ール代数型制約により、レジスタ関数要素の出力を、他の複数のレジスタ関数出 力の論理演算結果に保持することも可能である。 あるデバイス(device)に対する伝播関数は、記憶60から離して蓄積してもよく 、その場合記憶62のSA部分に関連記憶部分のアドレスが格納される。こうすれば 、伝播関数が大きいとか二重化(duplicate)されている場合特に有効である。シ ステムが大きくなると 同一の伝播関数を有するデバイスが2個存在する可能性 が高くなる。こうした二重化を利用して、伝播関数側では、相対アドレスにより 目標要素を指定するよう仕組むこともできる。 この種のシステムは、幾つものモジュール群(ワールド)を支援するよう仕組 むことができる。この場合各ワールドは、固有のイベント行列と時間線を有し、 同定(等価)制約を使用して相互接続される。以下、図7と図8を用いて説明す る。 第1のモジュール302(エージェント群)において、第1行動要素304はマーカ ーで、これがその属するモジュール302と他のモジュールとの通信のベースとな る。制約行動要素308により、マーカー304と別の行動要素310との間に同定制約3 06が表明(assert)される。制約の内容は、これら2つの行動要素の間では変化が 相互に伝播され、2つの状態(オン・オフ)が互いに同一に保たれることである 。この別の行動要素310は今後「外部」行動要素と呼ぶ。というのは、考慮対象 のモジュールの外側にある(実際には図示していない別のモジュールの内部に存 在する)からである。マーカー304は、別の行動要素にリンクされることがある がその場合の相手は同定制約によって一時に1個に限る。マーカーはそのデータ 領域VPの中に、同定相手の行動要素へのポインタを保持している。 マーカー304は、図7に示すように外部行動要素310との間で直接同定されるこ ともあるし、図8に示すように同定が間接的な場合もある。後者では、幾つかの 行動要素380,381などが間に介在し、その間を結ぶ複数の同定制約384-386(制約 行動要素388-390により表明されるリンク)がリンケージを構成している。 外部行動要素310のデータ領域VPにはルックアップ・テーブル312があって、そ こには、この外部行動要素310と関連する(associated)別のモジュール314の 中の行動要素320-325を含んでいる。このことから理解できると思うが、外部行 動要素310への識別リンク306を経由してマーカー304を使用し、更にルックアッ プ・テーブル312の中のエントリーを識別する索引数値が分かっていれば、モジ ュール314の中で選択した行動要素(例えば行動要素321)の位置がモジュール302 の中で判明する。 選択した行動要素321の位置、従ってFILOポインタ・スタック300の中でそれを 示すポインタの位置が分かってしまったので、もっと直接的なリンクが作れそう である。それには、当初のモジュール302の中で指名した行動要素318と選択した 行動要素を321とを同定す るために、別の同定制約(identify constraint)316 を表明すればよい。あるいは別の方法として、選択した行動要素を、前述のよう に別の制約C関数の引数として用いてもよい。 マーカーは、同定行動要素(の概念)を延長して同定行動要素の引数はその同 定行動要素がオンになったときに吟味されるようにする、という手段により、他 のモジュールへのリンクを次々と確立してもよい(ただし各マーカーの確立でき るリンクは一時に1個だけに限る)。相互を同定する1対の行動要素の指定は、 RTAの従来の版におけるように絶対的なものではなく、代わりに、具体的には下 記の諸命令に見るような小集合の演算子の形で指定される: push-index :スタックの頭部にあるモジュールの行動要素に索引をつけ る; push :与えられた行動要素をスタックにプッシュする; pop :行動要素(一つまたはそれ以上の)をスタックから除去す る; deref-fully:同定(リンク)チェインの最後で置き換える; deref-once :同定(リンク)チェインの次で置き換える。 これらの命令はポインタ・スタック300に作用し、同定制約外部C関数におけ る引数として用いられるような行動要素を設定する。deref-fully命令は、通常d eref-once命令よりも好んで使われる。すなわち、図8の使用形態において、マ ーカーをフルに参照解除(fully dereference)すると、ポインタは外部行動要素 310に到達するが、一方一度だけ参照解除(dereference once)すると中間の行動 要素380にしか到達しない。図7を例に用いて説明すると、命令の流れは下記の ようになろう: push-marker :マーカー302へのポインタがスタック300に設定さ れる。 deref-fully-marker :外部行動要素310への同定リンクの確立に続いて、 マーカーへのポインタが、スタックの頭部で外部 行動要素310へのポインタに置換えられる。 push-index-2 :外部行動要素のルックアップ・テーブルでエントリ ー2と同定された行動要素(この場合行動要素321) へのポインタが、スタックの頭部に置かれる。 上記のようにこれらの命令は、同定行動要素が、同定対象の行動要素を同定す るためオンになったとき実行される。同一の2個の行動要素(選択された行動要 素321と指名されたローカル行動要素318)は、これらからアクセスされたマーカ ーが参照解除で次々と位置を変えても、依然として同定され続ける。従って、同 定リンク306の終結後も、行動要 素318と321は依然同定されたままである。こ のため、制約行動要素332によって表明されれば、マーカー304は別の外部行動要 素334との間で別の同定リンク(破線330)を確立することが可能である。多くの 場合、モジュールのレイアウトは、モジュール336と外部行動要素334及び以前の モジュール314との組合せについて仮定したのと同様(identical)である。それ故 、外部行動要素ルックアップ・テーブル関連の索引付与(indexing)に関する知識 もルックアップ・テーブル312関連と同一なので繰り返す必要はない。 マーカーと同定リンクの使用により、本発明は、相互関係が動的に変化するモ ジュール相互の対話を行なわせるための便利な方法を提供でき、モジュールをコ ンパイルする際、その相互関係を明示的に定義する必要がない。更に、本発明は 、組合わせが厄介で議論の多い命題論理システム(propositional logic system) の中の名前を使って多数のモジュール(エージェント)を表現するという問題に も対応している。1個のモジュールの行動をそのマーカーと関連づけるているの で、モジュール内部の同一論理回路網が多数の他のモジュールに低コストで適用 できる可能性がある。 本開示内容から、他の変形が可能なことは当業者に自明であろう。その種の変 形には、データ処理装置と関連構成要素の分野で既知の他の特徴機能(features) 、及び上述の特徴機能に代わるかそれに追加される他の特徴機能も含まれよう。 請求項は、特定の機能の組合せに対する応用の形で記述してあるが、本応用の開 示範囲には、ここで明示的か暗示的かを問わず開示した如何なる新関数またはそ れらの組合せをも含むものと理解すべきである。しかもそれは、本出願の請求項 で請求されているのと同一発明に関連があろうとなかろうと、またそれが本発明 で緩和されるのと同一の技術問題の何れかまたはすべてを緩和しようとしまいと 無関係である。出願者は、本出願または関連追加出願が進行する段階で、上記種 類の特徴機能及び(または)それらの組合せに対して新たな請求が行なわれる可 能性があることをここに通告する。

Claims (1)

  1. 【特許請求の範囲】 1.それぞれ複数の相互に接続された要素(行動要素)を含む1対のモジュール と;上記モジュール対の外部に存在し、かつ上記モジュール対の第1のモジュー ルの中の行動要素を明示する情報を含む別の1個の行動要素と;第2のモジュー ルの中にあってマーカーとして識別される行動要素と;をモデル化するように仕 組まれている手段を有して成り、また 上記マーカーと外部にある行動要素との間に1個の同定リンクを確立して、 それにより両者の状態が同一になるよう制約を与える手段を有して成り、 上記マーカーは、上記同定リンクを介し、かつ上記外部の行動要素の内部で 当該行動要素を明示する情報に基づいて、第1のモジュールの中の1個の行動要 素にアクセスできるようにしてあることを特徴とするデータ処理装置。 2.請求項1に記載のデータ処理装置において、該装置が更に、行動要素に対す るポインタのスタックとして仕組まれた1個の記憶デバイスを含んで成り、この 装置は、処理ステップとして: (a)マーカーへのポインタをスタック上にプッシュするステップ; (b)同定リンクを参照解除してマーカーへのポインタを外部行動要素へのポ インタに置き換えるステップ;および (c)外部行動要素の情報に索引を付けて、スタックの中の上記外部行動要素 へのポインタを、第1のモジュールの中で選択した1個のポインタに置き換える ステップ; の各ステップを行なうことにより、第1のモジュールの中の行動要素へのアク セスを確立するよう仕組まれていることを特徴とするデータ処理装置。 3.請求項1に記載のデータ処理装置において、該装置は更に、第1のモジュー ルから選択された行動要素とマーカーを含むモジュールの中で指定された1個の 行動要素との間で、別の1個の同定リンクを確立できるよう動作する手段を含む ことを特徴とするデータ処理装置。 4.請求項3に記載のデータ処理装置において、マーカーと外部の行動要素との 間の同定リンクが終結したときには、上記別の同定リンクが保持されることを 特徴とするデータ処理装置。 5.請求項4に記載のデータ処理装置において、第1モジュールから選択された 行動要素またはマーカーを含むモジュールから指定された行動要素のうちの何れ かが、続いて表明された同定リンクの支配を受けるに至ったときには、上記別の 同定リンクが終結することを特徴とするデータ処理装置。 6.請求項1に記載のデータ処理装置において、上記外部の行動要素が1個のル ックアップ・テーブルを含み、そのテーブルには、第1モジュールの複数の行動 要素を明示する上記情報が蓄積されていることを特徴とするデータ処理装置。 7.請求項2に記載のデータ処理装置において、マーカーと外部の行動要素との 間のリンクを確立する手段が、1個またはそれ以上の別の行動要素についてそれ ぞれの間で次々と同定リンクを表明することにより、これら行動要素を経由して ポイントからポイントへのリンクを確立できるよう動作でき、そして、上記ステ ップ(b)における参照解除の処理には、リンクされた行動要素のポインタを外 部行動要素へのポインタに到達するまで次々に置き換えるステップを含むことを 特徴とするデータ処理装置。
JP8502984A 1994-06-30 1995-06-27 モジュールをモデル化する手段を含むデータ処理装置 Pending JPH09502556A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9413126A GB9413126D0 (en) 1994-06-30 1994-06-30 Data processing apparatus
GB9413126.5 1994-06-30
PCT/IB1995/000515 WO1996000947A2 (en) 1994-06-30 1995-06-27 A data processing apparatus comprising means to model modules

Publications (1)

Publication Number Publication Date
JPH09502556A true JPH09502556A (ja) 1997-03-11

Family

ID=10757561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8502984A Pending JPH09502556A (ja) 1994-06-30 1995-06-27 モジュールをモデル化する手段を含むデータ処理装置

Country Status (6)

Country Link
US (1) US5855010A (ja)
EP (1) EP0722592B1 (ja)
JP (1) JPH09502556A (ja)
DE (1) DE69523554T2 (ja)
GB (1) GB9413126D0 (ja)
WO (1) WO1996000947A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0824826B1 (en) * 1996-03-04 2003-10-22 Koninklijke Philips Electronics N.V. A user-oriented multimedia presentation system for multiple presentation items that each behave as an agent
GB9609189D0 (en) * 1996-05-02 1996-07-03 Philips Electronics Nv Adaptive process modelling and control
GB9609197D0 (en) * 1996-05-02 1996-07-03 Philips Electronics Nv Process control with evaluation of stored referential expressions
GB9623336D0 (en) * 1996-11-08 1997-01-08 Philips Electronics Nv Autonomous compound agents
MA44821A (fr) 2016-02-27 2019-01-02 Kinzinger Automation Gmbh Procédé d'allocation d'une pile de registres virtuels dans une machine à pile
CN108763908B (zh) * 2018-06-01 2023-04-18 腾讯科技(深圳)有限公司 行为向量生成方法、装置、终端及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4754409A (en) * 1985-06-26 1988-06-28 International Business Machines Corporation Method for dynamically collecting current data from specified external processes and procedures for use in an expert system
US4922430A (en) * 1987-10-30 1990-05-01 U.S. Philips Corporation Method and apparatus for controlling the movement of a guided object
AU4414889A (en) * 1988-10-21 1990-05-14 A.C. Nielsen Company Software operating environment
GB2231693A (en) * 1989-05-08 1990-11-21 Philips Electronic Associated Data processing system
US5333237A (en) * 1989-10-10 1994-07-26 Hughes Aircraft Company Hypermedia structured knowledge base system
FR2661266B1 (fr) * 1990-04-20 1992-08-07 Aerospatiale Procede interactive de production de logiciel en code source, modelisant un ensemble complexe de modules fonctionnels.
JPH05151178A (ja) * 1991-11-26 1993-06-18 Toshiba Corp 分散協調型問題解決装置
GB9413127D0 (en) * 1994-06-30 1994-08-24 Philips Electronics Uk Ltd Data processing apparatus

Also Published As

Publication number Publication date
EP0722592B1 (en) 2001-10-31
GB9413126D0 (en) 1994-08-24
DE69523554D1 (de) 2001-12-06
DE69523554T2 (de) 2002-05-29
WO1996000947A3 (en) 1996-02-22
EP0722592A1 (en) 1996-07-24
WO1996000947A2 (en) 1996-01-11
US5855010A (en) 1998-12-29

Similar Documents

Publication Publication Date Title
US6993469B1 (en) Method and apparatus for unified simulation
US6321363B1 (en) Incremental simulation using previous simulation results and knowledge of changes to simulation model to achieve fast simulation time
JPH056911B2 (ja)
JPS5975347A (ja) 論理回路のシミユレ−シヨン装置
JPH09502556A (ja) モジュールをモデル化する手段を含むデータ処理装置
Dave et al. Automatic synthesis of cache-coherence protocol processors using bluespec
EP0724751B1 (en) A data processing apparatus for simulating an asynchronous logic circuit
Gantel et al. Multiprocessor task migration implementation in a reconfigurable platform
EP0704077B1 (en) Data processing apparatus for simulating asynchronous logic circuits
US4758947A (en) List processing method and apparatus
EP0704077A1 (en) Data processing apparatus
Maillet-Contoz et al. Transaction Level Modeling: An Abstraction Beyond RTL
Ward et al. Hardware implementation of programming languages for real-time
JP2004021907A (ja) 性能評価用シミュレーションシステム
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JP3270729B2 (ja) 拡張命令セット・シミュレータ
de Oliveira et al. Exception handling with petri net for digital systems
JPH0588912A (ja) マルチプロセツサシミユレータ
Prothero Modelling and implementation of petri nets using VHDL
Abbas et al. HDL
JP5379376B2 (ja) プロセッサの例におけるトランザクションレベルモデルとrtlとの間の等価性検証
Marranghello et al. On the use of petri nets for the description of digital systems
Mittra et al. Writing Bus Functional Model
JP2000242524A (ja) プロセッサのソフトウエアシミュレータ
Ng Rapid designs for cache coherence protocol engines in Bluespec