(57)【要約】  参照データ型定義に含まれるターゲットデータ型定義のインスタンス内にターゲットデータ型を定義して、モデル内の予想されるエンティティ関係を宣言する。モデルは、例えば、ソフトウェア、業務プロセスまたは組織体制に対応する。ターゲットデータ型は、ターゲットデータを有する１または複数の要素を定義する。ターゲットデータは、あらかじめ定義されたエンティティ関係に従って参照エンティティに関連付けられることが予想されるエンティティを記述する。既存の参照データ型定義を用いて、予想されるエンティティ関係を宣言する。実施形態において、定義されたターゲットデータ型は、ＸＭＬ(eXtensible Markup Language)ドキュメント内にタグを含む
2010525452.tif 000002
【特許請求の範囲】
【請求項１】
モデル内の予想されるエンティティと参照エンティティ間の予想される関係を明示的に宣言する方法であって、前記参照エンティティは、それらと関連付けられた参照データ型定義を有し、
予想されるターゲットタグをマークアップ言語スキーマの型宣言（３０２）内に生成するステップと、
１または複数の予想されるエンティティを記述する１または複数の要素（３０４）をモデル内に定義するステップと、
あらかじめ定義されたエンティティ関係（３１６）を特定するステップと、
前記予想されるターゲットタグを、前記定義された要素（３０４）および前記特定されたあらかじめ定義されたエンティティ関係（３１６）と関連付けるステップと、
前記予想されるターゲットタグおよび関連付けられた要素（３０４）およびあらかじめ定義されたエンティティ関係（３１６）を、前記参照エンティティの前記参照データ型定義内に配置して、前記予想されるエンティティと前記参照エンティティ間の関係を宣言するステップと
を備えることを特徴とする方法。
【請求項２】
前記１または複数の要素を定義することは、予想されるエンティティの中の１つの予想される数量を表す要素を定義することを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記予想されるターゲットタグを前記マークアップ言語スキーマの型宣言内に生成することは、前記予想されるターゲットタグをＸＭＬ(eXtensible Markup Language)ドキュメント内に生成することを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記予想されるターゲットタグおよび関連付けられる要素およびエンティティ関係を前記参照データ型定義内に配置することは、前記定義された要素および前記あらかじめ定義されたエンティティ関係を、前記参照データ型定義の注釈データ型要素内に組み込むことを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記予想されるターゲットタグおよび関連付けられる要素およびエンティティ関係を前記参照データ型定義内に配置することは、前記定義された要素および前記あらかじめ定義されたエンティティ関係を、前記参照データ型定義のアップインフォ(appinfo)データ型要素内に組み込むことを備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記モデル内の前記１または複数の予想されるエンティティは、システムのオブジェクトを表すことを特徴とする請求項１に記載の方法。
【請求項７】
前記予想されるターゲットタグを生成することは、<ExpectedTargets>タグを生成することを備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記モデルをグラフィカルまたはテキスト形式で表示することをさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
１または複数のコンピュータ読み取り可能媒体は、請求項１の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項１に記載の方法。
【請求項１０】
エンティティと関連付けられたあらかじめ定義されたデータ型定義を参照して、前記エンティティの関係を記述するターゲットデータを定義するシステムであって、
システムのオブジェクトを表すモデルに対応するマークアップ言語スキーマ（２１２）を格納するメモリ領域（２１４）と、
前記マークアップ言語スキーマ（２１２）からデータ型定義を特定することであって、前記データ型定義は、前記モデル内の参照エンティティに対応して、
前記参照エンティティと関連付けられると予想される１または複数のエンティティを記述する１または複数の要素（３０４）を定義して、
前記予想されるエンティティを前記参照エンティティと関連付ける際に用いるためにあらかじめ定義されたエンティティ関係（３１６）を特定することであって、前記予想されるエンティティはそれらと関連付けられるターゲットデータ型定義を有し、前記参照エンティティは、それらと関連付けられる参照データ型定義を有して、
前記定義された要素（３０４）および前記定義された関係（３１６）をタグと関連付けて、
前記関連付けられた要素（３０４）および関係（３１６）を有するタグを前記ターゲットデータ型定義のインスタンス（３０６）に挿入して、
前記ターゲットデータ型定義のインスタンス（３０６）を前記参照データ型定義に配置して、前記予想されるエンティティを前記モデル内の前記参照エンティティと関連付ける
コンピュータ実行可能命令を実行するように構成されるプロセッサと
を備えることを特徴とするシステム。
【請求項１１】
エンティティと関連付けられるあらかじめ定義されたデータ型定義を再利用して、前記エンティティの関係を記述するターゲットデータ型を定義するための手段をさらに備えることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記参照エンティティと関連付けられると予想される前記１または複数のエンティティを記述する前記１または複数の要素を定義するための手段をさらに備えることを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記プロセッサは、前記参照データ型定義を前記モデル内に表示するコンピュータ実行可能命令を実行するようにさらに構成されることを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記メモリ領域は、ＵＭＬ(Unified Modeling Language)に適合する形式でマークアップ言語スキーマを格納することを特徴とする請求項１０に記載のシステム。
【請求項１５】
前記プロセッサは、前記メモリ領域に格納された前記マークアップ言語スキーマを参照することによって、前記参照データ型定義を翻訳するコンピュータ実行可能命令を実行するようにさらに構成されることを特徴とする請求項１０に記載のシステム。
【請求項１６】
前記プロセッサは、ターゲットデータを前記定義された１または複数の要素と関連付けるコンピュータ実行可能命令を実行するようにさらに構成されて、前記関連付けられたターゲットデータが、前記参照エンティティと関連付けられるように予想される１または複数のエンティティを記述することを特徴とする請求項１０に記載のシステム。
【請求項１７】
前記マークアップ言語スキーマは、ハードウェア構成を記述し、前記参照エンティティは、コンピュータ装置を備え、前記１または複数のエンティティは、キーボードおよびモニタを備えることを特徴とする請求項１０に記載のシステム。
【請求項１８】
システムモデルを表すデータ構造を格納したコンピュータ読み取り可能媒体であって、
参照データ型定義を格納し、前記参照データ型定義が前記オブジェクトモデル内の参照エンティティに対応する第１フィールドと、
前記第１フィールドの前記参照データ型定義内で、ターゲットデータ型定義のインスタンス（３０６）を格納し、前記インスタンス（３０６）が、
コンピュータ装置が、
前記第１フィールドに格納された前記参照データ型定義をインスタンス化して、
前記インスタンス化された参照データ型定義を前記第２フィールドに格納された前記ターゲットデータ型定義の前記インスタンス（３０６）と関連付けて、前記あらかじめ定義された関係に従って前記参照エンティティを前記予想されるターゲットエンティティに関連付けて、
前記インスタンス化された参照データ型定義をマークアップ言語ドキュメントに格納し、前記マークアップ言語ドキュメントが前記システムモデルを表すコンピュータ実行可能命令を実行する、あらかじめ定義されたエンティティ関係に従って、前記参照エンティティと関連付けられることが予想される１または複数のターゲットエンティティをそれぞれが記述する１または複数のターゲット型要素（３０４）のインスタンスを備える第２フィールドと、
を備えることを特徴とするデータ構造。
【請求項１９】
前記第２フィールドは、前記第１フィールドの前記参照データ型定義の注釈要素に格納されることを特徴とする請求項１８に記載のコンピュータ読み取り可能媒体。
【請求項２０】
前記第２フィールドは、前記第１フィールドの前記参照データ型定義のアップインフォ要素に格納されることを特徴とする請求項１８に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル内の予想されるエンティティ関係の記述に関する。
【背景技術】
【０００２】
ソフトウェアと業務プロセスや組織体制などのソフトウェアでないシステムとは、現在利用できるモデリング言語を用いて表される。システムの抽象モデルを生成するグラフィカル表記を含む多くの汎用モデリング言語が存在する。モデルは、ＸＭＬ(eXtensible Markup Language)、ＵＭＬ(Unified Modeling Language)、ＳＧＭＬ(Standard Generalized Markup Language)などのマークアップ言語を用いて直列化される。
【０００３】
抽象モデルは、ユーザによってグラフィカルに表示されるか、またはエンティティ間の関係を特定するソフトウェアツールによって翻訳される。例えば、アセットマネージャプログラムは、企業のハードウェア資産およびソフトウェア資産を記述するモデルにアクセスして、資産の構成を管理することができる。
【０００４】
一般的なモデルおよびオントロジーを定義する場合、ユーザは、一般的な型式のエンティティとモデル内のエンティティを接続する関係とを生成する。モデル内でリーフエンティティを定義する場合、ユーザは、エンティティにおいて存在する（例えば、ツーリングおよびアプリケーションに関して）具体的で一般的な関係を強調表示したい場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的な関係の一部の例では、依存性および構成がある。従来の手法において、それらの関係は、モデル内の既存の関係エンティティをサブタイプ化することによって定義され、特に、参照されたエンティティをサブタイプ内のターゲットとして制限することによって定義される。しかしながらこの手法では、モデルの表示は、意味を加えない（例えば、多様に変化せず、参照されたエンティティを制限する以外にプロパティまたは属性を付加しない）多数のサブタイプ化されたエンティティですぐに混乱する。さらに、エンティティ間の一般的に強調表示された関係と具体的に強調表示された関係の両方は、モデル内に保持されなければならない。モデル内のエンティティにおける関係を宣言する従来の手法では、翻訳するのが困難なかなり複雑で混乱したモデルとなり、しかもモデルに対して意味を加えない。
【０００６】
モデル内の予想されるターゲットを宣言するよりはむしろ、別の従来の手法では、一般的な関係の予想されるターゲットについての情報を用いて、モデルを翻訳するそれぞれのアプリケーションを更新する。しかしながらこの手法では、それぞれのアプリケーションは、予想されるターゲットの変更があるたびに更新されなければならない。
【課題を解決するための手段】
【０００７】
本発明の実施形態では、システムのオブジェクトを表すモデル内の予想されるエンティティの関係について説明する。一実施形態において、本発明は、モデル内のエンティティ間の、予想されるが要求されない関係の明示的な宣言を含む。モデル内のエンティティに対する既存のデータ型定義は、再利用され、特化されない。ターゲットデータ型は、参照エンティティに関連付けられると予想されるエンティティについてのデータを含むように定義されて、どのような関係かによって定義される。ターゲットデータ型定義のインスタンスは、参照エンティティのデータ型定義内に含まれて、参照エンティティを用いて予想されるターゲットエンティティを関連付ける。
【０００８】
本発明の概要は、以下の発明の詳細な説明でさらに説明される簡易な形式において概念の１つの選択を導入するために与えられる。本発明の概要は、特許請求の範囲の対象事項での重要な特徴または不可欠な特徴を特定することを意図せず、または特許請求の範囲の対象事項の範囲を決めるのに役立つものとして用いられることを意図しない。
【０００９】
他の特徴は、一部において明らかであり、一部において以下に指摘される。
【図面の簡単な説明】
【００１０】
【図１】マークアップ言語ドキュメントをデータソースからデータ受信機に転送することを示す例示的なブロック図である。
【図２】参照エンティティのデータ型定義に組み込まれたターゲットデータ型定義のインスタンスを有するスキーマを示す例示的なブロック図である。
【図３】参照データ型定義内に予想されるターゲットデータを挿入することを示す例示的なフローチャートである。
【図４】別のデータ型定義に組み込まれた予想されるターゲットデータを有するＸＭＬスキーマの例示的な実施形態の図である。
【００１１】
同種の参照数字は、添付図面の同種の部分を指定するのに使用される。
【発明を実施するための形態】
【００１２】
本発明の実施形態は、オブジェクトのモデル内の明示的に宣言する予想される関係が対象とされ、スキーマの型宣言に代表されるように処理される。この情報は、ツーリングおよびアプリケーションが性能を最適化して表示するのに有効である。例えば、モデルは、ラック(rack)、ラックのハードウェアコンポーネントおよび依存性を表す。ラックに対応するエンティティ（例えば、基本エンティティまたは他の参照エンティティ）は、ＵＭＬ(Unified Modeling Language)のクラス定義か、またはＸＭＬ(eXtensible Markup Language)の要素定義によって表される。このようなエンティティは、予想されるが要求されない、エンティティ自体と他の基本エンティティ間のいくつかの関係を有する。例えば、ラックは、外付けの冷却コンポーネントに依存する場合がある。依存関係エンティティをサブタイプ化して、ラックおよび冷却コンポーネント用に特化するよりはむしろ、予想される関係は、基本エンティティの定義において（例えば、メタデータとして）提案される。この手法は、モデルを混乱させることなく予想される関係を伝える。
【００１３】
モデルは、直列化されるか、またはＸＭＬなどのマークアップ言語によって表される。発明のある態様がＸＭＬに関連して本明細書に説明されるが、発明の態様は、任意の形式のテキストベースのマークアップ言語またはＵＭＬベースのグラフィカルレンダリングを用いて動作できる。
【００１４】
予想される関係は、モデルのマークアップ言語の直列化で表示される。例えば、<ExpectedTargets>要素のインスタンスは、例えば、型式または要素型宣言の<xs:appinfo>タグ内（例えば、<xs:annotation>タグ内）に配置される。この手法を用いて、予想される関係は、一般的な関係が再定義されずに直接用いられる間に、型式または要素型宣言内で宣言される。
【００１５】
次に図１を参照して、例示的なブロック図に、１または複数のネットワーク２０８、２１０を経由して、ドキュメント２０２をデータソース２０４からデータ受信機２０６に転送することを示す。他の実施形態において、１または複数のネットワーク２０８、２１０は、不在である。ドキュメント２０２は、メタ言語ドキュメント、マークアップ言語ドキュメント、メタマークアップ言語ドキュメント、タグベース言語のドキュメント、または他のグラフィカルまたはテキストベースモデルの記述であってよい。
【００１６】
マークアップ言語は、オープンなテキストベース形式でデータを交換する統一方法を提供する。マークアップ言語は、ドキュメント２０２およびプラットフォームに依存しない、アプリケーション間で高度に移動可能な他のファイルなどの有効なドキュメントにデータを運ぶコードのセット（例えば、タグ）を含む。マークアップ言語の要素は、スタートタグ、エンドタグまたはクローズタグ、情報、コンテンツ、もしくはタグ間またはタグ内に含まれる他のデータを含む構造体構成子である。スタートタグは、<tagname>としてフォーマットされて、エンドタグは、</tagname>としてフォーマットされる。ドキュメント２０２において、スタートタグおよびエンドタグは、他のスタートタグおよびエンドタグ内にネストされる。各要素は、この構造内にノードを形成し、潜在的に子ノード、リーフノード、またはブランチノードを有する。子ノードは、親ノードのスタートタグとエンドタグ間に発生する任意の要素を表す。
【００１７】
ドキュメント２０２の構造は、スキーマ２１２、スキーマドキュメントまたは同様の構造によって定義される。スキーマ２１２は、要素宣言、子要素、属性、データ型式、要素のデータ値、要素および属性のデフォルト値および固定値、ならびに他のプロパティおよび値を含むドキュメントの強制的な構成ブロックを定義する。例えば、文字列、日付、日付時刻、所要期間、タイムゾーン、少数値、実数値、整数値などの標準データ型は、型式宣言のスキーマ内で用いられる。
【００１８】
マークアップ言語がさまざまな標準データ型をサポートする一方で、追加のデータ型（例えば、単純なデータ型と複雑なデータ型の両方）は、スキーマのプログラマによって定義できる。データ型を使用するために、その型の要素は、ドキュメント２０２内に宣言されて、次にインスタンス化される。既定のデータ型の要素のインスタンス化は、生成時に値を割り当てられて、その後に更新されるかまたは除去される。
【００１９】
図１の例において、データソース２０４は、データをデータ受信機２０６に与える。データは、ドキュメント２０２に組み込まれる。ドキュメント２０２は、標準化されたマークアップ言語のシンタックスに従ってフォーマットされて、スキーマ２１２にも適合する。データ受信機２０６は、スキーマ２１２を参照してドキュメント２０２内のデータを解析して翻訳する。スキーマ２１２は、システムのオブジェクトを表すモデルに対応する。
【００２０】
データ受信機２０６は、ドキュメント２０２を受信して、ドキュメント２０２を解析して翻訳する間に、ドキュメント２０２内またはスキーマ２１２内で定義される１または複数の要素のインスタンスに遭遇する場合がある。一般的に、データ受信機２０６は、スキーマ２１２を参照して、遭遇したインスタンスに対応するデータ要素および型定義を特定する。データ受信機２０６が、要素が定義されないか、またはスキーマ２１２内で特定されないことを認識した場合、データ受信機２０６は、エラーを示す。ドキュメントの要素がスキーマ２１２内に見られる場合、データ受信機２０６は、ドキュメント２０２を解析または翻訳する間にスキーマ２１２から得られた情報を用いる。
【００２１】
スキーマ２１２が、データソース２０４によってアクセスできる、またはデータソース２０４と関連付けられるメモリ領域２１４に格納されるのが示される間、スキーマ２１２またはそのコピーも、データ受信機２０６によってアクセスできる（例えば、データ受信機２０６によってアクセスできるメモリ領域に格納される）。
【００２２】
発明の態様は、汎用コンピュータ装置によってコンピュータ形式で実装できる。一般的に、コンピュータのデータプロセッサは、コンピュータのさまざまなコンピュータ読み取り可能記憶媒体に異なる時間に格納された命令によってプログラミングされる。発明の実施形態は、１または複数のコンピュータもしくは他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な状況において説明し、実装できる。コンピュータ装置は、例えば、スキーマ２１２を格納するメモリ領域２１４などのコンピュータ読み取り可能媒体にアクセスできる、またはそれと関連付けられる。揮発性および不揮発性媒体と、取り外し可能および取り外し不能媒体の両方を含むコンピュータ読み取り可能媒体は、サービスがアクセスできる任意の利用できる媒体とすることができる。一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体と通信媒体から成るが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納する任意の方法または技術に実装される揮発性および不揮発性媒体、取り外し可能および取り外し不能媒体を含む。例えば、コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ(digital versatile disks)または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、もしくは望ましい情報を格納するのに使用できて、コンピュータ装置によってアクセスできる任意の他の媒体を含む。通信媒体は、典型的には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、もしくは搬送波などの変調データ信号の他のデータまたは他の転送機構を実施して、任意の情報配信媒体を含む。当業者は、１または複数の変調データ信号の特性セットまたは信号の情報を符号化するなどの方法による変更を有する変調データ信号に精通している。有線ネットワークまたは直接有線接続などの有線媒体と、音響、ＲＦ、赤外線などの無線媒体と、他の無線媒体とは、通信媒体の例である。上記の任意の組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれる。
【００２３】
次に図２を参照して、例示的なスキーマ３０２をブロック図に示す。例示的なスキーマ３０２は、ExpectedTargetofRelationshipデータ型定義３１０（例えば、ターゲットデータ型定義）、Entity1データ型定義３１２、Entity2DerivedFromEntity1データ型定義３１４、Relationshipデータ型定義３１６、およびEntity3DerivedFromEntity1データ型定義３０８（例えば、参照データ型定義）を含む、いくつかのデータ型定義を含む。Entity3DerivedFromEntity1データ型定義３０８は、ExpectedTargetofRelationshipデータ型定義３１０のインスタンス３０６を含む。インスタンス３０６は、予想される関係およびターゲットエンティティについてのデータを有するターゲットデータ型要素３０４を含む。ターゲットデータ型要素３０４は、（例えば、予想されるエンティティおよびRelationshipデータ型定義３１６を参照するなどの関係についての）ターゲットデータを含み、ExpectedTargetofRelationshipデータ型定義３１０によって定義される型式である。得られたエンティティであるEntity2およびEntity3は、Entity1の特化を表す。例えば、Entity1は一般的なハードウェアに対応し、Entity2は胴部に対応し、Entity3はラックに対応し、そしてRelationshipデータ型定義３１６は、「によって包含される」を表す。
【００２４】
インスタンス３０６は、Entity3DerivedFromEntity1データ型定義３０８の周知であるまたは標準化された場所に配置される。例えば、インスタンス３０６は、<xs:appInfo>または<xs:annotation>などのEntity3DerivedFromEntity1データ型定義３０８の要素に配置される。一般的に、<xs:appInfo>および<xs:annotation>要素は、標準であり、Entity3DerivedFromEntity1データ型定義３０８内で利用できる要素である。これらの要素は、典型的には、ＸＭＬコードのアプリケーションレベルの文書化に用いられる。しかしながら、インスタンス３０６は、Entity3DerivedFromEntity1データ型定義３０８の任意の部分に格納できる。複数のインスタンスは、<xs:appInfo>および<xs:annotation>要素内に宣言できる。
【００２５】
一般的に、図１および図２は、Entity3DerivedFromEntity1データ型定義３０８などの基本エンティティのデータ型宣言の定義において、ExpectedTargetofRelationshipデータ型定義３１０などのあらかじめ定義されたデータ型定義を利用するシステムを表す。インスタンス３０６は従って、Entity3DerivedFromEntity1データ型定義３０８のすべてのインスタンスに適用できる。
【００２６】
インスタンス３０６のＸＭＬ定義の例を以下に示す。
<xs:element name=‘‘ExpectedTargets’’>
<xs:annotation>
<xs:documentation>この型の要素は、xs:appinfoに配置されて、依存性または構成などの一般的で継承された参照での「予想される」ターゲット（要素または型）の定義が可能になる。ターゲットに加え、予想される数の参照のインスタンスを表示することができる（特定されない場合、任意の数のインスタンスにできる）。ラックが１または複数の胴部（すなわち、ChildRef要素が用いられて、ChassisTypeの複数のインスタンスを参照すると予想される胴部）を含み、バックアップ電源（すなわち、RequiredElementRef要素が用いられて、PowerSourceTypeの１つのインスタンスを参照すると予想されるバックアップ電源）を要求する。</xs:documentation>
【００２７】
上記のインスタンス３０６の例において、referenceQNameは、Relationshipデータ型定義３１６に対応する。
【００２８】
一般的に、スキーマ３０２は、コンピュータ読み取り可能媒体に格納されるデータ構造として表される。発明の態様は、任意の数量およびフィールドの順序付けを有するデータ構造を含むまたはそれを用いて動作できる。実施形態において、図２の例示的なデータ構造は、Entity3DerivedFromEntity1データ型定義３０８を格納する第１フィールドから成る。Entity3DerivedFromEntity1データ型定義３０８は、オブジェクトモデル内の基本エンティティに対応する。Entity3DerivedFromEntity1データ型定義３０８内の周知の場所は、ExpectedTargetofRelationshipデータ型定義３１０のインスタンス３０６を、データ構造の第２フィールドに格納する。インスタンス３０６は、それぞれが（例えば、Relationshipデータ型定義３１６を経由する）特化された関係を介して基本エンティティと関連付けられると予想される１または複数のターゲットエンティティを記述する１または複数のターゲットデータ型要素３０４のインスタンスから成る。コンピュータ装置は、Entity3DerivedFromEntity1データ型定義３０８およびRelationshipデータ型定義３１６をインスタンス化するコンピュータ実行可能命令を実行して、基本エンティティのインスタンスをターゲットデータ型要素３０４内で定義されたデータ型と関連付ける。これらのインスタンスは、スキーマ３０２の定義に対応する。
【００２９】
次に図３を参照して、例示的なフローチャートに、予想されるターゲットデータを参照データ型定義内に挿入することを示す。一般的に、明示的タグは、参照または関係の予想されるターゲットに対して定義される。タグおよびコンテンツは、ＸＭＬドキュメント内（例えば、ＸＭＬドキュメントのxs:annotation区域内）の周知である標準の場所に配置される。既存の要素または型定義を参照して、エンティティの一般的な関係に対してターゲット要素およびターゲット型を具体的に定義する。ターゲットを参照する数量を無制限にできるか、またはその数量をターゲットデータ型要素の１つに明示的に特定できる。
【００３０】
図３を参照して、例示的なフローチャートに、予想されるターゲットデータを参照データ型定義内に挿入して、モデル内のエンティティ間の予想される関係を明示的に宣言することを示す。タグは、４０１においてマークアップ言語ドキュメント内（例えば、ＸＭＬドキュメント内などのスキーマの型宣言）で生成される。モデル内の予想されるエンティティを記述する要素は、４０２において定義される。モデル内の基本エンティティおよび関係エンティティは、４０４において定義される。例えば、予想されるエンティティの中の1つの予想される数量が定義される。４０６において定義する追加的エンティティがある場合、追加的エンティティは、４０４において定義される。任意の定義されたエンティティが、４０８において導出階層（例えば、特化）を介して継承された一般的な関係を再利用することができない場合、発明の実施形態におけるプロセスは中断する。あらかじめ定義されたまたは既存の関係をサブタイプ化することは、エンティティをモデル化するために発生させる必要がある。
【００３１】
定義されたエンティティの少なくとも１が、４０８において導出階層を介して継承された一般的な関係（例えば、あらかじめ定義されたまたは既存の関係）を再利用することができる場合、プロセスは、４１０において継続する。あらかじめ定義されたまたは既存の関係は、例えば、「によって包含される」、「の一部である」、および「に含まれる」を含む。４１０において、予想されるエンティティおよび関係についての手がかりが与えられない場合、発明の実施形態のプロセスは中断する。４１０において、予想されるエンティティおよび関係についての手がかりが与えられた場合、４１２において予想されるターゲットのインスタンスが生成されて、エンティティの定義内の周知の場所に挿入される。
【００３２】
図３の実施形態の動作は、１または複数のコンピュータ読み取り可能媒体に格納された１または複数のコンピュータ実行可能コンポーネントに構成されるコンピュータ実行可能命令によって実装できる。発明の実施形態は、コンピュータ実行可能命令を実行するように構成されるプロセッサ（図示せず）を含む。実行した後、コンピュータ実行可能命令は、発明の態様を実装する。発明の態様は、これらのコンポーネントまたはモジュールの任意の数と構成を用いて実装できる。例えば、発明の態様は、図および本明細書に説明される特定のコンピュータ実行可能命令もしくは特定のコンポーネントまたはモジュールに限定されない。発明の他の実施形態は、本明細書に説明されたものとほぼ同じ機能性を有する異なるコンピュータ実行可能命令またはコンポーネントを含むことができる。
【００３３】
動作において、発明の態様は、モデル内の予想されるエンティティと参照エンティティ間の予想される関係を明示的に宣言する方法を含む。参照エンティティは、それらと関連付けられる参照データ型定義を有する。その方法は、
予想されるターゲットタグをマークアップ言語スキーマの型宣言内に生成することと、
１または複数の予想されるエンティティを記述する１または複数の要素をモデル内に定義することと、
あらかじめ定義されたエンティティ関係を特定することと、
前記予想されるターゲットタグを前記定義された要素および前記特定されたあらかじめ定義されたエンティティ関係と関連付けることと、
前記予想されるターゲットタグおよび関連付けられた要素およびエンティティ関係を、参照エンティティの参照データ型定義内に配置して、前記予想されるエンティティと参照エンティティ間の関係を宣言すること
を含む。
【００３４】
あらかじめ定義された関係を再利用することによって、あらかじめ定義された関係をサブタイプ化する必要はない。
【００３５】
発明の実施形態における方法は、
マークアップ言語スキーマからデータ型定義を特定することであって、前記データ型定義は、モデル内の参照エンティティに対応することと、
前記参照エンティティと関連付けられると予想される１または複数のエンティティを記述する１または複数の要素を定義することと、
前記予想されるエンティティを前記参照エンティティと関連付ける際に用いるためにあらかじめ定義されたエンティティ関係を特定することであって、前記予想されるエンティティはそれらと関連付けられるターゲットデータ型定義を有し、前記参照エンティティは、それらと関連付けられる参照データ型定義を有することと、
前記定義された要素および前記定義された関係をタグと関連付けること、
前記関連付けられた要素および関係を有するタグをターゲットデータ型定義のインスタンスに挿入することと、
前記ターゲットデータ型定義のインスタンスを前記参照データ型定義に配置して、前記予想されるエンティティを前記モデル内の前記参照エンティティと関連付けること
も含む。
【００３６】
次に図４を参照して、ＸＭＬスキーマの例示的な実施形態は、データ型定義内に組み込まれた予想されるターゲットデータのインスタンスを有する。図４の例において、スキーマ開発者は、予想されるラックの依存性とともにラック内に挿入されると予想されるものを呼び出す。このため、アプリケーションまたはツールに、これらの予想される要素に対してカスタマイズさせることができる。ラックは、典型的には、１または複数の胴部を含み、（例えば、「ChildRef」参照のインスタンスとして）２つ以上のモニタまたはキーボードはあまり見られない。さらに、ラックは、「RequiredElementRef」参照のインスタンスとしてバックアップ電源に依存する。ラックは、図４に示すように宣言される。
【００３７】
図４において、ChildRef参照は、図２のRelationshipデータ型定義３１６に対応する。
RackTypeは、図２のEntity3DerivedFromEntity1データ型定義３０８に対応する。ExpectedTargetsは、図２の「ExpectedTargetofRelationship」データ型定義のインスタンス３０６に対応する。ChassisTypeは、図２のEntity2DerivedFromEntity1データ型定義３１４に対応する。
【００３８】
コンピュータ実行可能命令および本明細書に説明されるコンポーネントは、参照エンティティと関連付けられたあらかじめ定義されたデータ型定義を再利用して、参照エンティティの関係を記述するターゲットデータ型を定義するための例示的な手段を構成する。参照エンティティのさまざまな一般的関係のターゲットは、参照エンティティの宣言内に強調表示される。コンピュータ実行可能命令および本明細書に説明されるコンポーネントは、参照エンティティと関連付けられるように予想される１または複数のエンティティを記述する１または複数の要素を定義するための例示的な手段をさらに構成する。
【００３９】
例示的なコンピュータシステム環境に関連して説明したが、発明の実施形態は、多数の他の汎用または専用のコンピュータシステム環境または構成を用いて動作できる。コンピュータシステム環境は、発明の任意の態様の使用または機能の範囲について制限を提案することを意図しない。さらに、コンピュータシステム環境は、例示的な動作環境において示されたコンポーネントの任意の１つまたは組み合わせについて依存性または要求を有するものとして解釈されるべきでない。発明の態様に用いるのに適する周知のコンピュータシステム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、携帯電話機、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムまたは装置を含む分散コンピュータ環境などを含むが、これらに限定されない。
【００４０】
動作において、コンピュータは、図および本明細書に説明されたコンピュータ実行可能命令を実行して、発明の態様を実装する。
【００４１】
本明細書に説明された発明の実施形態での実行の順序または動作の実行は、特に指定がなければ必須ではない。つまり、特に指定がなければ、動作は任意の順序で行うことができ、発明の実施形態は、本明細書に開示されたものより多いまたは少ない動作を含んでよい。例えば、別の動作を行う前、別の動作と同時に、または別の動作を行った後に特定の動作を実行するまたは行うことは、発明の態様の範囲内であることが考えられる。
【００４２】
発明の態様の要素またはそれらの実施形態を導入する場合、冠詞「ａ」、「ａｎ」、「ｔｈｅ」および「ｓａｉｄ」は、１または複数の要素が存在する意味であることを意図する。用語「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」は、包括的であり、記載された要素以外にも追加的な要素が存在する意味であることを意図する。
【００４３】
発明の態様を詳細に説明したが、変更および変形は、添付の特許請求に定義される通り発明の態様の範囲から逸脱しない限りにおいて可能であることは明らかである。さまざまな変更は、発明の態様の範囲から逸脱しない限りにおいて上記の構成、製品、および方法によって行うことができるように、上記の説明に含まれ、添付図に示されるすべての対象事項は、例示として解釈されるべきであり、限定を意味しない。
【図１】
2010525452.tif 000003
【図２】
2010525452.tif 000004
【図３】
2010525452.tif 000005
【図４】
2010525452.tif 000006
【国際調査報告】
2010525452.tif 000007
2010525452.tif 000008