(57)【要約】【課題】階層オブジェクト構造の無矛盾性を自動的に回復する方法を与える。【解決手段】所定の階層レベルの１個またはそれ以上のオブジェクトの関数として、各々の関連性が次の上位レベルでの１個またはそれ以上の増分オブジェクトを特定する。可変増分オブジェクトが最下層レベルに位置する。１個またはそれ以上の可変増分オブジェクトが変更されるユーザ対話の後、無矛盾性は次のように修復される。最初に増分オブジェクトに対する一組の値矛盾性がボトムアップ処理の間に検知される。次に、前値矛盾性に基づいてトップダウン更新処理の間に階層的に高いオブジェクトの値が値の変化に基づいて、そしてもしあるならば関係した可変増分オブジェクトおよびあるいはまたは増分オブジェクトに基づいて更新される。【選択図】図６
2006114055.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにおいて、実際のまたはエミュレートされたユーザ対話の後に、情報構造内の無矛盾性を階層オブジェクト構造内の一群のオブジェクトに基づいて自動的に回復する方法であって、前記ユーザ対話は１個または２個以上の１次可変オブジェクトを変更し、その後オブジェクト構造内の２次可変オブジェクトを更新するものにおいて、前記オブジェクト構造が、各々が１つ以下のレベルでの１つまたはそれ以上の増分オブジェクトおよび、または可変増分オブジェクトの関数として１つまたはそれ以上の増分オブジェクトを規定する無矛盾関連性のネットワークを具え、ユーザ対話により、最下位レベルでの１つまたはそれ以上の可変増分オブジェクトを変更し、最初にボトムアップ処理中、増分オブジェクトに対する一組の値矛盾性を検出し、前記一組の値矛盾性に基づく次のトップダウン更新処理中に、下位のレベルでの関連した可変オブジェクトまたは増分可変オブジェクトの値の変化に基づいて更新することを特徴とする階層オブジェクト構造の無矛盾性の回復法。
【請求項２】
請求項１に記載の方法において、前記無矛盾関連性の少なくとも各々が、関連した１個の式で表される方法。
【請求項３】
請求項１または２に記載の方法において、可変オブジェクトの変更に基づいて、階層の最下位の部分が前記変更からの直接呼び出しによって更新され、増分オブジェクトの構造と直接更新された部分との境界が可変増分オブジェクトによって形成される方法。
【請求項４】
請求項１、２または３に記載の方法において、増分オブジェクトが値フィールドと呼び出しリストと環境フィールドと評価フィールドとを具え、可変増分オブジェクトが値フィールドと呼び出しリストのみを具える方法。
【請求項５】
請求項４に記載の方法において、閉包オブジェクトが環境フィールドと評価フィールドのみを具える方法。
【請求項６】
請求項４または５に記載の方法において、サイドエフェクト増分オブジェクトが呼び出しリストと環境フィールドと評価フィールドとアンドゥフィールドのみを具える方法。
【請求項７】
画像表示装置のための前記表示構造を実現するための請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記表示構造が少なくとも一つのグラフ周期を具える請求項１から７のいずれか１項に記載の方法において、各々の周期に関し最下位階層レベルが定義され、このレベルにおいてオブジェクトをサイクル内増分オブジェクトとサイクル外可変増分オブジェクトに分割し、無矛盾性を回復するための初期操作として、前記可変増分オブジェクトに外部変化を割り当てる方法。
【請求項９】
前記表示構造によって表される式の集合ｘｊ＝ｆｊ（ｘ１...ｘｎ），１≦ｊ≦ｎの不動点を見つける請求項８に記載の方法。
【請求項１０】
請求項１から９のいずれか１項に記載のユーザ対話後の無矛盾性自動回復システムを組み込んだコンピュータであって、各々が所定の階層レベルにおいて１つまたはそれ以上の可変増分オブジェクトの関数として、１つ上位のレベルにおける１つまたはそれ以上の増分オブジェクトを特定する無矛盾関連性の階層オブジェクト構造中の一群のオブジェクトに基づいて情報を再生する再生手段を具え、ユーザ対話により最下位レベルでの１つまたはそれ以上の可変増分オブジェクトが変更されるものにおいて、第１のボトムアップ処理中、増分オブジェクトに対する一組の値矛盾性を検出する制御と、次のトップダウン更新処理中、一組の値矛盾性の各必要なエレメントに基づいて、下位の階層レベルでの可変増分オブジェクトおよび、または増分オブジェクトを規定する値の変化にしたがって、関連する増分オブジェクトの値を更新する制御との２段の制御を具えることを特徴とするコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいてユーザとの対話後に情報表示構造内の無矛盾性を自動的に回復する方法に関するものであり、このユーザとの対話により、１個またはそれ以上の１次可変オブジェクトが変更され、続いてオブジェクト構造中の２次可変オブジェクトが更新されるものである。本発明はしたがってユーザ対話型システムまたはユーザインタフェースに関し、特に物理的プラットフォーム上での表示の無矛盾性を達成できるようにしたシステムに関するものである。前記対応をその場所でも見いだすことができる。このような実例のうち最も複雑なものは、一般にグラフィックインタフェースである。その理由は、ユーザに与えられる表示の空間的な対応の度合いが高いためである。しかしながら本発明は、ビデオ画像、音声、又は他の表現に対するインタフェースにも原理的に適用できるものである。このような表現においても、上述した対応が起こりうるものである。修復を以下に説明する所謂呼び戻し関数（ｃａｌｌ−ｂａｃｋ  ｆｕｎｃｔｉｏｎ）によって従来の方法で行う。この方法は完全にボトムアップで、常に１次可変オブジェクトが最初に連続して更新され、その後すぐに２次可変オブジェクトが連続した階層の上位レベルにおいて更新される。これはプログラム内に局所的に存在し、すぐに実行される命令によって実現される。このような形式の構造においては、一方では全ての無矛盾性の関連性が実現される保証はない。他方では、例えば現在の画像領域の外側のみの関係を有する、誤った無矛盾性の関連性も実現される恐れがある。この問題は、明瞭な関連性を用いないで無矛盾性を回復しなければならないという事実によるものである。なぜならプログラム内に含まれる全てのものを、排他的に用いなければならないからである。この問題は、インタフェースがプログラムパッケージの変更を伴う操作をする場合に重要である。例えばパッケージが、開発され、採用され、または維持される場合である。既知のように、幾らか複雑な全てのプログラムは、このような変更を常に受ける。
【０００２】
したがって、本発明の目的は、プログラムパッケージの開発、更新、および保守を容易とするために、上述したインタフェースがある場合に、プログラムの他の部分とは独立して表示を自動的に更新できるようにした方法を提供することである。本発明により、これは、前記オブジェクト構造が、各々が１つ以下のレベルでの１つまたはそれ以上の増分オブジェクトおよび、または可変増分オブジェクトの関数として１つまたはそれ以上の増分オブジェクトを規定する無矛盾関連性のネットワークを具え、ユーザ対話により、最下位レベルでの１つまたはそれ以上の可変増分オブジェクトを変更し、最初にボトムアップ処理中、増分オブジェクトに対する一組の値矛盾性を検出し、前記一組の値矛盾性に基づく次のトップダウン更新処理中に、下位のレベルでの関連した可変オブジェクトまたは増分可変オブジェクトの値の変化に基づいて更新することをにより達成される。したがって各々の評価または更新の結果として、それに続くオブジェクトが更新されることになる。本発明において「上位」及び「下位」なる表現は、互いに反対方向を表している。またオブジェクトを周期的構造として相互接続することもでき、その場合でも上位、下位を定義することができる。ある状況のもとでは、これによって表示が不安定となる恐れがあり、したがってより以前の更新に基づく表示の変化は、次のユーザ対話、すなわちあたかもエミュレートされた対話が重要な役割をする。
【０００３】
本明細書において、増分オブジェクトは、明瞭または不明瞭でよく、任意でよい表現に連結するものとして定義する。例えば、この表現を代わりにテーブルとして与えてもよい。可変増分オブジェクトは、使用者との対話によって、または上述したようにシ１テムによって自律的に変化することができる値に連結するものとして定義される。増分オブジェクトは、したがって可変増分オブジェクトだけでなく、他の増分オブジェクトにも依存する。計算は、したがって反復的にされる。変更は２段階で実行される。最初にボトムアップ段階の間に矛盾性が自動的に検出される。その後、トップダウン段階中に無矛盾性が自動的に回復される。
【０００４】
米国特許第４６３１６９０号明細書は、階層データ構造中のオブジェクトからカラー画像を形成するためのマルチプロセッサシステムを開示している。この明細書によれば、所定のオブジェクトの所定の画素への関連性は、トップダウン段階中に決定される。なぜなら表示は全ての画素で行わなければならないからである。本発明によれば、実際に変更された可変増分オブジェクトによってなされるように増分オブジェクトの変更を決定するだけでよい。明らかにこの方法も、各々のオブジェクトが次の上位レベルへの参照を有するようなオブジェクト構造の構築を必要とする。上述した従来の方法との他の差異は、従来の方法ではオブジェクトの大きさを指定し、所定のピクセルへの関連性を示す結合ボックスを用いる点である。その結果、本発明はより一層多様なオブジェクト及びユーザ対話型システムに適用できる。
【０００５】
本発明による更新は一連の式によって行われ、これらの式の性質は完全に任意である。本発明は明白に要求−駆動（ｄｅｍａｎｄ−ｄｒｉｖｅｎ）であり、正しいユーザ情報を生成するためには、これらの計算をオブジェクト構造の性質によって決められる限度内で正確に実行するものであり、それ以下またはそれ以上の計算も行わない。式は無矛盾性を定義し、したがって無矛盾性を回復しなければならない程度も示す。オブジェクトが矛盾している場合、変更されたオブジェクトを利用するより上位レベルにおける他のオブジェクトの所謂呼び出し（ｃａｌｌｅｒｓ）を発見し、関連性も関連した上位レベルにおいて決定される。これらの呼び出しの構造を後に詳述する。更新は前記のサーチが行われた後にのみ行われる。
【０００６】
より好適には、可変オブジェクトの変更に基づいて階層の下に位置する部分を前記変更からの直接呼び出しによって更新し、増分オブジェクトの構造と直接更新された部分との間の領域を可変増分オブジェクトによって形成する。より少なすぎる、または多すぎる演算が行われる場合には、後者の構造が処理を加速することができる。そのような場合には、１次可変オブジェクトと、それから直接関連づけられる２次可変オブジェクトとの間には、直接的な結合が存在する。オブジェクト構造の「より遠い」部分に対しては、本発明による基本的な処理が引き続き行われる。
【０００７】
本発明は、上述したようなユーザ対話後に自動的に無矛盾性を回復するためのシステムを具えたコンピュータにも関するものである。本発明による他の利点は、特許請求の範囲から明らかである。コンピュータメモリに記憶される個々のオブジェクトの部分は、値フィールド、呼び出しリスト、環境フィールド、評価フィールド、およびアンドゥフィールドである。
【発明を実施するための最良の形態】
【０００８】
図１はコンピュータの一般的なブロック図を示す。ここでは、種々の機能を明確に分けたが、種々のサブシステムに図１とは異なる方法で機能を分散させてもよい。この図では３個の機能のみを示している。第１にデータ処理部があり、一般にプロセッサ２０と呼ばれる。このプロセッサは図に示したキーボード２２から使用者の入力を受ける。他の使用者情報を、マウスや、音声入力チャネルや、ソフトキーボードや、他の手段を介して入力することができる。このことは本発明にとっては重要でない。さらに、プロセッサは図に示す関連する制御電子回路を有する表示画面２４に使用者情報を出力する。他の使用者情報を、音声出力信号や、特別な表示器を介して出力することができる。このことも再び本発明にとっては重要ではない。概略的に言えば、対話システムは、情報の入力及び出力が互いに協働し、データ処理の実行に関連する機能の集合から構成される。以下に、どのようにしてキーボードを介して入力された命令の結果として、表示された画像の更新に帰結するかについて記述する。
【０００９】
図２は従来の方法による表示の更新を示す。この概念図において、三角形２６がデータ構造を示し、符号２４が画面を示しており、データ構造中のオブジェクトは階層関係によって連結され、各々の関連性は、所定のレベルの１つまたは複数のオブジェクトと、次の上位または下位レベルの１つまたは複数のオブジェクトとの連結によって構成されている。２つのオブジェクト間の種々の階層連結は、同じ数のまたは異なった数の副連結を具えてもよい。今、最下位レベルの１次可変オブジェクトを変化させたと仮定し、このことを矢印３２によって表す。この場合、種々のイベントが考えられる。例えば、オブジェクトの追加、削除、移動、及び他のオブジェクトへの論理的な関連性の変更（追加、取消、他のオブジェクトへの割り当てである。１次可変オブジェクト自身と関連性との双方に関し、変更は階層の他のレベルでも見られる。）がある。従来の方法では、無矛盾性は矢印２８の方向に従って下から修復される。オブジェクト構造のプログラム中の階層関係は不明瞭であり、プログラム中の種々のオブジェクト間の逆関係が明確に成されている。したがって、実行している間は関係の調査が行われず、明瞭なものはどんなものでも直接実行される。更新の効果を灰色の領域で示す。変更の必要がないオブジェクトに対して更新を行う場合には、明白な全ての他の変更は依然として実行される。これは、オブジェクトが画像と関連しない場合にも生じる。最後に、全ての必要な変更が行われ、完全な再構成が成され、新たな状況が得られる。再構成には影響が無いため、更新が不必要な場合もある。それは上位のレベルにおいて起こりうることである。他方では階層の下位のレベルでの変更を上位のレベルでは必要としないが、上位のレベルの影響は依然として生ずる。後者の場合、従来の方法では全てを明瞭とする必要があり、その際にエラーが生ずる可能性が極めて高い。
【００１０】
本発明によれば、使用者情報出力の無矛盾性を自動的に修復するだけでなく、入力データ構造の無矛盾性を通常表示画面である出力すべき使用者情報に関連するまで自動的に修復する。このようなデータ構造において、異なったオブジェクト間の無矛盾関係は、例えばａ＝ｆ１（ｂ，ｃ）のような式で表される。この式は例えば、ｂ＝ｆ２（ｄ，ｅ）；ｇ＝ｆ３（ａ，ｈ）；ｋ＝ｆ４（ｈ，ｃ，ｅ）のような他の式を経て階層構造の一部を形成する。このような式において、左辺の明瞭なオブジェクトは、右辺の不明瞭なオブジェクトより、階層中でより上位のレベルにある。もちろん、ｂ＝ｆ２（ｄ）のような式も同様に使用することができる。画像またはより一般的に言うと再構成は、オブジェクトの関数としても定義される。式のシステムを直接プログラムできる。他の方法としては、このシステムに対する規格を組み立て、装置には適当な翻訳器を設ける。したがって無矛盾性が最後に修復されたとき、再構成画像もデータ構造と一致する。ｂまたはｃの値が変化した場合、従来の方法ではａの値を新たに計算しなければならない。例えばｂの値が操作によって変化した場合、このｂを変化させた操作によってａの値もまた更新しなければならない。これは、プログラマが正常な階層関係で遂行していないことを意味する。以下に記述する新たな技術を使用すれば、単に関係ａ＝ｆ１（ｂ，ｃ）が記述され、簿記システムがａが現れる式が無矛盾であるか否かを判定する。従来の手法との差は、図２と６との比較においてはっきりと現れている。前記簿記システムを図３から５の参照とともに記述する。無矛盾性は、所謂増分評価によって自動的に修復される。ここではデータ構造中の各オブジェクト、すなわち前記ａ...ｋは、次のような付加データを与えられる。最初に、上述したような式によって値が与えられる増分オブジェクトａ，ｂ，ｇ，ｋが存在する。次に、このような式が存在しない可変増分オブジェクトｃ，ｄ，ｅ，ｈが存在するが、これらの値は、例えばコールバック機能によって、使用者の直接の介在によって、または他の手段によって変化させることができる。この変化によって増分オブジェクトが一致しなくなり、無矛盾性が再び修復されるまで再計算しなければならない。図３は、増分オブジェクトに関する表示の例を示す。データ構造中に実際に存在するフォーマットについては詳述しない。なぜなら本発明はそれらによって影響されないからである。最初に、この増分オブジェクトは、例えば名前やアドレスのような、呼び出すことができ矢印Ｉｄｅｎｔで示されている、ある種類の識別情報を有する。このオブジェクトは値「ｖａｌｕｅ」も持ち、この値は、例えば整数や浮動少数点数やファイルなどのような関連したオブジェクトの使用が両立できる方法を示すことができる。このオブジェクトはさらに呼び出しリスト中に多数の「ｃａｌｌｅｒ」を具え、自分自身の値を計算するために、最後に有効な無矛盾性において関連した当該オブジェクトの現在値を用いた他のオブジェクトを示す。増分オブジェクトは、その環境に対するその存在を評価するとき、当該オブジェクトの実際の値に等しい値が得られるときは、局所的かつ排他的に無矛盾であり、その環境もまた局所的に無矛盾である。すべての必要なオブジェクト、例えば表示を行うオブジェクトが局所的に無矛盾であれば、全体もまた無矛盾である。ボトムアップの際には、呼び出しｃは表に示すように取り除く。増分オブジェクトの値は、オブジェクト中に規定されている評価ｅｖａｌによって計算（評価）する。この目的に対して必要なオブジェクトを、環境ｅｎｖと称する、このことは、上述した式から明らかであろう。したがって、ａ＝ｆ１（ｂ，ｃ）に対してはｅｖａｌ＝ｆ１（ｘ，ｙ）となり、環境ｅｎｖ：＝｛ｘ＝ｂ，ｙ＝ｃ｝である。オブジェクトａに関する増分オブジェクトｂの値は、式ｂ．ｅｖａｌ（ｂ）を実行することによって得られ、ここで点はこの式の後に続く部分が前の部分の付属物であることを示している。以下に明らかになるように、１つの式が点によって連結された部分の列を具えてもよい。ａを次にｂ．ｃａｌｌｅｒｓに加算すると、ｂは局所的に無矛盾になる。ａが無矛盾であると、ａ．ｅｖａｌはｆ（ｂ，ｃ）を再び計算することなく、値ａ．ｖａｌｕｅを直接生成することになる。変換を手動にでも自動にでも行うことができる。
【００１１】
図４は、可変増分オブジェクトの表示法を示す。この表示法は図３の表示法とある程度一致しているが、値を決定するための計算式が存在しない。これはなぜなら値はここではコールバック機能によって決まるか、使用者の操作によって直接決まるからである。他の可能性としては、システム自身が、例えば固有の不安定性の影響を受けて値を変更する場合がある。例えば、分子の運動をシミュレートするシミュレーションシステムには、固有熱運動に対する式を組み込むことができ、この場合には熱運動が絶えず見られることになる。このようにした場合、このレベルで無矛盾であるとすることができる。明らかに、オブジェクト構造は改変されてもよく、例えば使用者がオブジェクトを生成してもよい。他方で、オブジェクトの破壊は直接には許されない。もし必要なら、この破壊を、それ自体は既知の方法である所謂「ガーベージ・コレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）」技術によって行うことができる。
【００１２】
オブジェクトの直接の再計算は、増分オブジェクトに与えられた構造による簿記よりも、処理する労力の見地から経済的かもしれない。このようにした場合、閉包オブジェクト（Ｃｌｏｓ）を定義することができる。このオブジェクトは増分オブジェクトの構造を持っているが、呼び出しと値の簿記は存在せず、したがって環境フィールドと評価フィールドのみが存在する。このことから直接明らかなように、値が決定できないという意味において、決して局所的に無矛盾とはならない。なぜならこのオブジェクトのための呼び出しリストが存在せず、無矛盾性を検出することができないからである。所定の増分オブジェクトａが閉包オブジェクトｂ（これは増分オブジェクトｃを評価する）の評価を実行する場合、オブジェクトｂではなくオブジェクトａが増分オブジェクトｃの一組のｃａｌｌｅｒを付加される。
【００１３】
図５は、所謂サイドエフェクト（ｓｉｄｅ  ｅｆｆｅｃｔ）増分オブジェクトの表示法を示す。このオブジェクトを、例えば表示画面上に表示すべき素子の表示のために使用することができる。表示される素子が変化せず、他の素子を形成するように更新しなければならない場合、実際には最初に古い表示を除去しなければならず、その後にのみ新しい表示ができる。他の特徴としては、関連するオブジェクトが値フィールドを持たないことがある。したがってこのオブジェクトは図示したように、関連する増分オブジェクトが矛盾するようになった場合に常に実行されるアンドゥフィールドを具える。
【００１４】
図６は本発明による表示の更新を示す。図２と同様に、表示画面２４と、データ構造３４と、図２と同様に遂行することができる１次可変オブジェクトの直接変更４０を行う初期動作３２とを示す。多数（０またはそれ以上）の２次可変オブジェクトを、したがって直接変更することができる。これらの２次可変オブジェクトが位置する領域は、帯４２で示す境界領域まで延在する。本発明によるトップダウン／ボトムアップ結合方法は、この境界から上向きに遂行される。これは、図２の上向きの矢印とは反対に下向きの矢印で示されている。境界４２のレベルにおいて、直接変更された２次可変オブジェクトは、上述したように可変増分オブジェクトとして表示される。その結果、ボトムアップ処理段階の間、どの増分オブジェクトが値矛盾性を生じたか（すなわち、帯４２の最下位レベルに位置していないオブジェクト）を最初に検出する。この処理段階の結果はイエス／ノー量である。これは各変更されたオブジェクトの呼び出しリスト中の各呼び出しに関して、関連するオブジェクトをアクセスし、当該呼び出しを除去することにより実現される。ここで、元オブジェクトはその呼び出しリストに関連する種々のオブジェクトへに順次アクセスする必要があるが、ここでは元のオブジェクトに対して各独立した動作であり、したがってその後には呼び出しリストは空になるものと仮定する。このような動作は階層の下位のオブジェクトからの呼び出しによって呼び出された全てのオブジェクトについて連続的に行われ、データ構造の頂上に達する。無矛盾性はこのとき既知である。無矛盾性の検出の後、出力すべき使用者情報に関係する全てのオブジェクトに関して再計算を行い、この再計算は各々の無矛盾関連性に指定された式によって実行される。後者は矢印３６によって示されるようにトップダウンに行うことができる。各々の再計算の順序は本質的に任意でよいが、修復すべき無矛盾性を決定することができるため、構造的な無矛盾性はトップダウンである。他の無矛盾性を簡単に継続することができる。再計算すべきオブジェクトに対しては、当該演算が完了したことが常に指示され、このとき関連する呼び出しが、表から明らかなように、常に再び導入される。ボトムアップ段階は、特に可変増分オブジェクトの値が訂正されたときに開始する。トップダウン段階は、直接的に表示されたオブジェクトの無矛盾性が回復されたときに開始される。添付の表は、ボトムアップ処理、トップダウン処理、包閉エレメント、及びサイドエフェクト増分オブジェクトに対する同様の処理を示すものである。
【００１５】
ボトムアップ処理中の演算「ｍａｋｅ＿ｉｃｏｎｓ」はオブジェクトｘに対して与えてある。また、コメントは結果を表している。トップダウン処理中、ｙは呼び出しオブジェクトに関連しており、ｘは評価されたものである。ここでは関連性ｇ（ａ，ｂ，ｃ）が用いられており、表の他の部分は例として挙げてある。
【００１６】
図７は巡回構造を示す。基本的な状況は、オブジェクトａ１がオブジェクトａ２に依存し、オブジェクトａ２がオブジェクトａ３に依存し、オブジェクトａ６までいくと巡回してａ１に依存する。上述したように、各オブジェクトは、１個の他のオブジェクトに依存するとは限らない。このような構造によれば、安定な動作はもちろん、不安定な動作もまた制御することができる。不安定な動作のうち、周期的のような限られた動作を行うものが、分散するものに比べて最も重要である。このような巡回的な構造は、非巡回的な構造と組み合わせることができる。
【００１７】
図７に示すような構造を用いて、一連の式の不動点を求めることができる。信号関数ｆ（ｘ）に関し、不動点は式ｘ＝ｆ（ｘ）の解である。一連の式、
ｘ１＝ｆ１（ｘ１...ｘｎ）
ｘ２＝ｆ２（ｘ１...ｘｎ）
・
・
ｘｎ＝ｆｎ（ｘ１...ｘｎ）
に関し、不動点は一連の式の解である。このような状況において、図７は巡回図の基本的な例であり、このような図の構造は複数の巡回している部分と巡回していない部分を持ち、より複雑になるであろう。もしあるとすれば不動点は、たとえ周期解や発散解が存在しても極限解を表す。解を求める魅力的な方法は次のようなものである。各々のサイクルに関し、オブジェクトの１個を（図のオブジェクトａ６に関して示すように）増分オブジェクト（図ではｉ６）と可変増分オブジェクト（図ではｖ６）とに分割する。ここで後者は、表示に関して上方であると考えられる変更を受けることができる項目を表す。オブジェクトｖ６は初期値を与えられえる。分割それ自身は従来道理の方法であり、図３および４に示したものに基づいている。解法をここでもう一度繰り返すと、オブジェクトｉ６の値のオブジェクトｖ６の割り当てから出発すると、これにより矛盾が生ずる。上述したところから、この場合の解法は明らかである。ｖ６が変化することによって再計算されたｉ６の値の割り当てが、ｖ６の値がもはや変化しなくなるまで繰り返される。この時点において不動点が求まる。
【表１】
2006114055.tif 000003
【図面の簡単な説明】
【００１８】
【図１】コンピュータの一般的なブロック図である。
【図２】従来の方法による表示の更新を示す線図である。
【図３】増分オブジェクトの表示の例を示す線図である。
【図４】可変増分オブジェクトの表示の例を示す線図である。
【図５】サイドエフェクト増分オブジェクトの表示の例を示す線図である。
【図６】本発明による表示の更新を示す線図である。
【図７】巡回構造を示す線図である。
【符号の説明】
【００１９】
２０  プロセッサ
２２  キーボード
２４  制御電子回路
２６  三角形
２８  矢印
【図１】
2006114055.tif 000004
【図２】
2006114055.tif 000005
【図３】
2006114055.tif 000006
【図４】
2006114055.tif 000007
【図５】
2006114055.tif 000008
【図６】
2006114055.tif 000009
【図７】
2006114055.tif 000010
【手続補正書】
【提出日】平成17年12月21日(2005.12.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像表示装置及びコンピュータを有する画像表示システムであって、該コンピュータはユーザからの入力を受け取るための入力手段と、該画像表示装置に対する情報表示構造を記憶するための記憶部と、現実のユーザによる操作又はエミュレートされたユーザ操作を検出した後に該情報表示構造における整合性を自動的に回復するためのデータ処理部と、該画像表示装置に該情報表示構造に基づいて表示をするための出力手段と、を有し、
前記情報表示構造は、オブジェクト間の階層的関係を示す情報である整合性関係によって相互に関連付けられた、可変の値を有するオブジェクトの階層構造であって、
−該階層構造の最下層にあるオブジェクトであり該オブジェクトの有する値が前記現実のユーザによる操作又はエミュレートされたユーザ操作によって直接的に影響を受け得る可変増分オブジェクト、及び
−該階層構造におけるオブジェクトであって、該オブジェクトの１つ下位のレベルにある１つ又はそれより多くの他の増分オブジェクト及び／又は可変増分オブジェクトの関数であるそれぞれの整合性関係によって当該オブジェクトの値が求められる増分オブジェクト、
という二つの異なる型のオブジェクトを有する情報表示構造である画像表示システムにおいて、
前記記憶部は、各オブジェクトが依存する階層的により下位のレベルとなる他のオブジェクト、及び該各オブジェクトの値を該階層的により下位のレベルとなる他のオブジェクトのそれぞれの値からどのようにして求めるのか、を規定する関数を各整合性関係として記憶し、
前記データ処理部は、前記現実のユーザによる操作又はエミュレートされたユーザ操作による可変増分オブジェクトの値の変化を検出し、該変化の検出に応じて、前記階層構造の最下位レベルに位置する前記値が変更された可変増分オブジェクトから該階層構造の最上位レベルに到達するまで、オブジェクトの値が不整合となる増分オブジェクトを検出するために、オブジェクトの前記整合性関係を順次参照し、次いで該階層構造の最上位レベルから該階層構造の最下位レベルへ向かって、該値不整合が検出されたいかなる増分オブジェクトの値をも、該増分オフジェクトに対応する前記記憶された関数に基づいて更新すること、
を特徴とする画像表示システム。
【請求項２】
前記整合性関係の各々が、各オブジェクトが依存する、前記階層構造においてより下位のレベルにある他のオブジェクト、及び該各オブジェクトの値を該他のオブジェクトの値からどのように計算し得るのかを規定する数式、によって表現される請求項１記載の画像表示システム。
【請求項３】
可変増分オブジェクトの値の変化に応じて、前記階層構造の最下位に位置付けられる他の可変増分オブジェクトを有する該階層構造の一部分が、該他の可変増分オブジェクトを直接呼び出すことにより更新され、
前記増分オブジェクトと前記直接的に更新された部分との境界が、可変増分オブジェクトによって表わされる、請求項１又は２記載のシステム。
【請求項４】
前記増分オブジェクトが、
該オブジェクトの値を記憶する値領域と、
該オブジェクトの現在の値を使用する他のオブジェクトの識別子を記憶するコーラリストと、
該オブジェクトの値を計算するための評価式を記憶する評価領域と、
前記計算のために必要とされる1組のオブジェクトを記憶する環境領域と、
を有し、
前記可変増分オブジェクトが前記値領域と前記コーラリストとを有し、かつ前記評価領域と環境領域とを有しない、
請求項１、２又は３記載のシステム。
【請求項５】
前記階層的オブジェクト構造は、更に、
整合性が確認され得ないオブジェクトであって、前記環境領域と前記評価領域とを有し、かつ前記値領域とコーラリストとを有しない閉包オブジェクト、
を有する請求項４記載のシステム。
【請求項６】
前記階層的オブジェクト構造は、更に、
前記画像表示装に表示されるべき静的要素を表わすオブジェクトであって、
前記コーラリストと、前記環境領域と、前記評価領域と、当該オブジェクトが不整合な状態となった場合に実行される関数を記憶するアンドゥ領域と、を有し、かつ前記値領域を有しないサイドエフェクト増分オブジェクト、
を有する請求項４、及び５記載のシステム。
【請求項７】
ユーザからの入力を受け取るための入力手段と、画像表示装置に対する情報表示構造を記憶するための記憶部と、現実のユーザによる操作又はエミュレートされたユーザ操作を検出した後に該情報表示構造における整合性を自動的に回復するためのデータ処理部と、該画像表示装置に該情報表示構造に基づいて表示をするための出力手段と、を有し、
前記情報表示構造は、オブジェクト間の階層的関係を示す情報である整合性関係によって相互に関連付けられた、可変の値を有するオブジェクトの階層構造であって、
−該階層構造の最下層にあるオブジェクトであり該オブジェクトの有する値が前記現実のユーザによる操作又はエミュレートされたユーザ操作によって直接的に影響を受け得る可変増分オブジェクト、及び
−該階層構造におけるオブジェクトであって、該オブジェクトの１つ下位のレベルにある１つ又はそれより多くの他の増分オブジェクト及び／又は可変増分オブジェクトの関数であるそれぞれの整合性関係によって当該オブジェクトの値が求められる増分オブジェクト、
という二つの異なる型のオブジェクトを有する情報表示構造であるコンピュータであって、
前記記憶部は、各オブジェクトが依存する階層的により下位のレベルとなる他のオブジェクト、及び該各オブジェクトの値を該階層的により下位のレベルとなる他のオブジェクトのそれぞれの値からどのようにして求めるのか、を規定する関数を各整合性関係として記憶し、
前記データ処理部は、前記現実のユーザによる操作又はエミュレートされたユーザ操作による可変増分オブジェクトの値の変化を検出し、該変化の検出に応じて、前記階層構造の最下位レベルに位置する前記値が変更された可変増分オブジェクトから該階層構造の最上位レベルに到達するまで、オブジェクトの値が不整合となる増分オブジェクトを検出するために、オブジェクトの前記整合性関係を順次参照し、次いで該階層構造の最上位レベルから該階層構造の最下位レベルへ向かって、該値不整合が検出されたいかなる増分オブジェクトの値をも該増分オフジェクトに対応する前記記憶された関数に基づいて更新すること、
を特徴とするコンピュータ。
【請求項８】
現実のユーザによる操作又はエミュレートされたユーザ操作を検出した後に該情報表示構造における整合性を自動的に回復するための方法であって、
該方法は、画像表示装置のための該情報表示構造を記憶する方法であって、
前記情報表示構造は、オブジェクト間の階層的関係を示す情報である整合性関係によって相互に関連付けられた、可変の値を有するオブジェクトの階層構造であって、
−該階層構造の最下層にあるオブジェクトであり該オブジェクトの有する値が前記現実のユーザによる操作又はエミュレートされたユーザ操作によって直接的に影響を受け得る可変増分オブジェクト、及び
−該階層構造におけるオブジェクトであって、該オブジェクトの１つ下位のレベルにある１つ又はそれより多くの他の増分オブジェクト及び／又は可変増分オブジェクトの関数であるそれぞれの整合性関係によって当該オブジェクトの値が求められる増分オブジェクト、
という二つの異なる型のオブジェクトを有する情報表示構造であって、
ユーザによる現実の又はエミュレートされた操作を検出した後に該情報表示構造における整合性を自動的に回復し、
前記画像表示装置に前記情報表示構造を表現するものにおいて、
各オブジェクトが依存する階層的により下位のレベルとなる他のオブジェクト、及び該各オブジェクトの値を該階層的により下位のレベルとなる他のオブジェクトのそれぞれの値からどのようにして求めるのか、を規定する関数を各整合性関係として記憶し、
前記自動的な整合性の回復は、
前記ユーザ操作による可変増分オブジェクトの値の変化を検出し、該変化の検出に応じて、
−前記階層構造の最下位レベルに位置する前記値が変更された可変増分オブジェクトから該階層構造の最上位レベルに到達するまで、オブジェクトの値が不整合となる増分オブジェクトを検出するために、オブジェクトの前記整合性関係を順次使用し、
−次いで該階層構造の最上位レベルから該階層構造の最下位レベルへ向かって、該値不整合が検出されたいかなる増分オブジェクトの値をも該増分オフジェクトに対応する前記記憶された関数に基づいて更新すること、
を特徴とする方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいてユーザとの対話後に情報表示構造内の整合性を自動的に回復する方法に関するものであり、このユーザとの対話により、１個またはそれ以上の１次可変オブジェクトが変更され、続いてオブジェクト構造中の２次可変オブジェクトが更新されるものである。本発明はしたがってユーザ対話型システムまたはユーザインタフェースに関し、特に物理的プラットフォーム上での表示の整合性を達成できるようにしたシステムに関するものである。前記対応をその場所でも見いだすことができる。このような実例のうち最も複雑なものは、一般にグラフィックインタフェースである。その理由は、ユーザに与えられる表示の空間的な対応の度合いが高いためである。しかしながら本発明は、ビデオ画像、音声、又は他の表現に対するインタフェースにも原理的に適用できるものである。このような表現においても、上述した対応が起こりうるものである。修復を以下に説明する所謂呼び戻し関数（ｃａｌｌ−ｂａｃｋ  ｆｕｎｃｔｉｏｎ）によって従来の方法で行う。この方法は完全にボトムアップで、常に１次可変オブジェクトが最初に連続して更新され、その後すぐに２次可変オブジェクトが連続した階層の上位レベルにおいて更新される。これはプログラム内に局所的に存在し、すぐに実行される命令によって実現される。このような形式の構造においては、一方では全ての整合性の関係が実現される保証はない。他方では、例えば現在の画像領域の外側のみの関係を有する、誤った整合性の関係も実現される恐れがある。この問題は、明瞭な関連性を用いないで整合性を回復しなければならないという事実によるものである。なぜならプログラム内に含まれる全てのものを、排他的に用いなければならないからである。この問題は、インタフェースがプログラムパッケージの変更を伴う操作をする場合に重要である。例えばパッケージが、開発され、採用され、または維持される場合である。既知のように、幾らか複雑な全てのプログラムは、このような変更を常に受ける。
【０００２】
したがって、本発明の目的は、プログラムパッケージの開発、更新、および保守を容易とするために、上述したインタフェースがある場合に、プログラムの他の部分とは独立して表示を自動的に更新できるようにした方法を提供することである。本発明により、これは、画像表示装置及びコンピュータを有する画像表示システムであって、該コンピュータはユーザからの入力を受け取るための入力手段と、該画像表示装置に対する情報表示構造を記憶するための記憶部と、現実のユーザによる操作又はエミュレートされたユーザ操作を検出した後に該情報表示構造における整合性を自動的に回復するためのデータ処理部と、該画像表示装置に該情報表示構造に基づいて表示をするための出力手段と、を有し、前記情報表示構造は、オブジェクト間の階層的関係を示す情報である整合性関係によって相互に関連付けられた、可変の値を有するオブジェクトの階層構造であって、−該階層構造の最下層にあるオブジェクトであり該オブジェクトの有する値が前記現実のユーザによる操作又はエミュレートされたユーザ操作によって直接的に影響を受け得る可変増分オブジェクト、及び−該階層構造におけるオブジェクトであって、該オブジェクトの１つ下位のレベルにある１つ又はそれより多くの他の増分オブジェクト及び／又は可変増分オブジェクトの関数であるそれぞれの整合性関係によって当該オブジェクトの値が求められる増分オブジェクト、という二つの異なる型のオブジェクトを有する画像表示システムにおいて、前記記憶部は、各オブジェクトが依存する階層的により下位のレベルとなる他のオブジェクト、及び該各オブジェクトの値を該階層的により下位のレベルとなる他のオブジェクトのそれぞれの値からどのようにして求めるのか、を規定する関数を各整合性関係として記憶し、前記データ処理部は、前記現実のユーザによる操作又はエミュレートされたユーザ操作による可変増分オブジェクトの値の変化を検出し、該変化の検出に応じて、前記階層構造の最下位レベルに位置する前記値が変更された可変増分オブジェクトから該階層構造の最上位レベルに到達するまで、オブジェクトの値が不整合となる増分オブジェクトを検出するために、オブジェクトの前記整合性関係を順次参照し、次いで該階層構造の最上位レベルから該階層構造の最下位レベルへ向かって、該値不整合が検出されたいかなる増分オブジェクトの値をも、該増分オフジェクトに対応する前記記憶された関数に基づいて更新すること、を特徴とする画像表示システムにより達成される。したがって各々の評価または更新の結果として、それに続くオブジェクトが更新されることになる。本発明において「上位」及び「下位」なる表現は、互いに反対方向を表している。またオブジェクトを周期的構造として相互接続することもでき、その場合でも上位、下位を定義することができる。ある状況のもとでは、これによって表示が不安定となる恐れがあり、したがってより以前の更新に基づく表示の変化は、次のユーザ対話、すなわちあたかもエミュレートされた対話が重要な役割をする。
【０００３】
本明細書において、増分オブジェクトは、明瞭または不明瞭でよく、任意でよい表現に連結するものとして定義する。例えば、この表現を代わりにテーブルとして与えてもよい。可変増分オブジェクトは、使用者との対話によって、または上述したようにシ１テムによって自律的に変化することができる値に連結するものとして定義される。増分オブジェクトは、したがって可変増分オブジェクトだけでなく、他の増分オブジェクトにも依存する。計算は、したがって反復的にされる。変更は２段階で実行される。最初にボトムアップ段階の間に矛盾性が自動的に検出される。その後、トップダウン段階中に整合性が自動的に回復される。
【０００４】
米国特許第４６３１６９０号明細書は、階層データ構造中のオブジェクトからカラー画像を形成するためのマルチプロセッサシステムを開示している。この明細書によれば、所定のオブジェクトの所定の画素への関連性は、トップダウン段階中に決定される。なぜなら表示は全ての画素で行わなければならないからである。本発明によれば、実際に変更された可変増分オブジェクトによってなされるように増分オブジェクトの変更を決定するだけでよい。明らかにこの方法も、各々のオブジェクトが次の上位レベルへの参照を有するようなオブジェクト構造の構築を必要とする。上述した従来の方法との他の差異は、従来の方法ではオブジェクトの大きさを指定し、所定のピクセルへの関連性を示す結合ボックスを用いる点である。その結果、本発明はより一層多様なオブジェクト及びユーザ対話型システムに適用できる。
【０００５】
本発明による更新は一連の式によって行われ、これらの式の性質は完全に任意である。本発明は明白に要求−駆動（ｄｅｍａｎｄ−ｄｒｉｖｅｎ）であり、正しいユーザ情報を生成するためには、これらの計算をオブジェクト構造の性質によって決められる限度内で正確に実行するものであり、それ以下またはそれ以上の計算も行わない。式は整合性を定義し、したがって整合性を回復しなければならない程度も示す。オブジェクトが矛盾している場合、変更されたオブジェクトを利用するより上位レベルにおける他のオブジェクトの所謂呼び出し（ｃａｌｌｅｒｓ）を発見し、関連性も関連した上位レベルにおいて決定される。これらの呼び出しの構造を後に詳述する。更新は前記のサーチが行われた後にのみ行われる。
【０００６】
より好適には、可変オブジェクトの変更に基づいて階層の下に位置する部分を前記変更からの直接呼び出しによって更新し、増分オブジェクトの構造と直接更新された部分との間の領域を可変増分オブジェクトによって形成する。より少なすぎる、または多すぎる演算が行われる場合には、後者の構造が処理を加速することができる。そのような場合には、１次可変オブジェクトと、それから直接関連づけられる２次可変オブジェクトとの間には、直接的な結合が存在する。オブジェクト構造の「より遠い」部分に対しては、本発明による基本的な処理が引き続き行われる。
【０００７】
本発明は、上述したようなユーザ対話後に自動的に整合性を回復するためのシステムを具えたコンピュータにも関するものである。本発明による他の利点は、特許請求の範囲から明らかである。コンピュータメモリに記憶される個々のオブジェクトの部分は、値フィールド、呼び出しリスト、環境フィールド、評価フィールド、およびアンドゥフィールドである。
【発明を実施するための最良の形態】
【０００８】
図１はコンピュータの一般的なブロック図を示す。ここでは、種々の機能を明確に分けたが、種々のサブシステムに図１とは異なる方法で機能を分散させてもよい。この図では３個の機能のみを示している。第１にデータ処理部があり、一般にプロセッサ２０と呼ばれる。このプロセッサは図に示したキーボード２２から使用者の入力を受ける。他の使用者情報を、マウスや、音声入力チャネルや、ソフトキーボードや、他の手段を介して入力することができる。このことは本発明にとっては重要でない。さらに、プロセッサは図に示す関連する制御電子回路を有する表示画面２４に使用者情報を出力する。他の使用者情報を、音声出力信号や、特別な表示器を介して出力することができる。このことも再び本発明にとっては重要ではない。概略的に言えば、対話システムは、情報の入力及び出力が互いに協働し、データ処理の実行に関連する機能の集合から構成される。以下に、どのようにしてキーボードを介して入力された命令の結果として、表示された画像の更新に帰結するかについて記述する。
【０００９】
図２は従来の方法による表示の更新を示す。この概念図において、三角形２６がデータ構造を示し、符号２４が画面を示しており、データ構造中のオブジェクトは階層関係によって連結され、各々の関連性は、所定のレベルの１つまたは複数のオブジェクトと、次の上位または下位レベルの１つまたは複数のオブジェクトとの連結によって構成されている。２つのオブジェクト間の種々の階層連結は、同じ数のまたは異なった数の副連結を具えてもよい。今、最下位レベルの１次可変オブジェクトを変化させたと仮定し、このことを矢印３２によって表す。この場合、種々のイベントが考えられる。例えば、オブジェクトの追加、削除、移動、及び他のオブジェクトへの論理的な関連性の変更（追加、取消、他のオブジェクトへの割り当てである。１次可変オブジェクト自身と関連性との双方に関し、変更は階層の他のレベルでも見られる。）がある。従来の方法では、整合性は矢印２８の方向に従って下から修復される。オブジェクト構造のプログラム中の階層関係は不明瞭であり、プログラム中の種々のオブジェクト間の逆関係が明確に成されている。したがって、実行している間は関係の調査が行われず、明瞭なものはどんなものでも直接実行される。更新の効果を灰色の領域で示す。変更の必要がないオブジェクトに対して更新を行う場合には、明白な全ての他の変更は依然として実行される。これは、オブジェクトが画像と関連しない場合にも生じる。最後に、全ての必要な変更が行われ、完全な再構成が成され、新たな状況が得られる。再構成には影響が無いため、更新が不必要な場合もある。それは上位のレベルにおいて起こりうることである。他方では階層の下位のレベルでの変更を上位のレベルでは必要としないが、上位のレベルの影響は依然として生ずる。後者の場合、従来の方法では全てを明瞭とする必要があり、その際にエラーが生ずる可能性が極めて高い。
【００１０】
本発明によれば、使用者情報出力の整合性を自動的に修復するだけでなく、入力データ構造の整合性を通常表示画面である出力すべき使用者情報に関連するまで自動的に修復する。このようなデータ構造において、異なったオブジェクト間の整合性関係は、例えばａ＝ｆ１（ｂ，ｃ）のような式で表される。この式は例えば、ｂ＝ｆ２（ｄ，ｅ）；ｇ＝ｆ３（ａ，ｈ）；ｋ＝ｆ４（ｈ，ｃ，ｅ）のような他の式を経て階層構造の一部を形成する。このような式において、左辺の明瞭なオブジェクトは、右辺の不明瞭なオブジェクトより、階層中でより上位のレベルにある。もちろん、ｂ＝ｆ２（ｄ）のような式も同様に使用することができる。画像またはより一般的に言うと再構成は、オブジェクトの関数としても定義される。式のシステムを直接プログラムできる。他の方法としては、このシステムに対する規格を組み立て、装置には適当な翻訳器を設ける。したがって整合性が最後に修復されたとき、再構成画像もデータ構造と一致する。ｂまたはｃの値が変化した場合、従来の方法ではａの値を新たに計算しなければならない。例えばｂの値が操作によって変化した場合、このｂを変化させた操作によってａの値もまた更新しなければならない。これは、プログラマが正常な階層関係で遂行していないことを意味する。以下に記述する新たな技術を使用すれば、単に関係ａ＝ｆ１（ｂ，ｃ）が記述され、簿記システムがａが現れる式が整合性を有するか否かを判定する。従来の手法との差は、図２と６との比較においてはっきりと現れている。前記簿記システムを図３から５の参照とともに記述する。整合性は、所謂増分評価によって自動的に修復される。ここではデータ構造中の各オブジェクト、すなわち前記ａ...ｋは、次のような付加データを与えられる。最初に、上述したような式によって値が与えられる増分オブジェクトａ，ｂ，ｇ，ｋが存在する。次に、このような式が存在しない可変増分オブジェクトｃ，ｄ，ｅ，ｈが存在するが、これらの値は、例えばコールバック機能によって、使用者の直接の介在によって、または他の手段によって変化させることができる。この変化によって増分オブジェクトが一致しなくなり、整合性が再び修復されるまで再計算しなければならない。図３は、増分オブジェクトに関する表示の例を示す。データ構造中に実際に存在するフォーマットについては詳述しない。なぜなら本発明はそれらによって影響されないからである。最初に、この増分オブジェクトは、例えば名前やアドレスのような、呼び出すことができ矢印Ｉｄｅｎｔで示されている、ある種類の識別情報を有する。このオブジェクトは値「ｖａｌｕｅ」も持ち、この値は、例えば整数や浮動少数点数やファイルなどのような関連したオブジェクトの使用が両立できる方法を示すことができる。このオブジェクトはさらに呼び出しリスト中に多数の「ｃａｌｌｅｒ」を具え、自分自身の値を計算するために、最後に有効な整合性において関連した当該オブジェクトの現在値を用いた他のオブジェクトを示す。増分オブジェクトは、その環境に対するその存在を評価するとき、当該オブジェクトの実際の値に等しい値が得られるときは、局所的かつ排他的に整合性を有し、その環境もまた局所的に整合性を有する。すべての必要なオブジェクト、例えば表示を行うオブジェクトが局所的に整合性を有すれば、全体もまた整合性を有する。ボトムアップの際には、呼び出しｃは表に示すように取り除く。増分オブジェクトの値は、オブジェクト中に規定されている評価ｅｖａｌによって計算（評価）する。この目的に対して必要なオブジェクトを、環境ｅｎｖと称する、このことは、上述した式から明らかであろう。したがって、ａ＝ｆ１（ｂ，ｃ）に対してはｅｖａｌ＝ｆ１（ｘ，ｙ）となり、環境ｅｎｖ：＝｛ｘ＝ｂ，ｙ＝ｃ｝である。オブジェクトａに関する増分オブジェクトｂの値は、式ｂ．ｅｖａｌ（ｂ）を実行することによって得られ、ここで点はこの式の後に続く部分が前の部分の付属物であることを示している。以下に明らかになるように、１つの式が点によって連結された部分の列を具えてもよい。ａを次にｂ．ｃａｌｌｅｒｓに加算すると、ｂは局所的に整合性を有することになる。ａが整合性を有すると、ａ．ｅｖａｌはｆ（ｂ，ｃ）を再び計算することなく、値ａ．ｖａｌｕｅを直接生成することになる。変換を手動にでも自動にでも行うことができる。
【００１１】
図４は、可変増分オブジェクトの表示法を示す。この表示法は図３の表示法とある程度一致しているが、値を決定するための計算式が存在しない。これはなぜなら値はここではコールバック機能によって決まるか、使用者の操作によって直接決まるからである。他の可能性としては、システム自身が、例えば固有の不安定性の影響を受けて値を変更する場合がある。例えば、分子の運動をシミュレートするシミュレーションシステムには、固有熱運動に対する式を組み込むことができ、この場合には熱運動が絶えず見られることになる。このようにした場合、このレベルで整合性を有するとすることができる。明らかに、オブジェクト構造は改変されてもよく、例えば使用者がオブジェクトを生成してもよい。他方で、オブジェクトの破壊は直接には許されない。もし必要なら、この破壊を、それ自体は既知の方法である所謂「ガーベージ・コレクション（ｇａｒｂａｇｅ  ｃｏｌｌｅｃｔｉｏｎ）」技術によって行うことができる。
【００１２】
オブジェクトの直接の再計算は、増分オブジェクトに与えられた構造による簿記よりも、処理する労力の見地から経済的かもしれない。このようにした場合、閉包オブジェクト（Ｃｌｏｓ）を定義することができる。このオブジェクトは増分オブジェクトの構造を持っているが、呼び出しと値の簿記は存在せず、したがって環境フィールドと評価フィールドのみが存在する。このことから直接明らかなように、値が決定できないという意味において、決して局所的に不合とはならない。なぜならこのオブジェクトのための呼び出しリストが存在せず、整合性を検出することができないからである。所定の増分オブジェクトａが閉包オブジェクトｂ（これは増分オブジェクトｃを評価する）の評価を実行する場合、オブジェクトｂではなくオブジェクトａが増分オブジェクトｃの一組のｃａｌｌｅｒを付加される。
【００１３】
図５は、所謂サイドエフェクト（ｓｉｄｅ  ｅｆｆｅｃｔ）増分オブジェクトの表示法を示す。このオブジェクトを、例えば表示画面上に表示すべき素子の表示のために使用することができる。表示される素子が変化せず、他の素子を形成するように更新しなければならない場合、実際には最初に古い表示を除去しなければならず、その後にのみ新しい表示ができる。他の特徴としては、関連するオブジェクトが値フィールドを持たないことがある。したがってこのオブジェクトは図示したように、関連する増分オブジェクトが矛盾するようになった場合に常に実行されるアンドゥフィールドを具える。
【００１４】
図６は本発明による表示の更新を示す。図２と同様に、表示画面２４と、データ構造３４と、図２と同様に遂行することができる１次可変オブジェクトの直接変更４０を行う初期動作３２とを示す。多数（０またはそれ以上）の２次可変オブジェクトを、したがって直接変更することができる。これらの２次可変オブジェクトが位置する領域は、帯４２で示す境界領域まで延在する。本発明によるトップダウン／ボトムアップ結合方法は、この境界から上向きに遂行される。これは、図２の上向きの矢印とは反対に下向きの矢印で示されている。境界４２のレベルにおいて、直接変更された２次可変オブジェクトは、上述したように可変増分オブジェクトとして表示される。その結果、ボトムアップ処理段階の間、どの増分オブジェクトが値矛盾性を生じたか（すなわち、帯４２の最下位レベルに位置していないオブジェクト）を最初に検出する。この処理段階の結果はイエス／ノー量である。これは各変更されたオブジェクトの呼び出しリスト中の各呼び出しに関して、関連するオブジェクトをアクセスし、当該呼び出しを除去することにより実現される。ここで、元オブジェクトはその呼び出しリストに関連する種々のオブジェクトへに順次アクセスする必要があるが、ここでは元のオブジェクトに対して各独立した動作であり、したがってその後には呼び出しリストは空になるものと仮定する。このような動作は階層の下位のオブジェクトからの呼び出しによって呼び出された全てのオブジェクトについて連続的に行われ、データ構造の頂上に達する。整合性はこのとき既知である。整合性の検出の後、出力すべき使用者情報に関係する全てのオブジェクトに関して再計算を行い、この再計算は各々の整合性関連性に指定された式によって実行される。後者は矢印３６によって示されるようにトップダウンに行うことができる。各々の再計算の順序は本質的に任意でよいが、修復すべき整合性を決定することができるため、構造的な整合性はトップダウンである。他の整合性を簡単に継続することができる。再計算すべきオブジェクトに対しては、当該演算が完了したことが常に指示され、このとき関連する呼び出しが、表から明らかなように、常に再び導入される。ボトムアップ段階は、特に可変増分オブジェクトの値が訂正されたときに開始する。トップダウン段階は、直接的に表示されたオブジェクトの整合性が回復されたときに開始される。添付の表は、ボトムアップ処理、トップダウン処理、包閉エレメント、及びサイドエフェクト増分オブジェクトに対する同様の処理を示すものである。
【００１５】
ボトムアップ処理中の演算「ｍａｋｅ＿ｉｃｏｎｓ」はオブジェクトｘに対して与えてある。また、コメントは結果を表している。トップダウン処理中、ｙは呼び出しオブジェクトに関連しており、ｘは評価されたものである。ここでは関連性ｇ（ａ，ｂ，ｃ）が用いられており、表の他の部分は例として挙げてある。
【００１６】
図７は巡回構造を示す。基本的な状況は、オブジェクトａ１がオブジェクトａ２に依存し、オブジェクトａ２がオブジェクトａ３に依存し、オブジェクトａ６までいくと巡回してａ１に依存する。上述したように、各オブジェクトは、１個の他のオブジェクトに依存するとは限らない。このような構造によれば、安定な動作はもちろん、不安定な動作もまた制御することができる。不安定な動作のうち、周期的のような限られた動作を行うものが、分散するものに比べて最も重要である。このような巡回的な構造は、非巡回的な構造と組み合わせることができる。
【００１７】
図７に示すような構造を用いて、一連の式の不動点を求めることができる。信号関数ｆ（ｘ）に関し、不動点は式ｘ＝ｆ（ｘ）の解である。一連の式、
ｘ１＝ｆ１（ｘ１...ｘｎ）
ｘ２＝ｆ２（ｘ１...ｘｎ）
・
・
ｘｎ＝ｆｎ（ｘ１...ｘｎ）
に関し、不動点は一連の式の解である。このような状況において、図７は巡回図の基本的な例であり、このような図の構造は複数の巡回している部分と巡回していない部分を持ち、より複雑になるであろう。もしあるとすれば不動点は、たとえ周期解や発散解が存在しても極限解を表す。解を求める魅力的な方法は次のようなものである。各々のサイクルに関し、オブジェクトの１個を（図のオブジェクトａ６に関して示すように）増分オブジェクト（図ではｉ６）と可変増分オブジェクト（図ではｖ６）とに分割する。ここで後者は、表示に関して上方であると考えられる変更を受けることができる項目を表す。オブジェクトｖ６は初期値を与えられえる。分割それ自身は従来道理の方法であり、図３および４に示したものに基づいている。解法をここでもう一度繰り返すと、オブジェクトｉ６の値のオブジェクトｖ６の割り当てから出発すると、これにより矛盾が生ずる。上述したところから、この場合の解法は明らかである。ｖ６が変化することによって再計算されたｉ６の値の割り当てが、ｖ６の値がもはや変化しなくなるまで繰り返される。この時点において不動点が求まる。
【表１】
2006114055.tif 000011
【図面の簡単な説明】
【００１８】
【図１】コンピュータの一般的なブロック図である。
【図２】従来の方法による表示の更新を示す線図である。
【図３】増分オブジェクトの表示の例を示す線図である。
【図４】可変増分オブジェクトの表示の例を示す線図である。
【図５】サイドエフェクト増分オブジェクトの表示の例を示す線図である。
【図６】本発明による表示の更新を示す線図である。
【図７】巡回構造を示す線図である。
【符号の説明】
【００１９】
２０  プロセッサ
２２  キーボード
２４  制御電子回路
２６  三角形
２８  矢印