(57)【要約】  少なくとも１つのプロパティを有するオブジェクト（４１０）の表示を構築する方法は、オブジェクトを表現するために選ばれている、オブジェクトに関連付けられた少なくとも１つのプロパティグループ（４６０）を識別すること（９０５）を含む。オブジェクトの少なくとも１つのプロパティは、オブジェクトに関連付けられたものとして識別された各プロパティグループに属する。この方法は、識別されたプロパティグループのあるプロパティ内でオブジェクト（４１０）が参照する任意の他のオブジェクト（４５０）を識別すること（９１０）をさらに含む。オブジェクト表現エンジン（３１０）は、その少なくとも１つのプロパティグループに属するプロパティのそれぞれに対応するデータを取り出す（９１５）。次いで、このエンジンは、取り出されたデータを使用してオブジェクトを表現する（９２０）。
2007532997.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロパティを有するオブジェクトの表示を構築する方法において、
前記オブジェクトを表現するために選ばれた前記オブジェクトに関連付けられた少なくとも１つのプロパティグループを識別するステップであって、前記オブジェクトの少なくとも１つのプロパティは、前記オブジェクトに関連付けられた各プロパティグループに属することと、
識別されたプロパティグループのあるプロパティ内において、前記オブジェクトが参照する任意の他のオブジェクトを識別するステップと、
前記少なくとも１つのプロパティグループに属する前記プロパティの各々に対応するデータを取り出すステップと、
前記取り出されたデータを使用して前記オブジェクトを表現するステップと、
を備えることを特徴とする方法。
【請求項２】
前記オブジェクトを表現する前記ステップは、前記取り出されたデータを表示することによって前記オブジェクトを視覚的に表現するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記取り出されたデータを表示する前記ステップは、前記少なくとも１つのプロパティグループに属するプロパティの名前を、これらのプロパティの値に隣接して表示するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記少なくとも１つのプロパティグループに属するプロパティの名前を表示する前記ステップは、各プロパティグループの名前を、そのプロパティグループに属する前記プロパティの前記名前に隣接して、並びに、これらのプロパティの前記値に隣接して表示することをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記取り出されたデータを使用して前記オブジェクトを表現する前記ステップは、前記オブジェクトを、それ自体のプロパティグループとその親の前記プロパティグループとを使用して表現するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
少なくとも１つのオブジェクト継承階層が、前記オブジェクトと前記他の識別されたオブジェクトとの間に存在し、また、各プロパティグループは、特定のオブジェクト継承階層に固有のものであることを特徴とする請求項１に記載の方法。
【請求項７】
前記オブジェクトは、第２のオブジェクトを専門化したものであり、また、前記オブジェクトは、前記第２のオブジェクトに関連付けられた前記プロパティグループを継承することを特徴とする請求項６に記載の方法。
【請求項８】
各プロパティグループについて、前記プロパティグループに属するプロパティは、前記オブジェクトの少なくとも１つのプロパティ、並びに、１つの他のオブジェクトのみの１つもしくは複数のプロパティを含むことを特徴とする請求項６に記載の方法。
【請求項９】
少なくとも１つのプロパティグループについて、前記プロパティグループに属する前記プロパティの各々に対応するデータを取り出す前記ステップは、前記オブジェクトのプロパティに対応し、並びに、前記プロパティグループに関連付けられた前記他のオブジェクト１つだけのプロパティに対応する前記データを取り出すステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記オブジェクトに関連付けられた前記少なくとも１つのプロパティグループを識別するステップは、前記オブジェクトに関連付けられたデフォルトプロパティグループを識別するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
それぞれが少なくとも１つのプロパティを有するオブジェクト群（ｏｂｊｅｃｔｓ）の表示群（ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）を構築する方法において、
プロパティグループ群をデータベース内のオブジェクト群に関連付けるステップであって、１つのオブジェクトに関連付けられた各々のプロパティグループは、前記オブジェクトの少なくとも１つのプロパティを含むことと、
前記プロパティグループ群を前記データベース内に格納するステップと、
前記データベース内の複数のオブジェクトの各々について、前記オブジェクトを表現する上でどのプロパティグループ群を使用すべきか指定するステップと、
を備えることを特徴とする方法。
【請求項１２】
オブジェクト継承階層群は、前記データベース内の前記複数のオブジェクトのうちいくつかの間に存在し、プロパティグループ群をオブジェクト群に関連付ける前記ステップは、各プロパティグループが特定のオブジェクト継承階層に固有のものとなるようにプロパティグループ群をオブジェクト群に関連付けるステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
プロパティグループ群を前記データベース内のオブジェクト群に関連付ける前記ステップは、前記プロパティグループ群の少なくとも１つが２つのオブジェクトに関連付けられ、その結果、前記２つのオブジェクトのプロパティが前記プロパティグループに属するように、プロパティグループ群を前記データベース内のオブジェクト群に関連付けるステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
少なくとも１つのプロパティを有する特定のオブジェクトの表示を構築するために、
前記オブジェクトを表現するために選ばれた前記オブジェクトに関連付けられた少なくとも１つのプロパティグループを識別するステップであって、前記オブジェクトの少なくとも１つのプロパティは、前記オブジェクトに関連付けられた各プロパティグループに属することと、
識別されたプロパティグループのあるプロパティ内において、前記オブジェクトが参照する任意の他のオブジェクトを識別するステップと、
前記少なくとも１つのプロパティグループに属する前記プロパティの各々に対応するデータを取り出すステップと、
前記取り出されたデータを使用して前記オブジェクトを表現するステップと、
をさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１５】
前記オブジェクトを表現する前記ステップは、前記取り出されたデータを表示することによって前記オブジェクトを視覚的に表現するステップをさらに含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記取り出されたデータを表示する前記ステップは、前記少なくとも１つのプロパティグループに属するプロパティの名前を、これらのプロパティの値に隣接して表示するステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記少なくとも１つのプロパティグループに属するプロパティの名前を表示する前記ステップは、各プロパティグループの名前を、そのプロパティグループに属する前記プロパティの前記名前に隣接して、並びに、これらのプロパティの前記値に隣接して表示することをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
少なくとも１つのオブジェクト継承階層が、前記オブジェクトと前記他の識別されたオブジェクトとの間に存在することを特徴とする請求項１４に記載の方法。
【請求項１９】
前記オブジェクトは、第２のオブジェクトを専門化したものであり、そして、前記オブジェクトは、前記第２のオブジェクトに関連付けられた前記プロパティグループを継承することを特徴とする請求項１８に記載の方法。
【請求項２０】
各プロパティグループについて、前記プロパティグループに属するプロパティは、前記オブジェクトの少なくとも１つのプロパティ、並びに、１つの他のオブジェクトのみの１つもしくは複数のプロパティを含むことを特徴とする請求項１８に記載の方法。
【請求項２１】
少なくとも１つのプロパティグループについて、前記プロパティグループに属する前記プロパティの各々に対応するデータを取り出す前記ステップは、前記オブジェクトのプロパティに対応し、並びに、前記プロパティグループに関連付けられた前記他のオブジェクト１つだけのプロパティに対応する前記データを取り出すステップをさらに含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
請求項１から請求項２１のいずれかに記載の方法を実施するように構成されることを特徴とするオブジェクト表現システム。
【請求項２３】
請求項１から請求項２１のいずれかに記載の方法を実施するためのコンピュータ実行可能命令を含むことを特徴とするコンピュータ読み取り可能媒体。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト指向プログラミングに関する。より詳細には、本発明は、オブジェクトの表示を構築するための方法および装置に関する。
【背景技術】
【０００２】
オブジェクト指向プログラミング言語は、ある範囲の応用分野でプログラマに広く使用されている。オブジェクト指向プログラミング言語では、オブジェクトがいくつかのプロパティまたはプロパティフィールドを有する。いくつかのオブジェクトは、これらのプロパティを多数有する傾向がある。オブジェクトのプロパティのなかには、それ自体オブジェクトであるタイプを有することができるものもある。したがって、これらのプロパティは、別のオブジェクトに対する参照点を介して、さらに多数のプロパティを指す。
【０００３】
オブジェクトのプロパティとその参照に基づいて、フォーム、テーブル、スプレッドシート、もしくは他の視覚的表示など、ユーザインターフェース（ＵＩ）を構築するとき、その表示内に含むべき各個々のプロパティを指定しなければならないのは、非常に面倒となり得る。要求されているプロパティが、参照されているオブジェクト上にある場合、特にこれが当てはまる。そのオブジェクトが別のオブジェクトから派生する場合、問題はさらに複雑になる。
【０００４】
【非特許文献１】“UML Distilled: A Brief Guide to the Standard Object Modeling Language,” by K. Scott and M. Fowler (Addison-Wesley 1999)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
典型的なアプリケーションまたはシステムの場合、視覚的に表現すべき多数の様々なオブジェクトおよび／またはプロパティの組合せについて、数千ではないにしても数百の様々な（たとえばフォームとしての）ＵＩまたは他の表示を生成することが必要とされる。したがって、多数の視覚的表示を生成することは、非常に労力がかかる工程となり得る。さらに、これらの表示の修正もまた面倒である。たとえば、オブジェクトに追加された追加のプロパティを反映するのに既存の表示に対する修正が必要とされる場合、最初にそれらを作成するのに注ぎ込まれた多くの労力を、また繰り返さなければならない。その結果、エンドユーザのためにプログラムされ、インストールされるシステムにおいては、エンドユーザが後で望むときに、そのＵＩ、フォーム、もしくは他の表示をカスタマイズするのは、しばしば非常に困難となる。
【課題を解決するための手段】
【０００６】
少なくとも１つのプロパティを有するオブジェクトの表示を構築する方法は、オブジェクトを表現するために選ばれているオブジェクトに関連付けられた、少なくとも１つのプロパティグループを識別することを含む。オブジェクトの少なくとも１つのプロパティは、オブジェクトに関連付けられたものとして識別された各プロパティグループに属する。あるいは、オブジェクトに関連付けられたプロパティグループは、オブジェクトのプロパティのうち少なくとも１つに割り当てられたものとして説明することができる。この方法は、識別されたプロパティグループのあるプロパティ内において、オブジェクトが参照する任意の他のオブジェクトを識別することをさらに含む。オブジェクト表現エンジンは、その少なくとも１つのプロパティグループに属するプロパティの、それぞれに対応するデータを取り出す。次いで、このエンジンは、取り出されたデータを使用してオブジェクトを表現する。しばしば、オブジェクトを表現するステップは、取り出されたデータを表示することによって、オブジェクトを視覚的に表現することを含む。
【０００７】
いくつかの実施形態では、取り出されたデータを表示するステップは、少なくとも１つのプロパティグループ内におけるプロパティの名前を、これらのプロパティの値に隣接して表示することをさらに含む。各プロパティグループの名前は、そのプロパティグループ内のプロパティの名前に隣接して、そして、これらのプロパティの値に隣接して表示することができる。
【０００８】
いくつかの実施形態では、少なくとも１つのオブジェクト継承階層が、そのオブジェクトと他のオブジェクトの間に存在する。各プロパティグループは、特定のオブジェクト継承階層固有のものである。いくつかの実施形態では、オブジェクトは、第２のオブジェクトを専門化したもの（ｓｐｅｃｉａｌｉｚａｔｉｏｎ）である。次いで、オブジェクトは、第２のオブジェクトに関連付けられたプロパティグループを継承することができる。
【０００９】
いくつかの実施形態では、各プロパティグループは、オブジェクトのプロパティのうち少なくとも１つに、また、他のオブジェクト１つだけの１つまたは複数のプロパティに割り当てられる。次いで、プロパティグループがそれに割り当てられるプロパティのそれぞれに対応するデータを取り出すステップは、第１のオブジェクトのプロパティに対応する、また、そのプロパティグループに関連付けられた他のオブジェクト１つだけのプロパティに対応するデータを取り出すことをさらに含む。
【００１０】
いくつかの実施形態では、オブジェクトに関連付けられた少なくとも１つのプロパティグループを識別するステップは、そのオブジェクトに関連付けられたデフォルトのプロパティグループを識別することをさらに含む。
【００１１】
本発明の諸実施形態を特徴付ける他の特徴および利点は、以下の詳細な説明を読み、関連する図面を見直すことにより明らかになろう。
【発明を実施するための最良の形態】
【００１２】
上述のように、オブジェクト指向プログラミングにおいては、オブジェクトやエンティティはプロパティを含み、階層および他の関係を介して他のオブジェクトのプロパティを指す。エンティティは、持続可能な（ｐｅｒｓｉｓｔａｂｌｅ）オブジェクトとして説明することができる。換言すれば、エンティティは、データベース内に格納することができるオブジェクトである。本明細書では、「オブジェクト」という用語は、「エンティティ」を含むものとする。オブジェクト指向プログラミングの一般的な概念、たとえば、継承、関連（ａｓｓｏｃｉａｔｉｏｎ）、合成（ｃｏｍｐｏｓｉｔｉｏｎ）の概念は、当技術分野において周知である。たとえば、非特許文献１を参照されたい。
【００１３】
本発明は、一部には、関連または継承を使用して接続されたオブジェクトのプロパティが、ユーザインターフェース（ＵＩ）、フォーム、またはオブジェクトの他の表示を、より容易に指定することを可能にするという認識に基づいている。プロパティのグループ化を使用する本発明の方法および装置は、オブジェクトが、継承、カスタマイズ、関連の点において複雑であるとき、ＵＩおよび他の表示を速く構築することを容易にする。従来技術では、あらゆるＵＩ、フォーム、ウェブページ、もしくはオブジェクトからのデータの他の表示を、そのオブジェクトに対して拡張が行われるたびに再訪しなければならないのが一般的である。本発明の方法および装置を使用すると、これらのＵＩ、フォーム、ウェブページ、もしくはオブジェクトの他の表示を更新するという労力がかかる仕事を必要とすることなしに、オブジェクトに対して拡張を行うことができる。
【００１４】
図１は、本発明を実施することができる好適なコンピューティングシステム環境１００の一例を示す。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてどんな制限も示唆しないものとする。また、コンピューティング環境１００は、例示的な動作環境１００に示されている構成要素のいずれか１つまたは組合せに関して、どのような依存性も必要要件も有すると解釈すべきでない。
【００１５】
本発明は、多数の他の汎用または専用コンピューティングシステム環境または構成と共に動作可能である。本発明と共に使用するのに適している可能性のある周知のコンピューティングシステム、環境、および／または構成の例には、それだけには限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサをベースとするシステム、セットトップボックス、プログラム可能な家電、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【００１６】
本発明について、コンピュータによって実行される、プログラムモジュールなどコンピュータ実行可能命令の一般的な状況で述べる。一般に、プログラムモジュールは、特定のタスクを実行する、もしくは特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークを介してリンクされた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境内で実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルと遠隔双方のコンピュータ記憶媒体内に位置する可能性がある。
【００１７】
図１を参照すると、本発明を実施するための例示的なシステムが、コンピュータ１１０の形態で汎用コンピューティングデバイスを含んでいる。コンピュータ１１０の構成要素には、それだけには限らないが、処理装置１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理装置１２０に結合するシステムバス１２１が含まれる。システムバス１２１は、メモリバスまたはメモリコントローラ、周辺機器バス、および様々なバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造の、いずれかとすることができる。限定ではなく例を挙げると、そのようなアーキテクチャには、ＩＳＡバス、ＭＣＡバス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡローカルバス、および、メザニンバスとしても知られるＰＣＩバスが含まれる。
【００１８】
コンピュータ１１０は、一般に、様々なコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ１１０によってアクセスすることができる任意の入手可能な媒体とすることができ、揮発性媒体と不揮発性媒体、取外し式媒体と非取外し式媒体を共に含む。限定ではなく例を挙げると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体と通信媒体を含む。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実装される揮発性と不揮発性、取外し式と非取外し式の媒体が共に含まれる。コンピュータ記憶媒体には、それだけには限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または、所望の情報を記憶するために使用することができ、コンピュータ１１０によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構など変調データ信号に統合し、任意の情報送達媒体を含む。「変調データ信号」という用語は、情報を信号に符号化するようにその特性の１つまたは複数が設定された、または変化させた信号を意味する。限定ではなく例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続など有線媒体と、音響、ＲＦ、赤外線および他の無線媒体など無線媒体とを含む。上記のいずれかの組合せもまた、コンピュータ読み取り可能媒体の範囲内に含むべきである。
【００１９】
システムメモリ１３０は、読出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２など揮発性および／または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動中などにコンピュータ１１０内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１３３は、一般にＲＯＭ１３１内に記憶される。一般にＲＡＭ１３２は、処理装置１２０によって直ちにアクセス可能な、かつ／または現在働きかけられているデータおよび／またはプログラムモジュールを含む。限定ではなく例を挙げると、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、プログラムデータ１３７を示す。
【００２０】
コンピュータ１１０はまた、他の取外し式／非取外し式、揮発性／不揮発性コンピュータ記憶媒体を含むことができる。例示にすぎないが、図１は、非取外し式の不揮発性磁気媒体との間で読出しまたは書込みをするハードディスクドライブ１４１、取外し式の不揮発性磁気ディスク１５２との間で読出しまたは書込みをする磁気ディスクドライブ１５１、ＣＤ  ＲＯＭまたは他の光媒体など取外し式の不揮発性光ディスク１５６との間で読出しまたは書込みをする光ディスクドライブ１５５を示す。例示的な動作環境内で使用することができる他の取外し式／非取外し式、揮発性／不揮発性コンピュータ記憶媒体には、それだけには限らないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどが含まれる。一般にハードディスクドライブ１４１は、インターフェース１４０など非取外し式メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、一般に、インターフェース１５０など取外し式メモリインターフェースによってシステムバス１２１に接続される。
【００２１】
上記で論じ、図１に示されているドライブとその関連コンピュータ記憶媒体は、コンピュータ１１０のために、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータを記憶する。たとえば、図１では、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、プログラムデータ１４７を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、プログラムデータ１３７と同じとすることも異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、プログラムデータ１４７は、これらが少なくとも異なるコピーであることを示すために異なる番号が与えられている。
【００２２】
ユーザは、キーボード１６２、マイクロフォン１６３、および、マウス、トラックボール、またはタッチパッドなどポインティングデバイス１６１など、入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどが含まれる。これらの、また他の入力デバイスは、しばしば、システムバスに結合されるユーザ入力インターフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など、他のインターフェースおよびバス構造によって接続することができる。モニタ１９１または他のタイプのディスプレイデバイスもまた、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。コンピュータはまた、モニタに加えて、スピーカ１９７やプリンタ１９６など他の周辺出力デバイスをも含むことができ、これらは、出力周辺機器インターフェース１９５を介して接続することができる。
【００２３】
コンピュータ１１０は、遠隔コンピュータ１８０など、１つまたは複数の遠隔コンピュータに対する論理接続を使用してネットワーク環境内で動作することができる。遠隔コンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードとすることができ、一般に、コンピュータ１１０に関して上述した要素の多数または全部を含む。図１に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１と広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。そのようなネットワーク環境は、オフィス、全社コンピュータネットワーク、イントラネット、インターネットで普通である。
【００２４】
コンピュータ１１０は、ＬＡＮネットワーク環境内で使用されるとき、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。コンピュータ１１０は一般に、ＷＡＮネットワーク環境内で使用されるとき、インターネットなどＷＡＮ１７３を介して通信を確立するためのモデム１７２または他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インターフェース１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して示されたプログラムモジュール、またはその一部分を、遠隔メモリ記憶装置内に記憶することができる。限定ではなく例を挙げると、図１は、遠隔コンピュータ１８０に常駐するものとして遠隔アプリケーションプログラム１８５を示す。図のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することができることは理解されるであろう。
【００２５】
図２は、他の例示的なコンピューティング環境であるモバイルデバイス２００のブロック図である。モバイルデバイス２００は、マイクロプロセッサ２０２と、メモリ２０４と、入出力（Ｉ／Ｏ）構成要素２０６と、遠隔コンピュータまたは他のモバイルデバイスと通信するための通信インターフェース２０８とを含む。一実施形態では、前述の構成要素は、好適なバス２１０を介して互いに通信するために結合される。
【００２６】
メモリ２０４は、モバイルデバイス２００に対する一般電源がシャットダウンされたときメモリ２０４内に記憶された情報が失われないように、バッテリバックアップモジュール（図示せず）を有するランダムアクセスメモリ（ＲＡＭ）など不揮発性電子メモリとして実装される。メモリ２０４の一部分は、プログラム実行のためにアドレス可能なメモリとして割り当てられるのが好ましく、一方、メモリ２０４の別の部分は、ディスクドライブ上のストレージをシミュレーションするためなど、記憶のために使用されることが好ましい。
【００２７】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、ならびにオブジェクトストア２１６を含む。動作中には、オペレーティングシステム２１２は、プロセッサ２０２によってメモリ２０４から実行されることが好ましい。好ましい一実施形態では、オペレーティングシステム２１２は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎより市販されているＷＩＮＤＯＷＳ（登録商標）  ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、モバイルデバイス用に設計されていることが好ましく、エクスポーズされた１組のアプリケーションプログラミングインターフェースおよびメソッドを介してアプリケーション２１４が使用することができるデータベース機能を実施する。オブジェクトストア２１６内のオブジェクトは、少なくとも一部には、エクスポーズされたアプリケーションプログラミングインターフェースおよびメソッドに応答して、アプリケーション２１４およびオペレーティングシステム２１２によって維持される。
【００２８】
通信インターフェース２０８は、モバイルデバイス２００で情報を送受信することが可能な多数のデバイスおよび技術を表す。このデバイスは、少し例を挙げると、有線モデムおよび無線モデム、衛星受信機、ならびに放送チューナを含む。モバイルデバイス２００はまた、コンピュータに直接接続し、コンピュータとデータを交換することができる。そのような場合には、通信インターフェース２０８は、赤外線トランシーバ、または、シリアルもしくはパラレル通信接続とすることができ、それらはすべて、ストリーミング情報を送信することが可能である。
【００２９】
入出力構成要素２０６は、タッチスクリーン、ボタン、ローラ、マイクロフォンなど様々な入力デバイスと、オーディオジェネレータ、振動デバイス、ディスプレイなど様々な出力デバイスとを含む。上記のデバイスは例としてのものであり、全部がモバイルデバイス２００上に存在する必要はない。さらに、他の入出力デバイスをモバイルデバイス２００に取り付けられ、または、モバイルデバイス２００と共に見出すこともできる。
【００３０】
次に図３を参照すると、図３には本発明の諸実施形態によるオブジェクト表現システム３００を例示するブロック図が示されている。オブジェクト表現システム３００は、オブジェクトインスタンスを占有する（ｐｏｐｕｌａｔｅ）ためのデータが格納されるオブジェクトデータベース３０５を含む。システム３００はまた、オブジェクト、プロパティタイプなどを定義するデータまたは情報を容れるオブジェクト定義データベース３０６を含む。オブジェクト表現エンジン３００は、データベース３０６からのオブジェクト表現データをルックアップ（ｌｏｏｋ  ｕｐ）し、次いで、データベース３０５からのデータによってオブジェクトインスタンスを占有することによって、オブジェクトのインスタンスを生成する。
【００３１】
データベース３０５および３０６を使用して定義されたオブジェクトは、そのオブジェクトのプロパティに関連付けられたプロパティグループを有する。上記で指摘したように、プロパティグループの、オブジェクトのプロパティとの関連は、そのプロパティグループに属するプロパティで表して、あるいはプロパティに割り当てられたそのプロパティグループで表して説明することができる。どちらの説明も正確である。これらのプロパティグループを使用して、オブジェクト表現エンジン３１０は、１つまたは複数のオブジェクトのどのプロパティを表現すべきかを識別し、それらのプロパティに対応するデータを取り出す。次いで、オブジェクト表現エンジン３１０は、オブジェクト表示３１５を生成する。オブジェクト表示３１５は、たとえば、ディスプレイデバイス上、印刷されたページ上などの１つもしくは複数のオブジェクトの視覚的表示とすることができる。視覚的表示の例には、少し例を挙げると、ＵＩ、フォーム、テーブル、スプレッドシート、ウェブページが含まれる。本発明のプロパティグループに基づく非視覚的表示もまた可能である。プロパティグループがオブジェクトに関連付けられる方法、およびオブジェクト表現エンジン３１０がプロパティグループを使用してオブジェクト表示を生成する方法について、以下、図４〜図９を参照しながら詳しく述べる。
【００３２】
関連、継承、合成、またはカスタマイズを使用して接続された１組のオブジェクトを考えると、一般に各オブジェクトは、単純な型（たとえば、ｉｎｔ／ｓｔｒｉｎｇ）を表すか、もしくは、他のオブジェクトを参照する少なくともいくつかのプロパティを有する。各オブジェクトについて、グループ名を各プロパティに割り当てることができる。グループ名は、オブジェクト継承階層ごとに一意なものとすることができる。各オブジェクトについて、グループをデフォルトグループとしてマークし、この組のプロパティがそのオブジェクトの好ましい表示であることを示すことができる。次いで、どのグループがそのオブジェクトを表すか指定することによって、ユーザインターフェースを構築することができる。あるグループが、別のオブジェクトに対する参照であるプロパティを含む場合には、このオブジェクトは、その、他方のオブジェクトのデフォルトグループとして表現される。
【００３３】
図４および図５は、オブジェクト階層および参照の一例を示す。図４では、３つのオブジェクト、すなわちＳａｌｅｓＤｏｃｕｍｅｎｔ（営業文書）４１０、ＰａｃｋｉｎｇＳｌｉｐ（貨物内容明細）４２０、Ｉｎｖｏｉｃｅ（送り状）４３０が示されている。ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０とＩｎｖｏｉｃｅオブジェクト４３０は、それぞれ継承階層４１２と４１４によってＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０に関連している。換言すれば、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０とＩｎｖｏｉｃｅオブジェクト４３０は、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の専門化したものである。あるいは、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０は、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０とＩｎｖｏｉｃｅオブジェクト４３０の一般化したもの（ｇｅｎｅｒａｌｉｚａｔｉｏｎ）である。
【００３４】
ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０は、図４の４１１で示されている５つのプロパティまたはプロパティフィールドを含む。この例では、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の第１のプロパティおよび第２のプロパティが、「ＩＤ」プロパティおよび「Ｔｙｐｅ」プロパティを含む。これらのプロパティの値は、図４では、これらの値に含まれるデータの型に基づいて表される。たとえば、ＩＤプロパティは整数（ｉｎｔ）値として表され、一方、Ｔｙｐｅプロパティは文字列値として表される。この例では、このＴｙｐｅプロパティフィールドを満たす文字列値の例には、「ＰａｃｋｉｎｇＳｌｉｐ」および「Ｉｎｖｏｉｃｅ」が含まれる。このＴｙｐｅプロパティまたはプロパティフィールドの他の例には、「Ｑｕｏｔａｔｉｏｎ（見積もり）」「Ｃｏｎｆｉｒｍａｔｉｏｎ（確認）」「Ｒｅｃｅｉｐｔ（受領）」などが含まれる可能性がある。
【００３５】
ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の第３のプロパティであるＣｕｓｔｏｍｅｒプロパティは、実際には、別のオブジェクトに対するポインタである。ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０のこのプロパティが指すＣｕｓｔｏｍｅｒ（顧客）オブジェクト４５０は、図５に示されている。ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の最初の３つのプロパティには、プロパティグループ「Ｍａｉｎ」４６０が割り当てられている。例示的な実施形態では、Ｍａｉｎプロパティグループ４６０は、デフォルトプロパティグループである。多種多様な異なる方法のいずれかを使用し、どのプロパティグループがデフォルトプロパティグループであるか指定することができる。以下、より詳しく論じることになるが、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の最初の３つのプロパティをＭａｉｎプロパティグループ４６０に割り当てることにより、オブジェクト４１０の視覚的表示を生成するためにＭａｉｎプロパティグループに対するポインタを含むことによって、これらのプロパティに関連付けられたプロパティ値情報を共に表示することができ、好都合である。
【００３６】
ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクトの最後の２つのプロパティまたはフィールドは、「ＣｒｅａｔｅｄＤａｔｅ（作成日）」および「Ｌａｎｇｕａｇｅ（言語）」であり、共に文字列値を有する。これらの２つのフィールドは、共に管理的性質であるため、フォームまたは他の視覚的表示上で一緒に見たいと望まれる可能性がある。これを容易にするために、これらの２つのプロパティはそれぞれ、図４に示されている第２のプロパティグループである「Ａｄｍｉｎｉｓｔｒａｔｉｏｎ（管理）」プロパティグループ４７０内に含まれる。
【００３７】
図４に示されている例では、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の２つの専門化したもの、すなわち、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０およびＩｎｖｏｉｃｅオブジェクト４３０がある。ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０は、参照番号４２１で表され「Ｗａｒｅｈｏｕｓｅ（倉庫）」と呼ばれる、値として別のオブジェクトに対するポインタを有する単一のプロパティを含む。ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０のプロパティフィールド内で指されているＷａｒｅｈｏｕｓｅオブジェクトは示されていないが、複数の倉庫のどれから物品が送られたか、またはどこに配達すべきか指定するために使用されることになる。この例では、Ｗａｒｅｈｏｕｓｅプロパティ４２１は、Ａｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ４７０内に含まれる。
【００３８】
ＳａｌｅｓＤｏｃｕｍｅｎｔの専門化したものであるＩｎｖｏｉｃｅオブジェクト４３０の場合、参照番号４３１で表された２つのプロパティまたはプロパティフィールド、すなわち「Ｐｒｏｆｉｌｅ（プロフィル）」プロパティおよび「ＮｕｍｂｅｒＳｅｑｕｅｎｃｅ（連番）」プロパティがある。Ｉｎｖｏｉｃｅオブジェクト４３０のどちらのプロパティも、他のオブジェクト（図示せず）に対するポインタである。これらのプロパティのそれぞれは、第３のプロパティグループである「Ｂｏｏｋｉｎｇ（記帳）」プロパティグループ４８０内に含まれる。
【００３９】
図５を再び参照すると、「Ｃｕｓｔｏｍｅｒ」オブジェクト４５０は、参照番号４５１で示されている３つのプロパティを含む。最初の２つのプロパティ、すなわち整数値を有する顧客「ＩＤ」と文字列値を有する顧客「Ｎａｍｅ（名）」は、Ｍａｉｎまたはデフォルトプロパティグループ４６０内に含まれる。Ｃｕｓｔｏｍｅｒオブジェクト４５０の第３のプロパティは「Ａｄｄｒｅｓｓ（住所）」と呼ばれ、別のオブジェクト（図示せず）に対するポインタである。Ｃｕｓｔｏｍｅｒオブジェクト４５０のこの第３のプロパティは、「Ａｄｄｒｅｓｓ」と呼ばれるプロパティグループ４９０内に含まれる。
【００４０】
本発明のプロパティグループ概念を使用すると、単にどのプロパティグループがフォームまたは表示上にあるべきか指定することによって、オブジェクトのＵＩまたは他の表示が定義または作成される。次いで、図３に示されているオブジェクト表現エンジン３１０は、それらのプロパティグループが割り当てられた複数のオブジェクトからのプロパティを含めて、データベース３０５内のそれらのプロパティグループの内容をルックアップし、それらのフィールドを表示する。いくつかの実施形態では、特定のプロパティグループのプロパティが、オブジェクトの視覚的表示上で共に表示される。プロパティグループ内のプロパティの名前が、表示上のコントロールに合致され、一方、これらのプロパティの値は、対応する値フィールドにマップされる。
【００４１】
図６は、図４に示されているＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０用のＵＩ、フォーム、または他の視覚的表示５００の線図である。このＵＩ５００は、Ｍａｉｎ（すなわち、ＳａｌｅｓＤｏｃｕｍｅｎｔ．Ｍａｉｎ）プロパティグループ４６０と、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ（すなわち、ＳａｌｅｓＤｏｃｕｍｅｎｔ．Ａｄｍｉｎｉｓｔｒａｔｉｏｎ）プロパティグループ４７０がフォーム上にあるべきであることを指定することによって、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０について定義される。オブジェクト表現エンジン３１０は、データベース３０５からのプロパティグループの内容をルックアップし、それらのフィールドをＵＩ５００上で表示する。オブジェクト表現エンジン３１０は、ＣｕｓｔｏｍｅｒプロパティをＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０上のＭａｉｎまたはデフォルトプロパティグループの一部であるものとして検出したとき、Ｃｕｓｔｏｍｅｒオブジェクト４５０に進み、デフォルトプロパティグループ（Ｍａｉｎ）４６０を見つけ出し、それらの対応するフィールドをも表示する。
【００４２】
図６に示されているように、ＵＩまたはフォーム５００では、Ｍａｉｎプロパティグループ４６０の名前がコントロール５１０にマップされ、コントロール５１０は、このプロパティグループの名前を視覚的に表現する。同様に、Ｍａｉｎプロパティグループ４６０内にあるＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０からのＩＤプロパティ、Ｔｙｐｅプロパティ、Ｃｕｓｔｏｍｅｒプロパティもまた、それぞれコントロール５１１、５１３、５１５にマップされ、これらのプロパティの名前をＵＩ５００上で視覚的に表示する。ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０のＭａｉｎプロパティグループ４６０内の最初の２つのプロパティの値は、コントロール５１１および５１３に視覚的に対応するフィールド５１２および５１４内にマップされる。したがって、ＳａｌｅｓＤｏｃｕｍｅｎｔは、ＩＤ番号「１５４８」およびタイプ「Ｉｎｖｏｉｃｅ」を有するものとして示されている。Ｍａｉｎプロパティグループ４６０内のＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０のＣｕｓｔｏｍｅｒプロパティは、図５に示されているＣｕｓｔｏｍｅｒオブジェクト４５０に対するポインタであるため、オブジェクト表現エンジン３１０は、このプロパティの名前「Ｃｕｓｔｏｍｅｒ」をコントロール５１５に、また、オブジェクト４５０からの対応するプロパティ「ＩＤ」および「Ｎａｍｅ」の名前をコントロール５１６および５１８にマップする。次いで、Ｃｕｓｔｏｍｅｒオブジェクト４５０からのこれらのプロパティの値が、それぞれ値フィールド５１７および５１９にマップされる。したがって、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０内で参照されているＣｕｓｔｏｍｅｒオブジェクトは、Ｃｕｓｔｏｍｅｒ  ＩＤ「１０００９」とＣｕｓｔｏｍｅｒ  Ｎａｍｅ「Ａｌｆｒｅｄ  Ｆｕｔｔｅｒｋｉｓｔｅ」によって識別される。いくつかの実施形態では、コントロール（５１０、５１１、５１３、５１５、５１６、５１８）と、Ｍａｉｎプロパティグループ４６０に対応するＵＩ５００内の対応するマップ済み値（５１２、５１４、５１７、５１９）が、境界線または他の視覚的なデリニエータ５０５を使用して視覚的にグループ化される。
【００４３】
同様に、Ａｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ４７０は、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０の表示の一部であるものとして指定されたため、そのプロパティおよびプロパティグループ名は、ＵＩ５００内のコントロール５３０、５３１、５３３にマップされる。これらのプロパティの対応する値は、値フィールド５３２および５３４にマップされる。したがって、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０は２００３年８月１０日に作成されたこと、その言語が米国英語であることがわかる。この場合も、望むなら、境界線または他のデリニエータ５０６を使用し、Ａｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ４７０のプロパティ名および値を視覚的にグループ化することができる。この実施形態では、ＳａｌｅｓＤｏｃｕｍｅｎｔ４１０からの「ＣｒｅａｔｅｄＤａｔｅ」プロパティも「Ｌａｎｇｕａｇｅ」プロパティも別のオブジェクトに対するポインタを含まないため、ＵＩ５００のＡｄｍｉｎｉｓｔｒａｔｉｏｎ部分内に含むためにそれ以上プロパティが取り出されなかったことに留意されたい。
【００４４】
本発明のいくつかの実施形態では、継承を使用したとき、プロパティグループもまた継承される。しかし、より多くのプロパティを同じプロパティグループに追加することができる。たとえば、図７を参照すると、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０用のＵＩ、フォーム、視覚的表示５５０を定義するために、やはりプロパティＭａｉｎ４６０およびＡｄｍｉｎｉｓｔｒａｔｉｏｎ４７０を指定することができる。別法として、他の実施形態では、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０を定義するために使用されたプロパティグループは、単にＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０から継承することができる。というのは、これらの２つのプロパティグループがＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクトを視覚的に表現する上で使用するために先に指定されているからである。これらの実施形態では、ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０の視覚的表示の一部として表示すべき任意の追加のプロパティグループを指定することだけが必要となることになる。図４に示されている例では、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０を表現するために使用されたプロパティグループと異なる追加のプロパティグループはない。
【００４５】
ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０を視覚的に表現するために使用されるＵＩ５５０は、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０を視覚的に表現するために使用されたＵＩ５００と非常に似ている。コントロール５１３にマップされたＴｙｐｅプロパティに対応する値フィールド５１４内に、１つの相違点を見ることができる。この例では、このプロパティの文字列の値が、「Ｉｎｖｏｉｃｅ」から「ＰａｃｋｉｎｇＳｌｉｐ」に変更されている。ＵＩ５５０とＵＩ５００との別の相違点は、Ａｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ４７０の追加のプロパティに関連する。ＰａｃｋｉｎｇＳｌｉｐオブジェクト４２０は、（図４の４２１として示されている）ＷａｒｅｈｏｕｓｅプロパティをＡｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ４７０内に含むため、オブジェクト表現エンジン３１０は、このデータをもデータベース３０５から取り出す。したがって、ＵＩ５５０内で表示されたＡｄｍｉｎｉｓｔｒａｔｉｏｎプロパティグループ情報は、コントロール５３５にマップされたこのプロパティの名前「Ｗａｒｅｈｏｕｓｅ」を含む。ＰａｃｋｉｎｇＳｌｉｐオブジェクト内のＷａｒｅｈｏｕｓｅプロパティは、別のオブジェクトに対するポインタであるため、プロパティフィールド５３６にマップされた値「Ｎｅｗ  Ｙｏｒｋ（ニューヨーク）」が、データベース３０５内のこの、他のオブジェクトから取り出される。
【００４６】
上記で指摘したように、特定のオブジェクトについてどのプロパティグループをＵＩ内で視覚的に表現すべきか定義することは、いくつかの方法により行うことができる。たとえば、プロパティグループのそれぞれを、オブジェクト表現のために具体的にリストすることができる。別法として、オブジェクトは、そのオブジェクトの一般化したものを視覚的に表現するために使用されたプロパティグループを継承することができる。さらに、プロパティグループもまた、継承されたプロパティグループに加えてリストすることができる。たとえば、Ｉｎｖｏｉｃｅプロパティグループ４３０の場合、ＳａｌｅｓＤｏｃｕｍｅｎｔオブジェクト４１０から継承されたプロパティグループに加えて、「Ｂｏｏｋｉｎｇ」プロパティグループ４８０もまた視覚的表示内で使用すべきであることをさらに指定することができる。
【００４７】
全体としてプロパティグループを、特に関連および合成からプロパティをも引き込むデフォルトプロパティグループを使用することにより、オブジェクトまたはエンティティの視覚的な、または他の表示を生成する方法が大きく改善される。数百さらには数千に達する可能性のある生成すべき各特定の、異なるタイプのフォームまたは視覚的表示について、必要なことは、特定のオブジェクトを表現するプロパティグループを指定することだけである。他のプロパティグループの他のプロパティを含むように特定のフォームまたは視覚的表示を変更するために、そのオブジェクトを表現する上で使用するように指定されているプロパティグループを変更することだけが必要となる。さらに、本発明の概念を使用してオブジェクトのプロパティが変更、追加、もしくは削除される場合、先に作成されている大量のフォームもしくは視覚的表示のそれぞれを、修正する必要はない。その代わりに、プロパティの変更、追加、または削除があるオブジェクトについて、プロパティグループを再定義しなければならない。したがって、本発明は、オブジェクトが継承、カスタマイズ、関連の点で複雑であるとき、ＵＩを速く構築することを容易にするための方法および装置、並びに、あらゆるフォーム、ウェブページ、ＵＩ、もしくは注目のオブジェクトからのデータを表現する他の表示を再訪する必要なしに、オブジェクトプロパティを修正するための方法および装置を、併せて提供する。
【００４８】
図８は、データベース、たとえば図３に示されているデータベース３０５および／または３０６にデータを格納する方法を示すブロック図８００である。この方法は、本発明の概念を使用してオブジェクトの表示を構築するのを可能にする。図８の８０５において示されているように、この方法は、プロパティグループをデータベース内のオブジェクトに関連付けることを含む。１つの表現方法では、これは、データインスタンスだけ３０５内に格納して、プロパティグループがデータベース３０６内でオブジェクト定義の隣に格納されているものと考えることができる。上記で論じたように、オブジェクトに関連付けられた各プロパティグループは、そのオブジェクトの少なくとも１つのプロパティを含む。次に、８１０で示されているように、この方法は、プロパティグループをデータベース内に格納することを含む。最後に、８１５で示されているように、この方法は、そのオブジェクトを表現する上で、どのプロパティグループを使用すべきかを指定することを含む。例示的な一実施形態では、「Ｍａｉｎ」プロパティグループが、そのオブジェクトを表現するためのデフォルトプロパティグループである。図８に示されている方法の他の諸態様については、図３〜図７を参照しながら上述されている。
【００４９】
図９は、データベース内の特定のオブジェクトの表示を構築する方法を示すブロック図９００である。図９に示されている方法は、図３〜図７を参照しながら上述されている方法の実施形態であり、オブジェクト表現エンジン３１０によって実施することができる。最初に、９０５において示されているように、この方法は、オブジェクトを表現するために選ばれているオブジェクトに関連付けられた、少なくとも１つのプロパティグループを識別することを含む。オブジェクトの少なくとも１つのプロパティが、オブジェクトに関連付けられた各プロパティグループに属することになる。
【００５０】
９１０において示されているように、この方法は、識別されたプロパティグループのあるプロパティ内において、オブジェクトが参照する任意の他のオブジェクトを識別することをさらに含む。次いで、９１５において示されているように、この方法は、その１つまたは複数の識別されたプロパティグループに属するプロパティのそれぞれに対応するデータを取り出すことを含む。データは、たとえば図３に示されているデータベース３０５から取り出すことができる。最後に、図９の９２０において示されているように、この方法は、取り出されたデータを使用してオブジェクトを表現することを含む。オブジェクトの表現は、プロパティの名前、望むなら、図６および図７に示されているようにそのプロパティが属するプロパティグループの名前の隣に取り出されたデータが表示される視覚的表示とすることができる。
【００５１】
本発明について、特定の実施形態を参照しながら述べたが、当業者なら、本発明の精神および範囲から逸脱することなしに形態および詳細に変更を加えることができることを理解するであろう。
【図面の簡単な説明】
【００５２】
【図１】本発明を実施することができる例示的な一環境のブロック図である。
【図２】本発明を実施することができる一般的なモバイルコンピューティング環境のブロック図である。
【図３】本発明の諸実施形態によるオブジェクト表現システムを示すブロック図である。
【図４】オブジェクトを階層関係で示す、また、本発明のプロパティグループ概念を示すブロック図である。
【図５】図４に示されているオブジェクトとの関連関係を有する、また、そのオブジェクトとプロパティグループを共用するオブジェクトを示すブロック図である。
【図６】オブジェクトによって指定され、本発明のプロパティグループ概念を使用して作成されたユーザインターフェース（ＵＩ）の線図である。
【図７】オブジェクトによって指定され、本発明のプロパティグループ概念を使用して生成された第２のＵＩの線図である。
【図８】本発明による方法を示すフロー図である。
【図９】本発明による他の方法を示すフロー図である。
【図１】
2007532997.tif 000003
【図２】
2007532997.tif 000004
【図３】
2007532997.tif 000005
【図４】
2007532997.tif 000006
【図５】
2007532997.tif 000007
【図６】
2007532997.tif 000008
【図７】
2007532997.tif 000009
【図８】
2007532997.tif 000010
【図９】
2007532997.tif 000011
【国際調査報告】
2007532997.tif 000012