JP2000163490A - ダイナミックオブジェクトプロパティ - Google Patents

ダイナミックオブジェクトプロパティ

Info

Publication number
JP2000163490A
JP2000163490A JP11279811A JP27981199A JP2000163490A JP 2000163490 A JP2000163490 A JP 2000163490A JP 11279811 A JP11279811 A JP 11279811A JP 27981199 A JP27981199 A JP 27981199A JP 2000163490 A JP2000163490 A JP 2000163490A
Authority
JP
Japan
Prior art keywords
property
function
expression
value
bytecode
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
JP11279811A
Other languages
English (en)
Other versions
JP2000163490A5 (ja
Inventor
Peter Douglas Hirsch
ダグラス ハーシュ ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Informix Software Inc
Original Assignee
Informix Software Inc
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 Informix Software Inc filed Critical Informix Software Inc
Publication of JP2000163490A publication Critical patent/JP2000163490A/ja
Publication of JP2000163490A5 publication Critical patent/JP2000163490A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/915Image
    • 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/953Organization of data
    • Y10S707/955Object-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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

(57)【要約】 【課題】 視認可能な情報システムを生成するためのコ
ンピュータ作動装置を提供する。 【解決手段】 バーチャルワールドは、シーン、データ
ソース、グローバルパラメータ、リソース等のブロック
で構築される。シーンは、情報がデータ記憶システムに
記憶されているデータにリンクされている点を除けば、
データプレゼンテーションスライドによく似た情報のビ
ジュアル表示である。データソースからの値はユーザー
の定義したデータエレメントとして図形的に表現され
る。データソースは、照会を生成するブロックダイアグ
ラムで構築される。シーンは、透けて見えるようにデー
タソースをグラフィックエレメントに結合させる描画エ
ディタで作られる。バーチャルワールドが完成すると実
行画像がバイトコードとして表される。バイトコード
は、ランタイムコントロールにより実行され、所要情報
をユーザーに提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース管理
システム(DBMS)上にアプリケーションを組み立て
るためのビジネスインテリジェンスツールに関する。
【0002】
【発明の背景】プロセッサ、メモリ及びデータ記憶装置
の進化によって、高性能で、しかも経済的なコンピュー
タが出現したことにより、コンピューターは現代の企業
にとって不可欠なものとなった。これらのコンピュータ
にとって重要なアプリケーションには、情報がデータモ
デルに従って収集、構成され、照会に応じて検索される
DBMSが含まれる。DBMSを使えば、ユーザーは、
記録を構成する情報がコンピュータ内で実際にどのよう
に記憶されているのか詳細に知らなくても、コンピュー
タ内に記憶されている記録の場所をつきとめ、追加し、
削除し、そして更新するような操作を実行できるように
なる。
【0003】高性能型DBMSの一つは、記憶されてい
る情報がユーザーには、各々がリレーションと呼ばれて
いるテーブルのセットのように見える、リレーショナル
DBMSとして知られている。各リレーションでは、情
報は、データの列が互いに一つ又はそれ以上の所定の関
数よって関連付けられる行列状に配置されているように
見える。
【0004】照会コンパイラは、リレーショナルDBM
S内の特定の情報にアクセスするために、通常は構造化
照会言語(SQL)のような照会言語で表現されるユー
ザーの要求を、ユーザーの要求に応じたソリューション
を作り出すために1つ又はそれ以上の入力されたリレー
ション上で実行される一式のオペレーションに変換す
る。DBMSによって提供される照会言語を使えば、ユ
ーザーは、DBMSからのデータ検索、データ処理及び
データのレポートへの編成を容易にするアプリケーショ
ンプログラムを開発することもできる。
【0005】ビジネスインテリジェンスツールを開発す
る際の問題の一つは、ツールが作成しようとするレポー
トのタイプである。通常、ツールは、照会言語を使って
予めフォーマットされている定型レポートを作成する。
照会言語はベーシック又はC言語のような従来型プログ
ラミング言語よりは使い易いが、新しい各レポートの作
成には、更に或る程度のプログラミング技術が必要であ
り、かなりの時間がかかる。
【0006】
【発明の概要】本発明は、ダイナミックプロパティをサ
ポートするプロパティ入力シートを使って編集されるダ
イナミックプロパティを有するオブジェクトをサポート
する。ある態様では、アプリケーションに関係するオブ
ジェクトのプロパティを文脈的に割り当てるための、コ
ンピューターが実行するプロパティ入力シートには、プ
ロパティのアイデンティフィケーションを収めるように
なっている属性名セクションと、属性名セクションによ
って識別されたプロパティに関する、ランタイムにデー
タ値として参照可能な関数式を収めるようになっている
プロパティ入力セクションとが含まれている。
【0007】プロパティ入力シートのインプリメンテー
ションには以下のことの内、1つ又はそれ以上が含まれ
る。関数式は、関数、オペレータ、データベース列名、
変数及び/又は定数であってもよい。プロパティ入力シ
ートには又、プロパティのアイデンティフィケーション
を収めるようになっている属性名セクションと、属性名
セクションにより識別されたプロパティに関する静的デ
ータ値を収めるようになっているプロパティ入力セクシ
ョンとが含まれている。更に、オブジェクトは複数のプ
ロパティを有しており、各プロパティの属性名セクショ
ン及びプロパティ入力セクションは各プロパティに対す
る名前値の対を形成する。関数式は構文解析され、ラン
タイム値として記憶される関数を生成し、関数に関係す
るバイトコードが生成される。関数が定数であれば、関
数はクローンが作られ、デザインタイム値として記憶さ
れる。更に、もし式が無効であれば、エラーメッセージ
が表示され、現行のバイトコード実行画像が無効化さ
れ、新しいバイトコードが生成されて現行のバイトコー
ド実行画像に置き換えられる。
【0008】もう1つの態様では、アプリケーションに
関係するオブジェクトのプロパティを割り当てるための
方法は、ランタイムにデータ値として参照可能な式をプ
ロパティ入力シートのプロパティ入力セクションに収め
る段階と、式を構文解析する段階と、式から関数を生成
する段階と、関数をランタイム値として記憶する段階と
を含んでいる。
【0009】本発明のインプリメンテーションには以下
のことが含まれている。本方法は、オブジェクトのバイ
トコード実行画像を無効化する場合がある。本方法は
又、オブジェクトのランタイムディスプレイが自動的に
更新されるか否かを決め、もし更新されるのであれば、
本方法はバイトコードを生成して実行する。本方法は又
どのオブジェクトプロパティを変更された属性にマッピ
ングするかを決め、変更された属性値を表す定数関数を
創造し、定数関数をランタイムプロパティ値及びデザイ
ンタイムプロパティ値として記憶することにより、オブ
ジェクトの属性を変更する。オブジェクトがバイトコー
ド実行画像を有している場合、本方法はバイトコード実
行画像を無効化し、オブジェクトのランタイムディスプ
レイが自動的に更新されるか否かを決め、そして又、も
し自動的に更新されるのであれば、バイトコードが生成
され実行される。本方法は又、関数が定数であれば、関
数のクローンを作りデザインタイム値として記憶する。
【0010】もう1つの態様では、コンピューターが実
行するオブジェクトには、オブジェクト状態と、各々が
関数式として定義されランタイムにはデータ値として参
照可能な複数の属性を通してオブジェクト状態へのアク
セスを提供する1つ又はそれ以上のインタフェースとが
備えられている。
【0011】オブジェクトのインプリメンテーションに
は以下のことが含まれる。オブジェクトの関数式は、関
数、オペレータ、データベース列名、変数及び又は定数
を含んでいる。又、属性は静的データ値である。各プロ
パティは名前値の対を有している。オブジェクトの関数
式は構文解析され、ランタイム値として記憶される関数
が生成される。関数が定数であれば、関数はクローンが
作られデザインタイム値として記憶される。式が無効で
ある場合は、エラーメッセージが表示され、現行のバイ
トコード実行画像が無効化され、新しいバイトコードが
生成され、現行のバイトコード実行画像に置き換えられ
る。
【0012】本発明の利点には、次の一つ又はそれ以上
が含まれる。本発明は、従来のフォームベース又はレポ
ートベースのアプリケーションにとって本質的な制約を
越えて拡張するアプリケーションを組み立てるためのビ
ジュアルなビジネスインテリジェンスツールである。専
門化したプログラマーはアプリケーション開発過程から
除外され、ユーザーをデータに近づけて、アプリケーシ
ョン開発時間が低減できるようにする。ユーザーインタ
ーフェイスは、情報豊かなデータベースと、データの保
管所及び決定支援のようなアプリケーション用に、すぐ
にしかも簡単に作成できる。
【0013】本発明のハイパーリンクは、コンテクスト
と「先見」情報をアプリケーションに提供する。この機
能は、データ駆動アプリケーションを組み立てる際に幾
つかの効果的な利点をサポートする。まず、ユーザー
は、現在いる場所のコンテクストを失うことなく、ポー
タルを通してデータの他の画面を調べることができる。
アプリケーションをブラウジングするユーザーがたどる
経路がアプリケーション自体にも影響を与え、アプリケ
ーションのダイナミックなカスタマイゼイションが行わ
れることもある。更に、コンテクストポータルは、単一
のアプリケーション内の様々なデータソースの統合を簡
単にする。ポータルによって設定されているパラメータ
によってパラメータ化された照会の場合、異なるデータ
ベースからのデータを意味のある方法で組み合わせられ
るようにして、事実上、汎用のクライアントサイドの照
会結合を提供する。その結果、コンテクストポータル
は、ユーザーがデータをハイレベルで理解できるように
し、より良い業務決定ができるようにする。
【0014】ダイナミックオブジェクトプロパティはデ
ータ駆動アプリケーションの開発を容易にし、スプレッ
ドシートの使用以外にはプログラミング経験の無い専門
領域のエキスパートが、ツール作成の強力なアプリケー
ションを容易に使えるようにする。ダイナミックオブジ
ェクトプロパティは、コンパイルされるときにアプリケ
ーションにハードコード化されるスタティックオブジェ
クトプロパティを凌ぐ幾つかの利点を有している。第一
の利点は、プロパティが継ぎ目無く、自動的にデータに
結合されるということである。更に、前記結合は、単に
一つのオブジェクトではなく、むしろオブジェクトの全
クラス(データエレメントノードで表される全オブジェ
クト)に適用される(即ち、各オブジェクトに対する計
算値はオブジェクトにより示される行によって決ま
る)。もう一つの利点は、さもなければ、オブジェクト
の色をデータソースからの一つのコラムか又はコラムの
セットの値によって決めるような簡単なタスクを実行す
るために必要となる、特殊なコーディングを省略できる
ことである。更に、2つ以上のオブジェクトプロパティ
を、一行の一つの列に(又は全行で実行される計算にさ
え)結合することができる。各オブジェクトが一つのリ
ンクに制限されている従来の開発ツールとは対照的に、
本発明では、1つのオブジェクトに関連している各列又
は行を、別々のプロパティへリンクできるようにする。
【0015】シーングラフからコードを生成すればマニ
ュアルプログラミングが不要になるので、開発者は、ツ
ールそのものではなく問題領域に集中できるようにな
る。その結果、プログラミング経験のない専門領域のエ
キスパートでも、すぐに強力なアプリケーションを作成
できる。更に、シーングラフ表示は、アプリケーション
の内容をブラウジングし、ワードプロセッサ内で書類に
関するアウトラインをできるだけ簡単に再順序付けでき
るようにアプリケーションを構成変更するのに効果的な
方法を提供する。
【0016】更に、本発明は、個々のデータポイントの
表示を、できるだけ一般的にトップレベルシーン自体と
して編集できるようにする。この機能により、ドリルダ
ウン及び検索ナビゲーションをサポートする高性能のア
プリケーション作成が可能となる。このナビゲーション
により、ユーザーはデータをより深く理解できるように
なり、より良い業務決定を下せるようになる。
【0017】他の特性及び利点は、以下の説明および請
求項から明らかとなるであろう。
【実施例】アプリケーションを組み立てるためのビジュ
アルビジネスインテリジェンスシステムについて以下説
明する。このシステムでは、開発者が対話型でバーチャ
ルワールドを組み立てるが、その組み立てブロックはシ
ーンと、データソースと、グローバルパラメータと、リ
ソースとを含んでいる。シーンは、情報がデータベース
に記憶されているデータにリンクされている場合を除い
て、プレゼンテーションのスライドに良く似た情報のビ
ジュアルディスプレーである。シーンの中では、データ
ソースから作り出された値が、ユーザー指定のデータエ
レメントとして図表で表される。データソースは、一つ
又はそれ以上のデータベース照会を作成するブロック図
表作成ツールを使って組み立てられる。照会は、SQL
照会であってもよい。シーンは、データソースを直ぐに
分かるようにシーンの図表エレメントに結合するドロー
イングエディタを使って作成される。バーチャルワール
ドが完成すると、バーチャルワールドの実行画像は、バ
イトコード又は引き続いて翻訳されることになるハイレ
ベルコードとして表示される。バーチャルワールドを表
示するバイトコードは、アクティブXコントロールのよ
うなランタイムコントロールにより実行することができ
る。ランタイムコントロールは、ウェブページ又はビジ
ュアルベーシック、C又はC++のようなアクティブX
コントロールをサポートする何れかのアプリケーション
に埋め込むこともできる。
【0018】シーンは、一つ又はそれ以上のオブジェク
トを含んでいてもよい。シーン内のオブジェクトは一式
のプロパティで表示され、クリックや、ユーザーのシー
ンへの接近や、マウス位置のようなイベントによってト
リガされるアクションが割り当てられている。視点は、
シーンを見るための三次元位置である。位置は、シーン
中心からのユーザーのその時点のカーソルのX及びY方
向オフセットと、ユーザーのその時点のズームレベル
(しばしば倍率レベルと呼ばれる)とを使って表わされ
る。視点には、バーチャルワールド内でのナビゲーショ
ンを容易にするために、固有名が付けられてセーブされ
る。ユーザーは名前の付いた視点をマニュアルナビゲー
ションに使うか、又はイベントベースのジャンプアクシ
ョンの目標として使うこともできる。
【0019】データエレメントは、照会の結果生じる行
の図表表示である。これはレイアウト及びデータソース
と常に関連しており、シーンと同様に構成されている。
これはレイアウト及び他のシーンへのワ−ムホールを始
めとする、オブジェクトのどんな組み合わせを含んでい
てもよい。データエレメントを構成するオブジェクトに
関するプロパティは、基準シーンパラメータであるだけ
ではなく、関連したデータソースにある基準コラム名で
もある。シーンエレメント及びデータエレメントはユー
ザーのズームレベルの機能として別々に表示してもよ
い。それぞれの表示は詳細さの水準(LOD)と呼ば
れ、他のLODとは、視覚的に、互いに排他的である。
例えば、一つのドット表示で始まるオブジェクトが、ユ
ーザーがより近くにズームするとアイコンに変化し、更
に近くにズームするとチャートに変化するようにしても
よい。
【0020】詳細さのレベル同士の間の移行点は、ズー
ムファクターという用語で、ユーザーによって定義され
る。シーンエレメント又はデータエレメントはN個の詳
細さのレベルに対してN−1個の移行点を持つ。視認性
も、オブジェク毎ベースに、「視認性」プロパティを下
記のような条件式に設定することによって制御すること
ができる。
【0021】If(ユーザーズーム > 2、真、偽)従っ
て、移行領域は、互いの表示がズームレベルのある範囲
で相互に排他的であるのではなく重なり合う場所に作ら
れる。重なりあいは、多種多様なデータエレメントを含
む層状マップ作成時には特に重要である。更に、他の効
果を達成するために、より複雑な表示を視認性の制御に
用いることができる。データソースは、ランタイムに設
定される1つ又はそれ以上の識別子によってパラメータ
化できるSQL照会と名前を付けることができる。デー
タソースが定義される際には、名前が付けられて、ワー
ルドに追加され、ワールドマネージャのデータソースカ
テゴリに表示される。するとこれらを実行に利用できる
ようになる。その結果はデータシートでブラウジングす
ることができ、又レイアウトの中で用いることができ
る。レイアウトの中で用いる場合、照会の結果できる各
行はデータエレメントで表示される図表に転換される。
その結果生じるデータソース内のコラムは、データエレ
メントに含まれるオブジェクトの属性にリンクされる。
データソース照会内に存在するパラメータはグローバル
プログラム変数、ローカルシーンパラメータ、又はワー
ルドツリー階層で高位置にあるデータソース内のコラム
に関連付けられる。
【0022】図1は、一つ又はそれ以上のワールドを同
時に編集するための多様なドキュメントのインターフェ
ースを示している。ユーザーインターフェースの主要な
部分は、ワールドマネージャーウインドウ10と、プロ
ジェクトワークスペース及びエディタウインドウ20及
び22と、オブジェクトインスペクタ30と、コントロ
ールバー40と、アウトプットウインドウ24である。
【0023】ワールドワークスペースは、エディタウイ
ンドウを含むバックグラウンドエリアである。4タイプ
のエディタウインドウが提供されている。シーンエディ
タと呼ばれる図表描画エディタが、トップレベルシーン
を構成するために提供されている。データエレメントエ
ディタと呼ばれる図表描画エディタが、各データポイン
トの表示をレイアウト内に定めるために提供されてい
る。照会エディタと呼ばれるツールが、照会の図形ブロ
ック線図を構築するか、又はSQLを直接手動で入力す
るかのどちらかによって、SQL照会を定義するために
提供されている。照会エディタは又、照会の結果を見る
ためのデータシートも提供する。更に、全バーチャルワ
ールドの二つの視界を示すワールドエディタが提供され
ており、その2つの内第1はパラメータのリンクと共に
ワールドのナビゲーション階層を示すワールドの構造画
面であり、第2は全ワールドに文書化及び検索の機能を
提供する読み出し専用の疑似コードである。
【0024】ワールドマネージャーウインドウ10は、
ユーザーのオープンワールドを編集し管理するための基
本的なインターフェースである。これは、タブ12,1
4,16を備えたドック可能なコントロールバーと対応
する情報のパネルとを有している。ユーザーがタブをク
リックすると、タブは最上部へ移動し下にあったパネル
が表示される。各パネルは、情報のカテゴリを表示する
ため順に一式のボタンを提示する。ボタンをクリックす
ると、そのボタンに関連するカテゴリの情報が表示され
る。図表タブ16は、シーン又はデータエレメントに追
加できる全図表オブジェクトの分類別パレットを提示す
る。
【0025】ワールドマネージャー10は、ワークスペ
ース20の左右どちらかにドックしておくことができ
る。ドックされている状態では、パネルの寸法を横方向
に拡大又は縮小することができる。浮動状態では、縦横
の両方向に拡大又は縮小させることができる。
【0026】図1の例では、ワールドタブ12と呼ばれ
る一つのタブが、その時点で開いているワールドの構成
と階層に関して3つの異なる画面を表示する。各オープ
ンワールドは、ツリーコントロール18内の主要ワーク
スペースの項目の下に表示される。コンテクストメニュ
ーは、ツリーコントロール内に表示される各項目に関し
て利用でき、右のマウスボタンをクリックすると、選択
された項目に関する共通メニューコマンドのリストが提
供される。
【0027】この例では、シーンカテゴリは、グローバ
ルパラメータと各オープンワールド内に含まれているシ
ーンを表示する。グローバルパラメータは、オブジェク
トプロパティとイベントアクション双方内のあらゆるシ
ーンの階層内のどこにでも参照符号を付けて配列してお
くことのできる識別子である。各シーンの下には、シー
ンに関する詳細さのレベル及び各詳細さのレベルから成
るオブジェクトの階層リストと共に、そのローカルパラ
メータ(あれば)と視点のリストがある。一見すると、
各詳細のレベルは互いに排他的である。言い換えると、
一時に一つの詳細さのレベルが見られるだけである。詳
細さのレベルの下にあるツリー内のオブジェクトの順番
は、その引用順番である。別のオブジェクトの下に表示
されるオブジェクトは、チャイルドオブジェクトと呼ば
れ、その所有者はペアレントオブジェクト又は複合オブ
ジェクトと呼ばれる。ツリー内のある項目は、別のシー
ンを参照するワームホール(後述する)のようなツリー
内の他の項目を参照として載せてもよいし、或いはデー
タソースカテゴリに関するツリー内のデータソースを参
照するデータエレメントを参照として載せてもよい。
【0028】データソースカテゴリは、各オープンワー
ルドに含まれる照会のリストを表示する。各データソー
スは、照会パラメータ、列名又は別名、及び照会を構成
するのに照会線図エディタが使われた場合は線図のリス
トを順に含んでいる。提示されるときには、照会線図に
は、構成に使われているブロックとコネクションのリス
トが含まれている。リソースカテゴリは、シーンやその
図表コンテンツ(ノード)に関するプロパティ値の計算
に使われる実行リソースのリストを表示する。基本的リ
ソースタイプには、カラーマップ、カラーシーケンス、
ストック画像、及びユーザークラスが含まれる。
【0029】データタブ14は二つの情報のカテゴリを
含んでおり、その1つは照会線図を構成するのに用いら
れるエレメントのパレットを提供する照会デザインであ
り、もう1つはアクティブなデータベーススキーマのコ
ンテンツをブラウジングできるようびするデータベース
コンテンツである。照会デザインカテゴリのコンテンツ
はパレット形式で提示される。データベースコンテンツ
のカテゴリはツリー形式で提示され、そこでは各表の下
の列名と視界は、列名と種類がダブルコロンで分けられ
て(例えば、employee_name::varchar)表示される。デ
ータベースコンテンツツリーは、アクティブなスキーマ
をブラウジングするのに用いることができる。
【0030】各オープンワールドは、ゼロ又はそれ以上
のオープンエディタウインドウを含んでいる。4つのタ
イプのエディタはそれぞれ、エディタのタイプ及びエデ
ィタのコンテンツを記述するテキストがその後に続く、
独特のアイコンを表示する。テキストのフォーマット
は、下記のような省略フォーマット又は拡張フォーマッ
ト、即ち、 EditorType : Contents 又は、 EditorType : WorldName[.ExtendedContents] であり、ここに、EditorTypeとはエディタのタイプ
(「シーン」、「データエレメント」、「照会」又は
「ワールド」)であり、WorldNameとはコンテンツを含
むワールドの名前であり、Contentsとは編集されている
オブジェクトの短い名前(例えば「DataElement1」)
であり、ExtendedContentsとは編集されているオブジェ
クトの長い名前であり、これはピリオドで分けられた全
ペアレントオブジェクトの象徴化された名前を含んでい
る(例えば「Scene1.ScatterChart 1. DataElement
1」)。
【0031】2つ以上のエディタウインドウがワールド
の所与の部分に対し開かれる。例えば、同一のシーン
は、シーン全体を見るために、100パーセントの倍率
で、一つのエディタの中で編集され、一方別のエディタ
がそのシーンのより細かい部分にズームインする。どち
らかのエディタでシーンが変更されると、両方のウイン
ドウに反映される。
【0032】シーンエディタウインドウは、トップレベ
ルシーンのコンテンツを図表的に編集し、デバグするた
めに用いられる。エディタは、デザインモードとランタ
イムモードとの二つのモードを有している。デザインモ
ード画面では、オブジェクトはグラフィックパレットか
ら追加され、照会の実行なしで表示される。一つ又はそ
れ以上のプロパティ値を通してデータソースに結合され
るオブジェクトは位置ホルダオブジェクトで表示され
る。更に、オブジェクトイベントは何も生成されないの
で、オブジェクトに関連する何らのアクションも実行さ
れない。シーンは何れのズームレベルででも編集するこ
とができ、それはナビゲーションツールバーから設定す
ることができる。
【0033】デザインモード画面は、セレクターバーと
パラメータバーの二つのオプションのドッキングツール
バーを提供する。シーンは別々に異なるズームレベルで
表示されるが、そこでは、各表示又はドローイングによ
ってLODが定められる。セレクターバーは、現在LO
Dが編集されているコントロールを提供する。パラメー
タバーは各パラメータ用のボタンをシーン内に表示す
る。シーンがパラメータを有していなければ、画面メニ
ューから手動でオンに切り替えられない限りバーは表示
されない。パレットに表示されるパラメータは、オブジ
ェクトのプロパティの値を設定するためのオブジェクト
インスペクタで用いられる。パラメータバーは、パラメ
ータが作成、削除、又は編集されると、自動的に更新さ
れる。
【0034】ランタイムモードが選択されると、シーン
のコンテンツは、以下に述べるように、バイトコードへ
コンパイルされて表示される。何らかの関連する照会が
実行されると、オブジェクトイベントが生成され関連す
るアクションが実行される。ランタイムモードがナビゲ
ーションの全性能をサポートするので、他のシーンへの
ワームホール又はジャンプリンクはアクセス可能であ
る。他のシーンへジャンプすると、デザイン画面も新し
いシーンに切り替えられる。ランタイムモードは編集作
業の間に、第二のウインドウを開くことによりデザイン
視界内で同時に見ることができる。同一シーンを表示し
ている多種多様なランタイム画面は独立して作動し、互
いに従属関係にはない。各画面は、アクティブなランタ
イム画面のためのワールドシーンツリー内に反映される
グローバルパラメータの各々のコピーを有している。
【0035】データエレメントエディタウインドウは、
照会結果によるデータポイントの表示を図表的に編集す
るために用いられる。データエレメントエディタウイン
ドウが、デザインモードで図12に示されている。セレ
クターバーとデータソースバーの両方を見ることができ
る。
【0036】シーンエディタウインドウと同様に、デー
タエレメントエディタはデザインモードとランタイムモ
ードの二つのモードを有している。デザインモード画面
ではオブジェクトはグラフィックパレットから追加さ
れ、照会の実行なしで表示される。一つ又はそれ以上の
プロパティ値を通してデータソースに結合されるオブジ
ェクトは、位置ホルダオブジェクトで表示される。更
に、オブジェクトイベントは何も生成されないので、オ
ブジェクトに関連する何らのアクションも実行されな
い。データエレメントは何れのズームレベルででも編集
することができ、それはナビゲーションツールバーから
設定することができる。
【0037】データエレメントは別々に異なるズームレ
ベルで表示されるが、そこでは、各表示又はドローイン
グによってLODが定められる。更に、データエレメン
ト内の異なるオブジェクトは、異なる軸に関連付けられ
る。例えば、取引の量に関するバーを有するストックチ
ャートは二つのY軸を有する。各取引日に関するデータ
エレメントは、価格軸に関連するハイ/ロー/クローズ
バーと、量軸に関連する量バーとを有している。セレク
ターバーは、LODと軸のセットとを編集できるコント
ロールを提供する。パラメータバーは各パラメータ用の
ボタンをシーン内に表示する。パレットに表示されるパ
ラメータは、オブジェクトのプロパティの値を設定する
ためのオブジェクトインスペクタで用いられる。パラメ
ータバーは、パラメータが作成、削除、又は編集される
と、自動的に更新される。
【0038】データソースバーは、データエレメントの
範囲内にある各データソース用のボタンの帯を表示す
る。各ボタンは、オブジェクトインスペクタで用いられ
る列名に対応している。レイアウトを単純にするため、
単一のデータソースが表示される。ネストされたレイア
ウトでは、各照会に関して一つの行が表示される。照会
は、その関連データエレメントのオブジェクトがデータ
エレメントの先祖としてワールドのシーンツリー内に存
在するかどうかという視野で考えられる。データソース
の列が作成、削除、又は編集されると、データソースバ
ーが自動的に更新される。
【0039】照会エディタは、3つの照会の画面を提示
するが、その3つとは、正しく書式化された照会結果を
表示するデータシートと、照会の構成のブロック線図を
提供する照会線図画面と、実際のSQLテキストを表示
するSQL画面とである。ユーザーは、ウインドウの一
番下でスクロールバーの左にある、対応するモードボタ
ンの一つをクリックすることにより、画面間の切り替え
を行う。
【0040】データシート画面は表になった照会の結果
を示す読み出し専用の画面である。照会がパラメータ化
されていれば、データシートは、デフォルト値が照会に
含まれる各パラメータに利用できるときにだけ利用でき
る。データシートは、編集作業の間は、第二ウインドウ
を開くことにより照会線図又はSQLテキスト画面で同
時に見ることができる。照会を変更すると、データシー
トが対話型でリフレッシュされることになる。データシ
ートモードが選択されない場合は、他の画面への変更が
あってもリフレッシュされない。行は、画面へ入ってく
る場合、データシートへロードされる。
【0041】ユーザーは、ワールドマネージャのデータ
タブか又は挿入メニューからブロックを選択することに
よって、照会線図にブロックを追加する。ブロックは、
ソースブロックの出力ポート及び目標ブロックの入力ポ
ートをクリックすることによって接続される。替わり
に、ブロックは、マウスをポートの一つから他のポート
へドラッグし、ユーザがマウスボタンを放すまで表示さ
れる「ゴム結合」接続ラインによっても接続することが
できる。どちらの場合も、カーソルは、接続操作を示す
ために、ポート選択アクションの間で変更される。
【0042】SQL画面は、任意の選択照会が作成さ
れ、編集できるようにする。更に、線図エディタによっ
て生成される式の編集もできるようにする。しかし、S
QLが編集されれば、線図は利用できなくなる。この場
合、ユーザーに警告するために確認ダイアログが表示さ
れる。
【0043】ワールドエディタは、バーチャルワールド
と対話するために、構成画面と疑似コード画面の2つの
画面を提供する。ワールド構成ウインドウは、全ワール
ドに関する機構の階層的な画面を表示する。ワールドル
ートボックスの下にあるボックスはそれぞれ、1つのシ
ーンに対応している。シーンの下にあるボックスは、デ
ータエレメント又はワームホールにより接続されている
他のシーンに対応している。これらの何れかのボックス
をダブルクリックすると、対応するシーン又はデータエ
レメントエディタが開く。ボックス間のリンクは、ワー
ルドシーンツリー内の階層を表す。
【0044】一つのボックスは、図表コンテンツに含ま
れる各データソース及びワームホール用の一つのチャイ
ルドボックスを有している。ワールドの構成次第である
が、ツリーの深さは無限である。例えば、一つのシーン
がもう一つのシーンまでのワームホールを含んでおり、
そのシーンが今度は第一シーンまで戻るワームホールを
含んでいれば、ツリーは第一及び第二シーンの無限の縦
方向シーケンスを含んでいることになる。その結果、ツ
リーは、ユーザーによって明示的に拡張される場合にの
みレベルを拡張することとなる。
【0045】その下の各リンクとボックスは、リンクの
トップにあるボタンをクリックすることにより、表示さ
れたり隠されたりする。最初に表示されるとき、ワール
ドボックスはワールドに含まれる全シーンを表示するた
めに拡張される。ボックスが拡張されると、ツリー構造
は新たに表示されるボックス用の空間を作るようになっ
ている。更に、ワールドのパラメータ化も構成線図に表
示される。グローバルパラメータ、シーンパラメータ、
及び照会パラメータは、その入力としての役割を示すボ
ックスの左側に伸びるテキストボックスとして表示さ
れ、一方照会列は、その出力としての役割を示すボック
スの右側に伸びるテキストボックスとして表示される。
パラメータと列名が別のエディタウインドウで追加、削
除、又は変更される度に、その変更を反映させるために
ボックスが更新される。
【0046】シーン又は照会パラメータが、階層中でよ
り上層のパラメータ若しくは列に設定されている場合に
は、パラメータのテキストボックスは、ソース値に対し
て「配線されている」と示される。これらの接続は構成
線図内で編集することもできる。新規接続を確立し、パ
ラメータの値を設定するためには、当該パラメータに対
する入力接続点と、ソースパラメータ又は列に対する出
力接続点とをマウスでクリックする(順不同)。代わり
に、接続点は、マウスを一方からもう一方へドラッグし
て、その結果ユーザーがマウスを放すまで表示される
「ゴム結合」接続ラインによっても接続できる。どちら
の場合も、カーソルは、接続操作を示すために、選択ア
クションの間で変更される。ここでの注意点は、接続を
有効なものにするためには、ソースはツリー階層中のよ
り高層に存在せねばならないということである。リンク
を排除するには、ユーザーは当該リンクを選択して消去
キーを押せばよい。
【0047】疑似コード画面は、ワールドの全コンテン
ツの読み出し専用画面をテキストフォーマットで提供す
る。疑似コードは、ワールド名と初期シーンから成る初
期ヘッダーを表示するが、これに引き続いて以下のセク
ション、即ち、 グローバルパラメータ ユーザークラス カラーマップ カラーシーケンス ストック画像 データベース接続 データソース シーン が表示される。
【0048】1つの実行例では、セクションは1組の点
線で、 −−−−−−−−−−−−−−−−−−−− セクション名 −−−−−−−−−−−−−−−−−−−− のように囲まれている。
【0049】更に、データソースとシーンは、 −−−−−−−−−−−−−−−−−−−− のような一本の分離線により分けられている。
【0050】これに続くセクションは、各疑似コードエ
レメントに対するフォーマットを表示する。ここで、角
括弧(‘[’と‘]’)はオプションのテキストを意味
し、垂直分離線(‘ヲ’)は、二者選択を意味する点に
注意されたい。 グローバルパラメータフォーマット DataType ParamName [(Buit-in)] ディスクリプション: Description デフォルト値: (None)ヲValue アクセス: [PrivateヲPublic] ユーザークラスフォーマット ClassName 親クラス: (None無し)|ParentClass1 ... [ParentClassN] カラーマップフォーマット(単色): ColormapName 単色: ColormapName(BLより下)=valueL[(ColorName)] ... ColormapName(Bi−Bi+1)=valuei「(ColorName)] ... ColormapName(BUより上)=valueU[(ColorName)] カラーマップフォーマット(混合色) ColormapName 継続カラー(混合色) ColormapName(BLより下)=valueL[(ColorNameL)] ... ColormapName(Bi)=valuei「(ColorNamei)] ... ColormapName(BUより上)=valueU[(ColorNameU)] カラーシーケンスフォーマット ColorSeqName ColorSeqName[0]=value0[(ColorName0)] ... ColorSeqName[N-1]=valueN-1[(ColorNameN-1)] ストック画像フォーマット ImageName フォーマット:[BitmapヲWiondows Metafile|JPEG] データベース接続フォーマット: ConectionName サーバー: Server データベース: Database ユーザー: User デフォルトスキーマ: データソースフォーマット: DataSourceName[(DataType param1,...)] 接続: ConnectionName SQL: SQL シーンフォーマット: SceneName[(DataType param1,...)] ローカルパラメータ: パラメータネーム: paramName ディスクリプション: Description デフォルト値: [value] ... 画面ポイント: 画面ポイント名:ViewpointName[(Buit-in)] ディスクリプション: Description ロケーション: (X,Y) ズーム係数: Zoom% ... オブジェクト: ExtendObjectName プロパティ: DataType PropertyName=PropertyValue ... イベント: EventName(DataType EventParam1,...) [Param=Expression] ... [Action(Option1,...)] ... 疑似コードは、カラーコード型構文を使用して表示され
る。例えば、セクションのヘディングは緑で、データタ
イプは青で、そして他の全テキストは黒で表示される。
疑似コードは、ワールド内どこかで変更がある都度更新
されることになる。
【0051】出力ウインドウは、ワールドが展開され見
えてくるにつれ、コンパイルと実行情報を表示する、ド
ック可能なコントロールバーである。これはまた、警告
とエラーメッセージも表示する。出力ウインドウは、ド
ックされている時は縦方向にサイズを変えることがで
き、浮動時には縦横両方向にサイズ変更できる。
【0052】ランタイムモードでは、視点ダイアログボ
ックスがワールドをナビゲートするために設けられる。
直接アクセスできるようになっているシーンは、シーン
・コンボボックスに表示される。選択されたシーンのた
めの視点は、視点リストボックスに表示される。視点を
選択すると位置編集コントロールの値が更新される。こ
れらのコントロールの値は、位置とズーム係数を指定す
ることにより、注文指示通りに変更される。
【0053】レイアウトウィザードは、新しくレイアウ
トを作るときにユーザーを各段階を通して案内するため
に設けられている。全レイアウトに共通な最初の2段階
は、レイアウトを選択して、次にデータソースを選択す
ることである。次に、各レイアウトは、当該レイアウト
を創造するために必要な限りの多数の追加的レイアウト
特有の段階を有する。
【0054】レイアウトは、軸のセットのようなサポー
トするコンテクスト情報を伴うデータソースに由来する
データエレメントを空間的に配列させたものである。レ
イアウトは、以下の5つのカテゴリのセット、即ち、チ
ャート−連続情報を提示するために使用される、マップ
−1つのデータソース内の多数の曲線や連続情報をレイ
アウトするために使用される、階層−オブジェクトの従
属物を示すために使用される、パターン−独立したオブ
ジェクトを指示されたパターンでレイアウトするために
使用される、フォーム−データソース内の単一の記録を
表示するために使用される、のどれかに当てはまる。
【0055】レイアウトは、シーン或はデータエレメン
ト描画上のどこにでも配置できる。マップや分散チャー
トのような幾つかのレイアウトタイプには、2つ以上の
データエレメントをサポートするものもあり、このよう
にして情報を「階層化する」ことができるわけである。
この場合、各データエレメントには、現行のズームレベ
ルに依存する視認性が割り当てられるわけで、ズームレ
ベルを上げるとより多くの情報が提示できるようにな
る。
【0056】軸ノードは、それらを必要とするレイアウ
トに添付されている。数値ではなくてテキストレベルに
基づく軸を有する棒チャートや列チャートのような幾つ
かのチャートタイプでは、これらの軸の内の1つ又はそ
れ以上がデータソースを必要とするので、データ結合型
である。サポートされる軸には、線形軸、対数軸、及び
日付/時間軸が含まれる。これらの軸は、自動調整式ラ
ベルと小刻みな増分もサポートするので、ズーミングは
より多くの情報を正確な軸値で提供することができる。
【0057】ある種のレイアウトタイプでは、データエ
レメントを位置づけるのに、軸よりもむしろロケーター
を使用するものもある。これらのロケーターは、デザイ
ンタイムには目に見えて表示されないが、そのプロパテ
ィは、レイアウトの他のオブジェクトのプロパティと共
に、オブジェクトインスペクター内に表示される。レイ
アウト内のデータエレメントがレイアウトそのものを保
有するという複合レイアウトも使用できる。普通は、第
2レイアウトに関連するデータソースがパラメータ化さ
れ、1つ又はそれ以上のパラメータが親レイアウトのデ
ータソースの列とリンクされる。
【0058】識別子は、バーチャルワールド内の、オブ
ジェクト、データソース、シーン、パラメータ、ユーザ
ークラス、カラーマップ、カラーシーケンス、視点のよ
うなエレメントにとっての名前である。識別子は、ケー
スには敏感ではなく、1文字に等しいかそれ以上ならど
んな長さでもよい。
【0059】オブジェクトのプロパティは、オブジェク
トの外見を関数式の事項で定義づける、名前の付いた属
性から成る。これらのプロパティへのアクセスはオブジ
ェクトインスペクターを介して行われる。その値は、式
を計算した結果に基づき、ランタイムに設定される。式
には、ランタイムに結果として出る行に自動的に結合さ
れる1つ又はそれ以上のデータソース列の名前を含んで
いる。
【0060】オブジェクトプロパティ式は結果的に、Bo
olean、Numeric、String、Point、PointList、及びImag
eといった基本的なデータタイプの内の1つとなる。導
き出されるNumericタイプには、Color、DateTime、Enu
m、Integer、及びPercentageが含まれる。導き出される
Stringタイプには、FilePath(若しくはURL)及びFo
ntNameが含まれる。
【0061】これより図2の説明に入るが、ここではオ
ブジェクトインスペクター30についてより詳しく示し
ている。オブジェクトインスペクター30は、属性名_
列100とプロパティ列110という2つの列を提供す
る。図2で検査されるオブジェクトは、プロパティ、1
12、114、116、118、120、122、12
4、126を有する。特に、プロパティ114、11
6、118、120、124、126は静的定数であ
る。しかしながら、プロパティ112と122は、動的
であって、実行時に値が決められる。動的なプロパティ
112と122に起因して、データ駆動アプリケーショ
ンを創造する際には、ユーザーは当該動的プロパティを
入力しさえすればコードが自動的に生成される。このよ
うに、動的プロパティ112と122のデータ結合は、
継ぎ目無くプロパティシート30へと統合される。
【0062】オブジェクトインスペクターウインドウ3
0は、オブジェクトのプロパティとイベントを表示する
ドック可能なコントロールバーである。オブジェクトイ
ンスペクターは、ドックされている時には横方向にサイ
ズ変更することができ、浮動時には縦横両方向にサイズ
変更することができる。ウインドウは、ドラッグ中にそ
の位置がドッキングサイトと重なるときには、ワールド
のワークスペースの左又は右にドックされる。オブジェ
クトインスペクター30は、シーンエディタ又はデータ
エレメントエディタウインドウが、デザインモードで稼
働しているときに表示され、エディタの範囲内の全オブ
ジェクトのリストを保有するドロップダウン・コンボボ
ックスを表示する。「ドット」表記法は複合オブジェク
トを示すために使用される。例えば、“ScatterChart
1.DataElement1"は、DataElement1がScatterChart1に
所有されるオブジェクトであることを表している。
【0063】オブジェクト選択コンボボックスの下に
は、あるオブジェクトに関してのプロパティ又はイベン
トの何れかを表示するタブ式シートがある。プロパティ
のタブが選択されると、選択されたオブジェクトのプロ
パティの値を設定するため、2列入力用紙が表示され
る。左列は、プロパティの名前を表示する読み出し専用
列であり、もう一方の右列は、プロパティの値を表示す
る読み出し/書き込み列である。右列に入力される値
は、定数でもよいし、或はデータソースからのパラメー
タの関数又は名前を含んでいる計算値であってもよい。
プロパティ値が計算されるタイプのもの(有限な数の値
にしか設定できない値)であるときは、ドロップダウン
・コンボボックスはそのプロパティにとって正当な値を
リストにして表示される。計算されるタイプには、これ
に限定するわけではないが、次のもの、即ち、フォント
名(例:“Arial",“Courier")、カラー(例:赤、
青)、テキスト整列(例:左、右)、テキストの固定ポ
イント(例:左下、右上)、ブール値(例:真、偽)、
線スタイル(例:実線、点線)、充填パターン(例:べ
た、横方向)が含まれる。
【0064】プロパティが日付或は時間であれば、フィ
ールドがアクティブになるとカレンダーコントロールが
プロパティ値の下に表示される。
【0065】フォーム及びデータエレメントオブジェク
トは、オブジェクトインスペクターのリストに載ってい
るQueryParametersオブジェクトを介して照会パラメー
タの値全体を制御する。QueryParametersオブジェクト
は、フォーム又はデータエレメントの子オブジェクトで
あり、各照会パラメータについてのプロパティを保有し
ている。照会がパラメータ化されていない場合には、Qu
eryParametersオブジェクトは、オブジェクトインスペ
クターに表示されない。オブジェクトに含まれる値は、
ランタイムに、当該照会が実行される前に、照会プロパ
ティーを設定するために使用される。
【0066】図3は、抄録ベースクラスVcPropertyBag
200のプロパティオブジェクトモデルを示している。
VcPropertyBag200は、1つ又はそれ以上の導き出さ
れたクラスに特有のプロパティのセットに対しコンテナ
の役目を果たす。VcPropertyBag200は、プロパティ
とそれらの値にアクセスしそれらを操作するためのイン
ターフェースを提供する。それは又、導き出されたオブ
ジェクトのプリパティのセットについてのタイプ情報を
入手するための純粋に仮想的な方法も提供する。
【0067】VcPropertyBag200から引き出されるの
は、抄録べースクラスVcScene202、及び抄録ベース
クラスVcDrawingNode204である。VcScene202はシ
ーンのためのクラスであって、VcPropertyBag200か
らプロパティを継承する。VcDrawingNode204は、シ
ーンに表示される全グラフィカルオブジェクト用の抄録
ベースクラスであり、やはりVcPropertyBag200から
プロパティを継承する。VcDrawingNode204は、ムー
ブメントをサポートしてプロパティを操作するため、ス
ケーリングのため、及び他の標準的な編集オペレーショ
ンのための純粋に仮想的な方法のセットを提供する。導
き出されたクラスは、適当なプロパティに対する編集オ
ペレーションをマッピングすることに責任を負う。
【0068】VcPropertyBag200は又、クラスVcPrope
rty210のm_propertiesというプロパティのセットを
有しており、このセットには、名前と計算タイプ情報m
_expectedTypeを始めとして、特定オブジェクトプロパ
ティについての全情報が含まれている。m_expectedTyp
eは、求められたプロパティ値のデータタイプ(例:ブ
ール、数字、ストリング等)を記述し、オブジェクトへ
アクセスする経路m_pathを記憶し、そして当該プロパ
ティに関するデザインタイム値m_designValueとランタ
イム値m_runtimeValueを管理する。デザインタイムは
常に定数に決められるので、コンテナオブジェクトは孤
立して(データ或はパラメータにリンクされずに)表示
されることになる。ランタイムの値も定数である場合、
この2つの値は同じ値に設定される。
【0069】VcProperty210はプロパティの名前用の
保管場所を提供するための標準的なストリングクラスで
あるCString212に属するm_nameプロパティを有す
る。VcPropertyオブジェクト210は又、VcPropertyPa
th214と呼ばれるm_pathプロパティのクラスも有し
ており、これはVcPropertyBagのプロパティのセット内
だけに特有のものであるプロパティに対する識別子を記
憶し、ポインターm_nextをVcPropertyPathのリンクさ
れたリストに提供して一まとめにされたプロパティバッ
グをサポートする。
【0070】VcProperty210は又、VcPropertyValue
216と呼ばれるクラスに属する、プロパティm_desig
n値も有する。VcPropertyValue216は、プロパティ
(VcFunction220)にとってのデザインタイム値を表
現する関数を記憶し、またユーザーにより入力された式
を記憶するので、ケース感受性、スペーシング、及び他
の特定項目が、ユーザーの入力に応じて表示されること
になる(CString218)。
【0071】VcFunction220は、構文解析された式エ
レメントのための抄録ベースクラスであり、この関数は
コンテクストオブジェクトを供給することによって求め
られる式ツリーにとってのルートエレメントである。CS
tring218は、ユーザーにより入力される式の保管場
所を提供する標準的なストリングクラスである。
【0072】最後に、VcPropertyオブジェクト210は
また、抄録ベースクラスVcPropertyValue222に属す
るm_runtime値も有する。VcPropertyValue222は、
当該プロパティに対するランタイム値を表す関数を記憶
し、またユーザーにより入力された式を記憶するので、
ケース感受性、スペーシング、及び他の特定項目が、ユ
ーザーの入力に応じて表示されることになる。
【0073】これより図4に移るが、ここでは模範的バ
イトコードの実行を表す線図が示されている。本例で
は、ユーザーは関数を式の形で規定している。式は続い
て構文解析されバイトコードが生成されるが、このバイ
トコードは所望のオペレーションを表すインストラクシ
ョンのハイレベルのセットであり、ランタイムに実行さ
れるものである。バイトコードの実行については図4に
図解されている。
【0074】図4は、模範的VcStmtCreatShapesバイト
コード302の実行について示している。バイトコード
302は、実行されると特定の形態をしたオブジェクト
のインスタンスを作りだし、そのオブジェクに対するト
ークン型の名前をハッシュテーブル・ルックアップ用に
記憶する。バイトコード302により生成されるオブジ
ェクト形態を構築するための1つの模範的実行例として
の疑似コードをブロック310として示している。当該
オブジェクトの形態を構築するための実行疑似コードブ
ロック310では、VcStmtCreatShape'sPerform()方法
が呼び出されると、それはファクトリィオブジェクトの
CreatShape()方法を呼び出して新しい形態のオブジェク
トを創造し、次にそのオブジェクトに対するポインタ
を、コンテクストオブジェクトにより所有されているハ
ッシュテーブルに記憶して、後刻プロパティ設定時のル
ックアップに備える。最後に、本方法は、その創造時に
確立される形態に対する参考事項をリリースする。
【0075】バイト符号302は、当該形態のトークン
化された名前の保管場所を提供するために、標準的なCS
tringクラス300のメンバーであるm_objectIdプロパ
ティを有する。バイトコード302は、シーン内で形態
を創造すことに責任を負う抄録ベースクラスVcShapeFac
tory304のメンバーであるm_factoryプロパティを有
する。VcShapeFactory304の導き出されたクラスは、
形態の特定のクラスを創造し且つそれをキャンバス表示
リストに加えるために、純粋に仮想的なCreatShape()方
法を無効にしなければならない。
【0076】VcShapeFactory304は、概念的なベース
クラスVcShape306から導き出される形態オブジェク
トのインスタンスを創造する。VcShape306は、全形
態オブジェクトにとっての抄録ベースクラスである。そ
れは、形態プロパティを設定するためのトランザクショ
ン指向の多形態インターフェースを提供する。VcShape
の導き出されたクラスは、レンダリングとヒット検知サ
ポートを実行することに責任を持つ。
【0077】図4はまた、抄録クラスVcStmtSetPropert
y320についても示しているが、これは実行されると
形態プロパティの値を設定するバイトコードステートメ
ントのための抄録クラスである。VcStmtSetProperty3
20の導き出されたクラスは各データタイプを表現す
る。抄録クラスVcStmtSetProperty320は、形態のト
ークン化された名前と、プロパティに独自的にアドレス
するために必要なプロパティアイデンティティのセット
とを記憶する。VcStmtSetProperty320は、CStringク
ラス322のメンバーであるプロパティm_objectId
と、クラスVcPropertyPath324のメンバーであるm_p
ropPathプロパティとを有する。VcPropertyPath324
は、プロパティの形態セット内に特有のプロパティのた
めの識別子を記憶して、1まとめにされた形態をサポー
トするために、リンクされたリストVcPropertyPathにポ
インタm_nextを提供する。
【0078】今度はVcStmtSetProperty320がVcStmtS
etStringProperty326により継承されるが、これは、
形態のプロパティの値をストリング値に設定し、且つ、
形態のプロパティを設定する前にプロパティ値を求める
ための抄録ストリング関数VcSftn328に対するポイン
ターを保有している。VcSftn328は所与のコンテクス
トのためのストリングに対し評価を行うVcFunctionから
導き出されるが、この関数は、関数の構文解析されたエ
レメントを保有している構文解析表現ツリーに対するル
ートエレメントである。
【0079】VcStmtSetStringPropertyバイトコード3
26の1つの実施例を、ブロック330に示す。形態の
プロパティを設定するためのこの実施例においては、Vc
StmtSetStringProperty's Perform()方法が呼び出され
ると、それはコンテクストのハッシュテーブルから当該
形態を検索する。それは次に、所与の文脈を用いてスト
リング関数を求め、その結果をプロパティパス経由で当
該形態に渡す。
【0080】これより図5に入るが、ここではサンプル
構文解析型プロパティ関数を説明する線図を示してい
る。本例中の関数は、VcStmtSetStringProperty関数3
50である。関数350は、オブジェクト識別値“Text
1"352を有しているが、これはクラスCstringのメン
バーである。これは、設定予定のプロパティを保有する
形態オブジェクトのトークン化された名前である。VcSt
mtSetStringProperty350は、オブジェクトText1によ
り所有されるTextプロパティの値を、スペース記号によ
って分離されている付属のlast_nameからfirst_name
までにより作り出される計算値に設定する、サンプル・
バイトコード・ステートメントである。本例では、m_o
bjectIdは目標オブジェクト“Text1"を識別するストリ
ングを指し、m_propPathはテキストオブジェクト内に
設定される予定のプロパティのアドレスを指し、m_ftn
はプロパティの値に対し評価を行うストリング関数を指
す。
【0081】VcStmtSetStringPropert350は、その値
がブロック354で設定されるプロパティパスを有す
る。最後に、VcStmtSetStringProperty350はVcSftnC
oncatenate関数360を実行するように指定されてい
る。VcSftnConcatenate360は、2つのメンバースト
リング関数であるm_ftn1(first_name+〃〃)とm_f
tn2(last_name)の結果を連結する、VcSftnから導き
出されるストリング関数である。
【0082】ブロック360内では2つの関数が更に細
かく規定される。ツリーの左枝を下って行くとVcSftnCo
ncatenate関数362が示されている。VcSftnConcatena
te362は、2つのメンバーストリング関数m_ftn1とm
_ftn2を使用して、式(first_name+〃〃)の数値を
求めるすることに責任を負う。ブロック362内には、
2つの関数、即ちm_ref(“first_name")に記憶され
ている識別子の現在値を調べる責任を負うストリング関
数であるVcSftnLookup関数364と、一定ストリング値
を記憶する責任を負うストリング関数であるVcSftnCons
tant370とが追加されている。
【0083】ルックアップ関数364の値は文字ストリ
ング366により求められるが、これは識別子の名前、
“fisrt_name"、を保管する場所を提供する標準ストリ
ングクラスである。定関数370で値を求めると、その
結果はブロック372のスペース(ストリング定数
“ ”)である文字ストリングになる。
【0084】VcSftnConcatenate関数360からツリー
の右側を下っていくと、VcSftnLookup関数380が求め
られる。VcSftnLookup380は、m_ref(“last_nam
e")に記憶されている識別子の現在値を調べる責任を負
うストリング関数である。VcSftnLookup関数380の数
値を求めると、文字ストリングになる。
【0085】シーンからコードを生成するプロセスのオ
ブジェクトモデルについては、図6により詳しく示す。
当該シーンは、シーン内の各形態と論理エレメントのた
めのコードジェネレータを表す描画ノードのリストを保
有する。オブジェクトVcScene400は、視認区域に表
示される全グラフィカルオブジェクト用の描画層若しく
はキャンバスの輪郭を定める。CreatMethod()関数は、
実行されると、グラフィカルオブジェクト付きのシーン
を創造して定住させる一連のバイトコード・ステートメ
ントを生成する。これらのステートメントは、VcCGMeth
od410と呼ばれるオブジェクトに記憶される。
【0086】VcScene400は、クラスVcDrawingNode4
02から導き出されるオブジェクトのリストm_nodesを
保有している。VcDrawingNode402は、シーンのコン
テンツを表現する全形態と論理ノードのための抄録ベー
スクラスである。VcDrawingNode402は、導き出され
たクラスにおけるVcStmt実行ステートメントのリストを
生成するためのインターフェースGetExecStmt()を定義
する。VcDrawingNode402は、VcShapeNode404のサ
ブクラスである。VcShapeNode404は、形態を生成す
るノード用の抄録ベースクラスである。VcShapeNode4
04の導き出されたクラスは、各タイプの形態のプロパ
ティを構築し設定するのに必要なバイトコードステート
メントを生成する。
【0087】またVcShapeNode404は、VcDataNodeク
ラス406のサブクラスであるが、これは、データソー
スをオブジェクトのレイアウトを表すグラフィカルテン
プレートに照会の各行ごとに結合させる形態ノードのク
ラスである。VcDataNodeにより生成されるバイトコード
は、データソースにより供給される結果のセットを反復
し、オブジェクトのセットを創造し、それらをアクティ
ブなシーンに付け加える。
【0088】VcDrawingNode402はまた、描画ノード
のクラスVcLogicNode408によっても継承されるが、
このクラスが今度はVcDataSource410に継承される。
VcLogicNode408は、形態ノードとユーザーの間の関
係を定義するバイトコードを生成する描画ノードのクラ
スである。VcDataScouce410は、データの抄録ソース
を表現する論理ノードのクラスである。導き出されるク
ラスは、レイアウト中のグラフィックを生成するため
に、データノードにより使用されるデータの表になるバ
イトコードを生成することに責任を負う。
【0089】VcDataNode406は、VcDataSource410
のインスタンスを保有する。VcDataSource410は、ク
ラスVcQueryDataSource412に継承される。VcQueryDa
taSource412は、照会インスタンスを構築し、ランタ
イムパラメータに取って代わり、照会を実行するバイト
コードを生成するために、照会オブジェクトと対話をす
ることに責任を持つ。
【0090】次にVcQueryDataSource412は、列とパ
ラメータの名前とタイプを始めとする、SQL照会につ
いての情報を記憶する、VcQuery414のメンバーであ
る照会オブジェクトm_queryを指す。またVcQueryオブ
ジェクト414は、VcColumnクラス416に記憶されて
いる列のセットと、VcParameterクラス417に記憶さ
れているパラメータのセットとを有する。VcColumn41
6は、データベースから検索されるデータの列について
の情報を記憶するので、バイトコード実行ステートメン
トにより使用されるコンテクストオブジェクトにより照
会することができる。VcParameter417は、SQL選
択ステートメントに対する引数の役をする名前の付けら
れた位置ホルダオブジェクトを表している。SQLステ
ートメントが実行される時にはその前に、パラメータ
は、パラメータのランタイム値に置き換えられる。
【0091】VcSceneオブジェクト400は、そのCreat
Mehtod()メンバー関数が呼び出されると、クラスVcCG
Method410のインスタンスを生成する。このVcCGMeth
od410は、抄録ベースクラスVcStmt420に属するオ
ブジェクトのセットを有する。VcStmt420は、全バイ
トコードステートメント用の抄録ベースクラスである。
その完全に仮想的な方法Perform()は、導き出される全
クラスにより実行されるべき実行インターフェースを定
義する。VcStmt抄録ベースクラス420は、422、4
24、426、428、430を始めとする多数のバイ
トコードステートメントにより継承される。VcStmtCrea
tShape422は、実行されると特定の形態オブジェクト
のインスタンスを創造するバイトコードステートメント
である。ステートメント422は、ハッシュテーブル・
ルックアップのために、オブジェクトのトークン化され
た名前を記憶する。VcStmtCreatQuery424は、実行さ
れると特定の照会オブジェクトのインスタンスを創造す
るバイトコードステートメントである。VcStmtBeginPro
perties426は、そのプロパティが設定される予定の
形態インスタンスを通知するバイトコードステートメン
トである。VcStmtSetProperty428は、実行されると
形態のプロパティの値を設定するバイトコードステート
メント用の抄録クラスである。導き出されるクラスは、
形態のトークン化された名前と当該プロパティを独自的
にアドレスするのに必要とされるプロパティIDのセッ
トを記憶する各データタイプを表す。最後に、VcStmtEn
dProperties430は、そのプロパティに対する変更が
完了しており、2つ以上のプロパティに依存する何れの
計算をも実行できることを、形態インスタンスに通知す
るバイトコードステートメントである。
【0092】コード実行処理のオブジェクトモデルは、
図4に示すオブジェクトモデルと同様のものである。簡
単に言うと、VcStmtCreatShapeバイトコードは、実行さ
れると、ハッシュルックアップテーブルのオブジェクト
用にトークン化された名前を記録し、特定の形態を呈す
るオブジェクトのインスタンスを創造する。VcStmtCrea
tShapeバイトコードステートメントは、シーン内に形態
を創造することに責任を持つVcShapeFactory抄録ベース
クラスから導き出されたファクトリィオブジェクトを保
有する。更に、VcStmtSetProperty抄録クラスは、形態
のトークン化された名前と当該プロパティを独自的にア
ドレスするのに必要とされるプロパティIDのセットと
を記憶する。VcStmtSetStringPropertyバイトコードス
テートメントは、ストリング値に対する形態プロパティ
の値を設定するが、形態のプロパティを設定する前にプ
ロパティ値を求めるための抄録ストリング関数に対する
ポインタを保有する。
【0093】これより図7に入るが、プロパティシート
入力プロセス440について説明する。プロパティシー
トの使用に際して、ユーザーはある式を入力する(ステ
ップ440)。その式は次に構文解析され(ステップ4
44)、有効性がチェックされる(ステップ446)。
当該式が無効の場合には、必要なデザイン値を使用して
ランタイム値をクリアするよう処置され(ステップ44
8)、エラーメッセージが表示される(ステップ45
0)。そうではなく当該式が有効である場合には、関数
を創造してその関数をランタイム値として記憶する処置
がとられる(ステプ452)。次に、その関数が一定で
あるかどうかを確定し(ステップ454)、もしそうで
あるなら、関数のクローンを作りデザインタイム値をそ
れに替えて記憶する(ステップ456)。
【0094】次に、バイトコードについてのランタイム
実行可能コードを保有するバイトコード実行画像を無効
にする処理が行われる(ステップ458)。次に、ラン
タイムディスプレイを自動的に更新する必要があるかど
うかをチェックする(ステップ460)。更新が必要で
あるなら、バイトコードが生成され(ステップ47
0)、実行される(ステップ472)。ステップ460
又はステップ472から出て処理は終了する(ステップ
474)。
【0095】次に図8に移るが、ここではオブジェクト
を目に見えるように操ることについてのプロセス820
を詳しく説明する。先ずどのオブジェクトプロパティを
どの変更された属性にマッピングするのかを確定する
(ステップ822)。次に、新しい属性値を表すために
定数関数が創造されるが、この値は次にランタイムプロ
パティ値とデザインタイムプロパティ値として記憶され
る(ステップ824)。バイトコード実行画像は、ここ
で無効とされる(ステップ826)。次に、ランタイム
ディスプレイを自動的に更新する必要があるかどうかを
確定する(ステップ828)。もし必要であれば、バイ
トコードが生成される(ステップ830)。ステップ8
30については、図9により詳細を示す。ステップ83
0に続いてバイトコードが実行される(ステップ83
2)。ステップ832については、図11により詳細を
示す。ステップ828又はステップ832から出て処理
は終了する(ステップ834)。
【0096】次に図9に入るが、ここではバイトコード
を生成するプロセス600について示す。先ず、事前に
記憶されたアプリケーションリソースを入力値とみなし
(ステップ602)、第1シーンを入手する(ステップ
604)。次に当該シーン中の第1ノードを入手する
(ステップ606)。次に、そのノード用のバイトコー
ド実行ステートメントを検索する(ステップ608)。
このステップについては、図10により詳しく示す。ス
テップ608に続いて、ノードを追加して処理する必要
があるかどうかを確定し(ステップ610)、必要があ
れば、ステップ608にループバックする前に次のノー
ドを入手する(ステップ612)。
【0097】全ノードの処理が済むと、VcCGMethodを創
造して、当該シーンに関連するステートメントを記憶す
る(ステップ614)。次に、他にもまだ処理する必要
のあるシーンがあるかどうかを確定する(ステップ61
6)。もしあれば、次のシーンを入手して(ステップ6
18)から、ステップ606までループバックし、バイ
トコード生成プロセスを継続する。全シーンの処理が済
むと、バイト符号実行画像を生成し(ステップ620)
て、本プロセスは終了する(ステップ622)。
【0098】次に図10について説明するが、ここでは
オブジェクトノードについてのバイトコード実行ステー
トメントを入手するためのプロセス630を示す。先ず
ノードタイプを確認する(ステップ632)。ノードが
形態なら、形態創造ステートメントを生成し(ステップ
634)、同様にプロパティ捕捉を開始するためのステ
ートメントを生成する(ステップ636)。次に、ステ
ップ638−644で検索された各プロパティを設定す
るためのステートメントを生成する。最後に、当該プロ
パティをコミットするためのステートメントを創造する
(ステップ646)。
【0099】一方、ノードが照会データソースである場
合には、照会を入手して、パラメータ化されたSQLス
テートメントを生成する(ステップ648)。次に照合
可能な識別子として使用される列名を確定する(ステプ
650)。次に、照会を作り上げるためにステートメン
トを創造する(ステップ652)。次に、ステップ65
4−660で、各照会パラメータを設定する1つ又はそ
れ以上のステートメントを創造する。最後に、照会を実
行するステートメントを創造する(ステップ662)。
ステップ646又はステップ662から出て処理は終了
する(ステップ664)。
【0100】これより図11に移るが、ここではバイト
コードを実行するためのプロセス666を示す。先ず、
実行コンテクストが創造される(ステップ668)。次
に、VcCGMethodPerform()方法を呼び出す(ステップ6
70)。当該ステートメントが検索される(ステップ6
72)。次に、当該ステートメントが分類される(ステ
ップ674)。ステップ674に続いて、VcStmtCreatS
hapeステートメントに出会うと、新しい形態を生成し
(ステップ676)、その形態をコンテクストハッシュ
テーブルにトークン化された名前を使用して記憶する
(ステップ678)。ステップ674に続いて、VcStmt
BeginPropertiesステートメントに出会うと、形態情報
をハッシュテーブルで調べる(ステップ680)。次
に、形態のOnPropertiesBegin()方法を呼び出す(ステ
ップ682)。VcStmtSetPropertyステートメントに出
会うと、形態情報をハッシュテーブルで調べる(ステッ
プ684)。次に、その値をプロパティに割り当てるた
めに形態のSetProperty()方法を呼び出す前に、プロパ
ティ式を求める(ステップ686)。VcStmtEndPropert
iesステートメントに出会うと、形態情報をハッシュテ
ーブルで調べる(ステップ690)。次に、形態のOnPr
opertiesEnd()方法を呼び出す(ステップ692)。次
に、当該形態は初期化され(ステップ694)て、キャ
ンバス・ディスプレイリストに付け加えられる(ステッ
プ696)。
【0101】ステップ678、682、688又は69
6に続いて、ステートメントを追加して実行する必要が
あるかどうかをチェック(ステップ698)して、必要
があれば、ステップ674へとループバックする前に、
次のステートメントを入手する(ステップ800)。
【0102】ステップ698に続いて、実行コンテクス
トを削除し(ステップ802)、キャンバスを新しくす
る(ステップ804)。最後に、処理は終了する(ステ
ップ806)。
【0103】グラフ編集システムを説明する図解を図1
2に示す。シーングラフ480はアプリケーションの階
層を表現している。シーングラフ480中の各エレメン
トはノードと呼ばれ、バイトコードの生成に際してこの
ノードが使用される。更に、2つのデータの画面482
と484を示している。画面482は、2つのデータセ
ットから検索されたデータを示すレイアウト(マップ)
である。
【0104】484の画面では、データポイントは単一
画像485として表示してもよく、図12では強調表示
されている。画像485は、位置ホルダ画像付きのデザ
インモードで示されている。画像485に関連する属性
はウインドウ486に示される。各データエレメントは
自身の描画ウインドウを有しているのでユーザーは何れ
のデータエレメントでも編集することができる。このよ
うに、グラフはデータポイントに配置されるので、グラ
フはデータポイント内に存在することになる。
【0105】図12の編集システムを使えば、ユーザー
は、それが次にグラフ自身の中にネストされるデータポ
イント内にグラフを輪郭付けすることができるようにな
るので、図12の編集システムは、孔を開けて掘り下
げ、より詳しく見る方法を提供しているといえる。この
ように、詳細さのレベルを変えながらシーンを示すため
に使用される場合には、ユーザーがドットにズームする
とそれはグラフに変り、ユーザーがグラフにズームする
と、そのデータポイントは追加的なグラフになってユー
ザーがより詳細なものをみるために孔を掘り下げること
ができるようになっている。グラフ編集システムは、単
一データポイントの表現と、親シーン自身と同じ程度に
普遍的にもなるデータポイント用のあらゆる任意の表現
とを編集する便宜的方法を提供する。
【0106】ワームホールの数学について次に説明す
る。ワームホールは、ユーザーが1つのシーンのウイン
ドウを通して別のシーンを覗けるようにする特別なオブ
ジェクトである。図13は、この効果を図解し、目標シ
ーンに合わせて複合ズーム係数がどのように計算される
のかについて示している。
【0107】図13は、ワームホールを示しているが、
これはハイパーリンクの1つの型式であって、ユーザー
に、ハイパーリンクを介してコンテクストの情報を渡す
と同時に、ハイパーリンクを介して反対側を見せるよう
にしている。ハイパーリンクの反対側が観察できるの
で、この反対側はユーザーにとって「透けている」こと
になる。図13では、ワームホール490は、第1シー
ン492から第2シーン494へのウインドウとして示
されている。従来型のハイパーリンクがステートレスで
あるのに対し、ワームホール490は、ステート情報を
提供する。ユーザー位置491からの、第1シーン49
2に対する第1高度(elev1)496と第2シーン49
4に対する第2高度(elev2)との間の関係は、以下の
式で表される。 本例では、ズーム係数はそれぞれ倍率係数を表す。又、
ズーム係数は関係する高度パラメータに関して逆比例す
る値である。例えば、100%のズーム係数では、高度
パラメータは1となるが、一方ズームウインドウが20
0%の場合には、高度パラメータは0.5となる。
【0108】ワームホールウインドウは、シーンに対し
て定義されているパラメータの値を設定する。ワームホ
ールウインドウは又、目標シーンを拡大することのでき
るあるタイプのレンズとしての役割も果たす。ワームホ
ールの目標シーンは、同じシーンを反復的に表示するた
めには、ソースシーンと同じであってよい。ワームホー
ルに適用される増加するズーム係数は、データの密集域
の混乱状態を低減するために、或は倍率を追加して詳細
さのレベルを増やすために利用できるので、これは格別
有用である。ワームホールは反復限界を定義するパラメ
ータを有するので、反復が無限に続くことはない。
【0109】ユーザーは、より多くの情報を求めて「穴
を開ける」ために、そしてまたオブジェクトを目標シー
ンで「起動させる」ために、ワームホールを抜けてジャ
ンプすることができる。これにより、ズーム率増大の影
響が排除されるだけでなく、第1シーンのオブジェクト
に使用されるメモリーも開放される。ユーザーがマウス
を使用して、ワールドをナビゲートし、オブジェクトと
対話すると、通知イベントが生成されて、これが動作を
トリガすることになる。動作は、デザインタイムにディ
ベロッパにより決められており、次の2つのオプション
段階(順番通り)、即ち、シーン及び/又はグローバル
パラメータの値を設定する段階と、活動を実行する段階
とから成る。
【0110】ワームホールは、オブジェクトインスペク
ターのリストに掲載されているSceneParametersオブジ
ェクトを介してシーンパラメータの値について制御を行
う。SceneParametersオブジェクトは、ワームホールの
子オブジェクトであり、各パラメータに関するプロパテ
ィを保有している。目標シーンがパラメータ化されてい
なければ、SceneParametersオブジェクトは、オブジェ
クトインスペクターに表示されない。この値は、オブジ
ェクトに保有され、ランタイムにシーンのプロパティを
設定するために使用される。
【0111】3タイプのパラメータが照会のランタイム
値を駆動し、更に種々のユーザーコンテクスト変数、即
ちグローバルパラメータ、シーンパラメータ、照会パラ
メータのモニターと制御をも行う。グローバルパラメー
タは、ランタイムのユーザーに、コンテナアプリケーシ
ョンとして設定又はモニターされるべきプロパティとし
て提示される。更に、組み込み型グローバルパラメー
タ、即ち、UserX(ユーザーの中心からの現在の横方向
オフセットをインチ幅で追跡又は設定する)、UserY
(ユーザーの中心からの現在の縦方向オフセットをイン
チ幅で追跡又は設定する)、UserZoom(ユーザーの現在
のズーム(倍率)レベルを追跡又は設定する)、及びUs
erClass(ユーザーのプロファイルクラス名を保有す
る)を利用することもできる。
【0112】照会パラメータは、照会が実行される前に
データソースにより設定される。シーンパラメータはワ
ームホール又はイベント行為により設定される。それら
は、次の属性、即ち、 名前−パラメータ識別子 データタイプ−値タイプ ディスクリプション−内部での文書利用に入手可能 デフォルト値−ワームホールのSceneParameters子オブ
ジェクト又はイベント行為により設定されない場合に使
用される値。デフォルト値が入手できなければシーンは
見ることができない。を有する。
【0113】ユーザークラスは、バーチャルワールドの
動作又は外見をユーザーのアイデンティティに基づいて
カスタマイズするために使用することができる。例え
ば、売上予測に対するワームホールは販売職員と管理職
社員にしか見えないようにするとか、病院の間取り図の
レイアウトでは、管理者向けには空きベッドを強調表示
するのに対し、心臓専門医向けには心臓病患者のベッド
を強調表示するなどしてもよい。全ての新しいワールド
のデフォルトユーザークラスは「匿名」である。
【0114】ワールドにとっての現在のユーザークラス
は、UserClassグローバルパラメータに記憶される。プ
ロパティ値或はイベント方法は、UserClass変数がclass
_nameユーザークラスのメンバーであるかどうか次第
で、真の値か偽の値を戻すIsUser(class_name)プロ
パティ関数を使用することにより、現在のユーザークラ
スに基づくものとなる。標準的なブール式は、直接比較
用又は表示用のUserClassパラメータも保有できる。
【0115】ユーザークラスは、クラスを更に精製する
ためにサブクラスに分けられる。ある1つのクラスのユ
ーザーサブクラスは、別のクラスのサブクラスであって
もよいので、その結果、ユーザークラスは柔軟で多数の
継承性を持つ階層となる。あるユーザークラスがユーザ
ーによって削除されても、2つ以上の他のユーザークラ
スのサブクラスとして存在する場合、ユーザーはユーザ
ークラスの全出現を消去するか否か、或は選択されたイ
ンスタンスだけを消去するかを問われることになる。
【0116】これより図14について説明するが、ここ
ではワームホールのオブジェクトモデルがより詳しく示
されている。VcSceneクラス500は、視認域に表示さ
れる全グラフィカルオブジェクトに対する描画層(キャ
ンバス)の輪郭を定める。VcScene500は、シーン内
に含まれているノードのプロパティによって参照される
パラメータのセットを提供する。当該シーンがレンダー
される前に、各パラメータは設定されねばならず、同様
のやり方で、関数に対する引数は関数が呼び出される前
に設定されねばならない。次に、ワームホール設定ノー
ドは、ワームホールを通してシーンが見えると、計算さ
れた設定を各シーンパラメータに供給する。
【0117】VcSceneクラス500は、VcParameterクラ
ス502のメンバーであるプロパティと、VcDrawingNod
eベースクラス504から導き出されたノードのリスト
を有する。VcParameter502は、名前とデータタイプ
を始めとするシーンパラメータについての情報を記憶
し、一方VcDrawingNode504は、シーンのコンテンツ
を表現する全形態及び論理ノードのための抄録ベースク
ラスである。VcDrawingNode504は、一定でも計算さ
れてもよいプロパティを保有する。計算されたプロパテ
ィは1つ又はそれ以上のシーンパラメータに依存する。
【0118】VcDrawingNode抄録ベースクラス504
は、今度はVcShapeNode506に継承されるが、これは
更にVcWormhoeNode508に継承される。VcShapeNode5
06は、全視認ノードタイプ用の抄録ベースクラスであ
る。VcShapeNode506の導き出されたクラスは、形態
の各タイプの特定の属性及び動作を実行する。VcWormho
leNode508は、別のシーンにリンクするシーンの形態
ノードのクラスである。それは、シーンがレンダーされ
る前に全シーンパラメータの値を設定するための設定用
ノードに対するポインタを保有している。
【0119】VcWormholeNode508は、VcWormholeSett
ingNode512クラスのメンバーであるm_sceneParamet
erSettingsプロパティを有する。VcWormholeSettingNod
e512は、接続シーンのパラメータ毎にワームホール
特定の設定を保持する論理ノードのクラスである。これ
らの設定は、数値を計算されて、シーンがワームホール
にレンダーされる前に当該シーンに渡される。
【0120】VcWormholeSettingNode512も又VcLogic
Node510から導き出されるが、このVcLogicNode51
0はVcDrawingNode504から導き出されるものであ
る。VcLogicNode51は、形態ノードとユーザーの間の
関係を定義するノードのための抄録ベースクラスであ
る。
【0121】図15及び16は、模範的なワームホール
の使い方を示している。図15には4つのワームホー
ル、即ち、ポートフォリオリスク管理ワームホール70
0、市場データワームホール710、考慮中の投資ワー
ムホール720、ファーストコールアナリスト推薦ワー
ムホール730が示されている。ポートフォリオリスク
管理ワームホール700は、当該シーンの第3レベル画
面を表示する3つの詳細なワームホール702、70
4、706とチャート708を示している。この3つの
詳細なワームホール702、704、706は各々、3
種類の別個のファンド又はポートフォリオに関連する金
融動向を示す。その上、ある1つのファンド又はポート
フォリオを代表する1つのワームホールから生じる所与
のシーンの画面は、別のファンドを代表する別のワーム
ホールから生じる同じシーンの画面とは異なる。このよ
うなわけで、例えば、ポートフォリオリスク管理ワーム
ホール700に穴を開け、ファンド702、704、7
06の1つを通って更に特定のポートフォリオ内の会社
に行き当たるまで穴を掘り下げてゆけば、コンテクスト
情報は穴を開ける都度累積されていくので、当該会社の
最終的な画面は特定のファンド又はポートフォリオに対
する関係で生成されることになる。その情報にはそのフ
ァンドにより保有される会社の株式の量や、会社の株主
である期間、その他が含まれる。
【0122】図16の各ワームホールに表現されている
シーンは、関数に対する引数に類似した方法で、compan
y_IDでパラメータ化される。本例では、シーンそれ自
体がユーザーが何の会社を見ているかを特定する引数を
有しており、当該シーンは従ってカスタマイズされる。
従って、ユーザーがこれらのワームホールの何れかを通
して見るときには、シーンはユーザーが見ている特定の
ワームホール独自の姿をしているので、そのシーンは違
って見える。
【0123】先に述べたように、本システムは、プログ
ラミングの専門知識無しでも、データをダイナミックに
見ることができるようにしている。ユーザーは、このよ
うにして、データに近づくことができるので、アプリケ
ーション開発時間が短縮される。ユーザーインターフェ
ースは、情報豊富なデータベースに関して、そしてデー
タ保管とデシジョンサポートのようなアプリケーション
に関して素早く容易に創造できる。更に、従来型のフォ
ームベース若しくはレポートベースのアプリケーション
についてまわる制限は回避される。
【0124】その上、ここに説明した技法は、ハードウ
ェア又はソフトウェアで実行してもよいし、或は両方を
組み合わせて実行してもよい。この技法は、1台毎にプ
ロセッサと、プロセッサが読み込み可能な記憶媒体(揮
発性、非揮発性メモリ及び/又は記憶エレメントを含
む)と、適切な入出力装置とを含んでいる、プログラム
可能なコンピュータ上で実行するコンピュータプログラ
ムで実行するのが望ましい。プログラムコードは、入力
機器を使用して入力されるデータに適用され、説明済み
の関数を実行し、出力情報を生成する。出力情報は、1
つ又はそれ以上の出力装置に適用される。
【0125】各プログラムは、コンピュータシステムと
通信するために、高レベルの手順言語又はオブジェクト
指向プログラム言語で実行することが望ましい。しかし
ながら、本プログラムは、必要に応じアッセンブリ言語
若しくは機械言語で実行することもできる。何れの場合
でも、言語はコンパイル又は翻訳された言語である。
【0126】このような各コンピュータ」プログラム
は、上記手続きを実行するためにコンピューターが読み
込めば構成、作動できるような、汎用或は特殊用途のプ
ログラム可能なコンピュータが読み出すことのできる記
憶媒体若しくは記憶装置(例;CD−ROM、ハードデ
ィスク、又は磁気ディスケット)に記憶されることが望
ましい。本システムはまた、コンピュータープログラム
により構成された、コンピュータが読み出し可能な記憶
媒体としても実行できるが、その場合には、そのように
構成された記憶媒体がコンピュータを特定且つ事前に指
定された方法で作動させることになる。
【0127】他の実施例は、先の請求項の範囲にある。
【図面の簡単な説明】
【図1】1つ又はそれ以上のワールドを編集するため
の、多文書インタフェースである。
【図2】オブジェクトインスペクターを示す図である。
【図3】アブストラクトベースクラスVcPropertyBagの
プロパティオブジェクトモデルを示す線図である。
【図4】2バイトコード実行クラスである、VCStmtCrea
tShape及びVcStmtSetPropertyを示す線図である。
【図5】サンプル構文解析型プロパティ関数を示す線図
である。
【図6】シーンからのコード生成プロセスのオブジェク
トモデルを示す線図である。
【図7】プロパティシート入力プロセスを示すフローチ
ャートである。
【図8】オブジェクトを目に見えるように操作するため
のプロセスを示すフローチャートである。
【図9】バイトコード生成用のプロセスを示すフローチ
ャートである。
【図10】ノード向けのバイトコード実行ステートメン
トを入手するためのプロセスを示すフローチャートであ
る。
【図11】バイトコードを実行するためのプロセスを示
すフローチャートである。
【図12】グラフ編集システムを示す線図である。
【図13】ワームホールを示す図である。
【図14】ワームホールのオブジェクトモデルを示す線
図である。
【図15】ワームホール使用法の1例を示す図である。
【図16】ワームホール使用法の別の例を示す図であ
る。
【符号の説明】
10 ワールドマネジャーウインドウ 12,14,16,40 コントロールバー 18 ツリーコントロール 20 プロジェクト作業空間 22 エディタウインドウ 24 出力ウインドウ 30 オブジェクトインスペクター 100 名前列 110 プロパティ列 112,114,116,118,120,122,1
24,126 プロパティ 200 VcPropertyBag 202,400,500 VcScene 204,402,504 VcDrawingNode 210 VcProperty 212,218,300,322 CString 214,324 VcPropertyPath 216,222 VcPropertyValue 220 VcFunction 302 バイトコード 304 VcShapeFactory 306 VcShape 310 疑似コードブロック 320 VcStmtSetProperty 326 VcStmtSetStringProperty 328 VcSftn 330 326のバイトコード 350 VcStmtSetStringProperty関数 352 テキスト1 354 350のプロパティ経路値 360,362 VcSftnConcatenate 364,380 VcSftnLookup関数 366,372 文字列 370 VcSftnConcatenate関数 404,506 VcShapeNode 406 VcDataNode 408,510 VcLogicNode 410 VcCGMethod,VcDataSource 412 VcQueryDataSource 414 VcQuery 416 VcColumn 417,502 VcParameter 420 VcStmt 422,424,426,428,430 バイトコー
ドステートメント 480 シーングラフ 482,484 画面 485 画像 486 ウインドウ 490、702、704、706 ワームホール 492,494 シーン 496,498 高度 508 VcWormholeNode 512 VcWormholeSettingNode 700 ポートフォリオリスク管理ワームホール 708 チャート 710 市場データワームホール 720 考慮中の投資ワームホール 730 ファーストコールアナリスト推薦ワームホール

Claims (51)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションに関係するオブジェク
    トのプロパティを文脈的に割り当てるための、コンピュ
    ーターが実行するプロパティ入力シートにおいて、前記
    プロパティのアイデンティフィケーションを収めるよう
    になっている属性名セクションと、前記属性名セクショ
    ンにより識別された前記プロパティに関する、ランタイ
    ムにデータ値として参照可能な関数式を収めるようにな
    っているプロパティ入力セクションとを有することを特
    徴とするプロパティ入力シート。
  2. 【請求項2】 前記関数式が以下のもの、即ち、関数、
    オペレータ、データベース列名、変数、及び定数の内の
    1つ又はそれ以上を含むことを特徴とする、上記請求項
    1に記載のプロパティ入力シート。
  3. 【請求項3】 前記プロパティのアイデンティフィケー
    ションを収めるようになっている属性名セクションと、
    前記属性名セクションにより識別されたプロパティに関
    する静的データ値を収めるようになっているプロパティ
    入力セクションとを更に含むことを特徴とする、上記請
    求項1に記載のプロパティ入力シート。
  4. 【請求項4】 前記オブジェクトが複数のプロパティを
    有しており、各プロパティの前記属性名セクション及び
    前記プロパティ入力セクションが各プロパティ毎に名前
    値の対を形成することを特徴とする、上記請求項1に記
    載のプロパティ入力シート。
  5. 【請求項5】 前記関数式が、ランタイム値として記憶
    される関数を生成するために構文解析されることを特徴
    とする、上記請求項1に記載のプロパティ入力シート。
  6. 【請求項6】 前記関数に関係するバイトコードを更に
    含むことを特徴とする、上記請求項5に記載のプロパテ
    ィ入力シート。
  7. 【請求項7】 前記関数が定数である場合、前記関数は
    クローンが作られ且つデザインタイム値として記憶され
    ることを特徴とする、上記請求項1に記載のプロパティ
    入力シート。
  8. 【請求項8】 前記式が無効である場合、エラーメッセ
    ージが表示されることを特徴とする、上記請求項1に記
    載のプロパティ入力シート。
  9. 【請求項9】 現行のバイトコード実行画像が無効化さ
    れることを特徴とする、上記請求項1に記載のプロパテ
    ィ入力シート。
  10. 【請求項10】 前記現行のバイトコード実行画像を置
    き換えるために新しいバイトコードが生成されることを
    特徴とする、上記請求項9に記載のプロパティ入力シー
    ト。
  11. 【請求項11】 コンピューターが実行するオブジェク
    トを編集するための方法であって、前記オブジェクトは
    アプリケーションに関係するオブジェクトのプロパティ
    を割り当てるためのプロパティ入力シートを有する、そ
    のような方法において、ランタイムにデータ値として参
    照可能な式を前記プロパティ入力シートのプロパティ入
    力セクションに収める段階と、前記式を構文解析する段
    階と、前記式から関数を生成する段階と、前記関数をラ
    ンタイム値として記憶する段階とを有することを特徴と
    する方法。
  12. 【請求項12】 前記オブジェクトがバイトコード実行
    画像を有しており、且つ前記バイトコード実行画像を無
    効化する段階を更に含んでいることを特徴とする、上記
    請求項11に記載の方法。
  13. 【請求項13】 前記オブジェクトのランタイムディス
    プレイが自動的に更新されるか否かを決める段階と、そ
    して自動的に更新される場合は、バイトコードを生成す
    る段階と、実行する段階とを更に含むことを特徴とす
    る、上記請求項11に記載の方法。
  14. 【請求項14】 前記オブジェクトの属性を変更する段
    階を更に含むことを特徴とする、上記請求項11に記載
    の方法。
  15. 【請求項15】 どのオブジェクトプロパティを変更さ
    れた属性にマッピングするかを決める段階と、前記変更
    された属性値を表す定数関数を生成する段階と、前記定
    数関数をランタイムプロパティ値及びデザインタイムプ
    ロパティ値として記憶する段階とを更に含むことを特徴
    とする、上記請求項14に記載の方法。
  16. 【請求項16】 前記オブジェクトがバイトコード実行
    画像を有しており、且つ前記バイトコード実行画像を無
    効化する段階を更に含んでいることを特徴とする、上記
    請求項14に記載の方法。
  17. 【請求項17】 前記オブジェクトのランタイムディス
    プレイが自動的に更新されるか否かを決める段階と、そ
    して自動的に更新される場合は、バイトコードを生成す
    る段階と、実行する段階とを更に含むことを特徴とす
    る、上記請求項14に記載の方法。
  18. 【請求項18】 前記関数が定数である場合には前記関
    数のクローンを作る段階と、前記関数をデザインタイム
    値として記憶する段階とを更に含むことを特徴とする、
    上記請求項11に記載の方法。
  19. 【請求項19】 前記式が無効である場合にはエラーメ
    ッセージを表示する段階を更に含むことを特徴とする、
    上記請求項11に記載の方法。
  20. 【請求項20】 現行のバイトコード実行画像を無効化
    する段階と、前記現行のバイトコード実行画像を前記関
    数に関係する新しいバイトコード実行画像に置き換える
    段階とを更に含むことを特徴とする、上記請求項11に
    記載の方法。
  21. 【請求項21】 プロパティをオブジェクトに割り当て
    るための、コンピュータが実行する方法であって、前記
    オブジェクトは前記プロパティに関する関数式を収める
    ようになっている値入力を有しており、前記関数式はラ
    ンタイムにデータ値として参照可能となっている、その
    ような方法において、前記プロパティに関する式を前記
    値入力に収める段階と、前記式を構文解析し、そして前
    記式を関数として記憶する段階と、前記プロパティに関
    する参照可能なデータ値を生成するために、前記式をラ
    ンタイムに文脈内で評価する段階とを有することを特徴
    とする方法。
  22. 【請求項22】 前記式を構文解析する前記段階が、以
    下のもの、即ち、関数、オペレータ、データベース列
    名、変数、及び定数の内の1つ又はそれ以上を特定する
    ことを特徴とする、上記請求項21に記載の方法。
  23. 【請求項23】 前記プロパティのアイデンティフィケ
    ーションを属性名セクションに収める段階と、前記属性
    名セクションにより識別された前記プロパティに関する
    静的データ値をプロパティ入力セクションに収める段階
    とを更に含むことを特徴とする、上記請求項21に記載
    の方法。
  24. 【請求項24】 前記オブジェクトが複数のプロパティ
    を有しており、各プロパティの属性名セクションとプロ
    パティ入力セクションとが各プロパティ毎に名前値の対
    を形成することを特徴とする、上記請求項21に記載の
    方法。
  25. 【請求項25】 ランタイム値として記憶される関数を
    生成するために前記関数式を構文解析する段階を更に含
    むことを特徴とする、上記請求項21に記載の方法。
  26. 【請求項26】 バイトコードを前記関数と関係付ける
    段階を更に含むことを特徴とする、上記請求項25に記
    載の方法。
  27. 【請求項27】 前記オブジェクトのランタイムディス
    プレイが自動的に更新されるか否かを決める段階と、そ
    して自動的に更新される場合は、バイトコードを生成す
    る段階と、実行する段階とを更に含むことを特徴とす
    る、上記請求項24に記載の方法。
  28. 【請求項28】 前記関数が定数である場合には前記関
    数のクローンを作る段階と、前記関数をデザインタイム
    値として記憶する段階とを更に含むことを特徴とする、
    上記請求項21に記載の方法。
  29. 【請求項29】 前記式が無効である場合にはエラーメ
    ッセージを表示する段階を更に含むことを特徴とする、
    上記請求項21に記載の方法。
  30. 【請求項30】 現行のバイトコード実行画像を無効化
    する段階と、前記現行のバイトコード実行画像を前記関
    数に関係する新しいバイトコード実行画像に置き換える
    段階とを更に含むことを特徴とする、上記請求項21に
    記載の方法。
  31. 【請求項31】 オブジェクト状態と、各々が関数式と
    して定義され且つランタイムにデータ値として参照可能
    な複数の属性を通して前記オブジェクト状態へのアクセ
    スを提供する1つ又はそれ以上のインタフェースとを有
    することを特徴とするコンピューターが実行するオブジ
    ェクト。
  32. 【請求項32】 前記関数式が以下のもの、即ち、関
    数、オペレータ、データベース列名、変数、及び定数の
    内の1つ又はそれ以上を含むことを特徴とする、上記請
    求項31に記載のオブジェクト。
  33. 【請求項33】 前記属性が静的データ値であることを
    特徴とする、上記請求項31に記載のオブジェクト。
  34. 【請求項34】 各プロパティ毎に名前値の対を更に含
    むことを特徴とする上記請求項31に記載のオブジェク
    ト。
  35. 【請求項35】 前記関数式が、ランタイム値として記
    憶される関数を生成するために構文解析されることを特
    徴とする、上記請求項31に記載のオブジェクト。
  36. 【請求項36】 前記関数に関係するバイトコードを更
    に含むことを特徴とする、上記請求項35に記載のオブ
    ジェクト。
  37. 【請求項37】 前記関数が定数である場合には前記関
    数のクローンが作られ、前記関数はデザインタイム値と
    して記憶されることを特徴とする、上記請求項31に記
    載のオブジェクト。
  38. 【請求項38】 前記式が無効である場合にはエラーメ
    ッセージが表示されることを特徴とする、上記請求項3
    1に記載のオブジェクト。
  39. 【請求項39】 現行のバイトコード実行画像が無効で
    あることを特徴とする、上記請求項31に記載のオブジ
    ェクト。
  40. 【請求項40】 前記現行のバイトコード実行画像を置
    き換えるために新しいバイトコードが生成されることを
    特徴とする、上記請求項39に記載のオブジェクト。
  41. 【請求項41】 プロセッサと、前記プロセッサに連結
    されたメモリアレイと、前記プロセッサに連結されたデ
    ィスプレイと、コンピュータが実行するオブジェクトを
    記憶するための、前記プロセッサに連結されているデー
    タ記憶装置であって、前記データ記憶装置は、オブジェ
    クト状態と、各々が関数式として定義され且つランタイ
    ムにデータ値として参照可能な複数の属性を通して前記
    オブジェクト状態へのアクセスを提供する1つ又はそれ
    以上のインタフェースとを含んでいる、そのようなデー
    タ記憶装置とを有することを特徴とするコンピュータシ
    ステム。
  42. 【請求項42】 前記関数式が以下のもの、即ち、関
    数、オペレータ、データベース列名、変数、及び定数の
    内の1つ又はそれ以上を含むことを特徴とする、上記請
    求項41に記載のコンピュータシステム。
  43. 【請求項43】 前記属性が静的データ値であることを
    特徴とする、上記請求項41に記載のコンピュータシス
    テム。
  44. 【請求項44】 各プロパティ毎に名前値の対を更に含
    むことを特徴とする上記請求項41に記載のコンピュー
    タシステム。
  45. 【請求項45】 前記関数式が、ランタイム値として記
    憶される関数を生成するために構文解析されることを特
    徴とする、上記請求項41に記載のコンピュータシステ
    ム。
  46. 【請求項46】 前記関数に関係するバイトコードを更
    に含むことを特徴とする、上記請求項45に記載のコン
    ピュータシステム。
  47. 【請求項47】 前記関数が定数である場合には前記関
    数のクローンが作られ、前記関数がデザインタイム値と
    して記憶されることを特徴とする、上記請求項41に記
    載のコンピュータシステム。
  48. 【請求項48】 前記式が無効である場合にはエラーメ
    ッセージが表示されることを特徴とする、上記請求項4
    1に記載のコンピュータシステム。
  49. 【請求項49】 現行のバイトコード実行画像が無効で
    あることを特徴とする、上記請求項41に記載のコンピ
    ュータシステム。
  50. 【請求項50】 前記現行のバイトコード実行画像を置
    き換えるために新しいバイトコードが生成されることを
    特徴とする、上記請求項49に記載のコンピュータシス
    テム。
  51. 【請求項51】 プロパティをオブジェクトに割り当て
    るためのコンピュータソフトウェアにおいて、前記オブ
    ジェクトは前記プロパティに関する関数式を収めるよう
    になっている値入力を有しており、前記関数式はランタ
    イムにデータ値として参照可能となっており、前記コン
    ピュータソフトウェアはコンピュータ読み取り可能媒体
    上に常駐しており、且つ、以下のオペレーション、即
    ち、前記プロパティに関する式を前記値入力に収めるこ
    とと、前記式を構文解析し、そして前記式を関数として
    記憶することと、前記プロパティに関する参照可能なデ
    ータ値を生成するために、前記式をランタイムに文脈内
    で評価すること、をコンピューターに実行させるための
    命令を含んでいることを特徴とするコンピュータソフト
    ウェア。
JP11279811A 1998-08-25 1999-08-25 ダイナミックオブジェクトプロパティ Pending JP2000163490A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/139808 1998-08-25
US09/139,808 US6915301B2 (en) 1998-08-25 1998-08-25 Dynamic object properties

Publications (2)

Publication Number Publication Date
JP2000163490A true JP2000163490A (ja) 2000-06-16
JP2000163490A5 JP2000163490A5 (ja) 2009-10-15

Family

ID=22488383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11279811A Pending JP2000163490A (ja) 1998-08-25 1999-08-25 ダイナミックオブジェクトプロパティ

Country Status (5)

Country Link
US (1) US6915301B2 (ja)
EP (1) EP0982671A3 (ja)
JP (1) JP2000163490A (ja)
AU (1) AU770191B2 (ja)
BR (1) BR9904073A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272911A (ja) * 2003-03-07 2004-09-30 Microsoft Corp コンピューティング環境におけるオブジェクト内のフィールドのカスタマイズ
JP2005129022A (ja) * 2003-10-24 2005-05-19 Microsoft Corp コンピュータプラットフォームのプログラミングインターフェース
JP2005135384A (ja) * 2003-10-24 2005-05-26 Microsoft Corp コンピュータプラットフォームのためのプログラミングインターフェース
JP2005174283A (ja) * 2003-10-24 2005-06-30 Microsoft Corp コンピュータプラットフォームのプログラミングインターフェース
US8458608B2 (en) 2000-04-06 2013-06-04 Microsoft Corporation Focus state themeing

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810522B2 (en) * 1998-10-07 2004-10-26 Invensys Systems, Inc. Method and system for associating parameters of containers and contained objects
US6360214B1 (en) * 1998-12-16 2002-03-19 Microsoft Corporation Automatic database statistics creation
CA2302981C (en) * 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US7743074B1 (en) * 2000-04-05 2010-06-22 Microsoft Corporation Context aware systems and methods utilizing hierarchical tree structures
US7437325B2 (en) * 2002-03-05 2008-10-14 Pablo Llc System and method for performing automatic spread trading
US20020019845A1 (en) * 2000-06-16 2002-02-14 Hariton Nicholas T. Method and system for distributed scripting of presentations
US6810400B2 (en) * 2000-11-17 2004-10-26 Microsoft Corporation Representing database permissions as associations in computer schema
US6961730B2 (en) * 2000-11-17 2005-11-01 Microsoft Corporation Mapping database file class to operating system file class in a computer schema
US20030105732A1 (en) 2000-11-17 2003-06-05 Kagalwala Raxit A. Database schema for structure query language (SQL) server
US6816869B2 (en) * 2000-11-17 2004-11-09 Microsoft Corporation Mapping database users to operating system users in a computer schema
US7493565B2 (en) 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US20050114831A1 (en) * 2001-04-18 2005-05-26 Andres Callegari Volume body renderer
ATE541274T1 (de) * 2001-04-18 2012-01-15 Landmark Graphics Corp Wiedergabevorrichtung für volumenkörper
US7062502B1 (en) * 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
CA2372891A1 (en) * 2002-02-21 2003-08-21 Ibm Canada Limited-Ibm Canada Limitee Promotion of features in reusable software component types
US7162405B2 (en) * 2002-05-31 2007-01-09 Certalogic, Inc. Method for modeling and viewing real world objects in a network model at real world times
US20040021688A1 (en) * 2002-07-31 2004-02-05 International Business Machines Corporation Graphical user interface toolkit for generating swing screens
US8132115B2 (en) * 2003-02-27 2012-03-06 Autodesk, Inc. Dynamic properties for software objects
US7904370B2 (en) 2003-03-31 2011-03-08 Trading Technologies International, Inc. System and method for variably regulating order entry in an electronic trading system
EP1477892B1 (en) * 2003-05-16 2015-12-23 Sap Se System, method, computer program product and article of manufacture for inputting data in a computer system
WO2005020003A2 (en) * 2003-08-13 2005-03-03 National Instruments Corporation Creating a graphical user interface for selected parameters of a graphical program
US7779395B1 (en) * 2004-03-05 2010-08-17 Adobe Systems Incorporated System and method for routing data
US7665062B1 (en) 2004-07-02 2010-02-16 Borland Software Corporation System and methodology for design-time dynamic class type construction
US8214799B2 (en) * 2004-07-08 2012-07-03 Microsoft Corporation Providing information to an isolated hosted object via system-created variable objects
US20060064643A1 (en) * 2004-09-14 2006-03-23 Hariton Nicholas T Distributed scripting for presentations with touch screen displays
US7953767B2 (en) * 2004-10-05 2011-05-31 Sap Ag Developing applications using configurable patterns
US7366723B2 (en) * 2004-10-05 2008-04-29 Sap Ag Visual query modeling for configurable patterns
US8126937B2 (en) * 2004-10-05 2012-02-28 Sap Ag Visual database modeling
US8473971B2 (en) * 2005-09-06 2013-06-25 Microsoft Corporation Type inference and type-directed late binding
US20070074176A1 (en) * 2005-09-23 2007-03-29 Business Objects, S.A. Apparatus and method for parallel processing of data profiling information
US7899820B2 (en) * 2005-12-14 2011-03-01 Business Objects Software Ltd. Apparatus and method for transporting business intelligence objects between business intelligence systems
US8046732B2 (en) 2005-12-30 2011-10-25 Sap Ag Distribution of data changes in pattern configurations
US8281281B1 (en) * 2006-06-07 2012-10-02 Pixar Setting level of detail transition points
US7672898B1 (en) 2006-07-07 2010-03-02 Trading Technologies International Inc. Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy
US10318624B1 (en) * 2006-12-28 2019-06-11 Apple Inc. Infinite canvas
US20080320453A1 (en) * 2007-06-21 2008-12-25 Microsoft Corporation Type inference and late binding
US8321836B2 (en) * 2007-06-21 2012-11-27 Microsoft Corporation Late bound programmatic assistance
US8326823B2 (en) * 2007-11-01 2012-12-04 Ebay Inc. Navigation for large scale graphs
US8612485B2 (en) * 2008-08-11 2013-12-17 Sony Corporation Deferred 3-D scenegraph processing
KR20100138700A (ko) * 2009-06-25 2010-12-31 삼성전자주식회사 가상 세계 처리 장치 및 방법
JP5617233B2 (ja) * 2009-11-30 2014-11-05 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
US8464229B2 (en) * 2009-12-29 2013-06-11 Microgen Aptitude Limited Creation of form-based software application in a graphical user interface (GUI) environment
US8572591B2 (en) 2010-06-15 2013-10-29 Microsoft Corporation Dynamic adaptive programming
US20120030612A1 (en) * 2010-07-30 2012-02-02 Sap Ag Dynamic property attributes
US9131060B2 (en) 2010-12-16 2015-09-08 Google Technology Holdings LLC System and method for adapting an attribute magnification for a mobile communication device
US9405433B1 (en) * 2011-01-07 2016-08-02 Trimble Navigation Limited Editing element attributes of a design within the user interface view, and applications thereof
US9256401B2 (en) 2011-05-31 2016-02-09 Microsoft Technology Licensing, Llc Editor visualization of symbolic relationships
US9146660B2 (en) 2011-08-22 2015-09-29 Trimble Navigation Limited Multi-function affine tool for computer-aided design
KR20140093957A (ko) * 2011-11-24 2014-07-29 마이크로소프트 코포레이션 상호작용 멀티-모달 이미지 검색 기법
US8825722B2 (en) * 2012-01-13 2014-09-02 Microsoft Corporation Calculation of properties of objects/shapes across versions of applications
US9280612B2 (en) 2012-12-14 2016-03-08 Hewlett Packard Enterprise Development Lp Visualizing a relationship of attributes using a relevance determination process to select from candidate attribute values
US9779524B2 (en) 2013-01-21 2017-10-03 Hewlett Packard Enterprise Development Lp Visualization that indicates event significance represented by a discriminative metric computed using a contingency calculation
US20140320539A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Semantic zoom-in or drill-down in a visualization having cells with scale enlargement and cell position adjustment
US9335976B1 (en) * 2013-09-10 2016-05-10 Google Inc. Tracking property representations in modified computational objects
US9836502B2 (en) 2014-01-30 2017-12-05 Splunk Inc. Panel templates for visualization of data within an interactive dashboard
US10222953B2 (en) * 2014-04-30 2019-03-05 Disney Enterprises, Inc. Systems and methods for editing virtual content of a virtual space
US20160232470A1 (en) * 2015-02-05 2016-08-11 Keguo Zhou Automated Generation of Process Flow Charts
US10290128B2 (en) * 2015-11-10 2019-05-14 Adobe Inc. Interactive scene graph manipulation for visualization authoring
US10678608B2 (en) 2016-02-29 2020-06-09 Red Hat Israel, Ltd. Interacting with a source object via a virtual object
US11126411B2 (en) * 2018-12-13 2021-09-21 Sap Se Dashboard user interface for data driven applications
EP3716014B1 (de) * 2019-03-26 2023-09-13 Siemens Healthcare GmbH Übertragen eines zustands zwischen vr-umgebungen
CN111026797A (zh) * 2019-12-02 2020-04-17 卫盈联信息技术(深圳)有限公司 业务数据处理方法、服务器及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206950A (en) * 1988-09-23 1993-04-27 Gupta Technologies, Inc. Software development system and method using expanding outline interface
JP2522898B2 (ja) * 1992-09-08 1996-08-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的カストマイズ方法及びグラフィックリソ―ス・エディタ
US5548749A (en) * 1993-10-29 1996-08-20 Wall Data Incorporated Semantic orbject modeling system for creating relational database schemas
DE69413707T2 (de) 1993-11-29 1999-05-27 Wang Laboratories Verfahren und vorrichtung zur erzeugung und verwaltung dynamischer eigenschaftsblätter
WO1995019597A1 (en) * 1994-01-14 1995-07-20 Strategic Weather Services A user interface for graphically displaying the impact of weather on managerial planning applications
US5487141A (en) * 1994-01-21 1996-01-23 Borland International, Inc. Development system with methods for visual inheritance and improved object reusability
US5603025A (en) 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US5809266A (en) * 1994-07-29 1998-09-15 Oracle Corporation Method and apparatus for generating reports using declarative tools
US5555365A (en) * 1994-08-26 1996-09-10 International Business Machines Corporation Method and system for optimizing static and dynamic binding of presentation objects with the object data they represent
US5721847A (en) 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5619708A (en) * 1994-10-25 1997-04-08 Korteam International, Inc. System and method for generating database input forms
US5694608A (en) * 1995-01-27 1997-12-02 Borland International, Inc. Non-modal database system wth methods for incremental maintenance of live reports
US5682510A (en) 1995-03-30 1997-10-28 Microsoft Corporation Method and system for adding application defined properties and application defined property sheet pages
US5740455A (en) * 1995-05-16 1998-04-14 Apple Computer, Inc. Enhanced compound document processing architectures and methods therefor
WO1997007470A1 (en) * 1995-08-17 1997-02-27 Wall Data Incorporated Method and apparatus for storing and retrieving data in a relational database using an object model
US5956479A (en) * 1995-11-13 1999-09-21 Object Technology Licensing Corporation Demand based generation of symbolic information
US6052693A (en) * 1996-07-02 2000-04-18 Harlequin Group Plc System for assembling large databases through information extracted from text sources
US6002867A (en) * 1996-10-24 1999-12-14 Inprise Corporation Development system with methods providing visual form inheritance
US5787431A (en) 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
US5918053A (en) * 1996-12-19 1999-06-29 International Business Machines Corp. Method and system for diagraming collaborations deduced from small talkcode using a design virtual machine
US5999944A (en) * 1998-02-27 1999-12-07 Oracle Corporation Method and apparatus for implementing dynamic VRML
US6088698A (en) * 1998-02-27 2000-07-11 Oracle Corporation Method and apparatus for incrementally generating a virtual three-dimensional world
US6067548A (en) * 1998-07-16 2000-05-23 E Guanxi, Inc. Dynamic organization model and management computing system and method therefor
US6263339B1 (en) * 1998-08-25 2001-07-17 Informix Software, Inc. Dynamic object visualization and code generation
US6282547B1 (en) * 1998-08-25 2001-08-28 Informix Software, Inc. Hyperlinked relational database visualization system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458608B2 (en) 2000-04-06 2013-06-04 Microsoft Corporation Focus state themeing
JP2004272911A (ja) * 2003-03-07 2004-09-30 Microsoft Corp コンピューティング環境におけるオブジェクト内のフィールドのカスタマイズ
JP2005129022A (ja) * 2003-10-24 2005-05-19 Microsoft Corp コンピュータプラットフォームのプログラミングインターフェース
JP2005135384A (ja) * 2003-10-24 2005-05-26 Microsoft Corp コンピュータプラットフォームのためのプログラミングインターフェース
JP2005174283A (ja) * 2003-10-24 2005-06-30 Microsoft Corp コンピュータプラットフォームのプログラミングインターフェース
US8312422B2 (en) 2003-10-24 2012-11-13 Microsoft Corporation Programming interface for a computer platform
US9430193B2 (en) 2003-10-24 2016-08-30 Microsoft Technology Licensing, Llc Interface for a computer platform
US9459837B2 (en) 2003-10-24 2016-10-04 Microsoft Technology Licensing, Llc Interface for a computer platform

Also Published As

Publication number Publication date
AU770191B2 (en) 2004-02-12
AU4471199A (en) 2000-03-09
BR9904073A (pt) 2000-09-05
US6915301B2 (en) 2005-07-05
US20020059293A1 (en) 2002-05-16
EP0982671A3 (en) 2005-08-10
EP0982671A2 (en) 2000-03-01

Similar Documents

Publication Publication Date Title
JP4177531B2 (ja) ダイナミックオブジェクト視覚化及びコード発生
US6915301B2 (en) Dynamic object properties
US6282547B1 (en) Hyperlinked relational database visualization system
JP2000163490A5 (ja)
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
US6763498B2 (en) Graphical environment for managing and developing applications
US6792595B1 (en) Source editing in a graphical hierarchical environment
CA2232671C (en) Systems, methods and computer program products for building frameworks in an object oriented environment
US7672968B2 (en) Displaying a tooltip associated with a concurrently displayed database object
US6154750A (en) Method and system for navigation and data entry in heirarchically-organized database views
US20030204481A1 (en) Method and system for visually constructing XML schemas using an object-oriented model
US20030067481A1 (en) System and method for computer-aided graph-based dependency analysis with integrated documentation
KR101213798B1 (ko) 복합 데이터 액세스
US20040205726A1 (en) System and method for computer-aided graph-based dependency analysis
US6968340B1 (en) Technique for navigating components of a model having complex relationships
WO1996023280A1 (en) Modelling and analysis of systems of three-dimensional object entities
WO1997044729A1 (en) Application services builder
de Oliveira et al. A framework for designing and implementing the user interface of a geographic digital library
MXPA99007845A (en) Dynamic properties of obje
MXPA99007846A (en) Visualization of dynamic objects and code generation
Amsellem ChyPro: A hypermedia programming environment for SmallTalk-80
MXPA99007847A (en) Context portals based on the atribu
Wu et al. A graphical Interface for cooperative access to distributed and heterogeneous database systems
Paton et al. Integrated architectures for database interface development
Staes et al. A seamless integration of graphics and dialogues within a logic based object-oriented language

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060911

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060911

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060911

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070117

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070117

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070314

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070622

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20081216

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20090821

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20091023